From b2c5d8ac3fe012212014753a0aaca43687d5242e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Wed, 12 May 2021 13:15:12 +0200 Subject: [PATCH 01/71] (wip) improve custom html formatter for diff views --- .../javascripts/decidim/admin/bundle.js | 19 ++++-- .../assets/javascripts/decidim/core/bundle.js | 2 +- .../javascripts/decidim/core/bundle.js.map | 2 +- .../decidim/modules/_versions.scss | 4 +- decidim-core/app/cells/decidim/diff_cell.rb | 8 +-- decidim-core/lib/decidim/diffy_extension.rb | 61 ++++++++++++++++++- .../decidim/proposals/diff_renderer.rb | 2 +- 7 files changed, 81 insertions(+), 17 deletions(-) diff --git a/decidim-admin/app/assets/javascripts/decidim/admin/bundle.js b/decidim-admin/app/assets/javascripts/decidim/admin/bundle.js index 8bac565929d02..9aa037e386fc3 100644 --- a/decidim-admin/app/assets/javascripts/decidim/admin/bundle.js +++ b/decidim-admin/app/assets/javascripts/decidim/admin/bundle.js @@ -1,9 +1,9 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=300)}({0:function(e,t,n){e.exports=n(333)()},122:function(e,t,n){"use strict"; +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=298)}({0:function(e,t,n){e.exports=n(332)()},123:function(e,t,n){"use strict"; /* object-assign (c) Sindre Sorhus @license MIT -*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function u(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,i,l=u(e),s=1;s=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){l.headers[e]=r.merge(a)})),e.exports=l}).call(this,n(319))},128:function(e,t,n){"use strict";var r=n(15),o=n(321),a=n(323),u=n(125),i=n(324),l=n(327),s=n(328),c=n(129);e.exports=function(e){return new Promise((function(t,n){var p=e.data,f=e.headers;r.isFormData(p)&&delete f["Content-Type"];var d=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";f.Authorization="Basic "+btoa(h+":"+m)}var v=i(e.baseURL,e.url);if(d.open(e.method.toUpperCase(),u(v,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in d?l(d.getAllResponseHeaders()):null,a={data:e.responseType&&"text"!==e.responseType?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:r,config:e,request:d};o(t,n,a),d=null}},d.onabort=function(){d&&(n(c("Request aborted",e,"ECONNABORTED",d)),d=null)},d.onerror=function(){n(c("Network Error",e,null,d)),d=null},d.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(c(t,e,"ECONNABORTED",d)),d=null},r.isStandardBrowserEnv()){var g=(e.withCredentials||s(v))&&e.xsrfCookieName?a.read(e.xsrfCookieName):void 0;g&&(f[e.xsrfHeaderName]=g)}if("setRequestHeader"in d&&r.forEach(f,(function(e,t){void 0===p&&"content-type"===t.toLowerCase()?delete f[t]:d.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),e.responseType)try{d.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&d.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){d&&(d.abort(),n(e),d=null)})),p||(p=null),d.send(p)}))}},129:function(e,t,n){"use strict";var r=n(322);e.exports=function(e,t,n,o,a){var u=new Error(e);return r(u,t,n,o,a)}},130:function(e,t,n){"use strict";var r=n(15);e.exports=function(e,t){t=t||{};var n={},o=["url","method","data"],a=["headers","auth","proxy","params"],u=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],i=["validateStatus"];function l(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function s(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(n[o]=l(void 0,e[o])):n[o]=l(e[o],t[o])}r.forEach(o,(function(e){r.isUndefined(t[e])||(n[e]=l(void 0,t[e]))})),r.forEach(a,s),r.forEach(u,(function(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(n[o]=l(void 0,e[o])):n[o]=l(void 0,t[o])})),r.forEach(i,(function(r){r in t?n[r]=l(e[r],t[r]):r in e&&(n[r]=l(void 0,e[r]))}));var c=o.concat(a).concat(u).concat(i),p=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===c.indexOf(e)}));return r.forEach(p,s),n}},131:function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},132:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,u.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),u.default.createElement("input",r({},o,{ref:this.inputRef})),u.default.createElement("div",{ref:this.sizerRef,style:s},e),this.props.placeholder?u.default.createElement("div",{ref:this.placeHolderSizerRef,style:s},this.props.placeholder):null)}}]),t}(a.Component);h.propTypes={className:i.default.string,defaultValue:i.default.any,extraWidth:i.default.oneOfType([i.default.number,i.default.string]),id:i.default.string,injectStyles:i.default.bool,inputClassName:i.default.string,inputRef:i.default.func,inputStyle:i.default.object,minWidth:i.default.oneOfType([i.default.number,i.default.string]),onAutosize:i.default.func,onChange:i.default.func,placeholder:i.default.string,placeholderIsMinWidth:i.default.bool,style:i.default.object,value:i.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},15:function(e,t,n){"use strict";var r=n(124),o=Object.prototype.toString;function a(e){return"[object Array]"===o.call(e)}function u(e){return void 0===e}function i(e){return null!==e&&"object"==typeof e}function l(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function s(e){return"[object Function]"===o.call(e)}function c(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),a(e))for(var n=0,r=e.length;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,u.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),u.default.createElement("input",r({},o,{ref:this.inputRef})),u.default.createElement("div",{ref:this.sizerRef,style:s},e),this.props.placeholder?u.default.createElement("div",{ref:this.placeHolderSizerRef,style:s},this.props.placeholder):null)}}]),t}(a.Component);h.propTypes={className:i.default.string,defaultValue:i.default.any,extraWidth:i.default.oneOfType([i.default.number,i.default.string]),id:i.default.string,injectStyles:i.default.bool,inputClassName:i.default.string,inputRef:i.default.func,inputStyle:i.default.object,minWidth:i.default.oneOfType([i.default.number,i.default.string]),onAutosize:i.default.func,onChange:i.default.func,placeholder:i.default.string,placeholderIsMinWidth:i.default.bool,style:i.default.object,value:i.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},18:function(e,t,n){"use strict";var r=n(125),o=n(313),a=Object.prototype.toString;function u(e){return"[object Array]"===a.call(e)}function i(e){return null!==e&&"object"==typeof e}function l(e){return"[object Function]"===a.call(e)}function s(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),u(e))for(var n=0,r=e.length;nS.length&&S.push(e)}function P(e,t,n,r){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case i:case l:case s:case c:a=!0}}if(a)return n(r,e,""===t?"."+_(e,0):t),1;if(a=0,t=""===t?".":t+":",Array.isArray(e))for(var u=0;uS.length&&S.push(e)}function P(e,t,n,r){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case i:case l:case s:case c:a=!0}}if(a)return n(r,e,""===t?"."+_(e,0):t),1;if(a=0,t=""===t?".":t+":",Array.isArray(e))for(var u=0;u=(u={attributeName:u,attributeNamespace:null,propertyName:a,mutationMethod:null,mustUseProperty:m(i,t.MUST_USE_PROPERTY),hasBooleanValue:m(i,t.HAS_BOOLEAN_VALUE),hasNumericValue:m(i,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:m(i,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:m(i,t.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:m(i,t.HAS_STRING_BOOLEAN_VALUE)}).hasBooleanValue+u.hasNumericValue+u.hasOverloadedBooleanValue||d("50",a),o.hasOwnProperty(a)&&(u.attributeName=o[a]),r.hasOwnProperty(a)&&(u.attributeNamespace=r[a]),e.hasOwnProperty(a)&&(u.mutationMethod=e[a]),g[a]=u}}},g={};function y(e,t){if(h.hasOwnProperty(e)||2this.eventPool.length&&this.eventPool.push(e)}function Ve(e){e.eventPool=[],e.getPooled=Ie,e.release=Me}function Le(e,t,n,r){return Re.call(this,e,t,n,r)}function je(e,t,n,r){return Re.call(this,e,t,n,r)}a(Re.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=u.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=u.thatReturnsTrue)},persist:function(){this.isPersistent=u.thatReturnsTrue},isPersistent:u.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t=parseInt(Ke.version(),10))}var We=Be,qe=o.canUseDOM&&(!He||ze&&8=ze),$e=String.fromCharCode(32),Qe={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},Ge=!1;function Ye(e,t){switch(e){case"topKeyUp":return-1!==Ue.indexOf(t.keyCode);case"topKeyDown":return 229!==t.keyCode;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function Xe(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Je=!1;var Ze={eventTypes:Qe,extractEvents:function(e,t,n,r){var o;if(He)e:{switch(e){case"topCompositionStart":var a=Qe.compositionStart;break e;case"topCompositionEnd":a=Qe.compositionEnd;break e;case"topCompositionUpdate":a=Qe.compositionUpdate;break e}a=void 0}else Je?Ye(e,n)&&(a=Qe.compositionEnd):"topKeyDown"===e&&229===n.keyCode&&(a=Qe.compositionStart);return a?(qe&&(Je||a!==Qe.compositionStart?a===Qe.compositionEnd&&Je&&(o=Pe()):(Ae._root=r,Ae._startText=_e(),Je=!0)),a=Le.getPooled(a,t,n,r),o?a.data=o:null!==(o=Xe(n))&&(a.data=o),Oe(a),o=a):o=null,(e=We?function(e,t){switch(e){case"topCompositionEnd":return Xe(t);case"topKeyPress":return 32!==t.which?null:(Ge=!0,$e);case"topTextInput":return(e=t.data)===$e&&Ge?null:e;default:return null}}(e,n):function(e,t){if(Je)return"topCompositionEnd"===e||!He&&Ye(e,t)?(e=Pe(),Ae._root=null,Ae._startText=null,Ae._fallbackText=null,Je=!1,e):null;switch(e){case"topPaste":return null;case"topKeyPress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1$t.length&&$t.push(e)}}}var tn=Object.freeze({get _enabled(){return Gt},get _handleTopLevel(){return Yt},setHandleTopLevel:function(e){Yt=e},setEnabled:Xt,isEnabled:function(){return Gt},trapBubbledEvent:Jt,trapCapturedEvent:Zt,dispatchEvent:en});function nn(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}var rn={animationend:nn("Animation","AnimationEnd"),animationiteration:nn("Animation","AnimationIteration"),animationstart:nn("Animation","AnimationStart"),transitionend:nn("Transition","TransitionEnd")},on={},an={};function un(e){if(on[e])return on[e];if(!rn[e])return e;var t,n=rn[e];for(t in n)if(n.hasOwnProperty(t)&&t in an)return on[e]=n[t];return""}o.canUseDOM&&(an=document.createElement("div").style,"AnimationEvent"in window||(delete rn.animationend.animation,delete rn.animationiteration.animation,delete rn.animationstart.animation),"TransitionEvent"in window||delete rn.transitionend.transition);var ln={topAbort:"abort",topAnimationEnd:un("animationend")||"animationend",topAnimationIteration:un("animationiteration")||"animationiteration",topAnimationStart:un("animationstart")||"animationstart",topBlur:"blur",topCancel:"cancel",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topClose:"close",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoad:"load",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topToggle:"toggle",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:un("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},sn={},cn=0,pn="_reactListenersID"+(""+Math.random()).slice(2);function fn(e){return Object.prototype.hasOwnProperty.call(e,pn)||(e[pn]=cn++,sn[e[pn]]={}),sn[e[pn]]}function dn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function hn(e,t){var n,r=dn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=dn(r)}}function mn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)}var vn=o.canUseDOM&&"documentMode"in document&&11>=document.documentMode,gn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange".split(" ")}},yn=null,bn=null,En=null,Cn=!1;function wn(e,t){if(Cn||null==yn||yn!==l())return null;var n=yn;return"selectionStart"in n&&mn(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?n={anchorNode:(n=window.getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}:n=void 0,En&&s(En,n)?null:(En=n,(e=Re.getPooled(gn.select,bn,e,t)).type="select",e.target=yn,Oe(e),e)}var kn={eventTypes:gn,extractEvents:function(e,t,n,r){var o,a=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(o=!a)){e:{a=fn(a),o=K.onSelect;for(var u=0;ujn||(e.current=Ln[jn],Ln[jn]=null,jn--)}function Un(e,t){jn++,Ln[jn]=e.current,e.current=t}new Set;var Hn={current:f},zn={current:!1},Kn=f;function Wn(e){return $n(e)?Kn:Hn.current}function qn(e,t){var n=e.type.contextTypes;if(!n)return f;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function $n(e){return 2===e.tag&&null!=e.type.childContextTypes}function Qn(e){$n(e)&&(Bn(zn),Bn(Hn))}function Gn(e,t,n){null!=Hn.cursor&&d("168"),Un(Hn,t),Un(zn,n)}function Yn(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||d("108",Ht(e)||"Unknown",o);return a({},t,n)}function Xn(e){if(!$n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||f,Kn=Hn.current,Un(Hn,t),Un(zn,zn.current),!0}function Jn(e,t){var n=e.stateNode;if(n||d("169"),t){var r=Yn(e,Kn);n.__reactInternalMemoizedMergedChildContext=r,Bn(zn),Bn(Hn),Un(Hn,r)}else Bn(zn);Un(zn,t)}function Zn(e,t,n){this.tag=e,this.key=t,this.stateNode=this.type=null,this.sibling=this.child=this.return=null,this.index=0,this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null,this.internalContextTag=n,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function er(e,t,n){var r=e.alternate;return null===r?((r=new Zn(e.tag,e.key,e.internalContextTag)).type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.effectTag=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.expirationTime=n,r.pendingProps=t,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function tr(e,t,n){var r=void 0,o=e.type,a=e.key;return"function"==typeof o?((r=o.prototype&&o.prototype.isReactComponent?new Zn(2,a,t):new Zn(0,a,t)).type=o,r.pendingProps=e.props):"string"==typeof o?((r=new Zn(5,a,t)).type=o,r.pendingProps=e.props):"object"==typeof o&&null!==o&&"number"==typeof o.tag?(r=o).pendingProps=e.props:d("130",null==o?o:typeof o,""),r.expirationTime=n,r}function nr(e,t,n,r){return(t=new Zn(10,r,t)).pendingProps=e,t.expirationTime=n,t}function rr(e,t,n){return(t=new Zn(6,null,t)).pendingProps=e,t.expirationTime=n,t}function or(e,t,n){return(t=new Zn(7,e.key,t)).type=e.handler,t.pendingProps=e,t.expirationTime=n,t}function ar(e,t,n){return(e=new Zn(9,null,t)).expirationTime=n,e}function ur(e,t,n){return(t=new Zn(4,e.key,t)).pendingProps=e.children||[],t.expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ir=null,lr=null;function sr(e){return function(t){try{return e(t)}catch(e){}}}function cr(e){"function"==typeof ir&&ir(e)}function pr(e){"function"==typeof lr&&lr(e)}function fr(e){return{baseState:e,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function dr(e,t){null===e.last?e.first=e.last=t:(e.last.next=t,e.last=t),(0===e.expirationTime||e.expirationTime>t.expirationTime)&&(e.expirationTime=t.expirationTime)}function hr(e,t){var n=e.alternate,r=e.updateQueue;null===r&&(r=e.updateQueue=fr(null)),null!==n?null===(e=n.updateQueue)&&(e=n.updateQueue=fr(null)):e=null,null===(e=e!==r?e:null)?dr(r,t):null===r.last||null===e.last?(dr(r,t),dr(e,t)):(dr(r,t),e.last=t)}function mr(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function vr(e,t,n,r,o,u){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var i=!0,l=n.first,s=!1;null!==l;){var c=l.expirationTime;if(c>u){var p=n.expirationTime;(0===p||p>c)&&(n.expirationTime=c),s||(s=!0,n.baseState=e)}else s||(n.first=l.next,null===n.first&&(n.last=null)),l.isReplace?(e=mr(l,r,e,o),i=!0):(c=mr(l,r,e,o))&&(e=i?a({},e,c):a(e,c),i=!1),l.isForced&&(n.hasForceUpdate=!0),null!==l.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(l));l=l.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||(t.updateQueue=null),s||(n.baseState=e),e}function gr(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ef?(d=p,p=null):d=p.sibling;var g=m(o,p,i[f],l);if(null===g){null===p&&(p=d);break}e&&p&&null===g.alternate&&t(o,p),u=a(g,u,f),null===c?s=g:c.sibling=g,c=g,p=d}if(f===i.length)return n(o,p),s;if(null===p){for(;ff?(g=p,p=null):g=p.sibling;var b=m(o,p,y.value,l);if(null===b){p||(p=g);break}e&&p&&null===b.alternate&&t(o,p),u=a(b,u,f),null===c?s=b:c.sibling=b,c=b,p=g}if(y.done)return n(o,p),s;if(null===p){for(;!y.done;f++,y=i.next())null!==(y=h(o,y.value,l))&&(u=a(y,u,f),null===c?s=y:c.sibling=y,c=y);return s}for(p=r(o,p);!y.done;f++,y=i.next())null!==(y=v(p,o,f,y.value,l))&&(e&&null!==y.alternate&&p.delete(null===y.key?f:y.key),u=a(y,u,f),null===c?s=y:c.sibling=y,c=y);return e&&p.forEach((function(e){return t(o,e)})),s}return function(e,r,a,i){"object"==typeof a&&null!==a&&a.type===kr&&null===a.key&&(a=a.props.children);var l="object"==typeof a&&null!==a;if(l)switch(a.$$typeof){case br:e:{var s=a.key;for(l=r;null!==l;){if(l.key===s){if(10===l.tag?a.type===kr:l.type===a.type){n(e,l.sibling),(r=o(l,a.type===kr?a.props.children:a.props,i)).ref=Sr(l,a),r.return=e,e=r;break e}n(e,l);break}t(e,l),l=l.sibling}a.type===kr?((r=nr(a.props.children,e.internalContextTag,i,a.key)).return=e,e=r):((i=tr(a,e.internalContextTag,i)).ref=Sr(r,a),i.return=e,e=i)}return u(e);case Er:e:{for(l=a.key;null!==r;){if(r.key===l){if(7===r.tag){n(e,r.sibling),(r=o(r,a,i)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=or(a,e.internalContextTag,i)).return=e,e=r}return u(e);case Cr:e:{if(null!==r){if(9===r.tag){n(e,r.sibling),(r=o(r,null,i)).type=a.value,r.return=e,e=r;break e}n(e,r)}(r=ar(a,e.internalContextTag,i)).type=a.value,r.return=e,e=r}return u(e);case wr:e:{for(l=a.key;null!==r;){if(r.key===l){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=o(r,a.children||[],i)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=ur(a,e.internalContextTag,i)).return=e,e=r}return u(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),r=o(r,a,i)):(n(e,r),r=rr(a,e.internalContextTag,i)),r.return=e,u(e=r);if(Tr(a))return g(e,r,a,i);if(xr(a))return y(e,r,a,i);if(l&&Fr(e,a),void 0===a)switch(e.tag){case 2:case 1:d("152",(i=e.type).displayName||i.name||"Component")}return n(e,r)}}var Pr=Ar(!0),_r=Ar(!1);function Dr(e,t,n,r,o){function a(e,t,n){var r=t.expirationTime;t.child=null===e?_r(t,null,n,r):Pr(t,e.child,n,r)}function u(e,t){var n=t.ref;null===n||e&&e.ref===n||(t.effectTag|=128)}function i(e,t,n,r){if(u(e,t),!n)return r&&Jn(t,!1),c(e,t);n=t.stateNode,Ut.current=t;var o=n.render();return t.effectTag|=1,a(e,t,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&Jn(t,!0),t.child}function l(e){var t=e.stateNode;t.pendingContext?Gn(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Gn(0,t.context,!1),y(e,t.containerInfo)}function c(e,t){if(null!==e&&t.child!==e.child&&d("153"),null!==t.child){var n=er(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=er(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function p(e,t){switch(t.tag){case 3:l(t);break;case 2:Xn(t);break;case 4:y(t,t.stateNode.containerInfo)}return null}var h=e.shouldSetTextContent,m=e.useSyncScheduling,v=e.shouldDeprioritizeSubtree,g=t.pushHostContext,y=t.pushHostContainer,b=n.enterHydrationState,E=n.resetHydrationState,C=n.tryToClaimNextHydratableInstance,w=(e=function(e,t,n,r){function o(e,t){t.updater=a,e.stateNode=t,t._reactInternalFiber=e}var a={isMounted:Kt,enqueueSetState:function(n,r,o){n=n._reactInternalFiber,o=void 0===o?null:o;var a=t(n);hr(n,{expirationTime:a,partialState:r,callback:o,isReplace:!1,isForced:!1,nextCallback:null,next:null}),e(n,a)},enqueueReplaceState:function(n,r,o){n=n._reactInternalFiber,o=void 0===o?null:o;var a=t(n);hr(n,{expirationTime:a,partialState:r,callback:o,isReplace:!0,isForced:!1,nextCallback:null,next:null}),e(n,a)},enqueueForceUpdate:function(n,r){n=n._reactInternalFiber,r=void 0===r?null:r;var o=t(n);hr(n,{expirationTime:o,partialState:null,callback:r,isReplace:!1,isForced:!0,nextCallback:null,next:null}),e(n,o)}};return{adoptClassInstance:o,constructClassInstance:function(e,t){var n=e.type,r=Wn(e),a=2===e.tag&&null!=e.type.contextTypes,u=a?qn(e,r):f;return o(e,t=new n(t,u)),a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=u),t},mountClassInstance:function(e,t){var n=e.alternate,r=e.stateNode,o=r.state||null,u=e.pendingProps;u||d("158");var i=Wn(e);r.props=u,r.state=e.memoizedState=o,r.refs=f,r.context=qn(e,i),null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent&&(e.internalContextTag|=1),"function"==typeof r.componentWillMount&&(o=r.state,r.componentWillMount(),o!==r.state&&a.enqueueReplaceState(r,r.state,null),null!==(o=e.updateQueue)&&(r.state=vr(n,e,o,r,u,t))),"function"==typeof r.componentDidMount&&(e.effectTag|=4)},updateClassInstance:function(e,t,o){var u=t.stateNode;u.props=t.memoizedProps,u.state=t.memoizedState;var i=t.memoizedProps,l=t.pendingProps;l||null==(l=i)&&d("159");var c=u.context,p=Wn(t);if(p=qn(t,p),"function"!=typeof u.componentWillReceiveProps||i===l&&c===p||(c=u.state,u.componentWillReceiveProps(l,p),u.state!==c&&a.enqueueReplaceState(u,u.state,null)),c=t.memoizedState,o=null!==t.updateQueue?vr(e,t,t.updateQueue,u,l,o):c,!(i!==l||c!==o||zn.current||null!==t.updateQueue&&t.updateQueue.hasForceUpdate))return"function"!=typeof u.componentDidUpdate||i===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=4),!1;var f=l;if(null===i||null!==t.updateQueue&&t.updateQueue.hasForceUpdate)f=!0;else{var h=t.stateNode,m=t.type;f="function"==typeof h.shouldComponentUpdate?h.shouldComponentUpdate(f,o,p):!m.prototype||!m.prototype.isPureReactComponent||(!s(i,f)||!s(c,o))}return f?("function"==typeof u.componentWillUpdate&&u.componentWillUpdate(l,o,p),"function"==typeof u.componentDidUpdate&&(t.effectTag|=4)):("function"!=typeof u.componentDidUpdate||i===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=4),n(t,l),r(t,o)),u.props=l,u.state=o,u.context=p,f}}}(r,o,(function(e,t){e.memoizedProps=t}),(function(e,t){e.memoizedState=t}))).adoptClassInstance,k=e.constructClassInstance,O=e.mountClassInstance,x=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n)return p(0,t);switch(t.tag){case 0:null!==e&&d("155");var r=t.type,o=t.pendingProps,s=Wn(t);return r=r(o,s=qn(t,s)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render?(t.tag=2,o=Xn(t),w(t,r),O(t,n),t=i(e,t,!0,o)):(t.tag=1,a(e,t,r),t.memoizedProps=o,t=t.child),t;case 1:e:{if(o=t.type,n=t.pendingProps,r=t.memoizedProps,zn.current)null===n&&(n=r);else if(null===n||r===n){t=c(e,t);break e}o=o(n,r=qn(t,r=Wn(t))),t.effectTag|=1,a(e,t,o),t.memoizedProps=n,t=t.child}return t;case 2:return o=Xn(t),r=void 0,null===e?t.stateNode?d("153"):(k(t,t.pendingProps),O(t,n),r=!0):r=x(e,t,n),i(e,t,r,o);case 3:return l(t),null!==(o=t.updateQueue)?(r=t.memoizedState)===(o=vr(e,t,o,null,null,n))?(E(),t=c(e,t)):(r=o.element,s=t.stateNode,(null===e||null===e.child)&&s.hydrate&&b(t)?(t.effectTag|=2,t.child=_r(t,null,r,n)):(E(),a(e,t,r)),t.memoizedState=o,t=t.child):(E(),t=c(e,t)),t;case 5:g(t),null===e&&C(t),o=t.type;var f=t.memoizedProps;return null===(r=t.pendingProps)&&(null===(r=f)&&d("154")),s=null!==e?e.memoizedProps:null,zn.current||null!==r&&f!==r?(f=r.children,h(o,r)?f=null:s&&h(o,s)&&(t.effectTag|=16),u(e,t),2147483647!==n&&!m&&v(o,r)?(t.expirationTime=2147483647,t=null):(a(e,t,f),t.memoizedProps=r,t=t.child)):t=c(e,t),t;case 6:return null===e&&C(t),null===(e=t.pendingProps)&&(e=t.memoizedProps),t.memoizedProps=e,null;case 8:t.tag=7;case 7:return o=t.pendingProps,zn.current?null===o&&(null===(o=e&&e.memoizedProps)&&d("154")):null!==o&&t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?_r(t,t.stateNode,r,n):Pr(t,t.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:e:{if(y(t,t.stateNode.containerInfo),o=t.pendingProps,zn.current)null===o&&(null==(o=e&&e.memoizedProps)&&d("154"));else if(null===o||t.memoizedProps===o){t=c(e,t);break e}null===e?t.child=Pr(t,null,o,n):a(e,t,o),t.memoizedProps=o,t=t.child}return t;case 10:e:{if(n=t.pendingProps,zn.current)null===n&&(n=t.memoizedProps);else if(null===n||t.memoizedProps===n){t=c(e,t);break e}a(e,t,n),t.memoizedProps=n,t=t.child}return t;default:d("156")}},beginFailedWork:function(e,t,n){switch(t.tag){case 2:Xn(t);break;case 3:l(t);break;default:d("157")}return t.effectTag|=64,null===e?t.child=null:t.child!==e.child&&(t.child=e.child),0===t.expirationTime||t.expirationTime>n?p(0,t):(t.firstEffect=null,t.lastEffect=null,t.child=null===e?_r(t,null,null,n):Pr(t,e.child,null,n),2===t.tag&&(e=t.stateNode,t.memoizedProps=e.props,t.memoizedState=e.state),t.child)}}}var Nr={};function Rr(e){function t(e){ue=Y=!0;var t=e.stateNode;if(t.current===e&&d("177"),t.isReadyForCommit=!1,Ut.current=null,1u.expirationTime)&&(a=u.expirationTime),u=u.sibling;o.expirationTime=a}if(null!==t)return t;if(null!==n&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1e))if(Z<=Q)for(;null!==X;)X=l(X)?o(X):r(X);else for(;null!==X&&!k();)X=l(X)?o(X):r(X)}else if(!(0===Z||Z>e))if(Z<=Q)for(;null!==X;)X=r(X);else for(;null!==X&&!k();)X=r(X)}function u(e,t){if(Y&&d("243"),Y=!0,e.isReadyForCommit=!1,e!==J||t!==Z||null===X){for(;-1t)&&(e.expirationTime=t),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>t)&&(e.alternate.expirationTime=t),null===e.return){if(3!==e.tag)break;var n=e.stateNode;!Y&&n===J&&tCe&&d("185"),null===r.nextScheduledRoot)r.remainingExpirationTime=o,null===se?(le=se=r,r.nextScheduledRoot=r):(se=se.nextScheduledRoot=r).nextScheduledRoot=le;else{var a=r.remainingExpirationTime;(0===a||oce)return;z(pe)}var t=U()-$;ce=e,pe=H(E,{timeout:10*(e-2)-t})}function b(){var e=0,t=null;if(null!==se)for(var n=se,r=le;null!==r;){var o=r.remainingExpirationTime;if(0===o){if((null===n||null===se)&&d("244"),r===r.nextScheduledRoot){le=se=r.nextScheduledRoot=null;break}if(r===le)le=o=r.nextScheduledRoot,se.nextScheduledRoot=o,r.nextScheduledRoot=null;else{if(r===se){(se=n).nextScheduledRoot=le,r.nextScheduledRoot=null;break}n.nextScheduledRoot=r.nextScheduledRoot,r.nextScheduledRoot=null}r=n.nextScheduledRoot}else{if((0===e||oke)&&(me=!0)}function O(e){null===de&&d("246"),de.remainingExpirationTime=0,ve||(ve=!0,ge=e)}var x=function(e){function t(e){return e===Nr&&d("174"),e}var n=e.getChildHostContext,r=e.getRootHostContext,o={current:Nr},a={current:Nr},u={current:Nr};return{getHostContext:function(){return t(o.current)},getRootHostContainer:function(){return t(u.current)},popHostContainer:function(e){Bn(o),Bn(a),Bn(u)},popHostContext:function(e){a.current===e&&(Bn(o),Bn(a))},pushHostContainer:function(e,t){Un(u,t),t=r(t),Un(a,e),Un(o,t)},pushHostContext:function(e){var r=t(u.current),i=t(o.current);i!==(r=n(i,e.type,r))&&(Un(a,e),Un(o,r))},resetHostContainer:function(){o.current=Nr,u.current=Nr}}}(e),T=function(e){function t(e,t){var n=new Zn(5,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=a(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=u(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;p=e}var o=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){d("175")},prepareToHydrateHostTextInstance:function(){d("176")},popHydrationState:function(){return!1}};var a=e.canHydrateInstance,u=e.canHydrateTextInstance,i=e.getNextHydratableSibling,l=e.getFirstHydratableChild,s=e.hydrateInstance,c=e.hydrateTextInstance,p=null,f=null,h=!1;return{enterHydrationState:function(e){return f=l(e.stateNode.containerInfo),p=e,h=!0},resetHydrationState:function(){f=p=null,h=!1},tryToClaimNextHydratableInstance:function(e){if(h){var r=f;if(r){if(!n(e,r)){if(!(r=i(r))||!n(e,r))return e.effectTag|=2,h=!1,void(p=e);t(p,f)}p=e,f=l(r)}else e.effectTag|=2,h=!1,p=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return c(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==p)return!1;if(!h)return r(e),h=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!o(n,e.memoizedProps))for(n=f;n;)t(e,n),n=i(n);return r(e),f=p?i(e.stateNode):null,!0}}}(e),S=x.popHostContainer,F=x.popHostContext,A=x.resetHostContainer,P=Dr(e,x,T,h,p),_=P.beginWork,D=P.beginFailedWork,N=function(e,t,n){function r(e){e.effectTag|=4}var o=e.createInstance,a=e.createTextInstance,u=e.appendInitialChild,i=e.finalizeInitialChildren,l=e.prepareUpdate,s=e.persistence,c=t.getRootHostContainer,p=t.popHostContext,f=t.getHostContext,h=t.popHostContainer,m=n.prepareToHydrateHostInstance,v=n.prepareToHydrateHostTextInstance,g=n.popHydrationState,y=void 0,b=void 0,E=void 0;return e.mutation?(y=function(){},b=function(e,t,n){(t.updateQueue=n)&&r(t)},E=function(e,t,n,o){n!==o&&r(t)}):d(s?"235":"236"),{completeWork:function(e,t,n){var s=t.pendingProps;switch(null===s?s=t.memoizedProps:2147483647===t.expirationTime&&2147483647!==n||(t.pendingProps=null),t.tag){case 1:return null;case 2:return Qn(t),null;case 3:return h(t),Bn(zn),Bn(Hn),(s=t.stateNode).pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),null!==e&&null!==e.child||(g(t),t.effectTag&=-3),y(t),null;case 5:p(t),n=c();var C=t.type;if(null!==e&&null!=t.stateNode){var w=e.memoizedProps,k=t.stateNode,O=f();k=l(k,C,w,s,n,O),b(e,t,k,C,w,s,n),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!s)return null===t.stateNode&&d("166"),null;if(e=f(),g(t))m(t,n,e)&&r(t);else{e=o(C,s,n,e,t);e:for(w=t.child;null!==w;){if(5===w.tag||6===w.tag)u(e,w.stateNode);else if(4!==w.tag&&null!==w.child){w.child.return=w,w=w.child;continue}if(w===t)break;for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}i(e,C,s,n)&&r(t),t.stateNode=e}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)E(e,t,e.memoizedProps,s);else{if("string"!=typeof s)return null===t.stateNode&&d("166"),null;e=c(),n=f(),g(t)?v(t)&&r(t):t.stateNode=a(s,e,n,t)}return null;case 7:(s=t.memoizedProps)||d("165"),t.tag=8,C=[];e:for((w=t.stateNode)&&(w.return=t);null!==w;){if(5===w.tag||6===w.tag||4===w.tag)d("247");else if(9===w.tag)C.push(w.type);else if(null!==w.child){w.child.return=w,w=w.child;continue}for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}return s=(w=s.handler)(s.props,C),t.child=Pr(t,null!==e?e.child:null,s,n),t.child;case 8:return t.tag=7,null;case 9:case 10:return null;case 4:return h(t),y(t),null;case 0:d("167");default:d("156")}}}}(e,x,T).completeWork,R=(x=function(e,t){function n(e){var n=e.ref;if(null!==n)try{n(null)}catch(n){t(e,n)}}function r(e){switch(pr(e),e.tag){case 2:n(e);var r=e.stateNode;if("function"==typeof r.componentWillUnmount)try{r.props=e.memoizedProps,r.state=e.memoizedState,r.componentWillUnmount()}catch(n){t(e,n)}break;case 5:n(e);break;case 7:o(e.stateNode);break;case 4:l&&u(e)}}function o(e){for(var t=e;;)if(r(t),null===t.child||l&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function a(e){return 5===e.tag||3===e.tag||4===e.tag}function u(e){for(var t=e,n=!1,a=void 0,u=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&d("160"),n.tag){case 5:a=n.stateNode,u=!1;break e;case 3:case 4:a=n.stateNode.containerInfo,u=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)o(t),u?b(a,t.stateNode):y(a,t.stateNode);else if(4===t.tag?a=t.stateNode.containerInfo:r(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var i=e.getPublicInstance,l=e.mutation;e=e.persistence,l||d(e?"235":"236");var s=l.commitMount,c=l.commitUpdate,p=l.resetTextContent,f=l.commitTextUpdate,h=l.appendChild,m=l.appendChildToContainer,v=l.insertBefore,g=l.insertInContainerBefore,y=l.removeChild,b=l.removeChildFromContainer;return{commitResetTextContent:function(e){p(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(a(t)){var n=t;break e}t=t.return}d("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:d("161")}16&n.effectTag&&(p(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||a(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var o=e;;){if(5===o.tag||6===o.tag)n?r?g(t,o.stateNode,n):v(t,o.stateNode,n):r?m(t,o.stateNode):h(t,o.stateNode);else if(4!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===e)break;for(;null===o.sibling;){if(null===o.return||o.return===e)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},commitDeletion:function(e){u(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var o=t.type,a=t.updateQueue;t.updateQueue=null,null!==a&&c(n,a,o,e,r,t)}break;case 6:null===t.stateNode&&d("162"),n=t.memoizedProps,f(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:d("163")}},commitLifeCycles:function(e,t){switch(t.tag){case 2:var n=t.stateNode;if(4&t.effectTag)if(null===e)n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidMount();else{var r=e.memoizedProps;e=e.memoizedState,n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidUpdate(r,e)}null!==(t=t.updateQueue)&&gr(t,n);break;case 3:null!==(n=t.updateQueue)&&gr(n,null!==t.child?t.child.stateNode:null);break;case 5:n=t.stateNode,null===e&&4&t.effectTag&&s(n,t.type,t.memoizedProps,t);break;case 6:case 4:break;default:d("163")}},commitAttachRef:function(e){var t=e.ref;if(null!==t){var n=e.stateNode;switch(e.tag){case 5:t(i(n));break;default:t(n)}}},commitDetachRef:function(e){null!==(e=e.ref)&&e(null)}}}(e,i)).commitResetTextContent,I=x.commitPlacement,M=x.commitDeletion,V=x.commitWork,L=x.commitLifeCycles,j=x.commitAttachRef,B=x.commitDetachRef,U=e.now,H=e.scheduleDeferredCallback,z=e.cancelDeferredCallback,K=e.useSyncScheduling,W=e.prepareForCommit,q=e.resetAfterCommit,$=U(),Q=2,G=0,Y=!1,X=null,J=null,Z=0,ee=null,te=null,ne=null,re=null,oe=null,ae=!1,ue=!1,ie=!1,le=null,se=null,ce=0,pe=-1,fe=!1,de=null,he=0,me=!1,ve=!1,ge=null,ye=null,be=!1,Ee=!1,Ce=1e3,we=0,ke=1;return{computeAsyncExpiration:c,computeExpirationForFiber:p,scheduleWork:h,batchedUpdates:function(e,t){var n=be;be=!0;try{return e(t)}finally{(be=n)||fe||C(1,null)}},unbatchedUpdates:function(e){if(be&&!Ee){Ee=!0;try{return e()}finally{Ee=!1}}return e()},flushSync:function(e){var t=be;be=!0;try{e:{var n=G;G=1;try{var r=e();break e}finally{G=n}r=void 0}return r}finally{be=t,fe&&d("187"),C(1,null)}},deferredUpdates:function(e){var t=G;G=c();try{return e()}finally{G=t}}}}function Ir(e){function t(e){return null===(e=function(e){if(!(e=qt(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}(e))?null:e.stateNode}var n=e.getPublicInstance,r=(e=Rr(e)).computeAsyncExpiration,o=e.computeExpirationForFiber,u=e.scheduleWork;return{createContainer:function(e,t){var n=new Zn(3,null,0);return e={current:n,containerInfo:e,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:t,nextScheduledRoot:null},n.stateNode=e},updateContainer:function(e,t,n,a){var i=t.current;if(n){var l;e:{for(2===zt(n=n._reactInternalFiber)&&2===n.tag||d("170"),l=n;3!==l.tag;){if($n(l)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break e}(l=l.return)||d("171")}l=l.stateNode.context}n=$n(n)?Yn(n,l):l}else n=f;null===t.context?t.context=n:t.pendingContext=n,t=void 0===(t=a)?null:t,hr(i,{expirationTime:a=null!=e&&null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent?r():o(i),partialState:{element:e},callback:t,isReplace:!1,isForced:!1,nextCallback:null,next:null}),u(i,a)},batchedUpdates:e.batchedUpdates,unbatchedUpdates:e.unbatchedUpdates,deferredUpdates:e.deferredUpdates,flushSync:e.flushSync,getPublicRootInstance:function(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:return n(e.child.stateNode);default:return e.child.stateNode}},findHostInstance:t,findHostInstanceWithNoPortals:function(e){return null===(e=function(e){if(!(e=qt(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child&&4!==t.tag)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}(e))?null:e.stateNode},injectIntoDevTools:function(e){var n=e.findFiberByHostInstance;return function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);ir=sr((function(e){return t.onCommitFiberRoot(n,e)})),lr=sr((function(e){return t.onCommitFiberUnmount(n,e)}))}catch(e){}return!0}(a({},e,{findHostInstanceByFiber:function(e){return t(e)},findFiberByHostInstance:function(e){return n?n(e):null}}))}}}var Mr=Object.freeze({default:Ir}),Vr=Mr&&Ir||Mr,Lr=Vr.default?Vr.default:Vr;function jr(e,t,n){var r=3=Gr-e){if(!(-1!==$r&&$r<=e))return void(Qr||(Qr=!0,requestAnimationFrame(Zr)));Kr.didTimeout=!0}else Kr.didTimeout=!1;$r=-1,e=Wr,Wr=null,null!==e&&e(Kr)}}),!1);var Zr=function(e){Qr=!1;var t=e-Gr+Xr;tt&&(t=8),Xr=tn||r.hasOverloadedBooleanValue&&!1===n?ao(e,t):r.mustUseProperty?e[r.propertyName]=n:(t=r.attributeName,(o=r.attributeNamespace)?e.setAttributeNS(o,t,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(t,""):e.setAttribute(t,""+n))}else oo(e,t,y(t,n)?n:null)}function oo(e,t,n){(function(e){return!!no.hasOwnProperty(e)||!to.hasOwnProperty(e)&&(eo.test(e)?no[e]=!0:(to[e]=!0,!1))})(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))}function ao(e,t){var n=b(t);n?(t=n.mutationMethod)?t(e,void 0):n.mustUseProperty?e[n.propertyName]=!n.hasBooleanValue&&"":e.removeAttribute(n.attributeName):e.removeAttribute(t)}function uo(e,t){var n=t.value,r=t.checked;return a({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked})}function io(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function lo(e,t){null!=(t=t.checked)&&ro(e,"checked",t)}function so(e,t){lo(e,t);var n=t.value;null!=n?0===n&&""===e.value?e.value="0":"number"===t.type?(n!=(t=parseFloat(e.value)||0)||n==t&&e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n):(null==t.value&&null!=t.defaultValue&&e.defaultValue!==""+t.defaultValue&&(e.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked))}function co(e,t){switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":e.value="",e.value=e.defaultValue;break;default:e.value=e.value}""!==(t=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,""!==t&&(e.name=t)}function po(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null==e||"string"!=typeof e&&"number"!=typeof e||(t+=e)})),t}(t.children))&&(e.children=t),e}function fo(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o=t.length||d("93"),t=t[0]),n=""+t),null==n&&(n="")),e._wrapperState={initialValue:""+n}}function go(e,t){var n=t.value;null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function yo(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}var bo="http://www.w3.org/1999/xhtml",Eo="http://www.w3.org/2000/svg";function Co(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function wo(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Co(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ko=void 0,Oo=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==Eo||"innerHTML"in e)e.innerHTML=t;else{for((ko=ko||document.createElement("div")).innerHTML=""+t+"",t=ko.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function xo(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var To={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},So=["Webkit","ms","Moz","O"];function Fo(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=n,a=t[n];o=null==a||"boolean"==typeof a||""===a?"":r||"number"!=typeof a||0===a||To.hasOwnProperty(o)&&To[o]?(""+a).trim():a+"px","float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(To).forEach((function(e){So.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),To[t]=To[e]}))}));var Ao=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Po(e,t,n){t&&(Ao[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&d("137",e,n()),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&d("60"),"object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||d("61")),null!=t.style&&"object"!=typeof t.style&&d("62",n()))}function _o(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Do=bo,No=u.thatReturns("");function Ro(e,t){var n=fn(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=K[t];for(var r=0;r<\/script>",e=e.removeChild(e.firstChild)):e="string"==typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(r,e),e}function Vo(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function Lo(e,t,n,r){var o=_o(t,n);switch(t){case"iframe":case"object":Jt("topLoad","load",e);var i=n;break;case"video":case"audio":for(i in Io)Io.hasOwnProperty(i)&&Jt(i,Io[i],e);i=n;break;case"source":Jt("topError","error",e),i=n;break;case"img":case"image":Jt("topError","error",e),Jt("topLoad","load",e),i=n;break;case"form":Jt("topReset","reset",e),Jt("topSubmit","submit",e),i=n;break;case"details":Jt("topToggle","toggle",e),i=n;break;case"input":io(e,n),i=uo(e,n),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;case"option":i=po(e,n);break;case"select":ho(e,n),i=a({},n,{value:void 0}),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;case"textarea":vo(e,n),i=mo(e,n),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;default:i=n}Po(t,i,No);var l,s=i;for(l in s)if(s.hasOwnProperty(l)){var c=s[l];"style"===l?Fo(e,c):"dangerouslySetInnerHTML"===l?null!=(c=c?c.__html:void 0)&&Oo(e,c):"children"===l?"string"==typeof c?("textarea"!==t||""!==c)&&xo(e,c):"number"==typeof c&&xo(e,""+c):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(z.hasOwnProperty(l)?null!=c&&Ro(r,l):o?oo(e,l,c):null!=c&&ro(e,l,c))}switch(t){case"input":gt(e),co(e,n);break;case"textarea":gt(e),yo(e);break;case"option":null!=n.value&&e.setAttribute("value",n.value);break;case"select":e.multiple=!!n.multiple,null!=(t=n.value)?fo(e,!!n.multiple,t,!1):null!=n.defaultValue&&fo(e,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof i.onClick&&(e.onclick=u)}}function jo(e,t,n,r,o){var i,l,s=null;switch(t){case"input":n=uo(e,n),r=uo(e,r),s=[];break;case"option":n=po(e,n),r=po(e,r),s=[];break;case"select":n=a({},n,{value:void 0}),r=a({},r,{value:void 0}),s=[];break;case"textarea":n=mo(e,n),r=mo(e,r),s=[];break;default:"function"!=typeof n.onClick&&"function"==typeof r.onClick&&(e.onclick=u)}for(i in Po(t,r,No),e=null,n)if(!r.hasOwnProperty(i)&&n.hasOwnProperty(i)&&null!=n[i])if("style"===i)for(l in t=n[i])t.hasOwnProperty(l)&&(e||(e={}),e[l]="");else"dangerouslySetInnerHTML"!==i&&"children"!==i&&"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(z.hasOwnProperty(i)?s||(s=[]):(s=s||[]).push(i,null));for(i in r){var c=r[i];if(t=null!=n?n[i]:void 0,r.hasOwnProperty(i)&&c!==t&&(null!=c||null!=t))if("style"===i)if(t){for(l in t)!t.hasOwnProperty(l)||c&&c.hasOwnProperty(l)||(e||(e={}),e[l]="");for(l in c)c.hasOwnProperty(l)&&t[l]!==c[l]&&(e||(e={}),e[l]=c[l])}else e||(s||(s=[]),s.push(i,e)),e=c;else"dangerouslySetInnerHTML"===i?(c=c?c.__html:void 0,t=t?t.__html:void 0,null!=c&&t!==c&&(s=s||[]).push(i,""+c)):"children"===i?t===c||"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(i,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&(z.hasOwnProperty(i)?(null!=c&&Ro(o,i),s||t===c||(s=[])):(s=s||[]).push(i,c))}return e&&(s=s||[]).push("style",e),s}function Bo(e,t,n,r,o){"input"===n&&"radio"===o.type&&null!=o.name&&lo(e,o),_o(n,r),r=_o(n,o);for(var a=0;ar&&(o=r,r=e,e=o),o=hn(n,e);var a=hn(n,r);if(o&&a&&(1!==t.rangeCount||t.anchorNode!==o.node||t.anchorOffset!==o.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)){var u=document.createRange();u.setStart(o.node,o.offset),t.removeAllRanges(),e>r?(t.addRange(u),t.extend(a.node,a.offset)):(u.setEnd(a.node,a.offset),t.addRange(u))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(p(n),n=0;n=(u={attributeName:u,attributeNamespace:null,propertyName:a,mutationMethod:null,mustUseProperty:m(i,t.MUST_USE_PROPERTY),hasBooleanValue:m(i,t.HAS_BOOLEAN_VALUE),hasNumericValue:m(i,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:m(i,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:m(i,t.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:m(i,t.HAS_STRING_BOOLEAN_VALUE)}).hasBooleanValue+u.hasNumericValue+u.hasOverloadedBooleanValue||d("50",a),o.hasOwnProperty(a)&&(u.attributeName=o[a]),r.hasOwnProperty(a)&&(u.attributeNamespace=r[a]),e.hasOwnProperty(a)&&(u.mutationMethod=e[a]),g[a]=u}}},g={};function y(e,t){if(h.hasOwnProperty(e)||2this.eventPool.length&&this.eventPool.push(e)}function Ve(e){e.eventPool=[],e.getPooled=Ie,e.release=Me}function Le(e,t,n,r){return Re.call(this,e,t,n,r)}function Be(e,t,n,r){return Re.call(this,e,t,n,r)}a(Re.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=u.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=u.thatReturnsTrue)},persist:function(){this.isPersistent=u.thatReturnsTrue},isPersistent:u.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t=parseInt(Ke.version(),10))}var We=je,qe=o.canUseDOM&&(!He||ze&&8=ze),$e=String.fromCharCode(32),Qe={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},Ge=!1;function Ye(e,t){switch(e){case"topKeyUp":return-1!==Ue.indexOf(t.keyCode);case"topKeyDown":return 229!==t.keyCode;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function Xe(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Je=!1;var Ze={eventTypes:Qe,extractEvents:function(e,t,n,r){var o;if(He)e:{switch(e){case"topCompositionStart":var a=Qe.compositionStart;break e;case"topCompositionEnd":a=Qe.compositionEnd;break e;case"topCompositionUpdate":a=Qe.compositionUpdate;break e}a=void 0}else Je?Ye(e,n)&&(a=Qe.compositionEnd):"topKeyDown"===e&&229===n.keyCode&&(a=Qe.compositionStart);return a?(qe&&(Je||a!==Qe.compositionStart?a===Qe.compositionEnd&&Je&&(o=Pe()):(Ae._root=r,Ae._startText=_e(),Je=!0)),a=Le.getPooled(a,t,n,r),o?a.data=o:null!==(o=Xe(n))&&(a.data=o),Oe(a),o=a):o=null,(e=We?function(e,t){switch(e){case"topCompositionEnd":return Xe(t);case"topKeyPress":return 32!==t.which?null:(Ge=!0,$e);case"topTextInput":return(e=t.data)===$e&&Ge?null:e;default:return null}}(e,n):function(e,t){if(Je)return"topCompositionEnd"===e||!He&&Ye(e,t)?(e=Pe(),Ae._root=null,Ae._startText=null,Ae._fallbackText=null,Je=!1,e):null;switch(e){case"topPaste":return null;case"topKeyPress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1$t.length&&$t.push(e)}}}var tn=Object.freeze({get _enabled(){return Gt},get _handleTopLevel(){return Yt},setHandleTopLevel:function(e){Yt=e},setEnabled:Xt,isEnabled:function(){return Gt},trapBubbledEvent:Jt,trapCapturedEvent:Zt,dispatchEvent:en});function nn(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}var rn={animationend:nn("Animation","AnimationEnd"),animationiteration:nn("Animation","AnimationIteration"),animationstart:nn("Animation","AnimationStart"),transitionend:nn("Transition","TransitionEnd")},on={},an={};function un(e){if(on[e])return on[e];if(!rn[e])return e;var t,n=rn[e];for(t in n)if(n.hasOwnProperty(t)&&t in an)return on[e]=n[t];return""}o.canUseDOM&&(an=document.createElement("div").style,"AnimationEvent"in window||(delete rn.animationend.animation,delete rn.animationiteration.animation,delete rn.animationstart.animation),"TransitionEvent"in window||delete rn.transitionend.transition);var ln={topAbort:"abort",topAnimationEnd:un("animationend")||"animationend",topAnimationIteration:un("animationiteration")||"animationiteration",topAnimationStart:un("animationstart")||"animationstart",topBlur:"blur",topCancel:"cancel",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topClose:"close",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoad:"load",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topToggle:"toggle",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:un("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},sn={},cn=0,pn="_reactListenersID"+(""+Math.random()).slice(2);function fn(e){return Object.prototype.hasOwnProperty.call(e,pn)||(e[pn]=cn++,sn[e[pn]]={}),sn[e[pn]]}function dn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function hn(e,t){var n,r=dn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=dn(r)}}function mn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)}var vn=o.canUseDOM&&"documentMode"in document&&11>=document.documentMode,gn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange".split(" ")}},yn=null,bn=null,En=null,Cn=!1;function wn(e,t){if(Cn||null==yn||yn!==l())return null;var n=yn;return"selectionStart"in n&&mn(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?n={anchorNode:(n=window.getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}:n=void 0,En&&s(En,n)?null:(En=n,(e=Re.getPooled(gn.select,bn,e,t)).type="select",e.target=yn,Oe(e),e)}var kn={eventTypes:gn,extractEvents:function(e,t,n,r){var o,a=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(o=!a)){e:{a=fn(a),o=K.onSelect;for(var u=0;uBn||(e.current=Ln[Bn],Ln[Bn]=null,Bn--)}function Un(e,t){Bn++,Ln[Bn]=e.current,e.current=t}new Set;var Hn={current:f},zn={current:!1},Kn=f;function Wn(e){return $n(e)?Kn:Hn.current}function qn(e,t){var n=e.type.contextTypes;if(!n)return f;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function $n(e){return 2===e.tag&&null!=e.type.childContextTypes}function Qn(e){$n(e)&&(jn(zn),jn(Hn))}function Gn(e,t,n){null!=Hn.cursor&&d("168"),Un(Hn,t),Un(zn,n)}function Yn(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||d("108",Ht(e)||"Unknown",o);return a({},t,n)}function Xn(e){if(!$n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||f,Kn=Hn.current,Un(Hn,t),Un(zn,zn.current),!0}function Jn(e,t){var n=e.stateNode;if(n||d("169"),t){var r=Yn(e,Kn);n.__reactInternalMemoizedMergedChildContext=r,jn(zn),jn(Hn),Un(Hn,r)}else jn(zn);Un(zn,t)}function Zn(e,t,n){this.tag=e,this.key=t,this.stateNode=this.type=null,this.sibling=this.child=this.return=null,this.index=0,this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null,this.internalContextTag=n,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function er(e,t,n){var r=e.alternate;return null===r?((r=new Zn(e.tag,e.key,e.internalContextTag)).type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.effectTag=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.expirationTime=n,r.pendingProps=t,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function tr(e,t,n){var r=void 0,o=e.type,a=e.key;return"function"==typeof o?((r=o.prototype&&o.prototype.isReactComponent?new Zn(2,a,t):new Zn(0,a,t)).type=o,r.pendingProps=e.props):"string"==typeof o?((r=new Zn(5,a,t)).type=o,r.pendingProps=e.props):"object"==typeof o&&null!==o&&"number"==typeof o.tag?(r=o).pendingProps=e.props:d("130",null==o?o:typeof o,""),r.expirationTime=n,r}function nr(e,t,n,r){return(t=new Zn(10,r,t)).pendingProps=e,t.expirationTime=n,t}function rr(e,t,n){return(t=new Zn(6,null,t)).pendingProps=e,t.expirationTime=n,t}function or(e,t,n){return(t=new Zn(7,e.key,t)).type=e.handler,t.pendingProps=e,t.expirationTime=n,t}function ar(e,t,n){return(e=new Zn(9,null,t)).expirationTime=n,e}function ur(e,t,n){return(t=new Zn(4,e.key,t)).pendingProps=e.children||[],t.expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ir=null,lr=null;function sr(e){return function(t){try{return e(t)}catch(e){}}}function cr(e){"function"==typeof ir&&ir(e)}function pr(e){"function"==typeof lr&&lr(e)}function fr(e){return{baseState:e,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function dr(e,t){null===e.last?e.first=e.last=t:(e.last.next=t,e.last=t),(0===e.expirationTime||e.expirationTime>t.expirationTime)&&(e.expirationTime=t.expirationTime)}function hr(e,t){var n=e.alternate,r=e.updateQueue;null===r&&(r=e.updateQueue=fr(null)),null!==n?null===(e=n.updateQueue)&&(e=n.updateQueue=fr(null)):e=null,null===(e=e!==r?e:null)?dr(r,t):null===r.last||null===e.last?(dr(r,t),dr(e,t)):(dr(r,t),e.last=t)}function mr(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function vr(e,t,n,r,o,u){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var i=!0,l=n.first,s=!1;null!==l;){var c=l.expirationTime;if(c>u){var p=n.expirationTime;(0===p||p>c)&&(n.expirationTime=c),s||(s=!0,n.baseState=e)}else s||(n.first=l.next,null===n.first&&(n.last=null)),l.isReplace?(e=mr(l,r,e,o),i=!0):(c=mr(l,r,e,o))&&(e=i?a({},e,c):a(e,c),i=!1),l.isForced&&(n.hasForceUpdate=!0),null!==l.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(l));l=l.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||(t.updateQueue=null),s||(n.baseState=e),e}function gr(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ef?(d=p,p=null):d=p.sibling;var g=m(o,p,i[f],l);if(null===g){null===p&&(p=d);break}e&&p&&null===g.alternate&&t(o,p),u=a(g,u,f),null===c?s=g:c.sibling=g,c=g,p=d}if(f===i.length)return n(o,p),s;if(null===p){for(;ff?(g=p,p=null):g=p.sibling;var b=m(o,p,y.value,l);if(null===b){p||(p=g);break}e&&p&&null===b.alternate&&t(o,p),u=a(b,u,f),null===c?s=b:c.sibling=b,c=b,p=g}if(y.done)return n(o,p),s;if(null===p){for(;!y.done;f++,y=i.next())null!==(y=h(o,y.value,l))&&(u=a(y,u,f),null===c?s=y:c.sibling=y,c=y);return s}for(p=r(o,p);!y.done;f++,y=i.next())null!==(y=v(p,o,f,y.value,l))&&(e&&null!==y.alternate&&p.delete(null===y.key?f:y.key),u=a(y,u,f),null===c?s=y:c.sibling=y,c=y);return e&&p.forEach((function(e){return t(o,e)})),s}return function(e,r,a,i){"object"==typeof a&&null!==a&&a.type===kr&&null===a.key&&(a=a.props.children);var l="object"==typeof a&&null!==a;if(l)switch(a.$$typeof){case br:e:{var s=a.key;for(l=r;null!==l;){if(l.key===s){if(10===l.tag?a.type===kr:l.type===a.type){n(e,l.sibling),(r=o(l,a.type===kr?a.props.children:a.props,i)).ref=Sr(l,a),r.return=e,e=r;break e}n(e,l);break}t(e,l),l=l.sibling}a.type===kr?((r=nr(a.props.children,e.internalContextTag,i,a.key)).return=e,e=r):((i=tr(a,e.internalContextTag,i)).ref=Sr(r,a),i.return=e,e=i)}return u(e);case Er:e:{for(l=a.key;null!==r;){if(r.key===l){if(7===r.tag){n(e,r.sibling),(r=o(r,a,i)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=or(a,e.internalContextTag,i)).return=e,e=r}return u(e);case Cr:e:{if(null!==r){if(9===r.tag){n(e,r.sibling),(r=o(r,null,i)).type=a.value,r.return=e,e=r;break e}n(e,r)}(r=ar(a,e.internalContextTag,i)).type=a.value,r.return=e,e=r}return u(e);case wr:e:{for(l=a.key;null!==r;){if(r.key===l){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=o(r,a.children||[],i)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=ur(a,e.internalContextTag,i)).return=e,e=r}return u(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),r=o(r,a,i)):(n(e,r),r=rr(a,e.internalContextTag,i)),r.return=e,u(e=r);if(Tr(a))return g(e,r,a,i);if(xr(a))return y(e,r,a,i);if(l&&Fr(e,a),void 0===a)switch(e.tag){case 2:case 1:d("152",(i=e.type).displayName||i.name||"Component")}return n(e,r)}}var Pr=Ar(!0),_r=Ar(!1);function Dr(e,t,n,r,o){function a(e,t,n){var r=t.expirationTime;t.child=null===e?_r(t,null,n,r):Pr(t,e.child,n,r)}function u(e,t){var n=t.ref;null===n||e&&e.ref===n||(t.effectTag|=128)}function i(e,t,n,r){if(u(e,t),!n)return r&&Jn(t,!1),c(e,t);n=t.stateNode,Ut.current=t;var o=n.render();return t.effectTag|=1,a(e,t,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&Jn(t,!0),t.child}function l(e){var t=e.stateNode;t.pendingContext?Gn(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Gn(0,t.context,!1),y(e,t.containerInfo)}function c(e,t){if(null!==e&&t.child!==e.child&&d("153"),null!==t.child){var n=er(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=er(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function p(e,t){switch(t.tag){case 3:l(t);break;case 2:Xn(t);break;case 4:y(t,t.stateNode.containerInfo)}return null}var h=e.shouldSetTextContent,m=e.useSyncScheduling,v=e.shouldDeprioritizeSubtree,g=t.pushHostContext,y=t.pushHostContainer,b=n.enterHydrationState,E=n.resetHydrationState,C=n.tryToClaimNextHydratableInstance,w=(e=function(e,t,n,r){function o(e,t){t.updater=a,e.stateNode=t,t._reactInternalFiber=e}var a={isMounted:Kt,enqueueSetState:function(n,r,o){n=n._reactInternalFiber,o=void 0===o?null:o;var a=t(n);hr(n,{expirationTime:a,partialState:r,callback:o,isReplace:!1,isForced:!1,nextCallback:null,next:null}),e(n,a)},enqueueReplaceState:function(n,r,o){n=n._reactInternalFiber,o=void 0===o?null:o;var a=t(n);hr(n,{expirationTime:a,partialState:r,callback:o,isReplace:!0,isForced:!1,nextCallback:null,next:null}),e(n,a)},enqueueForceUpdate:function(n,r){n=n._reactInternalFiber,r=void 0===r?null:r;var o=t(n);hr(n,{expirationTime:o,partialState:null,callback:r,isReplace:!1,isForced:!0,nextCallback:null,next:null}),e(n,o)}};return{adoptClassInstance:o,constructClassInstance:function(e,t){var n=e.type,r=Wn(e),a=2===e.tag&&null!=e.type.contextTypes,u=a?qn(e,r):f;return o(e,t=new n(t,u)),a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=u),t},mountClassInstance:function(e,t){var n=e.alternate,r=e.stateNode,o=r.state||null,u=e.pendingProps;u||d("158");var i=Wn(e);r.props=u,r.state=e.memoizedState=o,r.refs=f,r.context=qn(e,i),null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent&&(e.internalContextTag|=1),"function"==typeof r.componentWillMount&&(o=r.state,r.componentWillMount(),o!==r.state&&a.enqueueReplaceState(r,r.state,null),null!==(o=e.updateQueue)&&(r.state=vr(n,e,o,r,u,t))),"function"==typeof r.componentDidMount&&(e.effectTag|=4)},updateClassInstance:function(e,t,o){var u=t.stateNode;u.props=t.memoizedProps,u.state=t.memoizedState;var i=t.memoizedProps,l=t.pendingProps;l||null==(l=i)&&d("159");var c=u.context,p=Wn(t);if(p=qn(t,p),"function"!=typeof u.componentWillReceiveProps||i===l&&c===p||(c=u.state,u.componentWillReceiveProps(l,p),u.state!==c&&a.enqueueReplaceState(u,u.state,null)),c=t.memoizedState,o=null!==t.updateQueue?vr(e,t,t.updateQueue,u,l,o):c,!(i!==l||c!==o||zn.current||null!==t.updateQueue&&t.updateQueue.hasForceUpdate))return"function"!=typeof u.componentDidUpdate||i===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=4),!1;var f=l;if(null===i||null!==t.updateQueue&&t.updateQueue.hasForceUpdate)f=!0;else{var h=t.stateNode,m=t.type;f="function"==typeof h.shouldComponentUpdate?h.shouldComponentUpdate(f,o,p):!m.prototype||!m.prototype.isPureReactComponent||(!s(i,f)||!s(c,o))}return f?("function"==typeof u.componentWillUpdate&&u.componentWillUpdate(l,o,p),"function"==typeof u.componentDidUpdate&&(t.effectTag|=4)):("function"!=typeof u.componentDidUpdate||i===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=4),n(t,l),r(t,o)),u.props=l,u.state=o,u.context=p,f}}}(r,o,(function(e,t){e.memoizedProps=t}),(function(e,t){e.memoizedState=t}))).adoptClassInstance,k=e.constructClassInstance,O=e.mountClassInstance,x=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n)return p(0,t);switch(t.tag){case 0:null!==e&&d("155");var r=t.type,o=t.pendingProps,s=Wn(t);return r=r(o,s=qn(t,s)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render?(t.tag=2,o=Xn(t),w(t,r),O(t,n),t=i(e,t,!0,o)):(t.tag=1,a(e,t,r),t.memoizedProps=o,t=t.child),t;case 1:e:{if(o=t.type,n=t.pendingProps,r=t.memoizedProps,zn.current)null===n&&(n=r);else if(null===n||r===n){t=c(e,t);break e}o=o(n,r=qn(t,r=Wn(t))),t.effectTag|=1,a(e,t,o),t.memoizedProps=n,t=t.child}return t;case 2:return o=Xn(t),r=void 0,null===e?t.stateNode?d("153"):(k(t,t.pendingProps),O(t,n),r=!0):r=x(e,t,n),i(e,t,r,o);case 3:return l(t),null!==(o=t.updateQueue)?(r=t.memoizedState)===(o=vr(e,t,o,null,null,n))?(E(),t=c(e,t)):(r=o.element,s=t.stateNode,(null===e||null===e.child)&&s.hydrate&&b(t)?(t.effectTag|=2,t.child=_r(t,null,r,n)):(E(),a(e,t,r)),t.memoizedState=o,t=t.child):(E(),t=c(e,t)),t;case 5:g(t),null===e&&C(t),o=t.type;var f=t.memoizedProps;return null===(r=t.pendingProps)&&(null===(r=f)&&d("154")),s=null!==e?e.memoizedProps:null,zn.current||null!==r&&f!==r?(f=r.children,h(o,r)?f=null:s&&h(o,s)&&(t.effectTag|=16),u(e,t),2147483647!==n&&!m&&v(o,r)?(t.expirationTime=2147483647,t=null):(a(e,t,f),t.memoizedProps=r,t=t.child)):t=c(e,t),t;case 6:return null===e&&C(t),null===(e=t.pendingProps)&&(e=t.memoizedProps),t.memoizedProps=e,null;case 8:t.tag=7;case 7:return o=t.pendingProps,zn.current?null===o&&(null===(o=e&&e.memoizedProps)&&d("154")):null!==o&&t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?_r(t,t.stateNode,r,n):Pr(t,t.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:e:{if(y(t,t.stateNode.containerInfo),o=t.pendingProps,zn.current)null===o&&(null==(o=e&&e.memoizedProps)&&d("154"));else if(null===o||t.memoizedProps===o){t=c(e,t);break e}null===e?t.child=Pr(t,null,o,n):a(e,t,o),t.memoizedProps=o,t=t.child}return t;case 10:e:{if(n=t.pendingProps,zn.current)null===n&&(n=t.memoizedProps);else if(null===n||t.memoizedProps===n){t=c(e,t);break e}a(e,t,n),t.memoizedProps=n,t=t.child}return t;default:d("156")}},beginFailedWork:function(e,t,n){switch(t.tag){case 2:Xn(t);break;case 3:l(t);break;default:d("157")}return t.effectTag|=64,null===e?t.child=null:t.child!==e.child&&(t.child=e.child),0===t.expirationTime||t.expirationTime>n?p(0,t):(t.firstEffect=null,t.lastEffect=null,t.child=null===e?_r(t,null,null,n):Pr(t,e.child,null,n),2===t.tag&&(e=t.stateNode,t.memoizedProps=e.props,t.memoizedState=e.state),t.child)}}}var Nr={};function Rr(e){function t(e){ue=Y=!0;var t=e.stateNode;if(t.current===e&&d("177"),t.isReadyForCommit=!1,Ut.current=null,1u.expirationTime)&&(a=u.expirationTime),u=u.sibling;o.expirationTime=a}if(null!==t)return t;if(null!==n&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1e))if(Z<=Q)for(;null!==X;)X=l(X)?o(X):r(X);else for(;null!==X&&!k();)X=l(X)?o(X):r(X)}else if(!(0===Z||Z>e))if(Z<=Q)for(;null!==X;)X=r(X);else for(;null!==X&&!k();)X=r(X)}function u(e,t){if(Y&&d("243"),Y=!0,e.isReadyForCommit=!1,e!==J||t!==Z||null===X){for(;-1t)&&(e.expirationTime=t),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>t)&&(e.alternate.expirationTime=t),null===e.return){if(3!==e.tag)break;var n=e.stateNode;!Y&&n===J&&tCe&&d("185"),null===r.nextScheduledRoot)r.remainingExpirationTime=o,null===se?(le=se=r,r.nextScheduledRoot=r):(se=se.nextScheduledRoot=r).nextScheduledRoot=le;else{var a=r.remainingExpirationTime;(0===a||oce)return;z(pe)}var t=U()-$;ce=e,pe=H(E,{timeout:10*(e-2)-t})}function b(){var e=0,t=null;if(null!==se)for(var n=se,r=le;null!==r;){var o=r.remainingExpirationTime;if(0===o){if((null===n||null===se)&&d("244"),r===r.nextScheduledRoot){le=se=r.nextScheduledRoot=null;break}if(r===le)le=o=r.nextScheduledRoot,se.nextScheduledRoot=o,r.nextScheduledRoot=null;else{if(r===se){(se=n).nextScheduledRoot=le,r.nextScheduledRoot=null;break}n.nextScheduledRoot=r.nextScheduledRoot,r.nextScheduledRoot=null}r=n.nextScheduledRoot}else{if((0===e||oke)&&(me=!0)}function O(e){null===de&&d("246"),de.remainingExpirationTime=0,ve||(ve=!0,ge=e)}var x=function(e){function t(e){return e===Nr&&d("174"),e}var n=e.getChildHostContext,r=e.getRootHostContext,o={current:Nr},a={current:Nr},u={current:Nr};return{getHostContext:function(){return t(o.current)},getRootHostContainer:function(){return t(u.current)},popHostContainer:function(e){jn(o),jn(a),jn(u)},popHostContext:function(e){a.current===e&&(jn(o),jn(a))},pushHostContainer:function(e,t){Un(u,t),t=r(t),Un(a,e),Un(o,t)},pushHostContext:function(e){var r=t(u.current),i=t(o.current);i!==(r=n(i,e.type,r))&&(Un(a,e),Un(o,r))},resetHostContainer:function(){o.current=Nr,u.current=Nr}}}(e),T=function(e){function t(e,t){var n=new Zn(5,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=a(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=u(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;p=e}var o=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){d("175")},prepareToHydrateHostTextInstance:function(){d("176")},popHydrationState:function(){return!1}};var a=e.canHydrateInstance,u=e.canHydrateTextInstance,i=e.getNextHydratableSibling,l=e.getFirstHydratableChild,s=e.hydrateInstance,c=e.hydrateTextInstance,p=null,f=null,h=!1;return{enterHydrationState:function(e){return f=l(e.stateNode.containerInfo),p=e,h=!0},resetHydrationState:function(){f=p=null,h=!1},tryToClaimNextHydratableInstance:function(e){if(h){var r=f;if(r){if(!n(e,r)){if(!(r=i(r))||!n(e,r))return e.effectTag|=2,h=!1,void(p=e);t(p,f)}p=e,f=l(r)}else e.effectTag|=2,h=!1,p=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return c(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==p)return!1;if(!h)return r(e),h=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!o(n,e.memoizedProps))for(n=f;n;)t(e,n),n=i(n);return r(e),f=p?i(e.stateNode):null,!0}}}(e),S=x.popHostContainer,F=x.popHostContext,A=x.resetHostContainer,P=Dr(e,x,T,h,p),_=P.beginWork,D=P.beginFailedWork,N=function(e,t,n){function r(e){e.effectTag|=4}var o=e.createInstance,a=e.createTextInstance,u=e.appendInitialChild,i=e.finalizeInitialChildren,l=e.prepareUpdate,s=e.persistence,c=t.getRootHostContainer,p=t.popHostContext,f=t.getHostContext,h=t.popHostContainer,m=n.prepareToHydrateHostInstance,v=n.prepareToHydrateHostTextInstance,g=n.popHydrationState,y=void 0,b=void 0,E=void 0;return e.mutation?(y=function(){},b=function(e,t,n){(t.updateQueue=n)&&r(t)},E=function(e,t,n,o){n!==o&&r(t)}):d(s?"235":"236"),{completeWork:function(e,t,n){var s=t.pendingProps;switch(null===s?s=t.memoizedProps:2147483647===t.expirationTime&&2147483647!==n||(t.pendingProps=null),t.tag){case 1:return null;case 2:return Qn(t),null;case 3:return h(t),jn(zn),jn(Hn),(s=t.stateNode).pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),null!==e&&null!==e.child||(g(t),t.effectTag&=-3),y(t),null;case 5:p(t),n=c();var C=t.type;if(null!==e&&null!=t.stateNode){var w=e.memoizedProps,k=t.stateNode,O=f();k=l(k,C,w,s,n,O),b(e,t,k,C,w,s,n),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!s)return null===t.stateNode&&d("166"),null;if(e=f(),g(t))m(t,n,e)&&r(t);else{e=o(C,s,n,e,t);e:for(w=t.child;null!==w;){if(5===w.tag||6===w.tag)u(e,w.stateNode);else if(4!==w.tag&&null!==w.child){w.child.return=w,w=w.child;continue}if(w===t)break;for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}i(e,C,s,n)&&r(t),t.stateNode=e}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)E(e,t,e.memoizedProps,s);else{if("string"!=typeof s)return null===t.stateNode&&d("166"),null;e=c(),n=f(),g(t)?v(t)&&r(t):t.stateNode=a(s,e,n,t)}return null;case 7:(s=t.memoizedProps)||d("165"),t.tag=8,C=[];e:for((w=t.stateNode)&&(w.return=t);null!==w;){if(5===w.tag||6===w.tag||4===w.tag)d("247");else if(9===w.tag)C.push(w.type);else if(null!==w.child){w.child.return=w,w=w.child;continue}for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}return s=(w=s.handler)(s.props,C),t.child=Pr(t,null!==e?e.child:null,s,n),t.child;case 8:return t.tag=7,null;case 9:case 10:return null;case 4:return h(t),y(t),null;case 0:d("167");default:d("156")}}}}(e,x,T).completeWork,R=(x=function(e,t){function n(e){var n=e.ref;if(null!==n)try{n(null)}catch(n){t(e,n)}}function r(e){switch(pr(e),e.tag){case 2:n(e);var r=e.stateNode;if("function"==typeof r.componentWillUnmount)try{r.props=e.memoizedProps,r.state=e.memoizedState,r.componentWillUnmount()}catch(n){t(e,n)}break;case 5:n(e);break;case 7:o(e.stateNode);break;case 4:l&&u(e)}}function o(e){for(var t=e;;)if(r(t),null===t.child||l&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function a(e){return 5===e.tag||3===e.tag||4===e.tag}function u(e){for(var t=e,n=!1,a=void 0,u=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&d("160"),n.tag){case 5:a=n.stateNode,u=!1;break e;case 3:case 4:a=n.stateNode.containerInfo,u=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)o(t),u?b(a,t.stateNode):y(a,t.stateNode);else if(4===t.tag?a=t.stateNode.containerInfo:r(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var i=e.getPublicInstance,l=e.mutation;e=e.persistence,l||d(e?"235":"236");var s=l.commitMount,c=l.commitUpdate,p=l.resetTextContent,f=l.commitTextUpdate,h=l.appendChild,m=l.appendChildToContainer,v=l.insertBefore,g=l.insertInContainerBefore,y=l.removeChild,b=l.removeChildFromContainer;return{commitResetTextContent:function(e){p(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(a(t)){var n=t;break e}t=t.return}d("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:d("161")}16&n.effectTag&&(p(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||a(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var o=e;;){if(5===o.tag||6===o.tag)n?r?g(t,o.stateNode,n):v(t,o.stateNode,n):r?m(t,o.stateNode):h(t,o.stateNode);else if(4!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===e)break;for(;null===o.sibling;){if(null===o.return||o.return===e)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},commitDeletion:function(e){u(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var o=t.type,a=t.updateQueue;t.updateQueue=null,null!==a&&c(n,a,o,e,r,t)}break;case 6:null===t.stateNode&&d("162"),n=t.memoizedProps,f(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:d("163")}},commitLifeCycles:function(e,t){switch(t.tag){case 2:var n=t.stateNode;if(4&t.effectTag)if(null===e)n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidMount();else{var r=e.memoizedProps;e=e.memoizedState,n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidUpdate(r,e)}null!==(t=t.updateQueue)&&gr(t,n);break;case 3:null!==(n=t.updateQueue)&&gr(n,null!==t.child?t.child.stateNode:null);break;case 5:n=t.stateNode,null===e&&4&t.effectTag&&s(n,t.type,t.memoizedProps,t);break;case 6:case 4:break;default:d("163")}},commitAttachRef:function(e){var t=e.ref;if(null!==t){var n=e.stateNode;switch(e.tag){case 5:t(i(n));break;default:t(n)}}},commitDetachRef:function(e){null!==(e=e.ref)&&e(null)}}}(e,i)).commitResetTextContent,I=x.commitPlacement,M=x.commitDeletion,V=x.commitWork,L=x.commitLifeCycles,B=x.commitAttachRef,j=x.commitDetachRef,U=e.now,H=e.scheduleDeferredCallback,z=e.cancelDeferredCallback,K=e.useSyncScheduling,W=e.prepareForCommit,q=e.resetAfterCommit,$=U(),Q=2,G=0,Y=!1,X=null,J=null,Z=0,ee=null,te=null,ne=null,re=null,oe=null,ae=!1,ue=!1,ie=!1,le=null,se=null,ce=0,pe=-1,fe=!1,de=null,he=0,me=!1,ve=!1,ge=null,ye=null,be=!1,Ee=!1,Ce=1e3,we=0,ke=1;return{computeAsyncExpiration:c,computeExpirationForFiber:p,scheduleWork:h,batchedUpdates:function(e,t){var n=be;be=!0;try{return e(t)}finally{(be=n)||fe||C(1,null)}},unbatchedUpdates:function(e){if(be&&!Ee){Ee=!0;try{return e()}finally{Ee=!1}}return e()},flushSync:function(e){var t=be;be=!0;try{e:{var n=G;G=1;try{var r=e();break e}finally{G=n}r=void 0}return r}finally{be=t,fe&&d("187"),C(1,null)}},deferredUpdates:function(e){var t=G;G=c();try{return e()}finally{G=t}}}}function Ir(e){function t(e){return null===(e=function(e){if(!(e=qt(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}(e))?null:e.stateNode}var n=e.getPublicInstance,r=(e=Rr(e)).computeAsyncExpiration,o=e.computeExpirationForFiber,u=e.scheduleWork;return{createContainer:function(e,t){var n=new Zn(3,null,0);return e={current:n,containerInfo:e,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:t,nextScheduledRoot:null},n.stateNode=e},updateContainer:function(e,t,n,a){var i=t.current;if(n){var l;e:{for(2===zt(n=n._reactInternalFiber)&&2===n.tag||d("170"),l=n;3!==l.tag;){if($n(l)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break e}(l=l.return)||d("171")}l=l.stateNode.context}n=$n(n)?Yn(n,l):l}else n=f;null===t.context?t.context=n:t.pendingContext=n,t=void 0===(t=a)?null:t,hr(i,{expirationTime:a=null!=e&&null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent?r():o(i),partialState:{element:e},callback:t,isReplace:!1,isForced:!1,nextCallback:null,next:null}),u(i,a)},batchedUpdates:e.batchedUpdates,unbatchedUpdates:e.unbatchedUpdates,deferredUpdates:e.deferredUpdates,flushSync:e.flushSync,getPublicRootInstance:function(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:return n(e.child.stateNode);default:return e.child.stateNode}},findHostInstance:t,findHostInstanceWithNoPortals:function(e){return null===(e=function(e){if(!(e=qt(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child&&4!==t.tag)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}(e))?null:e.stateNode},injectIntoDevTools:function(e){var n=e.findFiberByHostInstance;return function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);ir=sr((function(e){return t.onCommitFiberRoot(n,e)})),lr=sr((function(e){return t.onCommitFiberUnmount(n,e)}))}catch(e){}return!0}(a({},e,{findHostInstanceByFiber:function(e){return t(e)},findFiberByHostInstance:function(e){return n?n(e):null}}))}}}var Mr=Object.freeze({default:Ir}),Vr=Mr&&Ir||Mr,Lr=Vr.default?Vr.default:Vr;function Br(e,t,n){var r=3=Gr-e){if(!(-1!==$r&&$r<=e))return void(Qr||(Qr=!0,requestAnimationFrame(Zr)));Kr.didTimeout=!0}else Kr.didTimeout=!1;$r=-1,e=Wr,Wr=null,null!==e&&e(Kr)}}),!1);var Zr=function(e){Qr=!1;var t=e-Gr+Xr;tt&&(t=8),Xr=tn||r.hasOverloadedBooleanValue&&!1===n?ao(e,t):r.mustUseProperty?e[r.propertyName]=n:(t=r.attributeName,(o=r.attributeNamespace)?e.setAttributeNS(o,t,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(t,""):e.setAttribute(t,""+n))}else oo(e,t,y(t,n)?n:null)}function oo(e,t,n){(function(e){return!!no.hasOwnProperty(e)||!to.hasOwnProperty(e)&&(eo.test(e)?no[e]=!0:(to[e]=!0,!1))})(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))}function ao(e,t){var n=b(t);n?(t=n.mutationMethod)?t(e,void 0):n.mustUseProperty?e[n.propertyName]=!n.hasBooleanValue&&"":e.removeAttribute(n.attributeName):e.removeAttribute(t)}function uo(e,t){var n=t.value,r=t.checked;return a({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked})}function io(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function lo(e,t){null!=(t=t.checked)&&ro(e,"checked",t)}function so(e,t){lo(e,t);var n=t.value;null!=n?0===n&&""===e.value?e.value="0":"number"===t.type?(n!=(t=parseFloat(e.value)||0)||n==t&&e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n):(null==t.value&&null!=t.defaultValue&&e.defaultValue!==""+t.defaultValue&&(e.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked))}function co(e,t){switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":e.value="",e.value=e.defaultValue;break;default:e.value=e.value}""!==(t=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,""!==t&&(e.name=t)}function po(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null==e||"string"!=typeof e&&"number"!=typeof e||(t+=e)})),t}(t.children))&&(e.children=t),e}function fo(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o=t.length||d("93"),t=t[0]),n=""+t),null==n&&(n="")),e._wrapperState={initialValue:""+n}}function go(e,t){var n=t.value;null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function yo(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}var bo="http://www.w3.org/1999/xhtml",Eo="http://www.w3.org/2000/svg";function Co(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function wo(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Co(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ko=void 0,Oo=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==Eo||"innerHTML"in e)e.innerHTML=t;else{for((ko=ko||document.createElement("div")).innerHTML=""+t+"",t=ko.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function xo(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var To={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},So=["Webkit","ms","Moz","O"];function Fo(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=n,a=t[n];o=null==a||"boolean"==typeof a||""===a?"":r||"number"!=typeof a||0===a||To.hasOwnProperty(o)&&To[o]?(""+a).trim():a+"px","float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(To).forEach((function(e){So.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),To[t]=To[e]}))}));var Ao=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Po(e,t,n){t&&(Ao[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&d("137",e,n()),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&d("60"),"object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||d("61")),null!=t.style&&"object"!=typeof t.style&&d("62",n()))}function _o(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Do=bo,No=u.thatReturns("");function Ro(e,t){var n=fn(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=K[t];for(var r=0;r<\/script>",e=e.removeChild(e.firstChild)):e="string"==typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(r,e),e}function Vo(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function Lo(e,t,n,r){var o=_o(t,n);switch(t){case"iframe":case"object":Jt("topLoad","load",e);var i=n;break;case"video":case"audio":for(i in Io)Io.hasOwnProperty(i)&&Jt(i,Io[i],e);i=n;break;case"source":Jt("topError","error",e),i=n;break;case"img":case"image":Jt("topError","error",e),Jt("topLoad","load",e),i=n;break;case"form":Jt("topReset","reset",e),Jt("topSubmit","submit",e),i=n;break;case"details":Jt("topToggle","toggle",e),i=n;break;case"input":io(e,n),i=uo(e,n),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;case"option":i=po(e,n);break;case"select":ho(e,n),i=a({},n,{value:void 0}),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;case"textarea":vo(e,n),i=mo(e,n),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;default:i=n}Po(t,i,No);var l,s=i;for(l in s)if(s.hasOwnProperty(l)){var c=s[l];"style"===l?Fo(e,c):"dangerouslySetInnerHTML"===l?null!=(c=c?c.__html:void 0)&&Oo(e,c):"children"===l?"string"==typeof c?("textarea"!==t||""!==c)&&xo(e,c):"number"==typeof c&&xo(e,""+c):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(z.hasOwnProperty(l)?null!=c&&Ro(r,l):o?oo(e,l,c):null!=c&&ro(e,l,c))}switch(t){case"input":gt(e),co(e,n);break;case"textarea":gt(e),yo(e);break;case"option":null!=n.value&&e.setAttribute("value",n.value);break;case"select":e.multiple=!!n.multiple,null!=(t=n.value)?fo(e,!!n.multiple,t,!1):null!=n.defaultValue&&fo(e,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof i.onClick&&(e.onclick=u)}}function Bo(e,t,n,r,o){var i,l,s=null;switch(t){case"input":n=uo(e,n),r=uo(e,r),s=[];break;case"option":n=po(e,n),r=po(e,r),s=[];break;case"select":n=a({},n,{value:void 0}),r=a({},r,{value:void 0}),s=[];break;case"textarea":n=mo(e,n),r=mo(e,r),s=[];break;default:"function"!=typeof n.onClick&&"function"==typeof r.onClick&&(e.onclick=u)}for(i in Po(t,r,No),e=null,n)if(!r.hasOwnProperty(i)&&n.hasOwnProperty(i)&&null!=n[i])if("style"===i)for(l in t=n[i])t.hasOwnProperty(l)&&(e||(e={}),e[l]="");else"dangerouslySetInnerHTML"!==i&&"children"!==i&&"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(z.hasOwnProperty(i)?s||(s=[]):(s=s||[]).push(i,null));for(i in r){var c=r[i];if(t=null!=n?n[i]:void 0,r.hasOwnProperty(i)&&c!==t&&(null!=c||null!=t))if("style"===i)if(t){for(l in t)!t.hasOwnProperty(l)||c&&c.hasOwnProperty(l)||(e||(e={}),e[l]="");for(l in c)c.hasOwnProperty(l)&&t[l]!==c[l]&&(e||(e={}),e[l]=c[l])}else e||(s||(s=[]),s.push(i,e)),e=c;else"dangerouslySetInnerHTML"===i?(c=c?c.__html:void 0,t=t?t.__html:void 0,null!=c&&t!==c&&(s=s||[]).push(i,""+c)):"children"===i?t===c||"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(i,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&(z.hasOwnProperty(i)?(null!=c&&Ro(o,i),s||t===c||(s=[])):(s=s||[]).push(i,c))}return e&&(s=s||[]).push("style",e),s}function jo(e,t,n,r,o){"input"===n&&"radio"===o.type&&null!=o.name&&lo(e,o),_o(n,r),r=_o(n,o);for(var a=0;ar&&(o=r,r=e,e=o),o=hn(n,e);var a=hn(n,r);if(o&&a&&(1!==t.rangeCount||t.anchorNode!==o.node||t.anchorOffset!==o.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)){var u=document.createRange();u.setStart(o.node,o.offset),t.removeAllRanges(),e>r?(t.addRange(u),t.extend(a.node,a.offset)):(u.setEnd(a.node,a.offset),t.addRange(u))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(p(n),n=0;n1)for(var n=1;n=0)return;u[t]="set-cookie"===t?(u[t]?u[t]:[]).concat([n]):u[t]?u[t]+", "+n:n}})),u):u}},328:function(e,t,n){"use strict";var r=n(15);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},329:function(e,t,n){"use strict";var r=n(131);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},330:function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},331:function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},332:function(e,t,n){"use strict";n.r(t),n.d(t,"Async",(function(){return B})),n.d(t,"AsyncCreatable",(function(){return Q})),n.d(t,"Creatable",(function(){return U})),n.d(t,"Value",(function(){return A})),n.d(t,"Option",(function(){return F})),n.d(t,"defaultMenuRenderer",(function(){return y})),n.d(t,"defaultArrowRenderer",(function(){return f})),n.d(t,"defaultClearRenderer",(function(){return d})),n.d(t,"defaultFilterOptions",(function(){return g}));var r=n(132),o=n.n(r),a=n(31),u=n.n(a),i=n(0),l=n.n(i),s=n(2),c=n.n(s),p=n(47),f=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};f.propTypes={onMouseDown:l.a.func};var d=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],m=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],a=e[r.labelKey],u=v(o),i=v(a);if(!u&&!i)return!1;var l=u?String(o):null,s=i?String(a):null;return r.ignoreAccents&&(l&&"label"!==r.matchProp&&(l=m(l)),s&&"value"!==r.matchProp&&(s=m(s))),r.ignoreCase&&(l&&"label"!==r.matchProp&&(l=l.toLowerCase()),s&&"value"!==r.matchProp&&(s=s.toLowerCase())),"start"===r.matchPos?l&&"label"!==r.matchProp&&l.substr(0,t.length)===t||s&&"value"!==r.matchProp&&s.substr(0,t.length)===t:l&&"label"!==r.matchProp&&l.indexOf(t)>=0||s&&"value"!==r.matchProp&&s.indexOf(t)>=0}))},y=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,a=e.onFocus,i=e.onOptionRef,l=e.onSelect,s=e.optionClassName,p=e.optionComponent,f=e.optionRenderer,d=e.options,h=e.removeValue,m=e.selectValue,v=e.valueArray,g=e.valueKey,y=p;return d.map((function(e,p){var d=v&&v.some((function(t){return t[g]===e[g]})),b=e===t,E=u()(s,{"Select-option":!0,"is-selected":d,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(y,{className:E,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:b,isSelected:d,key:"option-"+p+"-"+e[g],onFocus:a,onSelect:l,option:e,optionIndex:p,ref:function(e){i(e,b)},removeValue:h,selectValue:m},f(e,p,r))}))};y.propTypes={focusOption:l.a.func,focusedOption:l.a.object,inputValue:l.a.string,instancePrefix:l.a.string,onFocus:l.a.func,onOptionRef:l.a.func,onSelect:l.a.func,optionClassName:l.a.string,optionComponent:l.a.func,optionRenderer:l.a.func,options:l.a.array,removeValue:l.a.func,selectValue:l.a.func,valueArray:l.a.array,valueKey:l.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},C=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var u=t[n](r),i=u.value;i instanceof e?Promise.resolve(i.value).then((function(e){o("next",e)}),(function(e){o("throw",e)})):a(u.done?"return":"normal",u.value)}catch(e){a("throw",e)}}function a(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise((function(a,u){var i={key:e,arg:t,resolve:a,reject:u,next:null};r?r=r.next=i:(n=r=i,o(e,t))}))},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),w=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},S=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},F=function(e){function t(e){C(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return x(t,e),w(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=u()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);F.propTypes={children:l.a.node,className:l.a.string,instancePrefix:l.a.string.isRequired,isDisabled:l.a.bool,isFocused:l.a.bool,isSelected:l.a.bool,onFocus:l.a.func,onSelect:l.a.func,onUnfocus:l.a.func,option:l.a.object.isRequired,optionIndex:l.a.number};var A=function(e){function t(e){C(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return x(t,e),w(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:u()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);A.propTypes={children:l.a.node,disabled:l.a.bool,id:l.a.string,onClick:l.a.func,onRemove:l.a.func,value:l.a.object.isRequired}; +*/!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t + * @license MIT + */ +e.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},314:function(e,t,n){"use strict";var r=n(92),o=n(18),a=n(324),u=n(325);function i(e){this.defaults=e,this.interceptors={request:new a,response:new a}}i.prototype.request=function(e){"string"==typeof e&&(e=o.merge({url:arguments[0]},arguments[1])),(e=o.merge(r,{method:"get"},this.defaults,e)).method=e.method.toLowerCase();var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)n=n.then(t.shift(),t.shift());return n},o.forEach(["delete","get","head","options"],(function(e){i.prototype[e]=function(t,n){return this.request(o.merge(n||{},{method:e,url:t}))}})),o.forEach(["post","put","patch"],(function(e){i.prototype[e]=function(t,n,r){return this.request(o.merge(r||{},{method:e,url:t,data:n}))}})),e.exports=i},315:function(e,t){var n,r,o=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function i(e){if(n===setTimeout)return setTimeout(e,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(e){n=a}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}}();var l,s=[],c=!1,p=-1;function f(){c&&l&&(c=!1,l.length?s=l.concat(s):p=-1,s.length&&d())}function d(){if(!c){var e=i(f);c=!0;for(var t=s.length;t;){for(l=s,s=[];++p1)for(var n=1;n=0)return;u[t]="set-cookie"===t?(u[t]?u[t]:[]).concat([n]):u[t]?u[t]+", "+n:n}})),u):u}},321:function(e,t,n){"use strict";var r=n(18);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},322:function(e,t,n){"use strict";function r(){this.message="String contains an invalid character"}r.prototype=new Error,r.prototype.code=5,r.prototype.name="InvalidCharacterError",e.exports=function(e){for(var t,n,o=String(e),a="",u=0,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";o.charAt(0|u)||(i="=",u%1);a+=i.charAt(63&t>>8-u%1*8)){if((n=o.charCodeAt(u+=3/4))>255)throw new r;t=t<<8|n}return a}},323:function(e,t,n){"use strict";var r=n(18);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,o,a,u){var i=[];i.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),r.isString(o)&&i.push("path="+o),r.isString(a)&&i.push("domain="+a),!0===u&&i.push("secure"),document.cookie=i.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},324:function(e,t,n){"use strict";var r=n(18);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},325:function(e,t,n){"use strict";var r=n(18),o=n(326),a=n(128),u=n(92),i=n(327),l=n(328);function s(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return s(e),e.baseURL&&!i(e.url)&&(e.url=l(e.baseURL,e.url)),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),r.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||u.adapter)(e).then((function(t){return s(e),t.data=o(t.data,t.headers,e.transformResponse),t}),(function(t){return a(t)||(s(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},326:function(e,t,n){"use strict";var r=n(18);e.exports=function(e,t,n){return r.forEach(n,(function(n){e=n(e,t)})),e}},327:function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},328:function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},329:function(e,t,n){"use strict";var r=n(129);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},330:function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},331:function(e,t,n){"use strict";n.r(t),n.d(t,"Async",(function(){return j})),n.d(t,"AsyncCreatable",(function(){return Q})),n.d(t,"Creatable",(function(){return U})),n.d(t,"Value",(function(){return A})),n.d(t,"Option",(function(){return F})),n.d(t,"defaultMenuRenderer",(function(){return y})),n.d(t,"defaultArrowRenderer",(function(){return f})),n.d(t,"defaultClearRenderer",(function(){return d})),n.d(t,"defaultFilterOptions",(function(){return g}));var r=n(130),o=n.n(r),a=n(31),u=n.n(a),i=n(0),l=n.n(i),s=n(2),c=n.n(s),p=n(47),f=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};f.propTypes={onMouseDown:l.a.func};var d=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],m=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],a=e[r.labelKey],u=v(o),i=v(a);if(!u&&!i)return!1;var l=u?String(o):null,s=i?String(a):null;return r.ignoreAccents&&(l&&"label"!==r.matchProp&&(l=m(l)),s&&"value"!==r.matchProp&&(s=m(s))),r.ignoreCase&&(l&&"label"!==r.matchProp&&(l=l.toLowerCase()),s&&"value"!==r.matchProp&&(s=s.toLowerCase())),"start"===r.matchPos?l&&"label"!==r.matchProp&&l.substr(0,t.length)===t||s&&"value"!==r.matchProp&&s.substr(0,t.length)===t:l&&"label"!==r.matchProp&&l.indexOf(t)>=0||s&&"value"!==r.matchProp&&s.indexOf(t)>=0}))},y=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,a=e.onFocus,i=e.onOptionRef,l=e.onSelect,s=e.optionClassName,p=e.optionComponent,f=e.optionRenderer,d=e.options,h=e.removeValue,m=e.selectValue,v=e.valueArray,g=e.valueKey,y=p;return d.map((function(e,p){var d=v&&v.some((function(t){return t[g]===e[g]})),b=e===t,E=u()(s,{"Select-option":!0,"is-selected":d,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(y,{className:E,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:b,isSelected:d,key:"option-"+p+"-"+e[g],onFocus:a,onSelect:l,option:e,optionIndex:p,ref:function(e){i(e,b)},removeValue:h,selectValue:m},f(e,p,r))}))};y.propTypes={focusOption:l.a.func,focusedOption:l.a.object,inputValue:l.a.string,instancePrefix:l.a.string,onFocus:l.a.func,onOptionRef:l.a.func,onSelect:l.a.func,optionClassName:l.a.string,optionComponent:l.a.func,optionRenderer:l.a.func,options:l.a.array,removeValue:l.a.func,selectValue:l.a.func,valueArray:l.a.array,valueKey:l.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},C=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var u=t[n](r),i=u.value;i instanceof e?Promise.resolve(i.value).then((function(e){o("next",e)}),(function(e){o("throw",e)})):a(u.done?"return":"normal",u.value)}catch(e){a("throw",e)}}function a(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise((function(a,u){var i={key:e,arg:t,resolve:a,reject:u,next:null};r?r=r.next=i:(n=r=i,o(e,t))}))},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),w=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},S=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},F=function(e){function t(e){C(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return x(t,e),w(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=u()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);F.propTypes={children:l.a.node,className:l.a.string,instancePrefix:l.a.string.isRequired,isDisabled:l.a.bool,isFocused:l.a.bool,isSelected:l.a.bool,onFocus:l.a.func,onSelect:l.a.func,onUnfocus:l.a.func,option:l.a.object.isRequired,optionIndex:l.a.number};var A=function(e){function t(e){C(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return x(t,e),w(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:u()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);A.propTypes={children:l.a.node,disabled:l.a.bool,id:l.a.string,onClick:l.a.func,onRemove:l.a.func,value:l.a.object.isRequired}; /*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/react-select */ -var P=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},_=l.a.oneOfType([l.a.string,l.a.node]),D=l.a.oneOfType([l.a.string,l.a.number]),N=1,R=function(e,t){var n=void 0===e?"undefined":E(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var a=0;au||af.bottom?s.scrollTop=l.offsetTop+l.clientHeight-s.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":E(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null==e)return[];e=[e]}return e.map((function(e){return R(e,n)})).filter((function(e){return e}))}var r=R(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=I(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map((function(e){return e[t.props.valueKey]})).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},(function(){t.getValueArray(t.props.value).some((function(n){return n[t.props.valueKey]===e[t.props.valueKey]}))?t.removeValue(e):t.addValue(e)})):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},(function(){t.setValue(e)}))}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter((function(e){return!e.disabled})),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter((function(n){return n[t.props.valueKey]!==e[t.props.valueKey]}))),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map((function(e,t){return{option:e,index:t}})).filter((function(e){return!e.option.disabled}));if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var a=r-this.props.pageSize;r=a<0?0:a}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,a=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!a}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var a,u,i,l,s,p,f=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map((function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:f,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))})):(a=this.state,u=this.props,i=a.inputValue,l=a.isPseudoFocused,s=a.isFocused,p=u.onSelectResetsInput,i&&(p||!s&&l||s&&!l)?void 0:(t&&(f=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:f,placeholder:this.props.placeholder,value:e[0]},r(e[0]))))}},{key:"renderInput",value:function(e,t){var n,r=this,a=u()("Select-input",this.props.inputProps.className),i=this.state.isOpen,l=u()((k(n={},this._instancePrefix+"-list",i),k(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),s=this.state.inputValue;!s||this.props.onSelectResetsInput||this.state.isFocused||(s="");var p=O({},this.props.inputProps,{"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+i,"aria-haspopup":""+i,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":l,className:a,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:s});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var f=T(this.props.inputProps,[]),d=u()(k({},this._instancePrefix+"-list",i));return c.a.createElement("div",O({},f,{"aria-expanded":i,"aria-owns":d,"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:a,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,O({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:a,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",O({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:g;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map((function(e){return P(e[t.props.valueKey])})).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map((function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:P(e[t.props.valueKey])})}))}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some((function(e,t){var a=e[n]===r[n];return a&&(o=t),a})),-1!==o)return o}for(var a=0;au||af.bottom?s.scrollTop=l.offsetTop+l.clientHeight-s.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":E(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null==e)return[];e=[e]}return e.map((function(e){return R(e,n)})).filter((function(e){return e}))}var r=R(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=I(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map((function(e){return e[t.props.valueKey]})).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},(function(){t.getValueArray(t.props.value).some((function(n){return n[t.props.valueKey]===e[t.props.valueKey]}))?t.removeValue(e):t.addValue(e)})):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},(function(){t.setValue(e)}))}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter((function(e){return!e.disabled})),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter((function(n){return n[t.props.valueKey]!==e[t.props.valueKey]}))),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map((function(e,t){return{option:e,index:t}})).filter((function(e){return!e.option.disabled}));if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var a=r-this.props.pageSize;r=a<0?0:a}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,a=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!a}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var a,u,i,l,s,p,f=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map((function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:f,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))})):(a=this.state,u=this.props,i=a.inputValue,l=a.isPseudoFocused,s=a.isFocused,p=u.onSelectResetsInput,i&&(p||!s&&l||s&&!l)?void 0:(t&&(f=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:f,placeholder:this.props.placeholder,value:e[0]},r(e[0]))))}},{key:"renderInput",value:function(e,t){var n,r=this,a=u()("Select-input",this.props.inputProps.className),i=this.state.isOpen,l=u()((k(n={},this._instancePrefix+"-list",i),k(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),s=this.state.inputValue;!s||this.props.onSelectResetsInput||this.state.isFocused||(s="");var p=O({},this.props.inputProps,{"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+i,"aria-haspopup":""+i,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":l,className:a,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:s});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var f=T(this.props.inputProps,[]),d=u()(k({},this._instancePrefix+"-list",i));return c.a.createElement("div",O({},f,{"aria-expanded":i,"aria-owns":d,"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:a,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,O({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:a,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",O({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:g;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map((function(e){return P(e[t.props.valueKey])})).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map((function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:P(e[t.props.valueKey])})}))}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some((function(e,t){var a=e[n]===r[n];return a&&(o=t),a})),-1!==o)return o}for(var a=0;a=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){l.headers[e]=r.merge(a)})),e.exports=l}).call(this,n(315))}}); //# sourceMappingURL=bundle.js.map \ No newline at end of file diff --git a/decidim-core/app/assets/javascripts/decidim/core/bundle.js b/decidim-core/app/assets/javascripts/decidim/core/bundle.js index ee59a5fd79bc6..5d7eea4da09ef 100644 --- a/decidim-core/app/assets/javascripts/decidim/core/bundle.js +++ b/decidim-core/app/assets/javascripts/decidim/core/bundle.js @@ -1,2 +1,2 @@ -!function(t){var n={};function r(e){if(n[e])return n[e].exports;var i=n[e]={i:e,l:!1,exports:{}};return t[e].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)r.d(e,i,function(n){return t[n]}.bind(null,i));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,"a",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p="",r(r.s=133)}([,function(t,n,r){var e=r(3),i=r(11),o=r(17),u=r(12),c=r(24),f=function(t,n,r){var a,s,l,h,v=t&f.F,p=t&f.G,d=t&f.S,g=t&f.P,y=t&f.B,x=p?e:d?e[n]||(e[n]={}):(e[n]||{}).prototype,m=p?i:i[n]||(i[n]={}),b=m.prototype||(m.prototype={});for(a in p&&(r=n),r)l=((s=!v&&x&&void 0!==x[a])?x:r)[a],h=y&&s?c(l,e):g&&"function"==typeof l?c(Function.call,l):l,x&&u(x,a,l,t&f.U),m[a]!=l&&o(m,a,h),g&&b[a]!=l&&(b[a]=l)};e.core=i,f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},,function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,r){var e=r(6);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){var e=r(52)("wks"),i=r(33),o=r(3).Symbol,u="function"==typeof o;(t.exports=function(t){return e[t]||(e[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=e},function(t,n,r){var e=r(20),i=Math.min;t.exports=function(t){return t>0?i(e(t),9007199254740991):0}},function(t,n,r){var e=r(5),i=r(92),o=r(29),u=Object.defineProperty;n.f=r(10)?Object.defineProperty:function(t,n,r){if(e(t),n=o(n,!0),e(r),i)try{return u(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},function(t,n,r){t.exports=!r(4)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n){var r=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=r)},function(t,n,r){var e=r(3),i=r(17),o=r(16),u=r(33)("src"),c=r(137),f=(""+c).split("toString");r(11).inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,r,c){var a="function"==typeof r;a&&(o(r,"name")||i(r,"name",n)),t[n]!==r&&(a&&(o(r,u)||i(r,u,t[n]?""+t[n]:f.join(String(n)))),t===e?t[n]=r:c?t[n]?t[n]=r:i(t,n,r):(delete t[n],i(t,n,r)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[u]||c.call(this)}))},function(t,n,r){var e=r(27);t.exports=function(t){return Object(e(t))}},function(t,n,r){var e=r(1),i=r(4),o=r(27),u=/"/g,c=function(t,n,r,e){var i=String(o(t)),c="<"+n;return""!==r&&(c+=" "+r+'="'+String(e).replace(u,""")+'"'),c+">"+i+""};t.exports=function(t,n){var r={};r[t]=n(c),e(e.P+e.F*i((function(){var n=""[t]('"');return n!==n.toLowerCase()||n.split('"').length>3})),"String",r)}},,function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(9),i=r(32);t.exports=r(10)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n,r){var e=r(48),i=r(27);t.exports=function(t){return e(i(t))}},function(t,n,r){"use strict";var e=r(4);t.exports=function(t,n){return!!t&&e((function(){n?t.call(null,(function(){}),1):t.call(null)}))}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},function(t,n,r){var e=r(49),i=r(32),o=r(18),u=r(29),c=r(16),f=r(92),a=Object.getOwnPropertyDescriptor;n.f=r(10)?a:function(t,n){if(t=o(t),n=u(n,!0),f)try{return a(t,n)}catch(t){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},function(t,n,r){var e=r(1),i=r(11),o=r(4);t.exports=function(t,n){var r=(i.Object||{})[t]||Object[t],u={};u[t]=n(r),e(e.S+e.F*o((function(){r(1)})),"Object",u)}},function(t,n,r){var e=r(24),i=r(48),o=r(13),u=r(8),c=r(227);t.exports=function(t,n){var r=1==t,f=2==t,a=3==t,s=4==t,l=6==t,h=5==t||l,v=n||c;return function(n,c,p){for(var d,g,y=o(n),x=i(y),m=e(c,p,3),b=u(x.length),S=0,w=r?v(n,b):f?v(n,0):void 0;b>S;S++)if((h||S in x)&&(g=m(d=x[S],S,y),t))if(r)w[S]=g;else if(g)switch(t){case 3:return!0;case 5:return d;case 6:return S;case 2:w.push(d)}else if(s)return!1;return l?-1:a||s?s:w}}},function(t,n,r){var e=r(25);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){"use strict";if(r(10)){var e=r(34),i=r(3),o=r(4),u=r(1),c=r(63),f=r(91),a=r(24),s=r(45),l=r(32),h=r(17),v=r(46),p=r(20),d=r(8),g=r(118),y=r(36),x=r(29),m=r(16),b=r(50),S=r(6),w=r(13),_=r(83),E=r(37),O=r(39),F=r(38).f,P=r(85),M=r(33),A=r(7),I=r(23),j=r(53),N=r(51),T=r(87),L=r(42),R=r(56),k=r(44),C=r(86),D=r(109),W=r(9),U=r(21),V=W.f,B=U.f,G=i.RangeError,z=i.TypeError,Y=i.Uint8Array,q=Array.prototype,$=f.ArrayBuffer,K=f.DataView,J=I(0),X=I(2),H=I(3),Z=I(4),Q=I(5),tt=I(6),nt=j(!0),rt=j(!1),et=T.values,it=T.keys,ot=T.entries,ut=q.lastIndexOf,ct=q.reduce,ft=q.reduceRight,at=q.join,st=q.sort,lt=q.slice,ht=q.toString,vt=q.toLocaleString,pt=A("iterator"),dt=A("toStringTag"),gt=M("typed_constructor"),yt=M("def_constructor"),xt=c.CONSTR,mt=c.TYPED,bt=c.VIEW,St=I(1,(function(t,n){return Ft(N(t,t[yt]),n)})),wt=o((function(){return 1===new Y(new Uint16Array([1]).buffer)[0]})),_t=!!Y&&!!Y.prototype.set&&o((function(){new Y(1).set({})})),Et=function(t,n){var r=p(t);if(r<0||r%n)throw G("Wrong offset!");return r},Ot=function(t){if(S(t)&&mt in t)return t;throw z(t+" is not a typed array!")},Ft=function(t,n){if(!S(t)||!(gt in t))throw z("It is not a typed array constructor!");return new t(n)},Pt=function(t,n){return Mt(N(t,t[yt]),n)},Mt=function(t,n){for(var r=0,e=n.length,i=Ft(t,e);e>r;)i[r]=n[r++];return i},At=function(t,n,r){V(t,n,{get:function(){return this._d[r]}})},It=function(t){var n,r,e,i,o,u,c=w(t),f=arguments.length,s=f>1?arguments[1]:void 0,l=void 0!==s,h=P(c);if(null!=h&&!_(h)){for(u=h.call(c),e=[],n=0;!(o=u.next()).done;n++)e.push(o.value);c=e}for(l&&f>2&&(s=a(s,arguments[2],2)),n=0,r=d(c.length),i=Ft(this,r);r>n;n++)i[n]=l?s(c[n],n):c[n];return i},jt=function(){for(var t=0,n=arguments.length,r=Ft(this,n);n>t;)r[t]=arguments[t++];return r},Nt=!!Y&&o((function(){vt.call(new Y(1))})),Tt=function(){return vt.apply(Nt?lt.call(Ot(this)):Ot(this),arguments)},Lt={copyWithin:function(t,n){return D.call(Ot(this),t,n,arguments.length>2?arguments[2]:void 0)},every:function(t){return Z(Ot(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return C.apply(Ot(this),arguments)},filter:function(t){return Pt(this,X(Ot(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(Ot(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){J(Ot(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return rt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return nt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return at.apply(Ot(this),arguments)},lastIndexOf:function(t){return ut.apply(Ot(this),arguments)},map:function(t){return St(Ot(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ct.apply(Ot(this),arguments)},reduceRight:function(t){return ft.apply(Ot(this),arguments)},reverse:function(){for(var t,n=Ot(this).length,r=Math.floor(n/2),e=0;e1?arguments[1]:void 0)},sort:function(t){return st.call(Ot(this),t)},subarray:function(t,n){var r=Ot(this),e=r.length,i=y(t,e);return new(N(r,r[yt]))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,d((void 0===n?e:y(n,e))-i))}},Rt=function(t,n){return Pt(this,lt.call(Ot(this),t,n))},kt=function(t){Ot(this);var n=Et(arguments[1],1),r=this.length,e=w(t),i=d(e.length),o=0;if(i+n>r)throw G("Wrong length!");for(;o255?255:255&e),i.v[v](r*n+i.o,e,wt)}(this,r,t)},enumerable:!0})};m?(p=r((function(t,r,e,i){s(t,p,a,"_d");var o,u,c,f,l=0,v=0;if(S(r)){if(!(r instanceof $||"ArrayBuffer"==(f=b(r))||"SharedArrayBuffer"==f))return mt in r?Mt(p,r):It.call(p,r);o=r,v=Et(e,n);var y=r.byteLength;if(void 0===i){if(y%n)throw G("Wrong length!");if((u=y-v)<0)throw G("Wrong length!")}else if((u=d(i)*n)+v>y)throw G("Wrong length!");c=u/n}else c=g(r),o=new $(u=c*n);for(h(t,"_d",{b:o,o:v,l:u,e:c,v:new K(o)});ldocument.F=Object<\/script>"),t.close(),f=t.F;e--;)delete f.prototype[o[e]];return f()};t.exports=Object.create||function(t,n){var r;return null!==t?(c.prototype=e(t),r=new c,c.prototype=null,r[u]=t):r=f(),void 0===n?r:i(r,n)}},function(t,n,r){var e=r(94),i=r(69).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,i)}},function(t,n,r){var e=r(16),i=r(13),o=r(68)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),e(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,n,r){var e=r(6);t.exports=function(t,n){if(!e(t)||t._t!==n)throw TypeError("Incompatible receiver, "+n+" required!");return t}},function(t,n,r){var e=r(9).f,i=r(16),o=r(7)("toStringTag");t.exports=function(t,n,r){t&&!i(t=r?t:t.prototype,o)&&e(t,o,{configurable:!0,value:n})}},function(t,n){t.exports={}},function(t,n,r){var e=r(7)("unscopables"),i=Array.prototype;null==i[e]&&r(17)(i,e,{}),t.exports=function(t){i[e][t]=!0}},function(t,n,r){"use strict";var e=r(3),i=r(9),o=r(10),u=r(7)("species");t.exports=function(t){var n=e[t];o&&n&&!n[u]&&i.f(n,u,{configurable:!0,get:function(){return this}})}},function(t,n){t.exports=function(t,n,r,e){if(!(t instanceof n)||void 0!==e&&e in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,n,r){var e=r(12);t.exports=function(t,n,r){for(var i in n)e(t,i,n[i],r);return t}},,function(t,n,r){var e=r(26);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,r){var e=r(26),i=r(7)("toStringTag"),o="Arguments"==e(function(){return arguments}());t.exports=function(t){var n,r,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?r:o?e(n):"Object"==(u=e(n))&&"function"==typeof n.callee?"Arguments":u}},function(t,n,r){var e=r(5),i=r(25),o=r(7)("species");t.exports=function(t,n){var r,u=e(t).constructor;return void 0===u||null==(r=e(u)[o])?n:i(r)}},function(t,n,r){var e=r(11),i=r(3),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:e.version,mode:r(34)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){var e=r(18),i=r(8),o=r(36);t.exports=function(t){return function(n,r,u){var c,f=e(n),a=i(f.length),s=o(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}}},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,r){var e=r(1),i=r(27),o=r(4),u=r(73),c="["+u+"]",f=RegExp("^"+c+c+"*"),a=RegExp(c+c+"*$"),s=function(t,n,r){var i={},c=o((function(){return!!u[t]()||"​…"!="​…"[t]()})),f=i[t]=c?n(l):u[t];r&&(i[r]=f),e(e.P+e.F*c,"String",i)},l=s.trim=function(t,n){return t=String(i(t)),1&n&&(t=t.replace(f,"")),2&n&&(t=t.replace(a,"")),t};t.exports=s},function(t,n,r){var e=r(7)("iterator"),i=!1;try{var o=[7][e]();o.return=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var r=!1;try{var o=[7],u=o[e]();u.next=function(){return{done:r=!0}},o[e]=function(){return u},t(o)}catch(t){}return r}},function(t,n,r){"use strict";var e=r(5);t.exports=function(){var t=e(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,r){"use strict";var e=r(50),i=RegExp.prototype.exec;t.exports=function(t,n){var r=t.exec;if("function"==typeof r){var o=r.call(t,n);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==e(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},function(t,n,r){"use strict";r(111);var e=r(12),i=r(17),o=r(4),u=r(27),c=r(7),f=r(88),a=c("species"),s=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),l=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(t,n,r){var h=c(t),v=!o((function(){var n={};return n[h]=function(){return 7},7!=""[t](n)})),p=v?!o((function(){var n=!1,r=/a/;return r.exec=function(){return n=!0,null},"split"===t&&(r.constructor={},r.constructor[a]=function(){return r}),r[h](""),!n})):void 0;if(!v||!p||"replace"===t&&!s||"split"===t&&!l){var d=/./[h],g=r(u,h,""[t],(function(t,n,r,e,i){return n.exec===f?v&&!i?{done:!0,value:d.call(n,r,e)}:{done:!0,value:t.call(r,n,e)}:{done:!1}})),y=g[0],x=g[1];e(String.prototype,t,y),i(RegExp.prototype,h,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}}},function(t,n,r){var e=r(24),i=r(107),o=r(83),u=r(5),c=r(8),f=r(85),a={},s={};(n=t.exports=function(t,n,r,l,h){var v,p,d,g,y=h?function(){return t}:f(t),x=e(r,l,n?2:1),m=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(o(y)){for(v=c(t.length);v>m;m++)if((g=n?x(u(p=t[m])[0],p[1]):x(t[m]))===a||g===s)return g}else for(d=y.call(t);!(p=d.next()).done;)if((g=i(d,x,p.value,n))===a||g===s)return g}).BREAK=a,n.RETURN=s},function(t,n,r){var e=r(3).navigator;t.exports=e&&e.userAgent||""},function(t,n,r){"use strict";var e=r(3),i=r(1),o=r(12),u=r(46),c=r(30),f=r(60),a=r(45),s=r(6),l=r(4),h=r(56),v=r(41),p=r(74);t.exports=function(t,n,r,d,g,y){var x=e[t],m=x,b=g?"set":"add",S=m&&m.prototype,w={},_=function(t){var n=S[t];o(S,t,"delete"==t||"has"==t?function(t){return!(y&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return y&&!s(t)?void 0:n.call(this,0===t?0:t)}:"add"==t?function(t){return n.call(this,0===t?0:t),this}:function(t,r){return n.call(this,0===t?0:t,r),this})};if("function"==typeof m&&(y||S.forEach&&!l((function(){(new m).entries().next()})))){var E=new m,O=E[b](y?{}:-0,1)!=E,F=l((function(){E.has(1)})),P=h((function(t){new m(t)})),M=!y&&l((function(){for(var t=new m,n=5;n--;)t[b](n,n);return!t.has(-0)}));P||((m=n((function(n,r){a(n,m,t);var e=p(new x,n,m);return null!=r&&f(r,g,e[b],e),e}))).prototype=S,S.constructor=m),(F||M)&&(_("delete"),_("has"),g&&_("get")),(M||O)&&_(b),y&&S.clear&&delete S.clear}else m=d.getConstructor(n,t,g,b),u(m.prototype,r),c.NEED=!0;return v(m,t),w[t]=m,i(i.G+i.W+i.F*(m!=x),w),y||d.setStrong(m,t,g),m}},function(t,n,r){for(var e,i=r(3),o=r(17),u=r(33),c=u("typed_array"),f=u("view"),a=!(!i.ArrayBuffer||!i.DataView),s=a,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(e=i[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,f,!0)):s=!1;t.exports={ABV:a,CONSTR:s,TYPED:c,VIEW:f}},,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var e=r(6),i=r(3).document,o=e(i)&&e(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,n,r){n.f=r(7)},function(t,n,r){var e=r(52)("keys"),i=r(33);t.exports=function(t){return e[t]||(e[t]=i(t))}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,r){var e=r(26);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(3).document;t.exports=e&&e.documentElement},function(t,n,r){var e=r(6),i=r(5),o=function(t,n){if(i(t),!e(n)&&null!==n)throw TypeError(n+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,e){try{(e=r(24)(Function.call,r(21).f(Object.prototype,"__proto__").set,2))(t,[]),n=!(t instanceof Array)}catch(t){n=!0}return function(t,r){return o(t,r),n?t.__proto__=r:e(t,r),t}}({},!1):void 0),check:o}},function(t,n){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,n,r){var e=r(6),i=r(72).set;t.exports=function(t,n,r){var o,u=n.constructor;return u!==r&&"function"==typeof u&&(o=u.prototype)!==r.prototype&&e(o)&&i&&i(t,o),t}},function(t,n,r){"use strict";var e=r(20),i=r(27);t.exports=function(t){var n=String(i(this)),r="",o=e(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(n+=n))1&o&&(r+=n);return r}},function(t,n){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,n){var r=Math.expm1;t.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:r},function(t,n,r){var e=r(20),i=r(27);t.exports=function(t){return function(n,r){var o,u,c=String(i(n)),f=e(r),a=c.length;return f<0||f>=a?t?"":void 0:(o=c.charCodeAt(f))<55296||o>56319||f+1===a||(u=c.charCodeAt(f+1))<56320||u>57343?t?c.charAt(f):o:t?c.slice(f,f+2):u-56320+(o-55296<<10)+65536}}},function(t,n,r){"use strict";var e=r(34),i=r(1),o=r(12),u=r(17),c=r(42),f=r(106),a=r(41),s=r(39),l=r(7)("iterator"),h=!([].keys&&"next"in[].keys()),v=function(){return this};t.exports=function(t,n,r,p,d,g,y){f(r,n,p);var x,m,b,S=function(t){if(!h&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new r(this,t)}}return function(){return new r(this,t)}},w=n+" Iterator",_="values"==d,E=!1,O=t.prototype,F=O[l]||O["@@iterator"]||d&&O[d],P=F||S(d),M=d?_?S("entries"):P:void 0,A="Array"==n&&O.entries||F;if(A&&(b=s(A.call(new t)))!==Object.prototype&&b.next&&(a(b,w,!0),e||"function"==typeof b[l]||u(b,l,v)),_&&F&&"values"!==F.name&&(E=!0,P=function(){return F.call(this)}),e&&!y||!h&&!E&&O[l]||u(O,l,P),c[n]=P,c[w]=v,d)if(x={values:_?P:S("values"),keys:g?P:S("keys"),entries:M},y)for(m in x)m in O||o(O,m,x[m]);else i(i.P+i.F*(h||E),n,x);return x}},function(t,n,r){var e=r(81),i=r(27);t.exports=function(t,n,r){if(e(n))throw TypeError("String#"+r+" doesn't accept regex!");return String(i(t))}},function(t,n,r){var e=r(6),i=r(26),o=r(7)("match");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,r){var e=r(7)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(r){try{return n[e]=!1,!"/./"[t](n)}catch(t){}}return!0}},function(t,n,r){var e=r(42),i=r(7)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(e.Array===t||o[i]===t)}},function(t,n,r){"use strict";var e=r(9),i=r(32);t.exports=function(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]=r}},function(t,n,r){var e=r(50),i=r(7)("iterator"),o=r(42);t.exports=r(11).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[e(t)]}},function(t,n,r){"use strict";var e=r(13),i=r(36),o=r(8);t.exports=function(t){for(var n=e(this),r=o(n.length),u=arguments.length,c=i(u>1?arguments[1]:void 0,r),f=u>2?arguments[2]:void 0,a=void 0===f?r:i(f,r);a>c;)n[c++]=t;return n}},function(t,n,r){"use strict";var e=r(43),i=r(110),o=r(42),u=r(18);t.exports=r(79)(Array,"Array",(function(t,n){this._t=u(t),this._i=0,this._k=n}),(function(){var t=this._t,n=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==n?r:"values"==n?t[r]:[r,t[r]])}),"values"),o.Arguments=o.Array,e("keys"),e("values"),e("entries")},function(t,n,r){"use strict";var e,i,o=r(57),u=RegExp.prototype.exec,c=String.prototype.replace,f=u,a=(e=/a/,i=/b*/g,u.call(e,"a"),u.call(i,"a"),0!==e.lastIndex||0!==i.lastIndex),s=void 0!==/()??/.exec("")[1];(a||s)&&(f=function(t){var n,r,e,i,f=this;return s&&(r=new RegExp("^"+f.source+"$(?!\\s)",o.call(f))),a&&(n=f.lastIndex),e=u.call(f,t),a&&e&&(f.lastIndex=f.global?e.index+e[0].length:n),s&&e&&e.length>1&&c.call(e[0],r,(function(){for(i=1;ir;)n.push(arguments[r++]);return y[++g]=function(){c("function"==typeof t?t:Function(t),n)},e(g),g},v=function(t){delete y[t]},"process"==r(26)(l)?e=function(t){l.nextTick(u(x,t,1))}:d&&d.now?e=function(t){d.now(u(x,t,1))}:p?(o=(i=new p).port2,i.port1.onmessage=m,e=u(o.postMessage,o,1)):s.addEventListener&&"function"==typeof postMessage&&!s.importScripts?(e=function(t){s.postMessage(t+"","*")},s.addEventListener("message",m,!1)):e="onreadystatechange"in a("script")?function(t){f.appendChild(a("script")).onreadystatechange=function(){f.removeChild(this),x.call(t)}}:function(t){setTimeout(u(x,t,1),0)}),t.exports={set:h,clear:v}},function(t,n,r){"use strict";var e=r(3),i=r(10),o=r(34),u=r(63),c=r(17),f=r(46),a=r(4),s=r(45),l=r(20),h=r(8),v=r(118),p=r(38).f,d=r(9).f,g=r(86),y=r(41),x=e.ArrayBuffer,m=e.DataView,b=e.Math,S=e.RangeError,w=e.Infinity,_=x,E=b.abs,O=b.pow,F=b.floor,P=b.log,M=b.LN2,A=i?"_b":"buffer",I=i?"_l":"byteLength",j=i?"_o":"byteOffset";function N(t,n,r){var e,i,o,u=new Array(r),c=8*r-n-1,f=(1<>1,s=23===n?O(2,-24)-O(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=E(t))!=t||t===w?(i=t!=t?1:0,e=f):(e=F(P(t)/M),t*(o=O(2,-e))<1&&(e--,o*=2),(t+=e+a>=1?s/o:s*O(2,1-a))*o>=2&&(e++,o/=2),e+a>=f?(i=0,e=f):e+a>=1?(i=(t*o-1)*O(2,n),e+=a):(i=t*O(2,a-1)*O(2,n),e=0));n>=8;u[l++]=255&i,i/=256,n-=8);for(e=e<0;u[l++]=255&e,e/=256,c-=8);return u[--l]|=128*h,u}function T(t,n,r){var e,i=8*r-n-1,o=(1<>1,c=i-7,f=r-1,a=t[f--],s=127&a;for(a>>=7;c>0;s=256*s+t[f],f--,c-=8);for(e=s&(1<<-c)-1,s>>=-c,c+=n;c>0;e=256*e+t[f],f--,c-=8);if(0===s)s=1-u;else{if(s===o)return e?NaN:a?-w:w;e+=O(2,n),s-=u}return(a?-1:1)*e*O(2,s-n)}function L(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function R(t){return[255&t]}function k(t){return[255&t,t>>8&255]}function C(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function D(t){return N(t,52,8)}function W(t){return N(t,23,4)}function U(t,n,r){d(t.prototype,n,{get:function(){return this[r]}})}function V(t,n,r,e){var i=v(+r);if(i+n>t[I])throw S("Wrong index!");var o=t[A]._b,u=i+t[j],c=o.slice(u,u+n);return e?c:c.reverse()}function B(t,n,r,e,i,o){var u=v(+r);if(u+n>t[I])throw S("Wrong index!");for(var c=t[A]._b,f=u+t[j],a=e(+i),s=0;sq;)(G=Y[q++])in x||c(x,G,_[G]);o||(z.constructor=x)}var $=new m(new x(2)),K=m.prototype.setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||f(m.prototype,{setInt8:function(t,n){K.call(this,t,n<<24>>24)},setUint8:function(t,n){K.call(this,t,n<<24>>24)}},!0)}else x=function(t){s(this,x,"ArrayBuffer");var n=v(t);this._b=g.call(new Array(n),0),this[I]=n},m=function(t,n,r){s(this,m,"DataView"),s(t,x,"DataView");var e=t[I],i=l(n);if(i<0||i>e)throw S("Wrong offset!");if(i+(r=void 0===r?e-i:h(r))>e)throw S("Wrong length!");this[A]=t,this[j]=i,this[I]=r},i&&(U(x,"byteLength","_l"),U(m,"buffer","_b"),U(m,"byteLength","_l"),U(m,"byteOffset","_o")),f(m.prototype,{getInt8:function(t){return V(this,1,t)[0]<<24>>24},getUint8:function(t){return V(this,1,t)[0]},getInt16:function(t){var n=V(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function(t){var n=V(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function(t){return L(V(this,4,t,arguments[1]))},getUint32:function(t){return L(V(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return T(V(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return T(V(this,8,t,arguments[1]),52,8)},setInt8:function(t,n){B(this,1,t,R,n)},setUint8:function(t,n){B(this,1,t,R,n)},setInt16:function(t,n){B(this,2,t,k,n,arguments[2])},setUint16:function(t,n){B(this,2,t,k,n,arguments[2])},setInt32:function(t,n){B(this,4,t,C,n,arguments[2])},setUint32:function(t,n){B(this,4,t,C,n,arguments[2])},setFloat32:function(t,n){B(this,4,t,W,n,arguments[2])},setFloat64:function(t,n){B(this,8,t,D,n,arguments[2])}});y(x,"ArrayBuffer"),y(m,"DataView"),c(m.prototype,u.VIEW,!0),n.ArrayBuffer=x,n.DataView=m},function(t,n,r){t.exports=!r(10)&&!r(4)((function(){return 7!=Object.defineProperty(r(66)("div"),"a",{get:function(){return 7}}).a}))},function(t,n,r){var e=r(3),i=r(11),o=r(34),u=r(67),c=r(9).f;t.exports=function(t){var n=i.Symbol||(i.Symbol=o?{}:e.Symbol||{});"_"==t.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},function(t,n,r){var e=r(16),i=r(18),o=r(53)(!1),u=r(68)("IE_PROTO");t.exports=function(t,n){var r,c=i(t),f=0,a=[];for(r in c)r!=u&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~o(a,r)||a.push(r));return a}},function(t,n,r){var e=r(9),i=r(5),o=r(35);t.exports=r(10)?Object.defineProperties:function(t,n){i(t);for(var r,u=o(n),c=u.length,f=0;c>f;)e.f(t,r=u[f++],n[r]);return t}},function(t,n,r){var e=r(18),i=r(38).f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return u&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return u.slice()}}(t):i(e(t))}},function(t,n,r){"use strict";var e=r(35),i=r(54),o=r(49),u=r(13),c=r(48),f=Object.assign;t.exports=!f||r(4)((function(){var t={},n={},r=Symbol(),e="abcdefghijklmnopqrst";return t[r]=7,e.split("").forEach((function(t){n[t]=t})),7!=f({},t)[r]||Object.keys(f({},n)).join("")!=e}))?function(t,n){for(var r=u(t),f=arguments.length,a=1,s=i.f,l=o.f;f>a;)for(var h,v=c(arguments[a++]),p=s?e(v).concat(s(v)):e(v),d=p.length,g=0;d>g;)l.call(v,h=p[g++])&&(r[h]=v[h]);return r}:f},function(t,n){t.exports=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,r){"use strict";var e=r(25),i=r(6),o=r(100),u=[].slice,c={},f=function(t,n,r){if(!(n in c)){for(var e=[],i=0;i>>0||(u.test(r)?16:10))}:e},function(t,n,r){var e=r(3).parseFloat,i=r(55).trim;t.exports=1/e(r(73)+"-0")!=-1/0?function(t){var n=i(String(t),3),r=e(n);return 0===r&&"-"==n.charAt(0)?-0:r}:e},function(t,n,r){var e=r(26);t.exports=function(t,n){if("number"!=typeof t&&"Number"!=e(t))throw TypeError(n);return+t}},function(t,n,r){var e=r(6),i=Math.floor;t.exports=function(t){return!e(t)&&isFinite(t)&&i(t)===t}},function(t,n){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){"use strict";var e=r(37),i=r(32),o=r(41),u={};r(17)(u,r(7)("iterator"),(function(){return this})),t.exports=function(t,n,r){t.prototype=e(u,{next:i(1,r)}),o(t,n+" Iterator")}},function(t,n,r){var e=r(5);t.exports=function(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o=t.return;throw void 0!==o&&e(o.call(t)),n}}},function(t,n,r){var e=r(25),i=r(13),o=r(48),u=r(8);t.exports=function(t,n,r,c,f){e(n);var a=i(t),s=o(a),l=u(a.length),h=f?l-1:0,v=f?-1:1;if(r<2)for(;;){if(h in s){c=s[h],h+=v;break}if(h+=v,f?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;f?h>=0:l>h;h+=v)h in s&&(c=n(c,s[h],h,a));return c}},function(t,n,r){"use strict";var e=r(13),i=r(36),o=r(8);t.exports=[].copyWithin||function(t,n){var r=e(this),u=o(r.length),c=i(t,u),f=i(n,u),a=arguments.length>2?arguments[2]:void 0,s=Math.min((void 0===a?u:i(a,u))-f,u-c),l=1;for(f0;)f in r?r[c]=r[f]:delete r[c],c+=l,f+=l;return r}},function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},function(t,n,r){"use strict";var e=r(88);r(1)({target:"RegExp",proto:!0,forced:e!==/./.exec},{exec:e})},function(t,n,r){r(10)&&"g"!=/./g.flags&&r(9).f(RegExp.prototype,"flags",{configurable:!0,get:r(57)})},function(t,n,r){"use strict";var e,i,o,u,c=r(34),f=r(3),a=r(24),s=r(50),l=r(1),h=r(6),v=r(25),p=r(45),d=r(60),g=r(51),y=r(90).set,x=r(248)(),m=r(114),b=r(249),S=r(61),w=r(115),_=f.TypeError,E=f.process,O=E&&E.versions,F=O&&O.v8||"",P=f.Promise,M="process"==s(E),A=function(){},I=i=m.f,j=!!function(){try{var t=P.resolve(1),n=(t.constructor={})[r(7)("species")]=function(t){t(A,A)};return(M||"function"==typeof PromiseRejectionEvent)&&t.then(A)instanceof n&&0!==F.indexOf("6.6")&&-1===S.indexOf("Chrome/66")}catch(t){}}(),N=function(t){var n;return!(!h(t)||"function"!=typeof(n=t.then))&&n},T=function(t,n){if(!t._n){t._n=!0;var r=t._c;x((function(){for(var e=t._v,i=1==t._s,o=0,u=function(n){var r,o,u,c=i?n.ok:n.fail,f=n.resolve,a=n.reject,s=n.domain;try{c?(i||(2==t._h&&k(t),t._h=1),!0===c?r=e:(s&&s.enter(),r=c(e),s&&(s.exit(),u=!0)),r===n.promise?a(_("Promise-chain cycle")):(o=N(r))?o.call(r,f,a):f(r)):a(e)}catch(t){s&&!u&&s.exit(),a(t)}};r.length>o;)u(r[o++]);t._c=[],t._n=!1,n&&!t._h&&L(t)}))}},L=function(t){y.call(f,(function(){var n,r,e,i=t._v,o=R(t);if(o&&(n=b((function(){M?E.emit("unhandledRejection",i,t):(r=f.onunhandledrejection)?r({promise:t,reason:i}):(e=f.console)&&e.error&&e.error("Unhandled promise rejection",i)})),t._h=M||R(t)?2:1),t._a=void 0,o&&n.e)throw n.v}))},R=function(t){return 1!==t._h&&0===(t._a||t._c).length},k=function(t){y.call(f,(function(){var n;M?E.emit("rejectionHandled",t):(n=f.onrejectionhandled)&&n({promise:t,reason:t._v})}))},C=function(t){var n=this;n._d||(n._d=!0,(n=n._w||n)._v=t,n._s=2,n._a||(n._a=n._c.slice()),T(n,!0))},D=function(t){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw _("Promise can't be resolved itself");(n=N(t))?x((function(){var e={_w:r,_d:!1};try{n.call(t,a(D,e,1),a(C,e,1))}catch(t){C.call(e,t)}})):(r._v=t,r._s=1,T(r,!1))}catch(t){C.call({_w:r,_d:!1},t)}}};j||(P=function(t){p(this,P,"Promise","_h"),v(t),e.call(this);try{t(a(D,this,1),a(C,this,1))}catch(t){C.call(this,t)}},(e=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(46)(P.prototype,{then:function(t,n){var r=I(g(this,P));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=M?E.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&T(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new e;this.promise=t,this.resolve=a(D,t,1),this.reject=a(C,t,1)},m.f=I=function(t){return t===P||t===u?new o(t):i(t)}),l(l.G+l.W+l.F*!j,{Promise:P}),r(41)(P,"Promise"),r(44)("Promise"),u=r(11).Promise,l(l.S+l.F*!j,"Promise",{reject:function(t){var n=I(this);return(0,n.reject)(t),n.promise}}),l(l.S+l.F*(c||!j),"Promise",{resolve:function(t){return w(c&&this===u?P:this,t)}}),l(l.S+l.F*!(j&&r(56)((function(t){P.all(t).catch(A)}))),"Promise",{all:function(t){var n=this,r=I(n),e=r.resolve,i=r.reject,o=b((function(){var r=[],o=0,u=1;d(t,!1,(function(t){var c=o++,f=!1;r.push(void 0),u++,n.resolve(t).then((function(t){f||(f=!0,r[c]=t,--u||e(r))}),i)})),--u||e(r)}));return o.e&&i(o.v),r.promise},race:function(t){var n=this,r=I(n),e=r.reject,i=b((function(){d(t,!1,(function(t){n.resolve(t).then(r.resolve,e)}))}));return i.e&&e(i.v),r.promise}})},function(t,n,r){"use strict";var e=r(25);function i(t){var n,r;this.promise=new t((function(t,e){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=t,r=e})),this.resolve=e(n),this.reject=e(r)}t.exports.f=function(t){return new i(t)}},function(t,n,r){var e=r(5),i=r(6),o=r(114);t.exports=function(t,n){if(e(t),i(n)&&n.constructor===t)return n;var r=o.f(t);return(0,r.resolve)(n),r.promise}},function(t,n,r){"use strict";var e=r(9).f,i=r(37),o=r(46),u=r(24),c=r(45),f=r(60),a=r(79),s=r(110),l=r(44),h=r(10),v=r(30).fastKey,p=r(40),d=h?"_s":"size",g=function(t,n){var r,e=v(n);if("F"!==e)return t._i[e];for(r=t._f;r;r=r.n)if(r.k==n)return r};t.exports={getConstructor:function(t,n,r,a){var s=t((function(t,e){c(t,s,n,"_i"),t._t=n,t._i=i(null),t._f=void 0,t._l=void 0,t[d]=0,null!=e&&f(e,r,t[a],t)}));return o(s.prototype,{clear:function(){for(var t=p(this,n),r=t._i,e=t._f;e;e=e.n)e.r=!0,e.p&&(e.p=e.p.n=void 0),delete r[e.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var r=p(this,n),e=g(r,t);if(e){var i=e.n,o=e.p;delete r._i[e.i],e.r=!0,o&&(o.n=i),i&&(i.p=o),r._f==e&&(r._f=i),r._l==e&&(r._l=o),r[d]--}return!!e},forEach:function(t){p(this,n);for(var r,e=u(t,arguments.length>1?arguments[1]:void 0,3);r=r?r.n:this._f;)for(e(r.v,r.k,this);r&&r.r;)r=r.p},has:function(t){return!!g(p(this,n),t)}}),h&&e(s.prototype,"size",{get:function(){return p(this,n)[d]}}),s},def:function(t,n,r){var e,i,o=g(t,n);return o?o.v=r:(t._l=o={i:i=v(n,!0),k:n,v:r,p:e=t._l,n:void 0,r:!1},t._f||(t._f=o),e&&(e.n=o),t[d]++,"F"!==i&&(t._i[i]=o)),t},getEntry:g,setStrong:function(t,n,r){a(t,n,(function(t,r){this._t=p(t,n),this._k=r,this._l=void 0}),(function(){for(var t=this._k,n=this._l;n&&n.r;)n=n.p;return this._t&&(this._l=n=n?n.n:this._t._f)?s(0,"keys"==t?n.k:"values"==t?n.v:[n.k,n.v]):(this._t=void 0,s(1))}),r?"entries":"values",!r,!0),l(n)}}},function(t,n,r){"use strict";var e=r(46),i=r(30).getWeak,o=r(5),u=r(6),c=r(45),f=r(60),a=r(23),s=r(16),l=r(40),h=a(5),v=a(6),p=0,d=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},y=function(t,n){return h(t.a,(function(t){return t[0]===n}))};g.prototype={get:function(t){var n=y(this,t);if(n)return n[1]},has:function(t){return!!y(this,t)},set:function(t,n){var r=y(this,t);r?r[1]=n:this.a.push([t,n])},delete:function(t){var n=v(this.a,(function(n){return n[0]===t}));return~n&&this.a.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,r,o){var a=t((function(t,e){c(t,a,n,"_i"),t._t=n,t._i=p++,t._l=void 0,null!=e&&f(e,r,t[o],t)}));return e(a.prototype,{delete:function(t){if(!u(t))return!1;var r=i(t);return!0===r?d(l(this,n)).delete(t):r&&s(r,this._i)&&delete r[this._i]},has:function(t){if(!u(t))return!1;var r=i(t);return!0===r?d(l(this,n)).has(t):r&&s(r,this._i)}}),a},def:function(t,n,r){var e=i(o(n),!0);return!0===e?d(t).set(n,r):e[t._i]=r,t},ufstore:d}},function(t,n,r){var e=r(20),i=r(8);t.exports=function(t){if(void 0===t)return 0;var n=e(t),r=i(n);if(n!==r)throw RangeError("Wrong length!");return r}},function(t,n,r){var e=r(38),i=r(54),o=r(5),u=r(3).Reflect;t.exports=u&&u.ownKeys||function(t){var n=e.f(o(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(8),i=r(75),o=r(27);t.exports=function(t,n,r,u){var c=String(o(t)),f=c.length,a=void 0===r?" ":String(r),s=e(n);if(s<=f||""==a)return c;var l=s-f,h=i.call(a,Math.ceil(l/a.length));return h.length>l&&(h=h.slice(0,l)),u?h+c:c+h}},function(t,n,r){var e=r(35),i=r(18),o=r(49).f;t.exports=function(t){return function(n){for(var r,u=i(n),c=e(u),f=c.length,a=0,s=[];f>a;)o.call(u,r=c[a++])&&s.push(t?[r,u[r]]:u[r]);return s}}},,,,,,,,,,,,function(t,n,r){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),r(134)},function(t,n,r){"use strict";(function(t){r(135),r(279),r(281),r(283),r(285),r(287),r(289),r(291),r(293),r(295),r(299),t._babelPolyfill&&"undefined"!=typeof console&&console.warn&&console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning."),t._babelPolyfill=!0}).call(this,r(65))},function(t,n,r){r(136),r(139),r(140),r(141),r(142),r(143),r(144),r(145),r(146),r(147),r(148),r(149),r(150),r(151),r(152),r(153),r(154),r(155),r(156),r(157),r(158),r(159),r(160),r(161),r(162),r(163),r(164),r(165),r(166),r(167),r(168),r(169),r(170),r(171),r(172),r(173),r(174),r(175),r(176),r(177),r(178),r(179),r(180),r(182),r(183),r(184),r(185),r(186),r(187),r(188),r(189),r(190),r(191),r(192),r(193),r(194),r(195),r(196),r(197),r(198),r(199),r(200),r(201),r(202),r(203),r(204),r(205),r(206),r(207),r(208),r(209),r(210),r(211),r(212),r(213),r(214),r(215),r(217),r(218),r(220),r(221),r(222),r(223),r(224),r(225),r(226),r(229),r(230),r(231),r(232),r(233),r(234),r(235),r(236),r(237),r(238),r(239),r(240),r(241),r(87),r(242),r(111),r(243),r(112),r(244),r(245),r(246),r(247),r(113),r(250),r(251),r(252),r(253),r(254),r(255),r(256),r(257),r(258),r(259),r(260),r(261),r(262),r(263),r(264),r(265),r(266),r(267),r(268),r(269),r(270),r(271),r(272),r(273),r(274),r(275),r(276),r(277),r(278),t.exports=r(11)},function(t,n,r){"use strict";var e=r(3),i=r(16),o=r(10),u=r(1),c=r(12),f=r(30).KEY,a=r(4),s=r(52),l=r(41),h=r(33),v=r(7),p=r(67),d=r(93),g=r(138),y=r(70),x=r(5),m=r(6),b=r(18),S=r(29),w=r(32),_=r(37),E=r(96),O=r(21),F=r(9),P=r(35),M=O.f,A=F.f,I=E.f,j=e.Symbol,N=e.JSON,T=N&&N.stringify,L=v("_hidden"),R=v("toPrimitive"),k={}.propertyIsEnumerable,C=s("symbol-registry"),D=s("symbols"),W=s("op-symbols"),U=Object.prototype,V="function"==typeof j,B=e.QObject,G=!B||!B.prototype||!B.prototype.findChild,z=o&&a((function(){return 7!=_(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a}))?function(t,n,r){var e=M(U,n);e&&delete U[n],A(t,n,r),e&&t!==U&&A(U,n,e)}:A,Y=function(t){var n=D[t]=_(j.prototype);return n._k=t,n},q=V&&"symbol"==typeof j.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof j},$=function(t,n,r){return t===U&&$(W,n,r),x(t),n=S(n,!0),x(r),i(D,n)?(r.enumerable?(i(t,L)&&t[L][n]&&(t[L][n]=!1),r=_(r,{enumerable:w(0,!1)})):(i(t,L)||A(t,L,w(1,{})),t[L][n]=!0),z(t,n,r)):A(t,n,r)},K=function(t,n){x(t);for(var r,e=g(n=b(n)),i=0,o=e.length;o>i;)$(t,r=e[i++],n[r]);return t},J=function(t){var n=k.call(this,t=S(t,!0));return!(this===U&&i(D,t)&&!i(W,t))&&(!(n||!i(this,t)||!i(D,t)||i(this,L)&&this[L][t])||n)},X=function(t,n){if(t=b(t),n=S(n,!0),t!==U||!i(D,n)||i(W,n)){var r=M(t,n);return!r||!i(D,n)||i(t,L)&&t[L][n]||(r.enumerable=!0),r}},H=function(t){for(var n,r=I(b(t)),e=[],o=0;r.length>o;)i(D,n=r[o++])||n==L||n==f||e.push(n);return e},Z=function(t){for(var n,r=t===U,e=I(r?W:b(t)),o=[],u=0;e.length>u;)!i(D,n=e[u++])||r&&!i(U,n)||o.push(D[n]);return o};V||(c((j=function(){if(this instanceof j)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),n=function(r){this===U&&n.call(W,r),i(this,L)&&i(this[L],t)&&(this[L][t]=!1),z(this,t,w(1,r))};return o&&G&&z(U,t,{configurable:!0,set:n}),Y(t)}).prototype,"toString",(function(){return this._k})),O.f=X,F.f=$,r(38).f=E.f=H,r(49).f=J,r(54).f=Z,o&&!r(34)&&c(U,"propertyIsEnumerable",J,!0),p.f=function(t){return Y(v(t))}),u(u.G+u.W+u.F*!V,{Symbol:j});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)v(Q[tt++]);for(var nt=P(v.store),rt=0;nt.length>rt;)d(nt[rt++]);u(u.S+u.F*!V,"Symbol",{for:function(t){return i(C,t+="")?C[t]:C[t]=j(t)},keyFor:function(t){if(!q(t))throw TypeError(t+" is not a symbol!");for(var n in C)if(C[n]===t)return n},useSetter:function(){G=!0},useSimple:function(){G=!1}}),u(u.S+u.F*!V,"Object",{create:function(t,n){return void 0===n?_(t):K(_(t),n)},defineProperty:$,defineProperties:K,getOwnPropertyDescriptor:X,getOwnPropertyNames:H,getOwnPropertySymbols:Z}),N&&u(u.S+u.F*(!V||a((function(){var t=j();return"[null]"!=T([t])||"{}"!=T({a:t})||"{}"!=T(Object(t))}))),"JSON",{stringify:function(t){for(var n,r,e=[t],i=1;arguments.length>i;)e.push(arguments[i++]);if(r=n=e[1],(m(n)||void 0!==t)&&!q(t))return y(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!q(n))return n}),e[1]=n,T.apply(N,e)}}),j.prototype[R]||r(17)(j.prototype,R,j.prototype.valueOf),l(j,"Symbol"),l(Math,"Math",!0),l(e.JSON,"JSON",!0)},function(t,n,r){t.exports=r(52)("native-function-to-string",Function.toString)},function(t,n,r){var e=r(35),i=r(54),o=r(49);t.exports=function(t){var n=e(t),r=i.f;if(r)for(var u,c=r(t),f=o.f,a=0;c.length>a;)f.call(t,u=c[a++])&&n.push(u);return n}},function(t,n,r){var e=r(1);e(e.S,"Object",{create:r(37)})},function(t,n,r){var e=r(1);e(e.S+e.F*!r(10),"Object",{defineProperty:r(9).f})},function(t,n,r){var e=r(1);e(e.S+e.F*!r(10),"Object",{defineProperties:r(95)})},function(t,n,r){var e=r(18),i=r(21).f;r(22)("getOwnPropertyDescriptor",(function(){return function(t,n){return i(e(t),n)}}))},function(t,n,r){var e=r(13),i=r(39);r(22)("getPrototypeOf",(function(){return function(t){return i(e(t))}}))},function(t,n,r){var e=r(13),i=r(35);r(22)("keys",(function(){return function(t){return i(e(t))}}))},function(t,n,r){r(22)("getOwnPropertyNames",(function(){return r(96).f}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("freeze",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("seal",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("preventExtensions",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6);r(22)("isFrozen",(function(t){return function(n){return!e(n)||!!t&&t(n)}}))},function(t,n,r){var e=r(6);r(22)("isSealed",(function(t){return function(n){return!e(n)||!!t&&t(n)}}))},function(t,n,r){var e=r(6);r(22)("isExtensible",(function(t){return function(n){return!!e(n)&&(!t||t(n))}}))},function(t,n,r){var e=r(1);e(e.S+e.F,"Object",{assign:r(97)})},function(t,n,r){var e=r(1);e(e.S,"Object",{is:r(98)})},function(t,n,r){var e=r(1);e(e.S,"Object",{setPrototypeOf:r(72).set})},function(t,n,r){"use strict";var e=r(50),i={};i[r(7)("toStringTag")]="z",i+""!="[object z]"&&r(12)(Object.prototype,"toString",(function(){return"[object "+e(this)+"]"}),!0)},function(t,n,r){var e=r(1);e(e.P,"Function",{bind:r(99)})},function(t,n,r){var e=r(9).f,i=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in i||r(10)&&e(i,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},function(t,n,r){"use strict";var e=r(6),i=r(39),o=r(7)("hasInstance"),u=Function.prototype;o in u||r(9).f(u,o,{value:function(t){if("function"!=typeof this||!e(t))return!1;if(!e(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,n,r){var e=r(1),i=r(101);e(e.G+e.F*(parseInt!=i),{parseInt:i})},function(t,n,r){var e=r(1),i=r(102);e(e.G+e.F*(parseFloat!=i),{parseFloat:i})},function(t,n,r){"use strict";var e=r(3),i=r(16),o=r(26),u=r(74),c=r(29),f=r(4),a=r(38).f,s=r(21).f,l=r(9).f,h=r(55).trim,v=e.Number,p=v,d=v.prototype,g="Number"==o(r(37)(d)),y="trim"in String.prototype,x=function(t){var n=c(t,!1);if("string"==typeof n&&n.length>2){var r,e,i,o=(n=y?n.trim():h(n,3)).charCodeAt(0);if(43===o||45===o){if(88===(r=n.charCodeAt(2))||120===r)return NaN}else if(48===o){switch(n.charCodeAt(1)){case 66:case 98:e=2,i=49;break;case 79:case 111:e=8,i=55;break;default:return+n}for(var u,f=n.slice(2),a=0,s=f.length;ai)return NaN;return parseInt(f,e)}}return+n};if(!v(" 0o1")||!v("0b1")||v("+0x1")){v=function(t){var n=arguments.length<1?0:t,r=this;return r instanceof v&&(g?f((function(){d.valueOf.call(r)})):"Number"!=o(r))?u(new p(x(n)),r,v):x(n)};for(var m,b=r(10)?a(p):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),S=0;b.length>S;S++)i(p,m=b[S])&&!i(v,m)&&l(v,m,s(p,m));v.prototype=d,d.constructor=v,r(12)(e,"Number",v)}},function(t,n,r){"use strict";var e=r(1),i=r(20),o=r(103),u=r(75),c=1..toFixed,f=Math.floor,a=[0,0,0,0,0,0],s="Number.toFixed: incorrect invocation!",l=function(t,n){for(var r=-1,e=n;++r<6;)e+=t*a[r],a[r]=e%1e7,e=f(e/1e7)},h=function(t){for(var n=6,r=0;--n>=0;)r+=a[n],a[n]=f(r/t),r=r%t*1e7},v=function(){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==a[t]){var r=String(a[t]);n=""===n?r:n+u.call("0",7-r.length)+r}return n},p=function(t,n,r){return 0===n?r:n%2==1?p(t,n-1,r*t):p(t*t,n/2,r)};e(e.P+e.F*(!!c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!r(4)((function(){c.call({})}))),"Number",{toFixed:function(t){var n,r,e,c,f=o(this,s),a=i(t),d="",g="0";if(a<0||a>20)throw RangeError(s);if(f!=f)return"NaN";if(f<=-1e21||f>=1e21)return String(f);if(f<0&&(d="-",f=-f),f>1e-21)if(r=(n=function(t){for(var n=0,r=t;r>=4096;)n+=12,r/=4096;for(;r>=2;)n+=1,r/=2;return n}(f*p(2,69,1))-69)<0?f*p(2,-n,1):f/p(2,n,1),r*=4503599627370496,(n=52-n)>0){for(l(0,r),e=a;e>=7;)l(1e7,0),e-=7;for(l(p(10,e,1),0),e=n-1;e>=23;)h(1<<23),e-=23;h(1<0?d+((c=g.length)<=a?"0."+u.call("0",a-c)+g:g.slice(0,c-a)+"."+g.slice(c-a)):d+g}})},function(t,n,r){"use strict";var e=r(1),i=r(4),o=r(103),u=1..toPrecision;e(e.P+e.F*(i((function(){return"1"!==u.call(1,void 0)}))||!i((function(){u.call({})}))),"Number",{toPrecision:function(t){var n=o(this,"Number#toPrecision: incorrect invocation!");return void 0===t?u.call(n):u.call(n,t)}})},function(t,n,r){var e=r(1);e(e.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,n,r){var e=r(1),i=r(3).isFinite;e(e.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},function(t,n,r){var e=r(1);e(e.S,"Number",{isInteger:r(104)})},function(t,n,r){var e=r(1);e(e.S,"Number",{isNaN:function(t){return t!=t}})},function(t,n,r){var e=r(1),i=r(104),o=Math.abs;e(e.S,"Number",{isSafeInteger:function(t){return i(t)&&o(t)<=9007199254740991}})},function(t,n,r){var e=r(1);e(e.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,n,r){var e=r(1);e(e.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,n,r){var e=r(1),i=r(102);e(e.S+e.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},function(t,n,r){var e=r(1),i=r(101);e(e.S+e.F*(Number.parseInt!=i),"Number",{parseInt:i})},function(t,n,r){var e=r(1),i=r(105),o=Math.sqrt,u=Math.acosh;e(e.S+e.F*!(u&&710==Math.floor(u(Number.MAX_VALUE))&&u(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},function(t,n,r){var e=r(1),i=Math.asinh;e(e.S+e.F*!(i&&1/i(0)>0),"Math",{asinh:function t(n){return isFinite(n=+n)&&0!=n?n<0?-t(-n):Math.log(n+Math.sqrt(n*n+1)):n}})},function(t,n,r){var e=r(1),i=Math.atanh;e(e.S+e.F*!(i&&1/i(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,n,r){var e=r(1),i=r(76);e(e.S,"Math",{cbrt:function(t){return i(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,n,r){var e=r(1);e(e.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,n,r){var e=r(1),i=Math.exp;e(e.S,"Math",{cosh:function(t){return(i(t=+t)+i(-t))/2}})},function(t,n,r){var e=r(1),i=r(77);e(e.S+e.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,n,r){var e=r(1);e(e.S,"Math",{fround:r(181)})},function(t,n,r){var e=r(76),i=Math.pow,o=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),f=i(2,-126);t.exports=Math.fround||function(t){var n,r,i=Math.abs(t),a=e(t);return ic||r!=r?a*(1/0):a*r}},function(t,n,r){var e=r(1),i=Math.abs;e(e.S,"Math",{hypot:function(t,n){for(var r,e,o=0,u=0,c=arguments.length,f=0;u0?(e=r/f)*e:r;return f===1/0?1/0:f*Math.sqrt(o)}})},function(t,n,r){var e=r(1),i=Math.imul;e(e.S+e.F*r(4)((function(){return-5!=i(4294967295,5)||2!=i.length})),"Math",{imul:function(t,n){var r=+t,e=+n,i=65535&r,o=65535&e;return 0|i*o+((65535&r>>>16)*o+i*(65535&e>>>16)<<16>>>0)}})},function(t,n,r){var e=r(1);e(e.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,n,r){var e=r(1);e(e.S,"Math",{log1p:r(105)})},function(t,n,r){var e=r(1);e(e.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,n,r){var e=r(1);e(e.S,"Math",{sign:r(76)})},function(t,n,r){var e=r(1),i=r(77),o=Math.exp;e(e.S+e.F*r(4)((function(){return-2e-17!=!Math.sinh(-2e-17)})),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,n,r){var e=r(1),i=r(77),o=Math.exp;e(e.S,"Math",{tanh:function(t){var n=i(t=+t),r=i(-t);return n==1/0?1:r==1/0?-1:(n-r)/(o(t)+o(-t))}})},function(t,n,r){var e=r(1);e(e.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,n,r){var e=r(1),i=r(36),o=String.fromCharCode,u=String.fromCodePoint;e(e.S+e.F*(!!u&&1!=u.length),"String",{fromCodePoint:function(t){for(var n,r=[],e=arguments.length,u=0;e>u;){if(n=+arguments[u++],i(n,1114111)!==n)throw RangeError(n+" is not a valid code point");r.push(n<65536?o(n):o(55296+((n-=65536)>>10),n%1024+56320))}return r.join("")}})},function(t,n,r){var e=r(1),i=r(18),o=r(8);e(e.S,"String",{raw:function(t){for(var n=i(t.raw),r=o(n.length),e=arguments.length,u=[],c=0;r>c;)u.push(String(n[c++])),c=n.length?{value:void 0,done:!0}:(t=e(n,r),this._i+=t.length,{value:t,done:!1})}))},function(t,n,r){"use strict";var e=r(1),i=r(78)(!1);e(e.P,"String",{codePointAt:function(t){return i(this,t)}})},function(t,n,r){"use strict";var e=r(1),i=r(8),o=r(80),u="".endsWith;e(e.P+e.F*r(82)("endsWith"),"String",{endsWith:function(t){var n=o(this,t,"endsWith"),r=arguments.length>1?arguments[1]:void 0,e=i(n.length),c=void 0===r?e:Math.min(i(r),e),f=String(t);return u?u.call(n,f,c):n.slice(c-f.length,c)===f}})},function(t,n,r){"use strict";var e=r(1),i=r(80);e(e.P+e.F*r(82)("includes"),"String",{includes:function(t){return!!~i(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,r){var e=r(1);e(e.P,"String",{repeat:r(75)})},function(t,n,r){"use strict";var e=r(1),i=r(8),o=r(80),u="".startsWith;e(e.P+e.F*r(82)("startsWith"),"String",{startsWith:function(t){var n=o(this,t,"startsWith"),r=i(Math.min(arguments.length>1?arguments[1]:void 0,n.length)),e=String(t);return u?u.call(n,e,r):n.slice(r,r+e.length)===e}})},function(t,n,r){"use strict";r(14)("anchor",(function(t){return function(n){return t(this,"a","name",n)}}))},function(t,n,r){"use strict";r(14)("big",(function(t){return function(){return t(this,"big","","")}}))},function(t,n,r){"use strict";r(14)("blink",(function(t){return function(){return t(this,"blink","","")}}))},function(t,n,r){"use strict";r(14)("bold",(function(t){return function(){return t(this,"b","","")}}))},function(t,n,r){"use strict";r(14)("fixed",(function(t){return function(){return t(this,"tt","","")}}))},function(t,n,r){"use strict";r(14)("fontcolor",(function(t){return function(n){return t(this,"font","color",n)}}))},function(t,n,r){"use strict";r(14)("fontsize",(function(t){return function(n){return t(this,"font","size",n)}}))},function(t,n,r){"use strict";r(14)("italics",(function(t){return function(){return t(this,"i","","")}}))},function(t,n,r){"use strict";r(14)("link",(function(t){return function(n){return t(this,"a","href",n)}}))},function(t,n,r){"use strict";r(14)("small",(function(t){return function(){return t(this,"small","","")}}))},function(t,n,r){"use strict";r(14)("strike",(function(t){return function(){return t(this,"strike","","")}}))},function(t,n,r){"use strict";r(14)("sub",(function(t){return function(){return t(this,"sub","","")}}))},function(t,n,r){"use strict";r(14)("sup",(function(t){return function(){return t(this,"sup","","")}}))},function(t,n,r){var e=r(1);e(e.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,n,r){"use strict";var e=r(1),i=r(13),o=r(29);e(e.P+e.F*r(4)((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})),"Date",{toJSON:function(t){var n=i(this),r=o(n);return"number"!=typeof r||isFinite(r)?n.toISOString():null}})},function(t,n,r){var e=r(1),i=r(216);e(e.P+e.F*(Date.prototype.toISOString!==i),"Date",{toISOString:i})},function(t,n,r){"use strict";var e=r(4),i=Date.prototype.getTime,o=Date.prototype.toISOString,u=function(t){return t>9?t:"0"+t};t.exports=e((function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-50000000000001))}))||!e((function(){o.call(new Date(NaN))}))?function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var t=this,n=t.getUTCFullYear(),r=t.getUTCMilliseconds(),e=n<0?"-":n>9999?"+":"";return e+("00000"+Math.abs(n)).slice(e?-6:-4)+"-"+u(t.getUTCMonth()+1)+"-"+u(t.getUTCDate())+"T"+u(t.getUTCHours())+":"+u(t.getUTCMinutes())+":"+u(t.getUTCSeconds())+"."+(r>99?r:"0"+u(r))+"Z"}:o},function(t,n,r){var e=Date.prototype,i=e.toString,o=e.getTime;new Date(NaN)+""!="Invalid Date"&&r(12)(e,"toString",(function(){var t=o.call(this);return t==t?i.call(this):"Invalid Date"}))},function(t,n,r){var e=r(7)("toPrimitive"),i=Date.prototype;e in i||r(17)(i,e,r(219))},function(t,n,r){"use strict";var e=r(5),i=r(29);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return i(e(this),"number"!=t)}},function(t,n,r){var e=r(1);e(e.S,"Array",{isArray:r(70)})},function(t,n,r){"use strict";var e=r(24),i=r(1),o=r(13),u=r(107),c=r(83),f=r(8),a=r(84),s=r(85);i(i.S+i.F*!r(56)((function(t){Array.from(t)})),"Array",{from:function(t){var n,r,i,l,h=o(t),v="function"==typeof this?this:Array,p=arguments.length,d=p>1?arguments[1]:void 0,g=void 0!==d,y=0,x=s(h);if(g&&(d=e(d,p>2?arguments[2]:void 0,2)),null==x||v==Array&&c(x))for(r=new v(n=f(h.length));n>y;y++)a(r,y,g?d(h[y],y):h[y]);else for(l=x.call(h),r=new v;!(i=l.next()).done;y++)a(r,y,g?u(l,d,[i.value,y],!0):i.value);return r.length=y,r}})},function(t,n,r){"use strict";var e=r(1),i=r(84);e(e.S+e.F*r(4)((function(){function t(){}return!(Array.of.call(t)instanceof t)})),"Array",{of:function(){for(var t=0,n=arguments.length,r=new("function"==typeof this?this:Array)(n);n>t;)i(r,t,arguments[t++]);return r.length=n,r}})},function(t,n,r){"use strict";var e=r(1),i=r(18),o=[].join;e(e.P+e.F*(r(48)!=Object||!r(19)(o)),"Array",{join:function(t){return o.call(i(this),void 0===t?",":t)}})},function(t,n,r){"use strict";var e=r(1),i=r(71),o=r(26),u=r(36),c=r(8),f=[].slice;e(e.P+e.F*r(4)((function(){i&&f.call(i)})),"Array",{slice:function(t,n){var r=c(this.length),e=o(this);if(n=void 0===n?r:n,"Array"==e)return f.call(this,t,n);for(var i=u(t,r),a=u(n,r),s=c(a-i),l=new Array(s),h=0;h1&&(e=Math.min(e,o(arguments[1]))),e<0&&(e=r+e);e>=0;e--)if(e in n&&n[e]===t)return e||0;return-1}})},function(t,n,r){var e=r(1);e(e.P,"Array",{copyWithin:r(109)}),r(43)("copyWithin")},function(t,n,r){var e=r(1);e(e.P,"Array",{fill:r(86)}),r(43)("fill")},function(t,n,r){"use strict";var e=r(1),i=r(23)(5),o=!0;"find"in[]&&Array(1).find((function(){o=!1})),e(e.P+e.F*o,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)("find")},function(t,n,r){"use strict";var e=r(1),i=r(23)(6),o="findIndex",u=!0;o in[]&&Array(1)[o]((function(){u=!1})),e(e.P+e.F*u,"Array",{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)(o)},function(t,n,r){r(44)("Array")},function(t,n,r){var e=r(3),i=r(74),o=r(9).f,u=r(38).f,c=r(81),f=r(57),a=e.RegExp,s=a,l=a.prototype,h=/a/g,v=/a/g,p=new a(h)!==h;if(r(10)&&(!p||r(4)((function(){return v[r(7)("match")]=!1,a(h)!=h||a(v)==v||"/a/i"!=a(h,"i")})))){a=function(t,n){var r=this instanceof a,e=c(t),o=void 0===n;return!r&&e&&t.constructor===a&&o?t:i(p?new s(e&&!o?t.source:t,n):s((e=t instanceof a)?t.source:t,e&&o?f.call(t):n),r?this:l,a)};for(var d=function(t){t in a||o(a,t,{configurable:!0,get:function(){return s[t]},set:function(n){s[t]=n}})},g=u(s),y=0;g.length>y;)d(g[y++]);l.constructor=a,a.prototype=l,r(12)(e,"RegExp",a)}r(44)("RegExp")},function(t,n,r){"use strict";r(112);var e=r(5),i=r(57),o=r(10),u=/./.toString,c=function(t){r(12)(RegExp.prototype,"toString",t,!0)};r(4)((function(){return"/a/b"!=u.call({source:"a",flags:"b"})}))?c((function(){var t=e(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)})):"toString"!=u.name&&c((function(){return u.call(this)}))},function(t,n,r){"use strict";var e=r(5),i=r(8),o=r(89),u=r(58);r(59)("match",1,(function(t,n,r,c){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=c(r,t,this);if(n.done)return n.value;var f=e(t),a=String(this);if(!f.global)return u(f,a);var s=f.unicode;f.lastIndex=0;for(var l,h=[],v=0;null!==(l=u(f,a));){var p=String(l[0]);h[v]=p,""===p&&(f.lastIndex=o(a,i(f.lastIndex),s)),v++}return 0===v?null:h}]}))},function(t,n,r){"use strict";var e=r(5),i=r(13),o=r(8),u=r(20),c=r(89),f=r(58),a=Math.max,s=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,v=/\$([$&`']|\d\d?)/g;r(59)("replace",2,(function(t,n,r,p){return[function(e,i){var o=t(this),u=null==e?void 0:e[n];return void 0!==u?u.call(e,o,i):r.call(String(o),e,i)},function(t,n){var i=p(r,t,this,n);if(i.done)return i.value;var l=e(t),h=String(this),v="function"==typeof n;v||(n=String(n));var g=l.global;if(g){var y=l.unicode;l.lastIndex=0}for(var x=[];;){var m=f(l,h);if(null===m)break;if(x.push(m),!g)break;""===String(m[0])&&(l.lastIndex=c(h,o(l.lastIndex),y))}for(var b,S="",w=0,_=0;_=w&&(S+=h.slice(w,O)+I,w=O+E.length)}return S+h.slice(w)}];function d(t,n,e,o,u,c){var f=e+t.length,a=o.length,s=v;return void 0!==u&&(u=i(u),s=h),r.call(c,s,(function(r,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,e);case"'":return n.slice(f);case"<":c=u[i.slice(1,-1)];break;default:var s=+i;if(0===s)return r;if(s>a){var h=l(s/10);return 0===h?r:h<=a?void 0===o[h-1]?i.charAt(1):o[h-1]+i.charAt(1):r}c=o[s-1]}return void 0===c?"":c}))}}))},function(t,n,r){"use strict";var e=r(5),i=r(98),o=r(58);r(59)("search",1,(function(t,n,r,u){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=u(r,t,this);if(n.done)return n.value;var c=e(t),f=String(this),a=c.lastIndex;i(a,0)||(c.lastIndex=0);var s=o(c,f);return i(c.lastIndex,a)||(c.lastIndex=a),null===s?-1:s.index}]}))},function(t,n,r){"use strict";var e=r(81),i=r(5),o=r(51),u=r(89),c=r(8),f=r(58),a=r(88),s=r(4),l=Math.min,h=[].push,v="length",p=!s((function(){RegExp(4294967295,"y")}));r(59)("split",2,(function(t,n,r,s){var d;return d="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1)[v]||2!="ab".split(/(?:ab)*/)[v]||4!=".".split(/(.?)(.?)/)[v]||".".split(/()()/)[v]>1||"".split(/.?/)[v]?function(t,n){var i=String(this);if(void 0===t&&0===n)return[];if(!e(t))return r.call(i,t,n);for(var o,u,c,f=[],s=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),l=0,p=void 0===n?4294967295:n>>>0,d=new RegExp(t.source,s+"g");(o=a.call(d,i))&&!((u=d.lastIndex)>l&&(f.push(i.slice(l,o.index)),o[v]>1&&o.index=p));)d.lastIndex===o.index&&d.lastIndex++;return l===i[v]?!c&&d.test("")||f.push(""):f.push(i.slice(l)),f[v]>p?f.slice(0,p):f}:"0".split(void 0,0)[v]?function(t,n){return void 0===t&&0===n?[]:r.call(this,t,n)}:r,[function(r,e){var i=t(this),o=null==r?void 0:r[n];return void 0!==o?o.call(r,i,e):d.call(String(i),r,e)},function(t,n){var e=s(d,t,this,n,d!==r);if(e.done)return e.value;var a=i(t),h=String(this),v=o(a,RegExp),g=a.unicode,y=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(p?"y":"g"),x=new v(p?a:"^(?:"+a.source+")",y),m=void 0===n?4294967295:n>>>0;if(0===m)return[];if(0===h.length)return null===f(x,h)?[h]:[];for(var b=0,S=0,w=[];S0?arguments[0]:void 0)}}),{get:function(t){var n=e.getEntry(i(this,"Map"),t);return n&&n.v},set:function(t,n){return e.def(i(this,"Map"),0===t?0:t,n)}},e,!0)},function(t,n,r){"use strict";var e=r(116),i=r(40);t.exports=r(62)("Set",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return e.def(i(this,"Set"),t=0===t?0:t,t)}},e)},function(t,n,r){"use strict";var e,i=r(3),o=r(23)(0),u=r(12),c=r(30),f=r(97),a=r(117),s=r(6),l=r(40),h=r(40),v=!i.ActiveXObject&&"ActiveXObject"in i,p=c.getWeak,d=Object.isExtensible,g=a.ufstore,y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},x={get:function(t){if(s(t)){var n=p(t);return!0===n?g(l(this,"WeakMap")).get(t):n?n[this._i]:void 0}},set:function(t,n){return a.def(l(this,"WeakMap"),t,n)}},m=t.exports=r(62)("WeakMap",y,x,a,!0,!0);h&&v&&(f((e=a.getConstructor(y,"WeakMap")).prototype,x),c.NEED=!0,o(["delete","has","get","set"],(function(t){var n=m.prototype,r=n[t];u(n,t,(function(n,i){if(s(n)&&!d(n)){this._f||(this._f=new e);var o=this._f[t](n,i);return"set"==t?this:o}return r.call(this,n,i)}))})))},function(t,n,r){"use strict";var e=r(117),i=r(40);r(62)("WeakSet",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return e.def(i(this,"WeakSet"),t,!0)}},e,!1,!0)},function(t,n,r){"use strict";var e=r(1),i=r(63),o=r(91),u=r(5),c=r(36),f=r(8),a=r(6),s=r(3).ArrayBuffer,l=r(51),h=o.ArrayBuffer,v=o.DataView,p=i.ABV&&s.isView,d=h.prototype.slice,g=i.VIEW;e(e.G+e.W+e.F*(s!==h),{ArrayBuffer:h}),e(e.S+e.F*!i.CONSTR,"ArrayBuffer",{isView:function(t){return p&&p(t)||a(t)&&g in t}}),e(e.P+e.U+e.F*r(4)((function(){return!new h(2).slice(1,void 0).byteLength})),"ArrayBuffer",{slice:function(t,n){if(void 0!==d&&void 0===n)return d.call(u(this),t);for(var r=u(this).byteLength,e=c(t,r),i=c(void 0===n?r:n,r),o=new(l(this,h))(f(i-e)),a=new v(this),s=new v(o),p=0;e=n.length)return{value:void 0,done:!0}}while(!((t=n[this._i++])in this._t));return{value:t,done:!1}})),e(e.S,"Reflect",{enumerate:function(t){return new o(t)}})},function(t,n,r){var e=r(21),i=r(39),o=r(16),u=r(1),c=r(6),f=r(5);u(u.S,"Reflect",{get:function t(n,r){var u,a,s=arguments.length<3?n:arguments[2];return f(n)===s?n[r]:(u=e.f(n,r))?o(u,"value")?u.value:void 0!==u.get?u.get.call(s):void 0:c(a=i(n))?t(a,r,s):void 0}})},function(t,n,r){var e=r(21),i=r(1),o=r(5);i(i.S,"Reflect",{getOwnPropertyDescriptor:function(t,n){return e.f(o(t),n)}})},function(t,n,r){var e=r(1),i=r(39),o=r(5);e(e.S,"Reflect",{getPrototypeOf:function(t){return i(o(t))}})},function(t,n,r){var e=r(1);e(e.S,"Reflect",{has:function(t,n){return n in t}})},function(t,n,r){var e=r(1),i=r(5),o=Object.isExtensible;e(e.S,"Reflect",{isExtensible:function(t){return i(t),!o||o(t)}})},function(t,n,r){var e=r(1);e(e.S,"Reflect",{ownKeys:r(119)})},function(t,n,r){var e=r(1),i=r(5),o=Object.preventExtensions;e(e.S,"Reflect",{preventExtensions:function(t){i(t);try{return o&&o(t),!0}catch(t){return!1}}})},function(t,n,r){var e=r(9),i=r(21),o=r(39),u=r(16),c=r(1),f=r(32),a=r(5),s=r(6);c(c.S,"Reflect",{set:function t(n,r,c){var l,h,v=arguments.length<4?n:arguments[3],p=i.f(a(n),r);if(!p){if(s(h=o(n)))return t(h,r,c,v);p=f(0)}if(u(p,"value")){if(!1===p.writable||!s(v))return!1;if(l=i.f(v,r)){if(l.get||l.set||!1===l.writable)return!1;l.value=c,e.f(v,r,l)}else e.f(v,r,f(0,c));return!0}return void 0!==p.set&&(p.set.call(v,c),!0)}})},function(t,n,r){var e=r(1),i=r(72);i&&e(e.S,"Reflect",{setPrototypeOf:function(t,n){i.check(t,n);try{return i.set(t,n),!0}catch(t){return!1}}})},function(t,n,r){r(280),t.exports=r(11).Array.includes},function(t,n,r){"use strict";var e=r(1),i=r(53)(!0);e(e.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)("includes")},function(t,n,r){r(282),t.exports=r(11).String.padStart},function(t,n,r){"use strict";var e=r(1),i=r(120),o=r(61),u=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);e(e.P+e.F*u,"String",{padStart:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,n,r){r(284),t.exports=r(11).String.padEnd},function(t,n,r){"use strict";var e=r(1),i=r(120),o=r(61),u=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);e(e.P+e.F*u,"String",{padEnd:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},function(t,n,r){r(286),t.exports=r(67).f("asyncIterator")},function(t,n,r){r(93)("asyncIterator")},function(t,n,r){r(288),t.exports=r(11).Object.getOwnPropertyDescriptors},function(t,n,r){var e=r(1),i=r(119),o=r(18),u=r(21),c=r(84);e(e.S,"Object",{getOwnPropertyDescriptors:function(t){for(var n,r,e=o(t),f=u.f,a=i(e),s={},l=0;a.length>l;)void 0!==(r=f(e,n=a[l++]))&&c(s,n,r);return s}})},function(t,n,r){r(290),t.exports=r(11).Object.values},function(t,n,r){var e=r(1),i=r(121)(!1);e(e.S,"Object",{values:function(t){return i(t)}})},function(t,n,r){r(292),t.exports=r(11).Object.entries},function(t,n,r){var e=r(1),i=r(121)(!0);e(e.S,"Object",{entries:function(t){return i(t)}})},function(t,n,r){"use strict";r(113),r(294),t.exports=r(11).Promise.finally},function(t,n,r){"use strict";var e=r(1),i=r(11),o=r(3),u=r(51),c=r(115);e(e.P+e.R,"Promise",{finally:function(t){var n=u(this,i.Promise||o.Promise),r="function"==typeof t;return this.then(r?function(r){return c(n,t()).then((function(){return r}))}:t,r?function(r){return c(n,t()).then((function(){throw r}))}:t)}})},function(t,n,r){r(296),r(297),r(298),t.exports=r(11)},function(t,n,r){var e=r(3),i=r(1),o=r(61),u=[].slice,c=/MSIE .\./.test(o),f=function(t){return function(n,r){var e=arguments.length>2,i=!!e&&u.call(arguments,2);return t(e?function(){("function"==typeof n?n:Function(n)).apply(this,i)}:n,r)}};i(i.G+i.B+i.F*c,{setTimeout:f(e.setTimeout),setInterval:f(e.setInterval)})},function(t,n,r){var e=r(1),i=r(90);e(e.G+e.B,{setImmediate:i.set,clearImmediate:i.clear})},function(t,n,r){for(var e=r(87),i=r(35),o=r(12),u=r(3),c=r(17),f=r(42),a=r(7),s=a("iterator"),l=a("toStringTag"),h=f.Array,v={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(v),d=0;d=0;--i){var o=this.tryEntries[i],u=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=e.call(o,"catchLoc"),f=e.call(o,"finallyLoc");if(c&&f){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&e.call(i,"finallyLoc")&&this.prev=0;--n){var r=this.tryEntries[n];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),s}},catch:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc===t){var e=r.completion;if("throw"===e.type){var i=e.arg;E(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:F(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}}}function d(t,n,r,e){var i=n&&n.prototype instanceof y?n:y,o=Object.create(i.prototype),u=new O(e||[]);return o._invoke=function(t,n,r){var e="suspendedStart";return function(i,o){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===i)throw o;return P()}for(r.method=i,r.arg=o;;){var u=r.delegate;if(u){var c=w(u,r);if(c){if(c===s)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===e)throw e="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);e="executing";var f=g(t,n,r);if("normal"===f.type){if(e=r.done?"completed":"suspendedYield",f.arg===s)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(e="completed",r.method="throw",r.arg=f.arg)}}}(t,r,u),o}function g(t,n,r){try{return{type:"normal",arg:t.call(n,r)}}catch(t){return{type:"throw",arg:t}}}function y(){}function x(){}function m(){}function b(t){["next","throw","return"].forEach((function(n){t[n]=function(t){return this._invoke(n,t)}}))}function S(t){var n;this._invoke=function(r,i){function o(){return new Promise((function(n,o){!function n(r,i,o,u){var c=g(t[r],t,i);if("throw"!==c.type){var f=c.arg,a=f.value;return a&&"object"==typeof a&&e.call(a,"__await")?Promise.resolve(a.__await).then((function(t){n("next",t,o,u)}),(function(t){n("throw",t,o,u)})):Promise.resolve(a).then((function(t){f.value=t,o(f)}),(function(t){return n("throw",t,o,u)}))}u(c.arg)}(r,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(t,n){var r=t.iterator[n.method];if(void 0===r){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=void 0,w(t,n),"throw"===n.method))return s;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var e=g(r,t.iterator,n.arg);if("throw"===e.type)return n.method="throw",n.arg=e.arg,n.delegate=null,s;var i=e.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=void 0),n.delegate=null,s):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,s)}function _(t){var n={tryLoc:t[0]};1 in t&&(n.catchLoc=t[1]),2 in t&&(n.finallyLoc=t[2],n.afterLoc=t[3]),this.tryEntries.push(n)}function E(t){var n=t.completion||{};n.type="normal",delete n.arg,t.completion=n}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function F(t){if(t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function n(){for(;++r0?i(e(t),9007199254740991):0}},function(t,n,r){var e=r(5),i=r(93),o=r(29),u=Object.defineProperty;n.f=r(10)?Object.defineProperty:function(t,n,r){if(e(t),n=o(n,!0),e(r),i)try{return u(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},function(t,n,r){t.exports=!r(4)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n){var r=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=r)},function(t,n,r){var e=r(3),i=r(16),o=r(15),u=r(33)("src"),c=r(135),f=(""+c).split("toString");r(11).inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,r,c){var a="function"==typeof r;a&&(o(r,"name")||i(r,"name",n)),t[n]!==r&&(a&&(o(r,u)||i(r,u,t[n]?""+t[n]:f.join(String(n)))),t===e?t[n]=r:c?t[n]?t[n]=r:i(t,n,r):(delete t[n],i(t,n,r)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[u]||c.call(this)}))},function(t,n,r){var e=r(27);t.exports=function(t){return Object(e(t))}},function(t,n,r){var e=r(1),i=r(4),o=r(27),u=/"/g,c=function(t,n,r,e){var i=String(o(t)),c="<"+n;return""!==r&&(c+=" "+r+'="'+String(e).replace(u,""")+'"'),c+">"+i+""};t.exports=function(t,n){var r={};r[t]=n(c),e(e.P+e.F*i((function(){var n=""[t]('"');return n!==n.toLowerCase()||n.split('"').length>3})),"String",r)}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(9),i=r(32);t.exports=r(10)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n,r){var e=r(48),i=r(27);t.exports=function(t){return e(i(t))}},,function(t,n,r){"use strict";var e=r(4);t.exports=function(t,n){return!!t&&e((function(){n?t.call(null,(function(){}),1):t.call(null)}))}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},function(t,n,r){var e=r(49),i=r(32),o=r(17),u=r(29),c=r(15),f=r(93),a=Object.getOwnPropertyDescriptor;n.f=r(10)?a:function(t,n){if(t=o(t),n=u(n,!0),f)try{return a(t,n)}catch(t){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},function(t,n,r){var e=r(1),i=r(11),o=r(4);t.exports=function(t,n){var r=(i.Object||{})[t]||Object[t],u={};u[t]=n(r),e(e.S+e.F*o((function(){r(1)})),"Object",u)}},function(t,n,r){var e=r(24),i=r(48),o=r(13),u=r(8),c=r(225);t.exports=function(t,n){var r=1==t,f=2==t,a=3==t,s=4==t,l=6==t,h=5==t||l,v=n||c;return function(n,c,p){for(var d,g,y=o(n),x=i(y),m=e(c,p,3),b=u(x.length),S=0,w=r?v(n,b):f?v(n,0):void 0;b>S;S++)if((h||S in x)&&(g=m(d=x[S],S,y),t))if(r)w[S]=g;else if(g)switch(t){case 3:return!0;case 5:return d;case 6:return S;case 2:w.push(d)}else if(s)return!1;return l?-1:a||s?s:w}}},function(t,n,r){var e=r(25);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){"use strict";if(r(10)){var e=r(34),i=r(3),o=r(4),u=r(1),c=r(63),f=r(91),a=r(24),s=r(45),l=r(32),h=r(16),v=r(46),p=r(20),d=r(8),g=r(119),y=r(36),x=r(29),m=r(15),b=r(50),S=r(6),w=r(13),_=r(83),E=r(37),O=r(39),F=r(38).f,P=r(85),M=r(33),A=r(7),I=r(23),j=r(53),N=r(51),T=r(87),L=r(42),R=r(56),k=r(44),C=r(86),D=r(110),W=r(9),U=r(21),V=W.f,B=U.f,G=i.RangeError,z=i.TypeError,Y=i.Uint8Array,q=Array.prototype,$=f.ArrayBuffer,K=f.DataView,J=I(0),X=I(2),H=I(3),Z=I(4),Q=I(5),tt=I(6),nt=j(!0),rt=j(!1),et=T.values,it=T.keys,ot=T.entries,ut=q.lastIndexOf,ct=q.reduce,ft=q.reduceRight,at=q.join,st=q.sort,lt=q.slice,ht=q.toString,vt=q.toLocaleString,pt=A("iterator"),dt=A("toStringTag"),gt=M("typed_constructor"),yt=M("def_constructor"),xt=c.CONSTR,mt=c.TYPED,bt=c.VIEW,St=I(1,(function(t,n){return Ft(N(t,t[yt]),n)})),wt=o((function(){return 1===new Y(new Uint16Array([1]).buffer)[0]})),_t=!!Y&&!!Y.prototype.set&&o((function(){new Y(1).set({})})),Et=function(t,n){var r=p(t);if(r<0||r%n)throw G("Wrong offset!");return r},Ot=function(t){if(S(t)&&mt in t)return t;throw z(t+" is not a typed array!")},Ft=function(t,n){if(!S(t)||!(gt in t))throw z("It is not a typed array constructor!");return new t(n)},Pt=function(t,n){return Mt(N(t,t[yt]),n)},Mt=function(t,n){for(var r=0,e=n.length,i=Ft(t,e);e>r;)i[r]=n[r++];return i},At=function(t,n,r){V(t,n,{get:function(){return this._d[r]}})},It=function(t){var n,r,e,i,o,u,c=w(t),f=arguments.length,s=f>1?arguments[1]:void 0,l=void 0!==s,h=P(c);if(null!=h&&!_(h)){for(u=h.call(c),e=[],n=0;!(o=u.next()).done;n++)e.push(o.value);c=e}for(l&&f>2&&(s=a(s,arguments[2],2)),n=0,r=d(c.length),i=Ft(this,r);r>n;n++)i[n]=l?s(c[n],n):c[n];return i},jt=function(){for(var t=0,n=arguments.length,r=Ft(this,n);n>t;)r[t]=arguments[t++];return r},Nt=!!Y&&o((function(){vt.call(new Y(1))})),Tt=function(){return vt.apply(Nt?lt.call(Ot(this)):Ot(this),arguments)},Lt={copyWithin:function(t,n){return D.call(Ot(this),t,n,arguments.length>2?arguments[2]:void 0)},every:function(t){return Z(Ot(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return C.apply(Ot(this),arguments)},filter:function(t){return Pt(this,X(Ot(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(Ot(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){J(Ot(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return rt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return nt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return at.apply(Ot(this),arguments)},lastIndexOf:function(t){return ut.apply(Ot(this),arguments)},map:function(t){return St(Ot(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ct.apply(Ot(this),arguments)},reduceRight:function(t){return ft.apply(Ot(this),arguments)},reverse:function(){for(var t,n=Ot(this).length,r=Math.floor(n/2),e=0;e1?arguments[1]:void 0)},sort:function(t){return st.call(Ot(this),t)},subarray:function(t,n){var r=Ot(this),e=r.length,i=y(t,e);return new(N(r,r[yt]))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,d((void 0===n?e:y(n,e))-i))}},Rt=function(t,n){return Pt(this,lt.call(Ot(this),t,n))},kt=function(t){Ot(this);var n=Et(arguments[1],1),r=this.length,e=w(t),i=d(e.length),o=0;if(i+n>r)throw G("Wrong length!");for(;o255?255:255&e),i.v[v](r*n+i.o,e,wt)}(this,r,t)},enumerable:!0})};m?(p=r((function(t,r,e,i){s(t,p,a,"_d");var o,u,c,f,l=0,v=0;if(S(r)){if(!(r instanceof $||"ArrayBuffer"==(f=b(r))||"SharedArrayBuffer"==f))return mt in r?Mt(p,r):It.call(p,r);o=r,v=Et(e,n);var y=r.byteLength;if(void 0===i){if(y%n)throw G("Wrong length!");if((u=y-v)<0)throw G("Wrong length!")}else if((u=d(i)*n)+v>y)throw G("Wrong length!");c=u/n}else c=g(r),o=new $(u=c*n);for(h(t,"_d",{b:o,o:v,l:u,e:c,v:new K(o)});ldocument.F=Object<\/script>"),t.close(),f=t.F;e--;)delete f.prototype[o[e]];return f()};t.exports=Object.create||function(t,n){var r;return null!==t?(c.prototype=e(t),r=new c,c.prototype=null,r[u]=t):r=f(),void 0===n?r:i(r,n)}},function(t,n,r){var e=r(95),i=r(69).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,i)}},function(t,n,r){var e=r(15),i=r(13),o=r(68)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),e(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,n,r){var e=r(6);t.exports=function(t,n){if(!e(t)||t._t!==n)throw TypeError("Incompatible receiver, "+n+" required!");return t}},function(t,n,r){var e=r(9).f,i=r(15),o=r(7)("toStringTag");t.exports=function(t,n,r){t&&!i(t=r?t:t.prototype,o)&&e(t,o,{configurable:!0,value:n})}},function(t,n){t.exports={}},function(t,n,r){var e=r(7)("unscopables"),i=Array.prototype;null==i[e]&&r(16)(i,e,{}),t.exports=function(t){i[e][t]=!0}},function(t,n,r){"use strict";var e=r(3),i=r(9),o=r(10),u=r(7)("species");t.exports=function(t){var n=e[t];o&&n&&!n[u]&&i.f(n,u,{configurable:!0,get:function(){return this}})}},function(t,n){t.exports=function(t,n,r,e){if(!(t instanceof n)||void 0!==e&&e in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,n,r){var e=r(12);t.exports=function(t,n,r){for(var i in n)e(t,i,n[i],r);return t}},,function(t,n,r){var e=r(26);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,r){var e=r(26),i=r(7)("toStringTag"),o="Arguments"==e(function(){return arguments}());t.exports=function(t){var n,r,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?r:o?e(n):"Object"==(u=e(n))&&"function"==typeof n.callee?"Arguments":u}},function(t,n,r){var e=r(5),i=r(25),o=r(7)("species");t.exports=function(t,n){var r,u=e(t).constructor;return void 0===u||null==(r=e(u)[o])?n:i(r)}},function(t,n,r){var e=r(11),i=r(3),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:e.version,mode:r(34)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){var e=r(17),i=r(8),o=r(36);t.exports=function(t){return function(n,r,u){var c,f=e(n),a=i(f.length),s=o(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}}},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,r){var e=r(1),i=r(27),o=r(4),u=r(73),c="["+u+"]",f=RegExp("^"+c+c+"*"),a=RegExp(c+c+"*$"),s=function(t,n,r){var i={},c=o((function(){return!!u[t]()||"​…"!="​…"[t]()})),f=i[t]=c?n(l):u[t];r&&(i[r]=f),e(e.P+e.F*c,"String",i)},l=s.trim=function(t,n){return t=String(i(t)),1&n&&(t=t.replace(f,"")),2&n&&(t=t.replace(a,"")),t};t.exports=s},function(t,n,r){var e=r(7)("iterator"),i=!1;try{var o=[7][e]();o.return=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var r=!1;try{var o=[7],u=o[e]();u.next=function(){return{done:r=!0}},o[e]=function(){return u},t(o)}catch(t){}return r}},function(t,n,r){"use strict";var e=r(5);t.exports=function(){var t=e(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,r){"use strict";var e=r(50),i=RegExp.prototype.exec;t.exports=function(t,n){var r=t.exec;if("function"==typeof r){var o=r.call(t,n);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==e(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},function(t,n,r){"use strict";r(112);var e=r(12),i=r(16),o=r(4),u=r(27),c=r(7),f=r(88),a=c("species"),s=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),l=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(t,n,r){var h=c(t),v=!o((function(){var n={};return n[h]=function(){return 7},7!=""[t](n)})),p=v?!o((function(){var n=!1,r=/a/;return r.exec=function(){return n=!0,null},"split"===t&&(r.constructor={},r.constructor[a]=function(){return r}),r[h](""),!n})):void 0;if(!v||!p||"replace"===t&&!s||"split"===t&&!l){var d=/./[h],g=r(u,h,""[t],(function(t,n,r,e,i){return n.exec===f?v&&!i?{done:!0,value:d.call(n,r,e)}:{done:!0,value:t.call(r,n,e)}:{done:!1}})),y=g[0],x=g[1];e(String.prototype,t,y),i(RegExp.prototype,h,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}}},function(t,n,r){var e=r(24),i=r(108),o=r(83),u=r(5),c=r(8),f=r(85),a={},s={};(n=t.exports=function(t,n,r,l,h){var v,p,d,g,y=h?function(){return t}:f(t),x=e(r,l,n?2:1),m=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(o(y)){for(v=c(t.length);v>m;m++)if((g=n?x(u(p=t[m])[0],p[1]):x(t[m]))===a||g===s)return g}else for(d=y.call(t);!(p=d.next()).done;)if((g=i(d,x,p.value,n))===a||g===s)return g}).BREAK=a,n.RETURN=s},function(t,n,r){var e=r(3).navigator;t.exports=e&&e.userAgent||""},function(t,n,r){"use strict";var e=r(3),i=r(1),o=r(12),u=r(46),c=r(30),f=r(60),a=r(45),s=r(6),l=r(4),h=r(56),v=r(41),p=r(74);t.exports=function(t,n,r,d,g,y){var x=e[t],m=x,b=g?"set":"add",S=m&&m.prototype,w={},_=function(t){var n=S[t];o(S,t,"delete"==t||"has"==t?function(t){return!(y&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return y&&!s(t)?void 0:n.call(this,0===t?0:t)}:"add"==t?function(t){return n.call(this,0===t?0:t),this}:function(t,r){return n.call(this,0===t?0:t,r),this})};if("function"==typeof m&&(y||S.forEach&&!l((function(){(new m).entries().next()})))){var E=new m,O=E[b](y?{}:-0,1)!=E,F=l((function(){E.has(1)})),P=h((function(t){new m(t)})),M=!y&&l((function(){for(var t=new m,n=5;n--;)t[b](n,n);return!t.has(-0)}));P||((m=n((function(n,r){a(n,m,t);var e=p(new x,n,m);return null!=r&&f(r,g,e[b],e),e}))).prototype=S,S.constructor=m),(F||M)&&(_("delete"),_("has"),g&&_("get")),(M||O)&&_(b),y&&S.clear&&delete S.clear}else m=d.getConstructor(n,t,g,b),u(m.prototype,r),c.NEED=!0;return v(m,t),w[t]=m,i(i.G+i.W+i.F*(m!=x),w),y||d.setStrong(m,t,g),m}},function(t,n,r){for(var e,i=r(3),o=r(16),u=r(33),c=u("typed_array"),f=u("view"),a=!(!i.ArrayBuffer||!i.DataView),s=a,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(e=i[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,f,!0)):s=!1;t.exports={ABV:a,CONSTR:s,TYPED:c,VIEW:f}},,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var e=r(6),i=r(3).document,o=e(i)&&e(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,n,r){n.f=r(7)},function(t,n,r){var e=r(52)("keys"),i=r(33);t.exports=function(t){return e[t]||(e[t]=i(t))}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,r){var e=r(26);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(3).document;t.exports=e&&e.documentElement},function(t,n,r){var e=r(6),i=r(5),o=function(t,n){if(i(t),!e(n)&&null!==n)throw TypeError(n+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,e){try{(e=r(24)(Function.call,r(21).f(Object.prototype,"__proto__").set,2))(t,[]),n=!(t instanceof Array)}catch(t){n=!0}return function(t,r){return o(t,r),n?t.__proto__=r:e(t,r),t}}({},!1):void 0),check:o}},function(t,n){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,n,r){var e=r(6),i=r(72).set;t.exports=function(t,n,r){var o,u=n.constructor;return u!==r&&"function"==typeof u&&(o=u.prototype)!==r.prototype&&e(o)&&i&&i(t,o),t}},function(t,n,r){"use strict";var e=r(20),i=r(27);t.exports=function(t){var n=String(i(this)),r="",o=e(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(n+=n))1&o&&(r+=n);return r}},function(t,n){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,n){var r=Math.expm1;t.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:r},function(t,n,r){var e=r(20),i=r(27);t.exports=function(t){return function(n,r){var o,u,c=String(i(n)),f=e(r),a=c.length;return f<0||f>=a?t?"":void 0:(o=c.charCodeAt(f))<55296||o>56319||f+1===a||(u=c.charCodeAt(f+1))<56320||u>57343?t?c.charAt(f):o:t?c.slice(f,f+2):u-56320+(o-55296<<10)+65536}}},function(t,n,r){"use strict";var e=r(34),i=r(1),o=r(12),u=r(16),c=r(42),f=r(107),a=r(41),s=r(39),l=r(7)("iterator"),h=!([].keys&&"next"in[].keys()),v=function(){return this};t.exports=function(t,n,r,p,d,g,y){f(r,n,p);var x,m,b,S=function(t){if(!h&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new r(this,t)}}return function(){return new r(this,t)}},w=n+" Iterator",_="values"==d,E=!1,O=t.prototype,F=O[l]||O["@@iterator"]||d&&O[d],P=F||S(d),M=d?_?S("entries"):P:void 0,A="Array"==n&&O.entries||F;if(A&&(b=s(A.call(new t)))!==Object.prototype&&b.next&&(a(b,w,!0),e||"function"==typeof b[l]||u(b,l,v)),_&&F&&"values"!==F.name&&(E=!0,P=function(){return F.call(this)}),e&&!y||!h&&!E&&O[l]||u(O,l,P),c[n]=P,c[w]=v,d)if(x={values:_?P:S("values"),keys:g?P:S("keys"),entries:M},y)for(m in x)m in O||o(O,m,x[m]);else i(i.P+i.F*(h||E),n,x);return x}},function(t,n,r){var e=r(81),i=r(27);t.exports=function(t,n,r){if(e(n))throw TypeError("String#"+r+" doesn't accept regex!");return String(i(t))}},function(t,n,r){var e=r(6),i=r(26),o=r(7)("match");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,r){var e=r(7)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(r){try{return n[e]=!1,!"/./"[t](n)}catch(t){}}return!0}},function(t,n,r){var e=r(42),i=r(7)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(e.Array===t||o[i]===t)}},function(t,n,r){"use strict";var e=r(9),i=r(32);t.exports=function(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]=r}},function(t,n,r){var e=r(50),i=r(7)("iterator"),o=r(42);t.exports=r(11).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[e(t)]}},function(t,n,r){"use strict";var e=r(13),i=r(36),o=r(8);t.exports=function(t){for(var n=e(this),r=o(n.length),u=arguments.length,c=i(u>1?arguments[1]:void 0,r),f=u>2?arguments[2]:void 0,a=void 0===f?r:i(f,r);a>c;)n[c++]=t;return n}},function(t,n,r){"use strict";var e=r(43),i=r(111),o=r(42),u=r(17);t.exports=r(79)(Array,"Array",(function(t,n){this._t=u(t),this._i=0,this._k=n}),(function(){var t=this._t,n=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==n?r:"values"==n?t[r]:[r,t[r]])}),"values"),o.Arguments=o.Array,e("keys"),e("values"),e("entries")},function(t,n,r){"use strict";var e,i,o=r(57),u=RegExp.prototype.exec,c=String.prototype.replace,f=u,a=(e=/a/,i=/b*/g,u.call(e,"a"),u.call(i,"a"),0!==e.lastIndex||0!==i.lastIndex),s=void 0!==/()??/.exec("")[1];(a||s)&&(f=function(t){var n,r,e,i,f=this;return s&&(r=new RegExp("^"+f.source+"$(?!\\s)",o.call(f))),a&&(n=f.lastIndex),e=u.call(f,t),a&&e&&(f.lastIndex=f.global?e.index+e[0].length:n),s&&e&&e.length>1&&c.call(e[0],r,(function(){for(i=1;ir;)n.push(arguments[r++]);return y[++g]=function(){c("function"==typeof t?t:Function(t),n)},e(g),g},v=function(t){delete y[t]},"process"==r(26)(l)?e=function(t){l.nextTick(u(x,t,1))}:d&&d.now?e=function(t){d.now(u(x,t,1))}:p?(o=(i=new p).port2,i.port1.onmessage=m,e=u(o.postMessage,o,1)):s.addEventListener&&"function"==typeof postMessage&&!s.importScripts?(e=function(t){s.postMessage(t+"","*")},s.addEventListener("message",m,!1)):e="onreadystatechange"in a("script")?function(t){f.appendChild(a("script")).onreadystatechange=function(){f.removeChild(this),x.call(t)}}:function(t){setTimeout(u(x,t,1),0)}),t.exports={set:h,clear:v}},function(t,n,r){"use strict";var e=r(3),i=r(10),o=r(34),u=r(63),c=r(16),f=r(46),a=r(4),s=r(45),l=r(20),h=r(8),v=r(119),p=r(38).f,d=r(9).f,g=r(86),y=r(41),x=e.ArrayBuffer,m=e.DataView,b=e.Math,S=e.RangeError,w=e.Infinity,_=x,E=b.abs,O=b.pow,F=b.floor,P=b.log,M=b.LN2,A=i?"_b":"buffer",I=i?"_l":"byteLength",j=i?"_o":"byteOffset";function N(t,n,r){var e,i,o,u=new Array(r),c=8*r-n-1,f=(1<>1,s=23===n?O(2,-24)-O(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=E(t))!=t||t===w?(i=t!=t?1:0,e=f):(e=F(P(t)/M),t*(o=O(2,-e))<1&&(e--,o*=2),(t+=e+a>=1?s/o:s*O(2,1-a))*o>=2&&(e++,o/=2),e+a>=f?(i=0,e=f):e+a>=1?(i=(t*o-1)*O(2,n),e+=a):(i=t*O(2,a-1)*O(2,n),e=0));n>=8;u[l++]=255&i,i/=256,n-=8);for(e=e<0;u[l++]=255&e,e/=256,c-=8);return u[--l]|=128*h,u}function T(t,n,r){var e,i=8*r-n-1,o=(1<>1,c=i-7,f=r-1,a=t[f--],s=127&a;for(a>>=7;c>0;s=256*s+t[f],f--,c-=8);for(e=s&(1<<-c)-1,s>>=-c,c+=n;c>0;e=256*e+t[f],f--,c-=8);if(0===s)s=1-u;else{if(s===o)return e?NaN:a?-w:w;e+=O(2,n),s-=u}return(a?-1:1)*e*O(2,s-n)}function L(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function R(t){return[255&t]}function k(t){return[255&t,t>>8&255]}function C(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function D(t){return N(t,52,8)}function W(t){return N(t,23,4)}function U(t,n,r){d(t.prototype,n,{get:function(){return this[r]}})}function V(t,n,r,e){var i=v(+r);if(i+n>t[I])throw S("Wrong index!");var o=t[A]._b,u=i+t[j],c=o.slice(u,u+n);return e?c:c.reverse()}function B(t,n,r,e,i,o){var u=v(+r);if(u+n>t[I])throw S("Wrong index!");for(var c=t[A]._b,f=u+t[j],a=e(+i),s=0;sq;)(G=Y[q++])in x||c(x,G,_[G]);o||(z.constructor=x)}var $=new m(new x(2)),K=m.prototype.setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||f(m.prototype,{setInt8:function(t,n){K.call(this,t,n<<24>>24)},setUint8:function(t,n){K.call(this,t,n<<24>>24)}},!0)}else x=function(t){s(this,x,"ArrayBuffer");var n=v(t);this._b=g.call(new Array(n),0),this[I]=n},m=function(t,n,r){s(this,m,"DataView"),s(t,x,"DataView");var e=t[I],i=l(n);if(i<0||i>e)throw S("Wrong offset!");if(i+(r=void 0===r?e-i:h(r))>e)throw S("Wrong length!");this[A]=t,this[j]=i,this[I]=r},i&&(U(x,"byteLength","_l"),U(m,"buffer","_b"),U(m,"byteLength","_l"),U(m,"byteOffset","_o")),f(m.prototype,{getInt8:function(t){return V(this,1,t)[0]<<24>>24},getUint8:function(t){return V(this,1,t)[0]},getInt16:function(t){var n=V(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function(t){var n=V(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function(t){return L(V(this,4,t,arguments[1]))},getUint32:function(t){return L(V(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return T(V(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return T(V(this,8,t,arguments[1]),52,8)},setInt8:function(t,n){B(this,1,t,R,n)},setUint8:function(t,n){B(this,1,t,R,n)},setInt16:function(t,n){B(this,2,t,k,n,arguments[2])},setUint16:function(t,n){B(this,2,t,k,n,arguments[2])},setInt32:function(t,n){B(this,4,t,C,n,arguments[2])},setUint32:function(t,n){B(this,4,t,C,n,arguments[2])},setFloat32:function(t,n){B(this,4,t,W,n,arguments[2])},setFloat64:function(t,n){B(this,8,t,D,n,arguments[2])}});y(x,"ArrayBuffer"),y(m,"DataView"),c(m.prototype,u.VIEW,!0),n.ArrayBuffer=x,n.DataView=m},,function(t,n,r){t.exports=!r(10)&&!r(4)((function(){return 7!=Object.defineProperty(r(66)("div"),"a",{get:function(){return 7}}).a}))},function(t,n,r){var e=r(3),i=r(11),o=r(34),u=r(67),c=r(9).f;t.exports=function(t){var n=i.Symbol||(i.Symbol=o?{}:e.Symbol||{});"_"==t.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},function(t,n,r){var e=r(15),i=r(17),o=r(53)(!1),u=r(68)("IE_PROTO");t.exports=function(t,n){var r,c=i(t),f=0,a=[];for(r in c)r!=u&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~o(a,r)||a.push(r));return a}},function(t,n,r){var e=r(9),i=r(5),o=r(35);t.exports=r(10)?Object.defineProperties:function(t,n){i(t);for(var r,u=o(n),c=u.length,f=0;c>f;)e.f(t,r=u[f++],n[r]);return t}},function(t,n,r){var e=r(17),i=r(38).f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return u&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return u.slice()}}(t):i(e(t))}},function(t,n,r){"use strict";var e=r(35),i=r(54),o=r(49),u=r(13),c=r(48),f=Object.assign;t.exports=!f||r(4)((function(){var t={},n={},r=Symbol(),e="abcdefghijklmnopqrst";return t[r]=7,e.split("").forEach((function(t){n[t]=t})),7!=f({},t)[r]||Object.keys(f({},n)).join("")!=e}))?function(t,n){for(var r=u(t),f=arguments.length,a=1,s=i.f,l=o.f;f>a;)for(var h,v=c(arguments[a++]),p=s?e(v).concat(s(v)):e(v),d=p.length,g=0;d>g;)l.call(v,h=p[g++])&&(r[h]=v[h]);return r}:f},function(t,n){t.exports=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,r){"use strict";var e=r(25),i=r(6),o=r(101),u=[].slice,c={},f=function(t,n,r){if(!(n in c)){for(var e=[],i=0;i>>0||(u.test(r)?16:10))}:e},function(t,n,r){var e=r(3).parseFloat,i=r(55).trim;t.exports=1/e(r(73)+"-0")!=-1/0?function(t){var n=i(String(t),3),r=e(n);return 0===r&&"-"==n.charAt(0)?-0:r}:e},function(t,n,r){var e=r(26);t.exports=function(t,n){if("number"!=typeof t&&"Number"!=e(t))throw TypeError(n);return+t}},function(t,n,r){var e=r(6),i=Math.floor;t.exports=function(t){return!e(t)&&isFinite(t)&&i(t)===t}},function(t,n){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){"use strict";var e=r(37),i=r(32),o=r(41),u={};r(16)(u,r(7)("iterator"),(function(){return this})),t.exports=function(t,n,r){t.prototype=e(u,{next:i(1,r)}),o(t,n+" Iterator")}},function(t,n,r){var e=r(5);t.exports=function(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o=t.return;throw void 0!==o&&e(o.call(t)),n}}},function(t,n,r){var e=r(25),i=r(13),o=r(48),u=r(8);t.exports=function(t,n,r,c,f){e(n);var a=i(t),s=o(a),l=u(a.length),h=f?l-1:0,v=f?-1:1;if(r<2)for(;;){if(h in s){c=s[h],h+=v;break}if(h+=v,f?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;f?h>=0:l>h;h+=v)h in s&&(c=n(c,s[h],h,a));return c}},function(t,n,r){"use strict";var e=r(13),i=r(36),o=r(8);t.exports=[].copyWithin||function(t,n){var r=e(this),u=o(r.length),c=i(t,u),f=i(n,u),a=arguments.length>2?arguments[2]:void 0,s=Math.min((void 0===a?u:i(a,u))-f,u-c),l=1;for(f0;)f in r?r[c]=r[f]:delete r[c],c+=l,f+=l;return r}},function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},function(t,n,r){"use strict";var e=r(88);r(1)({target:"RegExp",proto:!0,forced:e!==/./.exec},{exec:e})},function(t,n,r){r(10)&&"g"!=/./g.flags&&r(9).f(RegExp.prototype,"flags",{configurable:!0,get:r(57)})},function(t,n,r){"use strict";var e,i,o,u,c=r(34),f=r(3),a=r(24),s=r(50),l=r(1),h=r(6),v=r(25),p=r(45),d=r(60),g=r(51),y=r(90).set,x=r(246)(),m=r(115),b=r(247),S=r(61),w=r(116),_=f.TypeError,E=f.process,O=E&&E.versions,F=O&&O.v8||"",P=f.Promise,M="process"==s(E),A=function(){},I=i=m.f,j=!!function(){try{var t=P.resolve(1),n=(t.constructor={})[r(7)("species")]=function(t){t(A,A)};return(M||"function"==typeof PromiseRejectionEvent)&&t.then(A)instanceof n&&0!==F.indexOf("6.6")&&-1===S.indexOf("Chrome/66")}catch(t){}}(),N=function(t){var n;return!(!h(t)||"function"!=typeof(n=t.then))&&n},T=function(t,n){if(!t._n){t._n=!0;var r=t._c;x((function(){for(var e=t._v,i=1==t._s,o=0,u=function(n){var r,o,u,c=i?n.ok:n.fail,f=n.resolve,a=n.reject,s=n.domain;try{c?(i||(2==t._h&&k(t),t._h=1),!0===c?r=e:(s&&s.enter(),r=c(e),s&&(s.exit(),u=!0)),r===n.promise?a(_("Promise-chain cycle")):(o=N(r))?o.call(r,f,a):f(r)):a(e)}catch(t){s&&!u&&s.exit(),a(t)}};r.length>o;)u(r[o++]);t._c=[],t._n=!1,n&&!t._h&&L(t)}))}},L=function(t){y.call(f,(function(){var n,r,e,i=t._v,o=R(t);if(o&&(n=b((function(){M?E.emit("unhandledRejection",i,t):(r=f.onunhandledrejection)?r({promise:t,reason:i}):(e=f.console)&&e.error&&e.error("Unhandled promise rejection",i)})),t._h=M||R(t)?2:1),t._a=void 0,o&&n.e)throw n.v}))},R=function(t){return 1!==t._h&&0===(t._a||t._c).length},k=function(t){y.call(f,(function(){var n;M?E.emit("rejectionHandled",t):(n=f.onrejectionhandled)&&n({promise:t,reason:t._v})}))},C=function(t){var n=this;n._d||(n._d=!0,(n=n._w||n)._v=t,n._s=2,n._a||(n._a=n._c.slice()),T(n,!0))},D=function(t){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw _("Promise can't be resolved itself");(n=N(t))?x((function(){var e={_w:r,_d:!1};try{n.call(t,a(D,e,1),a(C,e,1))}catch(t){C.call(e,t)}})):(r._v=t,r._s=1,T(r,!1))}catch(t){C.call({_w:r,_d:!1},t)}}};j||(P=function(t){p(this,P,"Promise","_h"),v(t),e.call(this);try{t(a(D,this,1),a(C,this,1))}catch(t){C.call(this,t)}},(e=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(46)(P.prototype,{then:function(t,n){var r=I(g(this,P));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=M?E.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&T(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new e;this.promise=t,this.resolve=a(D,t,1),this.reject=a(C,t,1)},m.f=I=function(t){return t===P||t===u?new o(t):i(t)}),l(l.G+l.W+l.F*!j,{Promise:P}),r(41)(P,"Promise"),r(44)("Promise"),u=r(11).Promise,l(l.S+l.F*!j,"Promise",{reject:function(t){var n=I(this);return(0,n.reject)(t),n.promise}}),l(l.S+l.F*(c||!j),"Promise",{resolve:function(t){return w(c&&this===u?P:this,t)}}),l(l.S+l.F*!(j&&r(56)((function(t){P.all(t).catch(A)}))),"Promise",{all:function(t){var n=this,r=I(n),e=r.resolve,i=r.reject,o=b((function(){var r=[],o=0,u=1;d(t,!1,(function(t){var c=o++,f=!1;r.push(void 0),u++,n.resolve(t).then((function(t){f||(f=!0,r[c]=t,--u||e(r))}),i)})),--u||e(r)}));return o.e&&i(o.v),r.promise},race:function(t){var n=this,r=I(n),e=r.reject,i=b((function(){d(t,!1,(function(t){n.resolve(t).then(r.resolve,e)}))}));return i.e&&e(i.v),r.promise}})},function(t,n,r){"use strict";var e=r(25);function i(t){var n,r;this.promise=new t((function(t,e){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=t,r=e})),this.resolve=e(n),this.reject=e(r)}t.exports.f=function(t){return new i(t)}},function(t,n,r){var e=r(5),i=r(6),o=r(115);t.exports=function(t,n){if(e(t),i(n)&&n.constructor===t)return n;var r=o.f(t);return(0,r.resolve)(n),r.promise}},function(t,n,r){"use strict";var e=r(9).f,i=r(37),o=r(46),u=r(24),c=r(45),f=r(60),a=r(79),s=r(111),l=r(44),h=r(10),v=r(30).fastKey,p=r(40),d=h?"_s":"size",g=function(t,n){var r,e=v(n);if("F"!==e)return t._i[e];for(r=t._f;r;r=r.n)if(r.k==n)return r};t.exports={getConstructor:function(t,n,r,a){var s=t((function(t,e){c(t,s,n,"_i"),t._t=n,t._i=i(null),t._f=void 0,t._l=void 0,t[d]=0,null!=e&&f(e,r,t[a],t)}));return o(s.prototype,{clear:function(){for(var t=p(this,n),r=t._i,e=t._f;e;e=e.n)e.r=!0,e.p&&(e.p=e.p.n=void 0),delete r[e.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var r=p(this,n),e=g(r,t);if(e){var i=e.n,o=e.p;delete r._i[e.i],e.r=!0,o&&(o.n=i),i&&(i.p=o),r._f==e&&(r._f=i),r._l==e&&(r._l=o),r[d]--}return!!e},forEach:function(t){p(this,n);for(var r,e=u(t,arguments.length>1?arguments[1]:void 0,3);r=r?r.n:this._f;)for(e(r.v,r.k,this);r&&r.r;)r=r.p},has:function(t){return!!g(p(this,n),t)}}),h&&e(s.prototype,"size",{get:function(){return p(this,n)[d]}}),s},def:function(t,n,r){var e,i,o=g(t,n);return o?o.v=r:(t._l=o={i:i=v(n,!0),k:n,v:r,p:e=t._l,n:void 0,r:!1},t._f||(t._f=o),e&&(e.n=o),t[d]++,"F"!==i&&(t._i[i]=o)),t},getEntry:g,setStrong:function(t,n,r){a(t,n,(function(t,r){this._t=p(t,n),this._k=r,this._l=void 0}),(function(){for(var t=this._k,n=this._l;n&&n.r;)n=n.p;return this._t&&(this._l=n=n?n.n:this._t._f)?s(0,"keys"==t?n.k:"values"==t?n.v:[n.k,n.v]):(this._t=void 0,s(1))}),r?"entries":"values",!r,!0),l(n)}}},function(t,n,r){"use strict";var e=r(46),i=r(30).getWeak,o=r(5),u=r(6),c=r(45),f=r(60),a=r(23),s=r(15),l=r(40),h=a(5),v=a(6),p=0,d=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},y=function(t,n){return h(t.a,(function(t){return t[0]===n}))};g.prototype={get:function(t){var n=y(this,t);if(n)return n[1]},has:function(t){return!!y(this,t)},set:function(t,n){var r=y(this,t);r?r[1]=n:this.a.push([t,n])},delete:function(t){var n=v(this.a,(function(n){return n[0]===t}));return~n&&this.a.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,r,o){var a=t((function(t,e){c(t,a,n,"_i"),t._t=n,t._i=p++,t._l=void 0,null!=e&&f(e,r,t[o],t)}));return e(a.prototype,{delete:function(t){if(!u(t))return!1;var r=i(t);return!0===r?d(l(this,n)).delete(t):r&&s(r,this._i)&&delete r[this._i]},has:function(t){if(!u(t))return!1;var r=i(t);return!0===r?d(l(this,n)).has(t):r&&s(r,this._i)}}),a},def:function(t,n,r){var e=i(o(n),!0);return!0===e?d(t).set(n,r):e[t._i]=r,t},ufstore:d}},function(t,n,r){var e=r(20),i=r(8);t.exports=function(t){if(void 0===t)return 0;var n=e(t),r=i(n);if(n!==r)throw RangeError("Wrong length!");return r}},function(t,n,r){var e=r(38),i=r(54),o=r(5),u=r(3).Reflect;t.exports=u&&u.ownKeys||function(t){var n=e.f(o(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(8),i=r(75),o=r(27);t.exports=function(t,n,r,u){var c=String(o(t)),f=c.length,a=void 0===r?" ":String(r),s=e(n);if(s<=f||""==a)return c;var l=s-f,h=i.call(a,Math.ceil(l/a.length));return h.length>l&&(h=h.slice(0,l)),u?h+c:c+h}},function(t,n,r){var e=r(35),i=r(17),o=r(49).f;t.exports=function(t){return function(n){for(var r,u=i(n),c=e(u),f=c.length,a=0,s=[];f>a;)o.call(u,r=c[a++])&&s.push(t?[r,u[r]]:u[r]);return s}}},,,,,,,,,function(t,n,r){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),r(132)},function(t,n,r){"use strict";(function(t){r(133),r(277),r(279),r(281),r(283),r(285),r(287),r(289),r(291),r(293),r(297),t._babelPolyfill&&"undefined"!=typeof console&&console.warn&&console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning."),t._babelPolyfill=!0}).call(this,r(65))},function(t,n,r){r(134),r(137),r(138),r(139),r(140),r(141),r(142),r(143),r(144),r(145),r(146),r(147),r(148),r(149),r(150),r(151),r(152),r(153),r(154),r(155),r(156),r(157),r(158),r(159),r(160),r(161),r(162),r(163),r(164),r(165),r(166),r(167),r(168),r(169),r(170),r(171),r(172),r(173),r(174),r(175),r(176),r(177),r(178),r(180),r(181),r(182),r(183),r(184),r(185),r(186),r(187),r(188),r(189),r(190),r(191),r(192),r(193),r(194),r(195),r(196),r(197),r(198),r(199),r(200),r(201),r(202),r(203),r(204),r(205),r(206),r(207),r(208),r(209),r(210),r(211),r(212),r(213),r(215),r(216),r(218),r(219),r(220),r(221),r(222),r(223),r(224),r(227),r(228),r(229),r(230),r(231),r(232),r(233),r(234),r(235),r(236),r(237),r(238),r(239),r(87),r(240),r(112),r(241),r(113),r(242),r(243),r(244),r(245),r(114),r(248),r(249),r(250),r(251),r(252),r(253),r(254),r(255),r(256),r(257),r(258),r(259),r(260),r(261),r(262),r(263),r(264),r(265),r(266),r(267),r(268),r(269),r(270),r(271),r(272),r(273),r(274),r(275),r(276),t.exports=r(11)},function(t,n,r){"use strict";var e=r(3),i=r(15),o=r(10),u=r(1),c=r(12),f=r(30).KEY,a=r(4),s=r(52),l=r(41),h=r(33),v=r(7),p=r(67),d=r(94),g=r(136),y=r(70),x=r(5),m=r(6),b=r(17),S=r(29),w=r(32),_=r(37),E=r(97),O=r(21),F=r(9),P=r(35),M=O.f,A=F.f,I=E.f,j=e.Symbol,N=e.JSON,T=N&&N.stringify,L=v("_hidden"),R=v("toPrimitive"),k={}.propertyIsEnumerable,C=s("symbol-registry"),D=s("symbols"),W=s("op-symbols"),U=Object.prototype,V="function"==typeof j,B=e.QObject,G=!B||!B.prototype||!B.prototype.findChild,z=o&&a((function(){return 7!=_(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a}))?function(t,n,r){var e=M(U,n);e&&delete U[n],A(t,n,r),e&&t!==U&&A(U,n,e)}:A,Y=function(t){var n=D[t]=_(j.prototype);return n._k=t,n},q=V&&"symbol"==typeof j.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof j},$=function(t,n,r){return t===U&&$(W,n,r),x(t),n=S(n,!0),x(r),i(D,n)?(r.enumerable?(i(t,L)&&t[L][n]&&(t[L][n]=!1),r=_(r,{enumerable:w(0,!1)})):(i(t,L)||A(t,L,w(1,{})),t[L][n]=!0),z(t,n,r)):A(t,n,r)},K=function(t,n){x(t);for(var r,e=g(n=b(n)),i=0,o=e.length;o>i;)$(t,r=e[i++],n[r]);return t},J=function(t){var n=k.call(this,t=S(t,!0));return!(this===U&&i(D,t)&&!i(W,t))&&(!(n||!i(this,t)||!i(D,t)||i(this,L)&&this[L][t])||n)},X=function(t,n){if(t=b(t),n=S(n,!0),t!==U||!i(D,n)||i(W,n)){var r=M(t,n);return!r||!i(D,n)||i(t,L)&&t[L][n]||(r.enumerable=!0),r}},H=function(t){for(var n,r=I(b(t)),e=[],o=0;r.length>o;)i(D,n=r[o++])||n==L||n==f||e.push(n);return e},Z=function(t){for(var n,r=t===U,e=I(r?W:b(t)),o=[],u=0;e.length>u;)!i(D,n=e[u++])||r&&!i(U,n)||o.push(D[n]);return o};V||(c((j=function(){if(this instanceof j)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),n=function(r){this===U&&n.call(W,r),i(this,L)&&i(this[L],t)&&(this[L][t]=!1),z(this,t,w(1,r))};return o&&G&&z(U,t,{configurable:!0,set:n}),Y(t)}).prototype,"toString",(function(){return this._k})),O.f=X,F.f=$,r(38).f=E.f=H,r(49).f=J,r(54).f=Z,o&&!r(34)&&c(U,"propertyIsEnumerable",J,!0),p.f=function(t){return Y(v(t))}),u(u.G+u.W+u.F*!V,{Symbol:j});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)v(Q[tt++]);for(var nt=P(v.store),rt=0;nt.length>rt;)d(nt[rt++]);u(u.S+u.F*!V,"Symbol",{for:function(t){return i(C,t+="")?C[t]:C[t]=j(t)},keyFor:function(t){if(!q(t))throw TypeError(t+" is not a symbol!");for(var n in C)if(C[n]===t)return n},useSetter:function(){G=!0},useSimple:function(){G=!1}}),u(u.S+u.F*!V,"Object",{create:function(t,n){return void 0===n?_(t):K(_(t),n)},defineProperty:$,defineProperties:K,getOwnPropertyDescriptor:X,getOwnPropertyNames:H,getOwnPropertySymbols:Z}),N&&u(u.S+u.F*(!V||a((function(){var t=j();return"[null]"!=T([t])||"{}"!=T({a:t})||"{}"!=T(Object(t))}))),"JSON",{stringify:function(t){for(var n,r,e=[t],i=1;arguments.length>i;)e.push(arguments[i++]);if(r=n=e[1],(m(n)||void 0!==t)&&!q(t))return y(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!q(n))return n}),e[1]=n,T.apply(N,e)}}),j.prototype[R]||r(16)(j.prototype,R,j.prototype.valueOf),l(j,"Symbol"),l(Math,"Math",!0),l(e.JSON,"JSON",!0)},function(t,n,r){t.exports=r(52)("native-function-to-string",Function.toString)},function(t,n,r){var e=r(35),i=r(54),o=r(49);t.exports=function(t){var n=e(t),r=i.f;if(r)for(var u,c=r(t),f=o.f,a=0;c.length>a;)f.call(t,u=c[a++])&&n.push(u);return n}},function(t,n,r){var e=r(1);e(e.S,"Object",{create:r(37)})},function(t,n,r){var e=r(1);e(e.S+e.F*!r(10),"Object",{defineProperty:r(9).f})},function(t,n,r){var e=r(1);e(e.S+e.F*!r(10),"Object",{defineProperties:r(96)})},function(t,n,r){var e=r(17),i=r(21).f;r(22)("getOwnPropertyDescriptor",(function(){return function(t,n){return i(e(t),n)}}))},function(t,n,r){var e=r(13),i=r(39);r(22)("getPrototypeOf",(function(){return function(t){return i(e(t))}}))},function(t,n,r){var e=r(13),i=r(35);r(22)("keys",(function(){return function(t){return i(e(t))}}))},function(t,n,r){r(22)("getOwnPropertyNames",(function(){return r(97).f}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("freeze",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("seal",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("preventExtensions",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6);r(22)("isFrozen",(function(t){return function(n){return!e(n)||!!t&&t(n)}}))},function(t,n,r){var e=r(6);r(22)("isSealed",(function(t){return function(n){return!e(n)||!!t&&t(n)}}))},function(t,n,r){var e=r(6);r(22)("isExtensible",(function(t){return function(n){return!!e(n)&&(!t||t(n))}}))},function(t,n,r){var e=r(1);e(e.S+e.F,"Object",{assign:r(98)})},function(t,n,r){var e=r(1);e(e.S,"Object",{is:r(99)})},function(t,n,r){var e=r(1);e(e.S,"Object",{setPrototypeOf:r(72).set})},function(t,n,r){"use strict";var e=r(50),i={};i[r(7)("toStringTag")]="z",i+""!="[object z]"&&r(12)(Object.prototype,"toString",(function(){return"[object "+e(this)+"]"}),!0)},function(t,n,r){var e=r(1);e(e.P,"Function",{bind:r(100)})},function(t,n,r){var e=r(9).f,i=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in i||r(10)&&e(i,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},function(t,n,r){"use strict";var e=r(6),i=r(39),o=r(7)("hasInstance"),u=Function.prototype;o in u||r(9).f(u,o,{value:function(t){if("function"!=typeof this||!e(t))return!1;if(!e(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,n,r){var e=r(1),i=r(102);e(e.G+e.F*(parseInt!=i),{parseInt:i})},function(t,n,r){var e=r(1),i=r(103);e(e.G+e.F*(parseFloat!=i),{parseFloat:i})},function(t,n,r){"use strict";var e=r(3),i=r(15),o=r(26),u=r(74),c=r(29),f=r(4),a=r(38).f,s=r(21).f,l=r(9).f,h=r(55).trim,v=e.Number,p=v,d=v.prototype,g="Number"==o(r(37)(d)),y="trim"in String.prototype,x=function(t){var n=c(t,!1);if("string"==typeof n&&n.length>2){var r,e,i,o=(n=y?n.trim():h(n,3)).charCodeAt(0);if(43===o||45===o){if(88===(r=n.charCodeAt(2))||120===r)return NaN}else if(48===o){switch(n.charCodeAt(1)){case 66:case 98:e=2,i=49;break;case 79:case 111:e=8,i=55;break;default:return+n}for(var u,f=n.slice(2),a=0,s=f.length;ai)return NaN;return parseInt(f,e)}}return+n};if(!v(" 0o1")||!v("0b1")||v("+0x1")){v=function(t){var n=arguments.length<1?0:t,r=this;return r instanceof v&&(g?f((function(){d.valueOf.call(r)})):"Number"!=o(r))?u(new p(x(n)),r,v):x(n)};for(var m,b=r(10)?a(p):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),S=0;b.length>S;S++)i(p,m=b[S])&&!i(v,m)&&l(v,m,s(p,m));v.prototype=d,d.constructor=v,r(12)(e,"Number",v)}},function(t,n,r){"use strict";var e=r(1),i=r(20),o=r(104),u=r(75),c=1..toFixed,f=Math.floor,a=[0,0,0,0,0,0],s="Number.toFixed: incorrect invocation!",l=function(t,n){for(var r=-1,e=n;++r<6;)e+=t*a[r],a[r]=e%1e7,e=f(e/1e7)},h=function(t){for(var n=6,r=0;--n>=0;)r+=a[n],a[n]=f(r/t),r=r%t*1e7},v=function(){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==a[t]){var r=String(a[t]);n=""===n?r:n+u.call("0",7-r.length)+r}return n},p=function(t,n,r){return 0===n?r:n%2==1?p(t,n-1,r*t):p(t*t,n/2,r)};e(e.P+e.F*(!!c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!r(4)((function(){c.call({})}))),"Number",{toFixed:function(t){var n,r,e,c,f=o(this,s),a=i(t),d="",g="0";if(a<0||a>20)throw RangeError(s);if(f!=f)return"NaN";if(f<=-1e21||f>=1e21)return String(f);if(f<0&&(d="-",f=-f),f>1e-21)if(r=(n=function(t){for(var n=0,r=t;r>=4096;)n+=12,r/=4096;for(;r>=2;)n+=1,r/=2;return n}(f*p(2,69,1))-69)<0?f*p(2,-n,1):f/p(2,n,1),r*=4503599627370496,(n=52-n)>0){for(l(0,r),e=a;e>=7;)l(1e7,0),e-=7;for(l(p(10,e,1),0),e=n-1;e>=23;)h(1<<23),e-=23;h(1<0?d+((c=g.length)<=a?"0."+u.call("0",a-c)+g:g.slice(0,c-a)+"."+g.slice(c-a)):d+g}})},function(t,n,r){"use strict";var e=r(1),i=r(4),o=r(104),u=1..toPrecision;e(e.P+e.F*(i((function(){return"1"!==u.call(1,void 0)}))||!i((function(){u.call({})}))),"Number",{toPrecision:function(t){var n=o(this,"Number#toPrecision: incorrect invocation!");return void 0===t?u.call(n):u.call(n,t)}})},function(t,n,r){var e=r(1);e(e.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,n,r){var e=r(1),i=r(3).isFinite;e(e.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},function(t,n,r){var e=r(1);e(e.S,"Number",{isInteger:r(105)})},function(t,n,r){var e=r(1);e(e.S,"Number",{isNaN:function(t){return t!=t}})},function(t,n,r){var e=r(1),i=r(105),o=Math.abs;e(e.S,"Number",{isSafeInteger:function(t){return i(t)&&o(t)<=9007199254740991}})},function(t,n,r){var e=r(1);e(e.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,n,r){var e=r(1);e(e.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,n,r){var e=r(1),i=r(103);e(e.S+e.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},function(t,n,r){var e=r(1),i=r(102);e(e.S+e.F*(Number.parseInt!=i),"Number",{parseInt:i})},function(t,n,r){var e=r(1),i=r(106),o=Math.sqrt,u=Math.acosh;e(e.S+e.F*!(u&&710==Math.floor(u(Number.MAX_VALUE))&&u(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},function(t,n,r){var e=r(1),i=Math.asinh;e(e.S+e.F*!(i&&1/i(0)>0),"Math",{asinh:function t(n){return isFinite(n=+n)&&0!=n?n<0?-t(-n):Math.log(n+Math.sqrt(n*n+1)):n}})},function(t,n,r){var e=r(1),i=Math.atanh;e(e.S+e.F*!(i&&1/i(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,n,r){var e=r(1),i=r(76);e(e.S,"Math",{cbrt:function(t){return i(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,n,r){var e=r(1);e(e.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,n,r){var e=r(1),i=Math.exp;e(e.S,"Math",{cosh:function(t){return(i(t=+t)+i(-t))/2}})},function(t,n,r){var e=r(1),i=r(77);e(e.S+e.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,n,r){var e=r(1);e(e.S,"Math",{fround:r(179)})},function(t,n,r){var e=r(76),i=Math.pow,o=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),f=i(2,-126);t.exports=Math.fround||function(t){var n,r,i=Math.abs(t),a=e(t);return ic||r!=r?a*(1/0):a*r}},function(t,n,r){var e=r(1),i=Math.abs;e(e.S,"Math",{hypot:function(t,n){for(var r,e,o=0,u=0,c=arguments.length,f=0;u0?(e=r/f)*e:r;return f===1/0?1/0:f*Math.sqrt(o)}})},function(t,n,r){var e=r(1),i=Math.imul;e(e.S+e.F*r(4)((function(){return-5!=i(4294967295,5)||2!=i.length})),"Math",{imul:function(t,n){var r=+t,e=+n,i=65535&r,o=65535&e;return 0|i*o+((65535&r>>>16)*o+i*(65535&e>>>16)<<16>>>0)}})},function(t,n,r){var e=r(1);e(e.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,n,r){var e=r(1);e(e.S,"Math",{log1p:r(106)})},function(t,n,r){var e=r(1);e(e.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,n,r){var e=r(1);e(e.S,"Math",{sign:r(76)})},function(t,n,r){var e=r(1),i=r(77),o=Math.exp;e(e.S+e.F*r(4)((function(){return-2e-17!=!Math.sinh(-2e-17)})),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,n,r){var e=r(1),i=r(77),o=Math.exp;e(e.S,"Math",{tanh:function(t){var n=i(t=+t),r=i(-t);return n==1/0?1:r==1/0?-1:(n-r)/(o(t)+o(-t))}})},function(t,n,r){var e=r(1);e(e.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,n,r){var e=r(1),i=r(36),o=String.fromCharCode,u=String.fromCodePoint;e(e.S+e.F*(!!u&&1!=u.length),"String",{fromCodePoint:function(t){for(var n,r=[],e=arguments.length,u=0;e>u;){if(n=+arguments[u++],i(n,1114111)!==n)throw RangeError(n+" is not a valid code point");r.push(n<65536?o(n):o(55296+((n-=65536)>>10),n%1024+56320))}return r.join("")}})},function(t,n,r){var e=r(1),i=r(17),o=r(8);e(e.S,"String",{raw:function(t){for(var n=i(t.raw),r=o(n.length),e=arguments.length,u=[],c=0;r>c;)u.push(String(n[c++])),c=n.length?{value:void 0,done:!0}:(t=e(n,r),this._i+=t.length,{value:t,done:!1})}))},function(t,n,r){"use strict";var e=r(1),i=r(78)(!1);e(e.P,"String",{codePointAt:function(t){return i(this,t)}})},function(t,n,r){"use strict";var e=r(1),i=r(8),o=r(80),u="".endsWith;e(e.P+e.F*r(82)("endsWith"),"String",{endsWith:function(t){var n=o(this,t,"endsWith"),r=arguments.length>1?arguments[1]:void 0,e=i(n.length),c=void 0===r?e:Math.min(i(r),e),f=String(t);return u?u.call(n,f,c):n.slice(c-f.length,c)===f}})},function(t,n,r){"use strict";var e=r(1),i=r(80);e(e.P+e.F*r(82)("includes"),"String",{includes:function(t){return!!~i(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,r){var e=r(1);e(e.P,"String",{repeat:r(75)})},function(t,n,r){"use strict";var e=r(1),i=r(8),o=r(80),u="".startsWith;e(e.P+e.F*r(82)("startsWith"),"String",{startsWith:function(t){var n=o(this,t,"startsWith"),r=i(Math.min(arguments.length>1?arguments[1]:void 0,n.length)),e=String(t);return u?u.call(n,e,r):n.slice(r,r+e.length)===e}})},function(t,n,r){"use strict";r(14)("anchor",(function(t){return function(n){return t(this,"a","name",n)}}))},function(t,n,r){"use strict";r(14)("big",(function(t){return function(){return t(this,"big","","")}}))},function(t,n,r){"use strict";r(14)("blink",(function(t){return function(){return t(this,"blink","","")}}))},function(t,n,r){"use strict";r(14)("bold",(function(t){return function(){return t(this,"b","","")}}))},function(t,n,r){"use strict";r(14)("fixed",(function(t){return function(){return t(this,"tt","","")}}))},function(t,n,r){"use strict";r(14)("fontcolor",(function(t){return function(n){return t(this,"font","color",n)}}))},function(t,n,r){"use strict";r(14)("fontsize",(function(t){return function(n){return t(this,"font","size",n)}}))},function(t,n,r){"use strict";r(14)("italics",(function(t){return function(){return t(this,"i","","")}}))},function(t,n,r){"use strict";r(14)("link",(function(t){return function(n){return t(this,"a","href",n)}}))},function(t,n,r){"use strict";r(14)("small",(function(t){return function(){return t(this,"small","","")}}))},function(t,n,r){"use strict";r(14)("strike",(function(t){return function(){return t(this,"strike","","")}}))},function(t,n,r){"use strict";r(14)("sub",(function(t){return function(){return t(this,"sub","","")}}))},function(t,n,r){"use strict";r(14)("sup",(function(t){return function(){return t(this,"sup","","")}}))},function(t,n,r){var e=r(1);e(e.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,n,r){"use strict";var e=r(1),i=r(13),o=r(29);e(e.P+e.F*r(4)((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})),"Date",{toJSON:function(t){var n=i(this),r=o(n);return"number"!=typeof r||isFinite(r)?n.toISOString():null}})},function(t,n,r){var e=r(1),i=r(214);e(e.P+e.F*(Date.prototype.toISOString!==i),"Date",{toISOString:i})},function(t,n,r){"use strict";var e=r(4),i=Date.prototype.getTime,o=Date.prototype.toISOString,u=function(t){return t>9?t:"0"+t};t.exports=e((function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-50000000000001))}))||!e((function(){o.call(new Date(NaN))}))?function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var t=this,n=t.getUTCFullYear(),r=t.getUTCMilliseconds(),e=n<0?"-":n>9999?"+":"";return e+("00000"+Math.abs(n)).slice(e?-6:-4)+"-"+u(t.getUTCMonth()+1)+"-"+u(t.getUTCDate())+"T"+u(t.getUTCHours())+":"+u(t.getUTCMinutes())+":"+u(t.getUTCSeconds())+"."+(r>99?r:"0"+u(r))+"Z"}:o},function(t,n,r){var e=Date.prototype,i=e.toString,o=e.getTime;new Date(NaN)+""!="Invalid Date"&&r(12)(e,"toString",(function(){var t=o.call(this);return t==t?i.call(this):"Invalid Date"}))},function(t,n,r){var e=r(7)("toPrimitive"),i=Date.prototype;e in i||r(16)(i,e,r(217))},function(t,n,r){"use strict";var e=r(5),i=r(29);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return i(e(this),"number"!=t)}},function(t,n,r){var e=r(1);e(e.S,"Array",{isArray:r(70)})},function(t,n,r){"use strict";var e=r(24),i=r(1),o=r(13),u=r(108),c=r(83),f=r(8),a=r(84),s=r(85);i(i.S+i.F*!r(56)((function(t){Array.from(t)})),"Array",{from:function(t){var n,r,i,l,h=o(t),v="function"==typeof this?this:Array,p=arguments.length,d=p>1?arguments[1]:void 0,g=void 0!==d,y=0,x=s(h);if(g&&(d=e(d,p>2?arguments[2]:void 0,2)),null==x||v==Array&&c(x))for(r=new v(n=f(h.length));n>y;y++)a(r,y,g?d(h[y],y):h[y]);else for(l=x.call(h),r=new v;!(i=l.next()).done;y++)a(r,y,g?u(l,d,[i.value,y],!0):i.value);return r.length=y,r}})},function(t,n,r){"use strict";var e=r(1),i=r(84);e(e.S+e.F*r(4)((function(){function t(){}return!(Array.of.call(t)instanceof t)})),"Array",{of:function(){for(var t=0,n=arguments.length,r=new("function"==typeof this?this:Array)(n);n>t;)i(r,t,arguments[t++]);return r.length=n,r}})},function(t,n,r){"use strict";var e=r(1),i=r(17),o=[].join;e(e.P+e.F*(r(48)!=Object||!r(19)(o)),"Array",{join:function(t){return o.call(i(this),void 0===t?",":t)}})},function(t,n,r){"use strict";var e=r(1),i=r(71),o=r(26),u=r(36),c=r(8),f=[].slice;e(e.P+e.F*r(4)((function(){i&&f.call(i)})),"Array",{slice:function(t,n){var r=c(this.length),e=o(this);if(n=void 0===n?r:n,"Array"==e)return f.call(this,t,n);for(var i=u(t,r),a=u(n,r),s=c(a-i),l=new Array(s),h=0;h1&&(e=Math.min(e,o(arguments[1]))),e<0&&(e=r+e);e>=0;e--)if(e in n&&n[e]===t)return e||0;return-1}})},function(t,n,r){var e=r(1);e(e.P,"Array",{copyWithin:r(110)}),r(43)("copyWithin")},function(t,n,r){var e=r(1);e(e.P,"Array",{fill:r(86)}),r(43)("fill")},function(t,n,r){"use strict";var e=r(1),i=r(23)(5),o=!0;"find"in[]&&Array(1).find((function(){o=!1})),e(e.P+e.F*o,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)("find")},function(t,n,r){"use strict";var e=r(1),i=r(23)(6),o="findIndex",u=!0;o in[]&&Array(1)[o]((function(){u=!1})),e(e.P+e.F*u,"Array",{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)(o)},function(t,n,r){r(44)("Array")},function(t,n,r){var e=r(3),i=r(74),o=r(9).f,u=r(38).f,c=r(81),f=r(57),a=e.RegExp,s=a,l=a.prototype,h=/a/g,v=/a/g,p=new a(h)!==h;if(r(10)&&(!p||r(4)((function(){return v[r(7)("match")]=!1,a(h)!=h||a(v)==v||"/a/i"!=a(h,"i")})))){a=function(t,n){var r=this instanceof a,e=c(t),o=void 0===n;return!r&&e&&t.constructor===a&&o?t:i(p?new s(e&&!o?t.source:t,n):s((e=t instanceof a)?t.source:t,e&&o?f.call(t):n),r?this:l,a)};for(var d=function(t){t in a||o(a,t,{configurable:!0,get:function(){return s[t]},set:function(n){s[t]=n}})},g=u(s),y=0;g.length>y;)d(g[y++]);l.constructor=a,a.prototype=l,r(12)(e,"RegExp",a)}r(44)("RegExp")},function(t,n,r){"use strict";r(113);var e=r(5),i=r(57),o=r(10),u=/./.toString,c=function(t){r(12)(RegExp.prototype,"toString",t,!0)};r(4)((function(){return"/a/b"!=u.call({source:"a",flags:"b"})}))?c((function(){var t=e(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)})):"toString"!=u.name&&c((function(){return u.call(this)}))},function(t,n,r){"use strict";var e=r(5),i=r(8),o=r(89),u=r(58);r(59)("match",1,(function(t,n,r,c){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=c(r,t,this);if(n.done)return n.value;var f=e(t),a=String(this);if(!f.global)return u(f,a);var s=f.unicode;f.lastIndex=0;for(var l,h=[],v=0;null!==(l=u(f,a));){var p=String(l[0]);h[v]=p,""===p&&(f.lastIndex=o(a,i(f.lastIndex),s)),v++}return 0===v?null:h}]}))},function(t,n,r){"use strict";var e=r(5),i=r(13),o=r(8),u=r(20),c=r(89),f=r(58),a=Math.max,s=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,v=/\$([$&`']|\d\d?)/g;r(59)("replace",2,(function(t,n,r,p){return[function(e,i){var o=t(this),u=null==e?void 0:e[n];return void 0!==u?u.call(e,o,i):r.call(String(o),e,i)},function(t,n){var i=p(r,t,this,n);if(i.done)return i.value;var l=e(t),h=String(this),v="function"==typeof n;v||(n=String(n));var g=l.global;if(g){var y=l.unicode;l.lastIndex=0}for(var x=[];;){var m=f(l,h);if(null===m)break;if(x.push(m),!g)break;""===String(m[0])&&(l.lastIndex=c(h,o(l.lastIndex),y))}for(var b,S="",w=0,_=0;_=w&&(S+=h.slice(w,O)+I,w=O+E.length)}return S+h.slice(w)}];function d(t,n,e,o,u,c){var f=e+t.length,a=o.length,s=v;return void 0!==u&&(u=i(u),s=h),r.call(c,s,(function(r,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,e);case"'":return n.slice(f);case"<":c=u[i.slice(1,-1)];break;default:var s=+i;if(0===s)return r;if(s>a){var h=l(s/10);return 0===h?r:h<=a?void 0===o[h-1]?i.charAt(1):o[h-1]+i.charAt(1):r}c=o[s-1]}return void 0===c?"":c}))}}))},function(t,n,r){"use strict";var e=r(5),i=r(99),o=r(58);r(59)("search",1,(function(t,n,r,u){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=u(r,t,this);if(n.done)return n.value;var c=e(t),f=String(this),a=c.lastIndex;i(a,0)||(c.lastIndex=0);var s=o(c,f);return i(c.lastIndex,a)||(c.lastIndex=a),null===s?-1:s.index}]}))},function(t,n,r){"use strict";var e=r(81),i=r(5),o=r(51),u=r(89),c=r(8),f=r(58),a=r(88),s=r(4),l=Math.min,h=[].push,v="length",p=!s((function(){RegExp(4294967295,"y")}));r(59)("split",2,(function(t,n,r,s){var d;return d="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1)[v]||2!="ab".split(/(?:ab)*/)[v]||4!=".".split(/(.?)(.?)/)[v]||".".split(/()()/)[v]>1||"".split(/.?/)[v]?function(t,n){var i=String(this);if(void 0===t&&0===n)return[];if(!e(t))return r.call(i,t,n);for(var o,u,c,f=[],s=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),l=0,p=void 0===n?4294967295:n>>>0,d=new RegExp(t.source,s+"g");(o=a.call(d,i))&&!((u=d.lastIndex)>l&&(f.push(i.slice(l,o.index)),o[v]>1&&o.index=p));)d.lastIndex===o.index&&d.lastIndex++;return l===i[v]?!c&&d.test("")||f.push(""):f.push(i.slice(l)),f[v]>p?f.slice(0,p):f}:"0".split(void 0,0)[v]?function(t,n){return void 0===t&&0===n?[]:r.call(this,t,n)}:r,[function(r,e){var i=t(this),o=null==r?void 0:r[n];return void 0!==o?o.call(r,i,e):d.call(String(i),r,e)},function(t,n){var e=s(d,t,this,n,d!==r);if(e.done)return e.value;var a=i(t),h=String(this),v=o(a,RegExp),g=a.unicode,y=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(p?"y":"g"),x=new v(p?a:"^(?:"+a.source+")",y),m=void 0===n?4294967295:n>>>0;if(0===m)return[];if(0===h.length)return null===f(x,h)?[h]:[];for(var b=0,S=0,w=[];S0?arguments[0]:void 0)}}),{get:function(t){var n=e.getEntry(i(this,"Map"),t);return n&&n.v},set:function(t,n){return e.def(i(this,"Map"),0===t?0:t,n)}},e,!0)},function(t,n,r){"use strict";var e=r(117),i=r(40);t.exports=r(62)("Set",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return e.def(i(this,"Set"),t=0===t?0:t,t)}},e)},function(t,n,r){"use strict";var e,i=r(3),o=r(23)(0),u=r(12),c=r(30),f=r(98),a=r(118),s=r(6),l=r(40),h=r(40),v=!i.ActiveXObject&&"ActiveXObject"in i,p=c.getWeak,d=Object.isExtensible,g=a.ufstore,y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},x={get:function(t){if(s(t)){var n=p(t);return!0===n?g(l(this,"WeakMap")).get(t):n?n[this._i]:void 0}},set:function(t,n){return a.def(l(this,"WeakMap"),t,n)}},m=t.exports=r(62)("WeakMap",y,x,a,!0,!0);h&&v&&(f((e=a.getConstructor(y,"WeakMap")).prototype,x),c.NEED=!0,o(["delete","has","get","set"],(function(t){var n=m.prototype,r=n[t];u(n,t,(function(n,i){if(s(n)&&!d(n)){this._f||(this._f=new e);var o=this._f[t](n,i);return"set"==t?this:o}return r.call(this,n,i)}))})))},function(t,n,r){"use strict";var e=r(118),i=r(40);r(62)("WeakSet",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return e.def(i(this,"WeakSet"),t,!0)}},e,!1,!0)},function(t,n,r){"use strict";var e=r(1),i=r(63),o=r(91),u=r(5),c=r(36),f=r(8),a=r(6),s=r(3).ArrayBuffer,l=r(51),h=o.ArrayBuffer,v=o.DataView,p=i.ABV&&s.isView,d=h.prototype.slice,g=i.VIEW;e(e.G+e.W+e.F*(s!==h),{ArrayBuffer:h}),e(e.S+e.F*!i.CONSTR,"ArrayBuffer",{isView:function(t){return p&&p(t)||a(t)&&g in t}}),e(e.P+e.U+e.F*r(4)((function(){return!new h(2).slice(1,void 0).byteLength})),"ArrayBuffer",{slice:function(t,n){if(void 0!==d&&void 0===n)return d.call(u(this),t);for(var r=u(this).byteLength,e=c(t,r),i=c(void 0===n?r:n,r),o=new(l(this,h))(f(i-e)),a=new v(this),s=new v(o),p=0;e=n.length)return{value:void 0,done:!0}}while(!((t=n[this._i++])in this._t));return{value:t,done:!1}})),e(e.S,"Reflect",{enumerate:function(t){return new o(t)}})},function(t,n,r){var e=r(21),i=r(39),o=r(15),u=r(1),c=r(6),f=r(5);u(u.S,"Reflect",{get:function t(n,r){var u,a,s=arguments.length<3?n:arguments[2];return f(n)===s?n[r]:(u=e.f(n,r))?o(u,"value")?u.value:void 0!==u.get?u.get.call(s):void 0:c(a=i(n))?t(a,r,s):void 0}})},function(t,n,r){var e=r(21),i=r(1),o=r(5);i(i.S,"Reflect",{getOwnPropertyDescriptor:function(t,n){return e.f(o(t),n)}})},function(t,n,r){var e=r(1),i=r(39),o=r(5);e(e.S,"Reflect",{getPrototypeOf:function(t){return i(o(t))}})},function(t,n,r){var e=r(1);e(e.S,"Reflect",{has:function(t,n){return n in t}})},function(t,n,r){var e=r(1),i=r(5),o=Object.isExtensible;e(e.S,"Reflect",{isExtensible:function(t){return i(t),!o||o(t)}})},function(t,n,r){var e=r(1);e(e.S,"Reflect",{ownKeys:r(120)})},function(t,n,r){var e=r(1),i=r(5),o=Object.preventExtensions;e(e.S,"Reflect",{preventExtensions:function(t){i(t);try{return o&&o(t),!0}catch(t){return!1}}})},function(t,n,r){var e=r(9),i=r(21),o=r(39),u=r(15),c=r(1),f=r(32),a=r(5),s=r(6);c(c.S,"Reflect",{set:function t(n,r,c){var l,h,v=arguments.length<4?n:arguments[3],p=i.f(a(n),r);if(!p){if(s(h=o(n)))return t(h,r,c,v);p=f(0)}if(u(p,"value")){if(!1===p.writable||!s(v))return!1;if(l=i.f(v,r)){if(l.get||l.set||!1===l.writable)return!1;l.value=c,e.f(v,r,l)}else e.f(v,r,f(0,c));return!0}return void 0!==p.set&&(p.set.call(v,c),!0)}})},function(t,n,r){var e=r(1),i=r(72);i&&e(e.S,"Reflect",{setPrototypeOf:function(t,n){i.check(t,n);try{return i.set(t,n),!0}catch(t){return!1}}})},function(t,n,r){r(278),t.exports=r(11).Array.includes},function(t,n,r){"use strict";var e=r(1),i=r(53)(!0);e(e.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)("includes")},function(t,n,r){r(280),t.exports=r(11).String.padStart},function(t,n,r){"use strict";var e=r(1),i=r(121),o=r(61),u=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);e(e.P+e.F*u,"String",{padStart:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,n,r){r(282),t.exports=r(11).String.padEnd},function(t,n,r){"use strict";var e=r(1),i=r(121),o=r(61),u=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);e(e.P+e.F*u,"String",{padEnd:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},function(t,n,r){r(284),t.exports=r(67).f("asyncIterator")},function(t,n,r){r(94)("asyncIterator")},function(t,n,r){r(286),t.exports=r(11).Object.getOwnPropertyDescriptors},function(t,n,r){var e=r(1),i=r(120),o=r(17),u=r(21),c=r(84);e(e.S,"Object",{getOwnPropertyDescriptors:function(t){for(var n,r,e=o(t),f=u.f,a=i(e),s={},l=0;a.length>l;)void 0!==(r=f(e,n=a[l++]))&&c(s,n,r);return s}})},function(t,n,r){r(288),t.exports=r(11).Object.values},function(t,n,r){var e=r(1),i=r(122)(!1);e(e.S,"Object",{values:function(t){return i(t)}})},function(t,n,r){r(290),t.exports=r(11).Object.entries},function(t,n,r){var e=r(1),i=r(122)(!0);e(e.S,"Object",{entries:function(t){return i(t)}})},function(t,n,r){"use strict";r(114),r(292),t.exports=r(11).Promise.finally},function(t,n,r){"use strict";var e=r(1),i=r(11),o=r(3),u=r(51),c=r(116);e(e.P+e.R,"Promise",{finally:function(t){var n=u(this,i.Promise||o.Promise),r="function"==typeof t;return this.then(r?function(r){return c(n,t()).then((function(){return r}))}:t,r?function(r){return c(n,t()).then((function(){throw r}))}:t)}})},function(t,n,r){r(294),r(295),r(296),t.exports=r(11)},function(t,n,r){var e=r(3),i=r(1),o=r(61),u=[].slice,c=/MSIE .\./.test(o),f=function(t){return function(n,r){var e=arguments.length>2,i=!!e&&u.call(arguments,2);return t(e?function(){("function"==typeof n?n:Function(n)).apply(this,i)}:n,r)}};i(i.G+i.B+i.F*c,{setTimeout:f(e.setTimeout),setInterval:f(e.setInterval)})},function(t,n,r){var e=r(1),i=r(90);e(e.G+e.B,{setImmediate:i.set,clearImmediate:i.clear})},function(t,n,r){for(var e=r(87),i=r(35),o=r(12),u=r(3),c=r(16),f=r(42),a=r(7),s=a("iterator"),l=a("toStringTag"),h=f.Array,v={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(v),d=0;d=0;--i){var o=this.tryEntries[i],u=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=e.call(o,"catchLoc"),f=e.call(o,"finallyLoc");if(c&&f){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&e.call(i,"finallyLoc")&&this.prev=0;--n){var r=this.tryEntries[n];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),s}},catch:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc===t){var e=r.completion;if("throw"===e.type){var i=e.arg;E(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:F(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}}}function d(t,n,r,e){var i=n&&n.prototype instanceof y?n:y,o=Object.create(i.prototype),u=new O(e||[]);return o._invoke=function(t,n,r){var e="suspendedStart";return function(i,o){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===i)throw o;return P()}for(r.method=i,r.arg=o;;){var u=r.delegate;if(u){var c=w(u,r);if(c){if(c===s)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===e)throw e="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);e="executing";var f=g(t,n,r);if("normal"===f.type){if(e=r.done?"completed":"suspendedYield",f.arg===s)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(e="completed",r.method="throw",r.arg=f.arg)}}}(t,r,u),o}function g(t,n,r){try{return{type:"normal",arg:t.call(n,r)}}catch(t){return{type:"throw",arg:t}}}function y(){}function x(){}function m(){}function b(t){["next","throw","return"].forEach((function(n){t[n]=function(t){return this._invoke(n,t)}}))}function S(t){var n;this._invoke=function(r,i){function o(){return new Promise((function(n,o){!function n(r,i,o,u){var c=g(t[r],t,i);if("throw"!==c.type){var f=c.arg,a=f.value;return a&&"object"==typeof a&&e.call(a,"__await")?Promise.resolve(a.__await).then((function(t){n("next",t,o,u)}),(function(t){n("throw",t,o,u)})):Promise.resolve(a).then((function(t){f.value=t,o(f)}),(function(t){return n("throw",t,o,u)}))}u(c.arg)}(r,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(t,n){var r=t.iterator[n.method];if(void 0===r){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=void 0,w(t,n),"throw"===n.method))return s;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var e=g(r,t.iterator,n.arg);if("throw"===e.type)return n.method="throw",n.arg=e.arg,n.delegate=null,s;var i=e.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=void 0),n.delegate=null,s):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,s)}function _(t){var n={tryLoc:t[0]};1 in t&&(n.catchLoc=t[1]),2 in t&&(n.finallyLoc=t[2],n.afterLoc=t[3]),this.tryEntries.push(n)}function E(t){var n=t.completion||{};n.type="normal",delete n.arg,t.completion=n}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function F(t){if(t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function n(){for(;++r 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = false;\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","module.exports = {};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","exports.f = require('./_wks');\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n","var getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n","import \"@babel/polyfill\";\n","\"use strict\";\n\nrequire(\"core-js/es6\");\n\nrequire(\"core-js/fn/array/includes\");\n\nrequire(\"core-js/fn/string/pad-start\");\n\nrequire(\"core-js/fn/string/pad-end\");\n\nrequire(\"core-js/fn/symbol/async-iterator\");\n\nrequire(\"core-js/fn/object/get-own-property-descriptors\");\n\nrequire(\"core-js/fn/object/values\");\n\nrequire(\"core-js/fn/object/entries\");\n\nrequire(\"core-js/fn/promise/finally\");\n\nrequire(\"core-js/web\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nif (global._babelPolyfill && typeof console !== \"undefined\" && console.warn) {\n console.warn(\"@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended \" + \"and may have consequences if different versions of the polyfills are applied sequentially. \" + \"If you do need to load the polyfill more than once, use @babel/polyfill/noConflict \" + \"instead to bypass the warning.\");\n}\n\nglobal._babelPolyfill = true;","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","require('../../modules/es7.array.includes');\nmodule.exports = require('../../modules/_core').Array.includes;\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","require('../../modules/es7.string.pad-start');\nmodule.exports = require('../../modules/_core').String.padStart;\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n","require('../../modules/es7.string.pad-end');\nmodule.exports = require('../../modules/_core').String.padEnd;\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n","require('../../modules/es7.symbol.async-iterator');\nmodule.exports = require('../../modules/_wks-ext').f('asyncIterator');\n","require('./_wks-define')('asyncIterator');\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","'use strict';\nrequire('../../modules/es6.promise');\nrequire('../../modules/es7.promise.finally');\nmodule.exports = require('../../modules/_core').Promise['finally'];\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","require('../modules/web.timers');\nrequire('../modules/web.immediate');\nrequire('../modules/web.dom.iterable');\nmodule.exports = require('../modules/_core');\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() {\n return this || (typeof self === \"object\" && self);\n })() || Function(\"return this\")()\n);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_export.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_global.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_fails.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_wks.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_core.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_has.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_hide.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_cof.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_defined.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_meta.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_uid.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_library.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_classof.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_shared.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_flags.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_collection.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_typed.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_html.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_task.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_bind.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-pad.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-to-array.js","webpack:///./decidim-core/app/frontend/entry.ts","webpack:///./node_modules/@babel/polyfill/lib/index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/es6/index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_perform.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/array/includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/string/pad-start.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.string.pad-start.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/string/pad-end.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.string.pad-end.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/symbol/async-iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/object/get-own-property-descriptors.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/object/values.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/object/entries.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/promise/finally.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.promise.finally.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/web/index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/web.timers.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/web.immediate.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/@babel/polyfill/node_modules/regenerator-runtime/runtime.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","window","Math","self","__g","exec","e","isObject","it","TypeError","store","uid","USE_SYMBOL","toInteger","min","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","a","version","__e","has","SRC","$toString","TPL","split","inspectSource","val","safe","isFunction","join","String","this","defined","fails","quot","createHTML","string","tag","attribute","p1","replace","NAME","test","toLowerCase","length","createDesc","IObject","method","arg","ceil","floor","isNaN","pIE","toIObject","gOPD","getOwnPropertyDescriptor","KEY","fn","toObject","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","that","res","index","result","push","aFunction","b","apply","arguments","toString","slice","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","getPrototypeOf","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","keys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","set","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","forEach","indexOf","searchElement","includes","separator","map","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","configurable","writable","$TypedArrayPrototype$","constructor","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","data","v","round","setter","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","from","valueOf","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","bitmap","px","random","$keys","enumBugKeys","max","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","hiddenKeys","getOwnPropertyNames","ObjectProto","_t","def","stat","UNSCOPABLES","DESCRIPTORS","SPECIES","Constructor","forbiddenField","cof","propertyIsEnumerable","ARG","T","tryGet","callee","D","copyright","IS_INCLUDES","el","fromIndex","getOwnPropertySymbols","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","SAFE_CLOSING","riter","skipClosing","arr","ignoreCase","multiline","unicode","sticky","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","BREAK","RETURN","iterable","navigator","userAgent","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","Typed","TypedArrayConstructors","g","is","createElement","shared","isArray","documentElement","check","setPrototypeOf","buggy","__proto__","count","Infinity","sign","x","$expm1","expm1","TO_STRING","pos","charCodeAt","charAt","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","isRegExp","searchString","MATCH","$defineProperty","getIteratorMethod","endPos","addToUnscopables","iterated","_i","_k","Arguments","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","lastIndex","reCopy","match","at","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","args","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","BaseBuffer","abs","pow","log","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","_b","pack","conversion","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","wksExt","$Symbol","names","getKeys","defineProperties","windowNames","getWindowNames","gOPS","$assign","assign","A","K","k","getSymbols","isEnum","y","factories","construct","partArgs","bound","un","$parseInt","parseInt","$trim","ws","hex","radix","$parseFloat","parseFloat","msg","isFinite","log1p","descriptor","ret","memo","isRight","to","inc","forced","flags","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","task","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","promise","resolve","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","reject","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","Promise","capability","$$reject","all","remaining","$index","alreadyCalled","race","PromiseCapability","$$resolve","promiseCapability","$iterDefine","SIZE","getEntry","entry","_f","_l","prev","$has","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","splice","ufstore","number","Reflect","ownKeys","repeat","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","isEntries","_babelPolyfill","warn","$fails","wksDefine","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","replacer","$replacer","symbols","$getPrototypeOf","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","FProto","nameRE","HAS_INSTANCE","FunctionProto","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","aNumberValue","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$toPrecision","toPrecision","precision","EPSILON","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","sqrt","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","fround","EPSILON32","MAX32","MIN32","$abs","$sign","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","point","codePointAt","context","$endsWith","endsWith","endPosition","search","$startsWith","startsWith","color","size","url","Date","getTime","toJSON","toISOString","pv","$toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","hint","createProperty","upTo","cloned","$sort","$forEach","STRICT","original","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","define","advanceStringIndex","regExpExec","$match","maybeCallNative","rx","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","ch","capture","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","LENGTH","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","output","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","standalone","toggle","node","createTextNode","observe","characterData","strong","add","InternalMap","each","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","$WeakMap","$isView","isView","fin","viewS","viewT","init","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","V","existingDescriptor","ownDesc","setProto","$includes","padStart","$pad","WEBKIT_BUG","padEnd","getOwnPropertyDescriptors","getDesc","$values","onFinally","MSIE","time","boundArgs","setInterval","$task","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","regeneratorRuntime","ContinueSentinel","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","pop","Context","reset","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","stop","rootRecord","completion","rval","dispatchException","exception","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","Error","abrupt","finallyEntry","complete","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","state","doneResult","delegateResult","maybeInvokeDelegate","tryCatch","makeInvokeMethod","obj","previousPromise","callInvokeWithMethodAndArg","unwrapped","return","info","pushTryEntry","locs","iteratorMethod"],"mappings":"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Q,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,IACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR/rB,EAAOD,QAAU,EAAQ,K,6BCxIzB,IAAIkC,EAAS,EAAQ,GACjBoD,EAAM,EAAQ,IACd8Q,EAAc,EAAQ,IACtB7T,EAAU,EAAQ,GAClBF,EAAW,EAAQ,IACnBqR,EAAO,EAAQ,IAAWhM,IAC1BwkB,EAAS,EAAQ,GACjB9Q,EAAS,EAAQ,IACjBrB,EAAiB,EAAQ,IACzBvV,EAAM,EAAQ,IACdyF,EAAM,EAAQ,GACdyZ,EAAS,EAAQ,IACjByI,EAAY,EAAQ,IACpBC,EAAW,EAAQ,KACnB/Q,EAAU,EAAQ,IAClBzW,EAAW,EAAQ,GACnBR,EAAW,EAAQ,GACnBmD,EAAY,EAAQ,IACpBzC,EAAc,EAAQ,IACtBiC,EAAa,EAAQ,IACrBslB,EAAU,EAAQ,IAClBC,EAAU,EAAQ,IAClB1hB,EAAQ,EAAQ,IAChBD,EAAM,EAAQ,GACd+J,EAAQ,EAAQ,IAChBlN,EAAOoD,EAAM5F,EACbD,EAAK4F,EAAI3F,EACT+E,EAAOuiB,EAAQtnB,EACf2e,EAAUzhB,EAAOjB,OACjBsrB,EAAQrqB,EAAOsqB,KACfC,EAAaF,GAASA,EAAMG,UAE5BC,EAAS1iB,EAAI,WACb2iB,EAAe3iB,EAAI,eACnBua,EAAS,GAAG/N,qBACZoW,EAAiBzR,EAAO,mBACxB0R,EAAa1R,EAAO,WACpB2R,EAAY3R,EAAO,cACnBrF,EAAcnV,OAAgB,UAC9BqmB,EAA+B,mBAAXtD,EACpBqJ,EAAU9qB,EAAO8qB,QAEjBpa,GAAUoa,IAAYA,EAAiB,YAAMA,EAAiB,UAAEC,UAGhEC,EAAgB9W,GAAe8V,GAAO,WACxC,OAES,GAFFG,EAAQtnB,EAAG,GAAI,IAAK,CACzBhE,IAAK,WAAc,OAAOgE,EAAGkB,KAAM,IAAK,CAAE9E,MAAO,IAAKgE,MACpDA,KACD,SAAUd,EAAI5C,EAAKqV,GACtB,IAAIqW,EAAY3lB,EAAKuO,EAAatU,GAC9B0rB,UAAkBpX,EAAYtU,GAClCsD,EAAGV,EAAI5C,EAAKqV,GACRqW,GAAa9oB,IAAO0R,GAAahR,EAAGgR,EAAatU,EAAK0rB,IACxDpoB,EAEAqoB,EAAO,SAAU7mB,GACnB,IAAI8mB,EAAMP,EAAWvmB,GAAO8lB,EAAQ1I,EAAiB,WAErD,OADA0J,EAAIzP,GAAKrX,EACF8mB,GAGLC,EAAWrG,GAAyC,iBAApBtD,EAAQ9U,SAAuB,SAAUxK,GAC3E,MAAoB,iBAANA,GACZ,SAAUA,GACZ,OAAOA,aAAcsf,GAGnBrG,EAAkB,SAAwBjZ,EAAI5C,EAAKqV,GAKrD,OAJIzS,IAAO0R,GAAauH,EAAgByP,EAAWtrB,EAAKqV,GACxDlS,EAASP,GACT5C,EAAMqD,EAAYrD,GAAK,GACvBmD,EAASkS,GACLxR,EAAIwnB,EAAYrrB,IACbqV,EAAEhW,YAIDwE,EAAIjB,EAAIsoB,IAAWtoB,EAAGsoB,GAAQlrB,KAAM4C,EAAGsoB,GAAQlrB,IAAO,GAC1DqV,EAAIuV,EAAQvV,EAAG,CAAEhW,WAAYiG,EAAW,GAAG,OAJtCzB,EAAIjB,EAAIsoB,IAAS5nB,EAAGV,EAAIsoB,EAAQ5lB,EAAW,EAAG,KACnD1C,EAAGsoB,GAAQlrB,IAAO,GAIXyrB,EAAc7oB,EAAI5C,EAAKqV,IACzB/R,EAAGV,EAAI5C,EAAKqV,IAEnByW,EAAoB,SAA0BlpB,EAAIjB,GACpDwB,EAASP,GAKT,IAJA,IAGI5C,EAHAuK,EAAOogB,EAAShpB,EAAImE,EAAUnE,IAC9BlD,EAAI,EACJC,EAAI6L,EAAKlF,OAEN3G,EAAID,GAAGod,EAAgBjZ,EAAI5C,EAAMuK,EAAK9L,KAAMkD,EAAE3B,IACrD,OAAO4C,GAKLmpB,EAAwB,SAA8B/rB,GACxD,IAAIgsB,EAAIjJ,EAAOnkB,KAAK4F,KAAMxE,EAAMqD,EAAYrD,GAAK,IACjD,QAAIwE,OAAS8P,GAAezQ,EAAIwnB,EAAYrrB,KAAS6D,EAAIynB,EAAWtrB,QAC7DgsB,IAAMnoB,EAAIW,KAAMxE,KAAS6D,EAAIwnB,EAAYrrB,IAAQ6D,EAAIW,KAAM0mB,IAAW1mB,KAAK0mB,GAAQlrB,KAAOgsB,IAE/FC,EAA4B,SAAkCrpB,EAAI5C,GAGpE,GAFA4C,EAAKkD,EAAUlD,GACf5C,EAAMqD,EAAYrD,GAAK,GACnB4C,IAAO0R,IAAezQ,EAAIwnB,EAAYrrB,IAAS6D,EAAIynB,EAAWtrB,GAAlE,CACA,IAAIqV,EAAItP,EAAKnD,EAAI5C,GAEjB,OADIqV,IAAKxR,EAAIwnB,EAAYrrB,IAAU6D,EAAIjB,EAAIsoB,IAAWtoB,EAAGsoB,GAAQlrB,KAAOqV,EAAEhW,YAAa,GAChFgW,IAEL6W,EAAuB,SAA6BtpB,GAKtD,IAJA,IAGI5C,EAHAmiB,EAAQ7Z,EAAKxC,EAAUlD,IACvBuE,EAAS,GACT1I,EAAI,EAED0jB,EAAM9c,OAAS5G,GACfoF,EAAIwnB,EAAYrrB,EAAMmiB,EAAM1jB,OAASuB,GAAOkrB,GAAUlrB,GAAOiS,GAAM9K,EAAOC,KAAKpH,GACpF,OAAOmH,GAEPglB,EAAyB,SAA+BvpB,GAM1D,IALA,IAII5C,EAJAosB,EAAQxpB,IAAO0R,EACf6N,EAAQ7Z,EAAK8jB,EAAQd,EAAYxlB,EAAUlD,IAC3CuE,EAAS,GACT1I,EAAI,EAED0jB,EAAM9c,OAAS5G,IAChBoF,EAAIwnB,EAAYrrB,EAAMmiB,EAAM1jB,OAAU2tB,IAAQvoB,EAAIyQ,EAAatU,IAAcmH,EAAOC,KAAKikB,EAAWrrB,IACxG,OAAOmH,GAINqe,IAYH5kB,GAXAshB,EAAU,WACR,GAAI1d,gBAAgB0d,EAAS,MAAMrf,UAAU,gCAC7C,IAAIiC,EAAM/B,EAAIyE,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,GAChDwN,EAAO,SAAU9P,GACf8E,OAAS8P,GAAa9E,EAAK5Q,KAAK0sB,EAAW5rB,GAC3CmE,EAAIW,KAAM0mB,IAAWrnB,EAAIW,KAAK0mB,GAASpmB,KAAMN,KAAK0mB,GAAQpmB,IAAO,GACrE2mB,EAAcjnB,KAAMM,EAAKQ,EAAW,EAAG5F,KAGzC,OADIiV,GAAexD,GAAQsa,EAAcnX,EAAaxP,EAAK,CAAEmL,cAAc,EAAM3D,IAAKkD,IAC/Emc,EAAK7mB,KAEY,UAAG,YAAY,WACvC,OAAON,KAAK2X,MAGdhT,EAAM5F,EAAI0oB,EACV/iB,EAAI3F,EAAIsY,EACR,EAAQ,IAAkBtY,EAAIsnB,EAAQtnB,EAAI2oB,EAC1C,EAAQ,IAAiB3oB,EAAIwoB,EAC7B,EAAQ,IAAkBxoB,EAAI4oB,EAE1BxX,IAAgB,EAAQ,KAC1B/T,EAAS0T,EAAa,uBAAwByX,GAAuB,GAGvE9J,EAAO1e,EAAI,SAAUvE,GACnB,OAAO2sB,EAAKnjB,EAAIxJ,MAIpB8B,EAAQA,EAAQS,EAAIT,EAAQqB,EAAIrB,EAAQO,GAAKmkB,EAAY,CAAEhmB,OAAQ0iB,IAEnE,IAAK,IAAImK,EAAa,iHAGpBpoB,MAAM,KAAM6c,GAAI,EAAGuL,EAAWhnB,OAASyb,IAAGtY,EAAI6jB,EAAWvL,OAE3D,IAAK,IAAIwL,GAAmBrZ,EAAMzK,EAAI1F,OAAQ+f,GAAI,EAAGyJ,GAAiBjnB,OAASwd,IAAI6H,EAAU4B,GAAiBzJ,OAE9G/hB,EAAQA,EAAQW,EAAIX,EAAQO,GAAKmkB,EAAY,SAAU,CAErD,IAAO,SAAUxlB,GACf,OAAO6D,EAAIunB,EAAgBprB,GAAO,IAC9BorB,EAAeprB,GACforB,EAAeprB,GAAOkiB,EAAQliB,IAGpCusB,OAAQ,SAAgBX,GACtB,IAAKC,EAASD,GAAM,MAAM/oB,UAAU+oB,EAAM,qBAC1C,IAAK,IAAI5rB,KAAOorB,EAAgB,GAAIA,EAAeprB,KAAS4rB,EAAK,OAAO5rB,GAE1EwsB,UAAW,WAAcrb,GAAS,GAClCsb,UAAW,WAActb,GAAS,KAGpCrQ,EAAQA,EAAQW,EAAIX,EAAQO,GAAKmkB,EAAY,SAAU,CAErDzlB,OA/FY,SAAgB6C,EAAIjB,GAChC,YAAaK,IAANL,EAAkBipB,EAAQhoB,GAAMkpB,EAAkBlB,EAAQhoB,GAAKjB,IAgGtEvC,eAAgByc,EAEhBwG,iBAAkByJ,EAElB9lB,yBAA0BimB,EAE1B5X,oBAAqB6X,EAErBxW,sBAAuByW,IAIzBrB,GAAShqB,EAAQA,EAAQW,EAAIX,EAAQO,IAAMmkB,GAAciF,GAAO,WAC9D,IAAIhpB,EAAIygB,IAIR,MAA0B,UAAnB8I,EAAW,CAACvpB,KAA2C,MAAxBupB,EAAW,CAAEtnB,EAAGjC,KAAyC,MAAzBupB,EAAW7rB,OAAOsC,QACrF,OAAQ,CACXwpB,UAAW,SAAmBroB,GAI5B,IAHA,IAEI8pB,EAAUC,EAFVxO,EAAO,CAACvb,GACRnE,EAAI,EAED+I,UAAUnC,OAAS5G,GAAG0f,EAAK/W,KAAKI,UAAU/I,MAEjD,GADAkuB,EAAYD,EAAWvO,EAAK,IACvBxb,EAAS+pB,SAAoB1qB,IAAPY,KAAoBipB,EAASjpB,GAMxD,OALKgX,EAAQ8S,KAAWA,EAAW,SAAU1sB,EAAKN,GAEhD,GADwB,mBAAbitB,IAAyBjtB,EAAQitB,EAAU/tB,KAAK4F,KAAMxE,EAAKN,KACjEmsB,EAASnsB,GAAQ,OAAOA,IAE/Bye,EAAK,GAAKuO,EACH1B,EAAWzjB,MAAMujB,EAAO3M,MAKnC+D,EAAiB,UAAEiJ,IAAiB,EAAQ,GAAR,CAAmBjJ,EAAiB,UAAGiJ,EAAcjJ,EAAiB,UAAElQ,SAE5GsG,EAAe4J,EAAS,UAExB5J,EAAehW,KAAM,QAAQ,GAE7BgW,EAAe7X,EAAOsqB,KAAM,QAAQ,I,gBCzOpCvsB,EAAOD,QAAU,EAAQ,GAAR,CAAqB,4BAA6B0D,SAASwF,W,gBCC5E,IAAI2a,EAAU,EAAQ,IAClBI,EAAO,EAAQ,IACf3c,EAAM,EAAQ,IAClBrH,EAAOD,QAAU,SAAUqE,GACzB,IAAIuE,EAASib,EAAQxf,GACjBkgB,EAAaN,EAAKjf,EACtB,GAAIuf,EAKF,IAJA,IAGI9iB,EAHA4sB,EAAU9J,EAAWlgB,GACrBmgB,EAASld,EAAItC,EACb9E,EAAI,EAEDmuB,EAAQvnB,OAAS5G,GAAOskB,EAAOnkB,KAAKgE,EAAI5C,EAAM4sB,EAAQnuB,OAAO0I,EAAOC,KAAKpH,GAChF,OAAOmH,I,gBCbX,IAAIrG,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,SAAU,CAAE1B,OAAQ,EAAQ,O,gBCF/C,IAAIe,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAIX,EAAQO,GAAK,EAAQ,IAAmB,SAAU,CAAEjC,eAAgB,EAAQ,GAAgBmE,K,gBCFhH,IAAIzC,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAIX,EAAQO,GAAK,EAAQ,IAAmB,SAAU,CAAEghB,iBAAkB,EAAQ,O,gBCDlG,IAAIvc,EAAY,EAAQ,IACpBmmB,EAA4B,EAAQ,IAAkB1oB,EAE1D,EAAQ,GAAR,CAAyB,4BAA4B,WACnD,OAAO,SAAkCX,EAAI5C,GAC3C,OAAOisB,EAA0BnmB,EAAUlD,GAAK5C,Q,gBCLpD,IAAImG,EAAW,EAAQ,IACnB0mB,EAAkB,EAAQ,IAE9B,EAAQ,GAAR,CAAyB,kBAAkB,WACzC,OAAO,SAAwBjqB,GAC7B,OAAOiqB,EAAgB1mB,EAASvD,S,gBCLpC,IAAIuD,EAAW,EAAQ,IACnB8M,EAAQ,EAAQ,IAEpB,EAAQ,GAAR,CAAyB,QAAQ,WAC/B,OAAO,SAAcrQ,GACnB,OAAOqQ,EAAM9M,EAASvD,S,gBCL1B,EAAQ,GAAR,CAAyB,uBAAuB,WAC9C,OAAO,EAAQ,IAAsBW,M,gBCDvC,IAAIZ,EAAW,EAAQ,GACnB8P,EAAO,EAAQ,IAAWI,SAE9B,EAAQ,GAAR,CAAyB,UAAU,SAAUia,GAC3C,OAAO,SAAgBlqB,GACrB,OAAOkqB,GAAWnqB,EAASC,GAAMkqB,EAAQra,EAAK7P,IAAOA,O,gBCLzD,IAAID,EAAW,EAAQ,GACnB8P,EAAO,EAAQ,IAAWI,SAE9B,EAAQ,GAAR,CAAyB,QAAQ,SAAUka,GACzC,OAAO,SAAcnqB,GACnB,OAAOmqB,GAASpqB,EAASC,GAAMmqB,EAAMta,EAAK7P,IAAOA,O,gBCLrD,IAAID,EAAW,EAAQ,GACnB8P,EAAO,EAAQ,IAAWI,SAE9B,EAAQ,GAAR,CAAyB,qBAAqB,SAAUma,GACtD,OAAO,SAA2BpqB,GAChC,OAAOoqB,GAAsBrqB,EAASC,GAAMoqB,EAAmBva,EAAK7P,IAAOA,O,gBCL/E,IAAID,EAAW,EAAQ,GAEvB,EAAQ,GAAR,CAAyB,YAAY,SAAUsqB,GAC7C,OAAO,SAAkBrqB,GACvB,OAAOD,EAASC,MAAMqqB,GAAYA,EAAUrqB,Q,gBCJhD,IAAID,EAAW,EAAQ,GAEvB,EAAQ,GAAR,CAAyB,YAAY,SAAUuqB,GAC7C,OAAO,SAAkBtqB,GACvB,OAAOD,EAASC,MAAMsqB,GAAYA,EAAUtqB,Q,gBCJhD,IAAID,EAAW,EAAQ,GAEvB,EAAQ,GAAR,CAAyB,gBAAgB,SAAUwqB,GACjD,OAAO,SAAsBvqB,GAC3B,QAAOD,EAASC,MAAMuqB,GAAgBA,EAAcvqB,S,gBCJxD,IAAI9B,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAIX,EAAQO,EAAG,SAAU,CAAEqhB,OAAQ,EAAQ,O,gBCF3D,IAAI5hB,EAAU,EAAQ,GACtBA,EAAQA,EAAQW,EAAG,SAAU,CAAEgY,GAAI,EAAQ,O,gBCD3C,IAAI3Y,EAAU,EAAQ,GACtBA,EAAQA,EAAQW,EAAG,SAAU,CAAEsY,eAAgB,EAAQ,IAAgBzN,O,6BCAvE,IAAInE,EAAU,EAAQ,IAClBhD,EAAO,GACXA,EAAK,EAAQ,EAAR,CAAkB,gBAAkB,IACrCA,EAAO,IAAM,cACf,EAAQ,GAAR,CAAuBhG,OAAOkB,UAAW,YAAY,WACnD,MAAO,WAAa8H,EAAQ3D,MAAQ,OACnC,I,gBCPL,IAAI1D,EAAU,EAAQ,GAEtBA,EAAQA,EAAQa,EAAG,WAAY,CAAE1B,KAAM,EAAQ,Q,gBCH/C,IAAIqD,EAAK,EAAQ,GAAgBC,EAC7B6pB,EAASnrB,SAAS5B,UAClBgtB,EAAS,wBACF,SAGHD,GAAU,EAAQ,KAAqB9pB,EAAG8pB,EAHvC,OAGqD,CAC9Dnd,cAAc,EACd3Q,IAAK,WACH,IACE,OAAQ,GAAKkF,MAAMuY,MAAMsQ,GAAQ,GACjC,MAAO3qB,GACP,MAAO,Q,6BCXb,IAAIC,EAAW,EAAQ,GACnB0F,EAAiB,EAAQ,IACzBilB,EAAe,EAAQ,EAAR,CAAkB,eACjCC,EAAgBtrB,SAAS5B,UAEvBitB,KAAgBC,GAAgB,EAAQ,GAAgBhqB,EAAEgqB,EAAeD,EAAc,CAAE5tB,MAAO,SAAU8D,GAC9G,GAAmB,mBAARgB,OAAuB7B,EAASa,GAAI,OAAO,EACtD,IAAKb,EAAS6B,KAAKnE,WAAY,OAAOmD,aAAagB,KAEnD,KAAOhB,EAAI6E,EAAe7E,IAAI,GAAIgB,KAAKnE,YAAcmD,EAAG,OAAO,EAC/D,OAAO,M,gBCXT,IAAI1C,EAAU,EAAQ,GAClBwiB,EAAY,EAAQ,KAExBxiB,EAAQA,EAAQS,EAAIT,EAAQO,GAAKkiB,UAAYD,GAAY,CAAEC,SAAUD,K,gBCHrE,IAAIxiB,EAAU,EAAQ,GAClB8iB,EAAc,EAAQ,KAE1B9iB,EAAQA,EAAQS,EAAIT,EAAQO,GAAKwiB,YAAcD,GAAc,CAAEC,WAAYD,K,6BCF3E,IAAInjB,EAAS,EAAQ,GACjBoD,EAAM,EAAQ,IACdkR,EAAM,EAAQ,IACdwD,EAAoB,EAAQ,IAC5BlV,EAAc,EAAQ,IACtBqB,EAAQ,EAAQ,GAChB4D,EAAO,EAAQ,IAAkB/E,EACjCwC,EAAO,EAAQ,IAAkBxC,EACjCD,EAAK,EAAQ,GAAgBC,EAC7BigB,EAAQ,EAAQ,IAAkBrN,KAElCqX,EAAU/sB,EAAa,OACvBiQ,EAAO8c,EACP1f,EAAQ0f,EAAQntB,UAEhBotB,EALS,UAKI1Y,EAAI,EAAQ,GAAR,CAA4BjH,IAC7C4f,EAAO,SAAUnpB,OAAOlE,UAGxBstB,EAAW,SAAUC,GACvB,IAAIhrB,EAAKS,EAAYuqB,GAAU,GAC/B,GAAiB,iBAANhrB,GAAkBA,EAAGyC,OAAS,EAAG,CAE1C,IACIwoB,EAAOlK,EAAOmK,EADdC,GADJnrB,EAAK8qB,EAAO9qB,EAAGuT,OAASqN,EAAM5gB,EAAI,IACnB8X,WAAW,GAE1B,GAAc,KAAVqT,GAA0B,KAAVA,GAElB,GAAc,MADdF,EAAQjrB,EAAG8X,WAAW,KACQ,MAAVmT,EAAe,OAAO9N,SACrC,GAAc,KAAVgO,EAAc,CACvB,OAAQnrB,EAAG8X,WAAW,IACpB,KAAK,GAAI,KAAK,GAAIiJ,EAAQ,EAAGmK,EAAU,GAAI,MAC3C,KAAK,GAAI,KAAK,IAAKnK,EAAQ,EAAGmK,EAAU,GAAI,MAC5C,QAAS,OAAQlrB,EAEnB,IAAK,IAAoDorB,EAAhDC,EAASrrB,EAAG8E,MAAM,GAAIjJ,EAAI,EAAGC,EAAIuvB,EAAO5oB,OAAc5G,EAAIC,EAAGD,IAIpE,IAHAuvB,EAAOC,EAAOvT,WAAWjc,IAGd,IAAMuvB,EAAOF,EAAS,OAAO/N,IACxC,OAAOwD,SAAS0K,EAAQtK,IAE5B,OAAQ/gB,GAGZ,IAAK4qB,EAAQ,UAAYA,EAAQ,QAAUA,EAAQ,QAAS,CAC1DA,EAAU,SAAgB9tB,GACxB,IAAIkD,EAAK4E,UAAUnC,OAAS,EAAI,EAAI3F,EAChCsH,EAAOxC,KACX,OAAOwC,aAAgBwmB,IAEjBC,EAAa/oB,GAAM,WAAcoJ,EAAMkE,QAAQpT,KAAKoI,MAxCjD,UAwC6D+N,EAAI/N,IACpEuR,EAAkB,IAAI7H,EAAKid,EAAS/qB,IAAMoE,EAAMwmB,GAAWG,EAAS/qB,IAE5E,IAAK,IAMgB5C,EANZuK,EAAO,EAAQ,IAAoBjC,EAAKoI,GAAQ,6KAMvDzM,MAAM,KAAM6c,EAAI,EAAQvW,EAAKlF,OAASyb,EAAGA,IACrCjd,EAAI6M,EAAM1Q,EAAMuK,EAAKuW,MAAQjd,EAAI2pB,EAASxtB,IAC5CsD,EAAGkqB,EAASxtB,EAAK+F,EAAK2K,EAAM1Q,IAGhCwtB,EAAQntB,UAAYyN,EACpBA,EAAMsC,YAAcod,EACpB,EAAQ,GAAR,CAAuB/sB,EAxDZ,SAwD4B+sB,K,6BClEzC,IAAI1sB,EAAU,EAAQ,GAClBmC,EAAY,EAAQ,IACpBirB,EAAe,EAAQ,KACvBrE,EAAS,EAAQ,IACjBsE,EAAW,GAAIC,QACfzoB,EAAQrD,KAAKqD,MACbqL,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GACvBqd,EAAQ,wCAGRC,EAAW,SAAUpuB,EAAGpB,GAG1B,IAFA,IAAIL,GAAK,EACL8vB,EAAKzvB,IACAL,EAAI,GACX8vB,GAAMruB,EAAI8Q,EAAKvS,GACfuS,EAAKvS,GAAK8vB,EAAK,IACfA,EAAK5oB,EAAM4oB,EAAK,MAGhBC,EAAS,SAAUtuB,GAGrB,IAFA,IAAIzB,EAAI,EACJK,EAAI,IACCL,GAAK,GACZK,GAAKkS,EAAKvS,GACVuS,EAAKvS,GAAKkH,EAAM7G,EAAIoB,GACpBpB,EAAKA,EAAIoB,EAAK,KAGduuB,EAAc,WAGhB,IAFA,IAAIhwB,EAAI,EACJ+B,EAAI,KACC/B,GAAK,GACZ,GAAU,KAAN+B,GAAkB,IAAN/B,GAAuB,IAAZuS,EAAKvS,GAAU,CACxC,IAAIkB,EAAI4E,OAAOyM,EAAKvS,IACpB+B,EAAU,KAANA,EAAWb,EAAIa,EAAIqpB,EAAOjrB,KA1BzB,IA0BoC,EAAIe,EAAE0F,QAAU1F,EAE3D,OAAOa,GAEPwe,EAAM,SAAU3E,EAAGna,EAAGwuB,GACxB,OAAa,IAANxuB,EAAUwuB,EAAMxuB,EAAI,GAAM,EAAI8e,EAAI3E,EAAGna,EAAI,EAAGwuB,EAAMrU,GAAK2E,EAAI3E,EAAIA,EAAGna,EAAI,EAAGwuB,IAelF5tB,EAAQA,EAAQa,EAAIb,EAAQO,KAAO8sB,IACV,UAAvB,KAAQC,QAAQ,IACG,MAAnB,GAAIA,QAAQ,IACS,SAArB,MAAMA,QAAQ,IACuB,yBAArC,mBAAsBA,QAAQ,MAC1B,EAAQ,EAAR,EAAoB,WAExBD,EAASvvB,KAAK,QACX,SAAU,CACbwvB,QAAS,SAAiBO,GACxB,IAIIjsB,EAAGksB,EAAG9N,EAAG+B,EAJTxI,EAAI6T,EAAa1pB,KAAM6pB,GACvB9qB,EAAIN,EAAU0rB,GACdnuB,EAAI,GACJ3B,EA3DG,IA6DP,GAAI0E,EAAI,GAAKA,EAAI,GAAI,MAAM6F,WAAWilB,GAEtC,GAAIhU,GAAKA,EAAG,MAAO,MACnB,GAAIA,IAAM,MAAQA,GAAK,KAAM,OAAO9V,OAAO8V,GAK3C,GAJIA,EAAI,IACN7Z,EAAI,IACJ6Z,GAAKA,GAEHA,EAAI,MAKN,GAHAuU,GADAlsB,EArCI,SAAU2X,GAGlB,IAFA,IAAIna,EAAI,EACJ2uB,EAAKxU,EACFwU,GAAM,MACX3uB,GAAK,GACL2uB,GAAM,KAER,KAAOA,GAAM,GACX3uB,GAAK,EACL2uB,GAAM,EACN,OAAO3uB,EA2BD+e,CAAI5E,EAAI2E,EAAI,EAAG,GAAI,IAAM,IACrB,EAAI3E,EAAI2E,EAAI,GAAItc,EAAG,GAAK2X,EAAI2E,EAAI,EAAGtc,EAAG,GAC9CksB,GAAK,kBACLlsB,EAAI,GAAKA,GACD,EAAG,CAGT,IAFA4rB,EAAS,EAAGM,GACZ9N,EAAIvd,EACGud,GAAK,GACVwN,EAAS,IAAK,GACdxN,GAAK,EAIP,IAFAwN,EAAStP,EAAI,GAAI8B,EAAG,GAAI,GACxBA,EAAIpe,EAAI,EACDoe,GAAK,IACV0N,EAAO,GAAK,IACZ1N,GAAK,GAEP0N,EAAO,GAAK1N,GACZwN,EAAS,EAAG,GACZE,EAAO,GACP3vB,EAAI4vB,SAEJH,EAAS,EAAGM,GACZN,EAAS,IAAM5rB,EAAG,GAClB7D,EAAI4vB,IAAgB5E,EAAOjrB,KA9FxB,IA8FmC2E,GAQxC,OAHA1E,EAFE0E,EAAI,EAEF/C,IADJqiB,EAAIhkB,EAAEwG,SACQ9B,EAAI,KAAOsmB,EAAOjrB,KAnG3B,IAmGsC2E,EAAIsf,GAAKhkB,EAAIA,EAAE6I,MAAM,EAAGmb,EAAItf,GAAK,IAAM1E,EAAE6I,MAAMmb,EAAItf,IAE1F/C,EAAI3B,M,6BC7Gd,IAAIiC,EAAU,EAAQ,GAClB2pB,EAAS,EAAQ,GACjByD,EAAe,EAAQ,KACvBY,EAAe,GAAIC,YAEvBjuB,EAAQA,EAAQa,EAAIb,EAAQO,GAAKopB,GAAO,WAEtC,MAA2C,MAApCqE,EAAalwB,KAAK,OAAGoD,QACvByoB,GAAO,WAEZqE,EAAalwB,KAAK,QACf,SAAU,CACbmwB,YAAa,SAAqBC,GAChC,IAAIhoB,EAAOknB,EAAa1pB,KAAM,6CAC9B,YAAqBxC,IAAdgtB,EAA0BF,EAAalwB,KAAKoI,GAAQ8nB,EAAalwB,KAAKoI,EAAMgoB,O,gBCdvF,IAAIluB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,SAAU,CAAEwtB,QAAS3sB,KAAK0c,IAAI,GAAI,O,gBCFrD,IAAIle,EAAU,EAAQ,GAClBouB,EAAY,EAAQ,GAAanL,SAErCjjB,EAAQA,EAAQW,EAAG,SAAU,CAC3BsiB,SAAU,SAAkBnhB,GAC1B,MAAoB,iBAANA,GAAkBssB,EAAUtsB,O,gBCL9C,IAAI9B,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,SAAU,CAAE0tB,UAAW,EAAQ,Q,gBCFlD,IAAIruB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,SAAU,CAC3BmE,MAAO,SAAe8jB,GAEpB,OAAOA,GAAUA,M,gBCLrB,IAAI5oB,EAAU,EAAQ,GAClBquB,EAAY,EAAQ,KACpBpQ,EAAMzc,KAAKyc,IAEfje,EAAQA,EAAQW,EAAG,SAAU,CAC3B2tB,cAAe,SAAuB1F,GACpC,OAAOyF,EAAUzF,IAAW3K,EAAI2K,IAAW,qB,gBCN/C,IAAI5oB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,SAAU,CAAE4tB,iBAAkB,oB,gBCFjD,IAAIvuB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,SAAU,CAAE6tB,kBAAmB,oB,gBCHlD,IAAIxuB,EAAU,EAAQ,GAClB8iB,EAAc,EAAQ,KAE1B9iB,EAAQA,EAAQW,EAAIX,EAAQO,GAAKkuB,OAAO1L,YAAcD,GAAc,SAAU,CAAEC,WAAYD,K,gBCH5F,IAAI9iB,EAAU,EAAQ,GAClBwiB,EAAY,EAAQ,KAExBxiB,EAAQA,EAAQW,EAAIX,EAAQO,GAAKkuB,OAAOhM,UAAYD,GAAY,SAAU,CAAEC,SAAUD,K,gBCFtF,IAAIxiB,EAAU,EAAQ,GAClBkjB,EAAQ,EAAQ,KAChBwL,EAAOltB,KAAKktB,KACZC,EAASntB,KAAKotB,MAElB5uB,EAAQA,EAAQW,EAAIX,EAAQO,IAAMouB,GAEW,KAAxCntB,KAAKqD,MAAM8pB,EAAOF,OAAOI,aAEzBF,EAAOtV,MAAaA,KACtB,OAAQ,CACTuV,MAAO,SAAerV,GACpB,OAAQA,GAAKA,GAAK,EAAI0F,IAAM1F,EAAI,kBAC5B/X,KAAK2c,IAAI5E,GAAK/X,KAAK4c,IACnB8E,EAAM3J,EAAI,EAAImV,EAAKnV,EAAI,GAAKmV,EAAKnV,EAAI,Q,gBCd7C,IAAIvZ,EAAU,EAAQ,GAClB8uB,EAASttB,KAAKutB,MAOlB/uB,EAAQA,EAAQW,EAAIX,EAAQO,IAAMuuB,GAAU,EAAIA,EAAO,GAAK,GAAI,OAAQ,CAAEC,MAL1E,SAASA,EAAMxV,GACb,OAAQ0J,SAAS1J,GAAKA,IAAW,GAALA,EAAaA,EAAI,GAAKwV,GAAOxV,GAAK/X,KAAK2c,IAAI5E,EAAI/X,KAAKktB,KAAKnV,EAAIA,EAAI,IAAxDA,M,gBCJvC,IAAIvZ,EAAU,EAAQ,GAClBgvB,EAASxtB,KAAKytB,MAGlBjvB,EAAQA,EAAQW,EAAIX,EAAQO,IAAMyuB,GAAU,EAAIA,GAAQ,GAAK,GAAI,OAAQ,CACvEC,MAAO,SAAe1V,GACpB,OAAmB,IAAXA,GAAKA,GAAUA,EAAI/X,KAAK2c,KAAK,EAAI5E,IAAM,EAAIA,IAAM,M,gBCN7D,IAAIvZ,EAAU,EAAQ,GAClBsZ,EAAO,EAAQ,IAEnBtZ,EAAQA,EAAQW,EAAG,OAAQ,CACzBuuB,KAAM,SAAc3V,GAClB,OAAOD,EAAKC,GAAKA,GAAK/X,KAAK0c,IAAI1c,KAAKyc,IAAI1E,GAAI,EAAI,O,gBCLpD,IAAIvZ,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,OAAQ,CACzBwuB,MAAO,SAAe5V,GACpB,OAAQA,KAAO,GAAK,GAAK/X,KAAKqD,MAAMrD,KAAK2c,IAAI5E,EAAI,IAAO/X,KAAK4tB,OAAS,O,gBCJ1E,IAAIpvB,EAAU,EAAQ,GAClBK,EAAMmB,KAAKnB,IAEfL,EAAQA,EAAQW,EAAG,OAAQ,CACzB0uB,KAAM,SAAc9V,GAClB,OAAQlZ,EAAIkZ,GAAKA,GAAKlZ,GAAKkZ,IAAM,M,gBCLrC,IAAIvZ,EAAU,EAAQ,GAClBwZ,EAAS,EAAQ,IAErBxZ,EAAQA,EAAQW,EAAIX,EAAQO,GAAKiZ,GAAUhY,KAAKiY,OAAQ,OAAQ,CAAEA,MAAOD,K,gBCHzE,IAAIxZ,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,OAAQ,CAAE2uB,OAAQ,EAAQ,Q,gBCF7C,IAAIhW,EAAO,EAAQ,IACf4E,EAAM1c,KAAK0c,IACXiQ,EAAUjQ,EAAI,GAAI,IAClBqR,EAAYrR,EAAI,GAAI,IACpBsR,EAAQtR,EAAI,EAAG,MAAQ,EAAIqR,GAC3BE,EAAQvR,EAAI,GAAI,KAMpBxgB,EAAOD,QAAU+D,KAAK8tB,QAAU,SAAgB/V,GAC9C,IAEI3W,EAAGyD,EAFHqpB,EAAOluB,KAAKyc,IAAI1E,GAChBoW,EAAQrW,EAAKC,GAEjB,OAAImW,EAAOD,EAAcE,GAAwBD,EAAOD,EAAQF,EAPrD,EAAIpB,EAAU,EAAIA,GAOgDsB,EAAQF,GAErFlpB,GADAzD,GAAK,EAAI2sB,EAAYpB,GAAWuB,IAClB9sB,EAAI8sB,IAELF,GAASnpB,GAAUA,EAAespB,GAAQtW,KAChDsW,EAAQtpB,I,gBCpBjB,IAAIrG,EAAU,EAAQ,GAClBie,EAAMzc,KAAKyc,IAEfje,EAAQA,EAAQW,EAAG,OAAQ,CACzBivB,MAAO,SAAeC,EAAQC,GAM5B,IALA,IAIInrB,EAAKorB,EAJLC,EAAM,EACNryB,EAAI,EACJ4O,EAAO7F,UAAUnC,OACjB0rB,EAAO,EAEJtyB,EAAI4O,GAEL0jB,GADJtrB,EAAMsZ,EAAIvX,UAAU/I,QAGlBqyB,EAAMA,GADND,EAAME,EAAOtrB,GACKorB,EAAM,EACxBE,EAAOtrB,GAGPqrB,GAFSrrB,EAAM,GACforB,EAAMprB,EAAMsrB,GACCF,EACDprB,EAEhB,OAAOsrB,IAAS5W,IAAWA,IAAW4W,EAAOzuB,KAAKktB,KAAKsB,O,gBCrB3D,IAAIhwB,EAAU,EAAQ,GAClBkwB,EAAQ1uB,KAAK2uB,KAGjBnwB,EAAQA,EAAQW,EAAIX,EAAQO,EAAI,EAAQ,EAAR,EAAoB,WAClD,OAAgC,GAAzB2vB,EAAM,WAAY,IAA4B,GAAhBA,EAAM3rB,UACzC,OAAQ,CACV4rB,KAAM,SAAc5W,EAAG2I,GACrB,IACIkO,GAAM7W,EACN8W,GAAMnO,EACNoO,EAHS,MAGKF,EACdG,EAJS,MAIKF,EAClB,OAAO,EAAIC,EAAKC,IALH,MAKmBH,IAAO,IAAMG,EAAKD,GALrC,MAKoDD,IAAO,KAAO,KAAO,O,gBCb1F,IAAIrwB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,OAAQ,CACzB6vB,MAAO,SAAejX,GACpB,OAAO/X,KAAK2c,IAAI5E,GAAK/X,KAAKivB,W,gBCJ9B,IAAIzwB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,OAAQ,CAAEuiB,MAAO,EAAQ,Q,gBCF5C,IAAIljB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,OAAQ,CACzB+vB,KAAM,SAAcnX,GAClB,OAAO/X,KAAK2c,IAAI5E,GAAK/X,KAAK4c,Q,gBCJ9B,IAAIpe,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,OAAQ,CAAE2Y,KAAM,EAAQ,O,gBCF3C,IAAItZ,EAAU,EAAQ,GAClByZ,EAAQ,EAAQ,IAChBpZ,EAAMmB,KAAKnB,IAGfL,EAAQA,EAAQW,EAAIX,EAAQO,EAAI,EAAQ,EAAR,EAAoB,WAClD,OAA8B,QAAtBiB,KAAKmvB,MAAM,UACjB,OAAQ,CACVA,KAAM,SAAcpX,GAClB,OAAO/X,KAAKyc,IAAI1E,GAAKA,GAAK,GACrBE,EAAMF,GAAKE,GAAOF,IAAM,GACxBlZ,EAAIkZ,EAAI,GAAKlZ,GAAKkZ,EAAI,KAAO/X,KAAK0pB,EAAI,O,gBCX/C,IAAIlrB,EAAU,EAAQ,GAClByZ,EAAQ,EAAQ,IAChBpZ,EAAMmB,KAAKnB,IAEfL,EAAQA,EAAQW,EAAG,OAAQ,CACzBiwB,KAAM,SAAcrX,GAClB,IAAI3W,EAAI6W,EAAMF,GAAKA,GACf/S,EAAIiT,GAAOF,GACf,OAAO3W,GAAKyW,IAAW,EAAI7S,GAAK6S,KAAY,GAAKzW,EAAI4D,IAAMnG,EAAIkZ,GAAKlZ,GAAKkZ,Q,gBCR7E,IAAIvZ,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,OAAQ,CACzBkwB,MAAO,SAAe/uB,GACpB,OAAQA,EAAK,EAAIN,KAAKqD,MAAQrD,KAAKoD,MAAM9C,O,gBCL7C,IAAI9B,EAAU,EAAQ,GAClBoH,EAAkB,EAAQ,IAC1B0pB,EAAertB,OAAOqtB,aACtBC,EAAiBttB,OAAOutB,cAG5BhxB,EAAQA,EAAQW,EAAIX,EAAQO,KAAOwwB,GAA2C,GAAzBA,EAAexsB,QAAc,SAAU,CAE1FysB,cAAe,SAAuBzX,GAKpC,IAJA,IAGI2T,EAHA/mB,EAAM,GACNoG,EAAO7F,UAAUnC,OACjB5G,EAAI,EAED4O,EAAO5O,GAAG,CAEf,GADAuvB,GAAQxmB,UAAU/I,KACdyJ,EAAgB8lB,EAAM,WAAcA,EAAM,MAAM5kB,WAAW4kB,EAAO,8BACtE/mB,EAAIG,KAAK4mB,EAAO,MACZ4D,EAAa5D,GACb4D,EAAyC,QAA1B5D,GAAQ,QAAY,IAAcA,EAAO,KAAQ,QAEpE,OAAO/mB,EAAI3C,KAAK,Q,gBCpBtB,IAAIxD,EAAU,EAAQ,GAClBgF,EAAY,EAAQ,IACpBM,EAAW,EAAQ,GAEvBtF,EAAQA,EAAQW,EAAG,SAAU,CAE3BswB,IAAK,SAAaC,GAMhB,IALA,IAAIC,EAAMnsB,EAAUksB,EAASD,KACzBpiB,EAAMvJ,EAAS6rB,EAAI5sB,QACnBgI,EAAO7F,UAAUnC,OACjB4B,EAAM,GACNxI,EAAI,EACDkR,EAAMlR,GACXwI,EAAIG,KAAK7C,OAAO0tB,EAAIxzB,OAChBA,EAAI4O,GAAMpG,EAAIG,KAAK7C,OAAOiD,UAAU/I,KACxC,OAAOwI,EAAI3C,KAAK,Q,6BCbtB,EAAQ,GAAR,CAA0B,QAAQ,SAAUkf,GAC1C,OAAO,WACL,OAAOA,EAAMhf,KAAM,Q,6BCHvB,IAAI0tB,EAAM,EAAQ,GAAR,EAAwB,GAGlC,EAAQ,GAAR,CAA0B3tB,OAAQ,UAAU,SAAU0X,GACpDzX,KAAK+P,GAAKhQ,OAAO0X,GACjBzX,KAAK0X,GAAK,KAET,WACD,IAEIiW,EAFA3uB,EAAIgB,KAAK+P,GACTrN,EAAQ1C,KAAK0X,GAEjB,OAAIhV,GAAS1D,EAAE6B,OAAe,CAAE3F,WAAOsC,EAAW0L,MAAM,IACxDykB,EAAQD,EAAI1uB,EAAG0D,GACf1C,KAAK0X,IAAMiW,EAAM9sB,OACV,CAAE3F,MAAOyyB,EAAOzkB,MAAM,Q,6BCd/B,IAAI5M,EAAU,EAAQ,GAClBoxB,EAAM,EAAQ,GAAR,EAAwB,GAClCpxB,EAAQA,EAAQa,EAAG,SAAU,CAE3BywB,YAAa,SAAqB3X,GAChC,OAAOyX,EAAI1tB,KAAMiW,O,6BCJrB,IAAI3Z,EAAU,EAAQ,GAClBsF,EAAW,EAAQ,GACnBisB,EAAU,EAAQ,IAElBC,EAAY,GAAY,SAE5BxxB,EAAQA,EAAQa,EAAIb,EAAQO,EAAI,EAAQ,GAAR,CAHhB,YAG0D,SAAU,CAClFkxB,SAAU,SAAkB5W,GAC1B,IAAI3U,EAAOqrB,EAAQ7tB,KAAMmX,EALb,YAMR6W,EAAchrB,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,EACpD2N,EAAMvJ,EAASY,EAAK3B,QACpB8J,OAAsBnN,IAAhBwwB,EAA4B7iB,EAAMrN,KAAKY,IAAIkD,EAASosB,GAAc7iB,GACxE8iB,EAASluB,OAAOoX,GACpB,OAAO2W,EACHA,EAAU1zB,KAAKoI,EAAMyrB,EAAQtjB,GAC7BnI,EAAKU,MAAMyH,EAAMsjB,EAAOptB,OAAQ8J,KAASsjB,M,6BCfjD,IAAI3xB,EAAU,EAAQ,GAClBuxB,EAAU,EAAQ,IAGtBvxB,EAAQA,EAAQa,EAAIb,EAAQO,EAAI,EAAQ,GAAR,CAFjB,YAE0D,SAAU,CACjFqN,SAAU,SAAkBiN,GAC1B,SAAU0W,EAAQ7tB,KAAMmX,EAJb,YAKRnN,QAAQmN,EAAcnU,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,O,gBCTnE,IAAIlB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQa,EAAG,SAAU,CAE3BkoB,OAAQ,EAAQ,O,6BCFlB,IAAI/oB,EAAU,EAAQ,GAClBsF,EAAW,EAAQ,GACnBisB,EAAU,EAAQ,IAElBK,EAAc,GAAc,WAEhC5xB,EAAQA,EAAQa,EAAIb,EAAQO,EAAI,EAAQ,GAAR,CAHd,cAG0D,SAAU,CACpFsxB,WAAY,SAAoBhX,GAC9B,IAAI3U,EAAOqrB,EAAQ7tB,KAAMmX,EALX,cAMVzU,EAAQd,EAAS9D,KAAKY,IAAIsE,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,EAAWgF,EAAK3B,SAChFotB,EAASluB,OAAOoX,GACpB,OAAO+W,EACHA,EAAY9zB,KAAKoI,EAAMyrB,EAAQvrB,GAC/BF,EAAKU,MAAMR,EAAOA,EAAQurB,EAAOptB,UAAYotB,M,6BCbrD,EAAQ,GAAR,CAA0B,UAAU,SAAU7tB,GAC5C,OAAO,SAAgB5F,GACrB,OAAO4F,EAAWJ,KAAM,IAAK,OAAQxF,Q,6BCFzC,EAAQ,GAAR,CAA0B,OAAO,SAAU4F,GACzC,OAAO,WACL,OAAOA,EAAWJ,KAAM,MAAO,GAAI,S,6BCFvC,EAAQ,GAAR,CAA0B,SAAS,SAAUI,GAC3C,OAAO,WACL,OAAOA,EAAWJ,KAAM,QAAS,GAAI,S,6BCFzC,EAAQ,GAAR,CAA0B,QAAQ,SAAUI,GAC1C,OAAO,WACL,OAAOA,EAAWJ,KAAM,IAAK,GAAI,S,6BCFrC,EAAQ,GAAR,CAA0B,SAAS,SAAUI,GAC3C,OAAO,WACL,OAAOA,EAAWJ,KAAM,KAAM,GAAI,S,6BCFtC,EAAQ,GAAR,CAA0B,aAAa,SAAUI,GAC/C,OAAO,SAAmBguB,GACxB,OAAOhuB,EAAWJ,KAAM,OAAQ,QAASouB,Q,6BCF7C,EAAQ,GAAR,CAA0B,YAAY,SAAUhuB,GAC9C,OAAO,SAAkBiuB,GACvB,OAAOjuB,EAAWJ,KAAM,OAAQ,OAAQquB,Q,6BCF5C,EAAQ,GAAR,CAA0B,WAAW,SAAUjuB,GAC7C,OAAO,WACL,OAAOA,EAAWJ,KAAM,IAAK,GAAI,S,6BCFrC,EAAQ,GAAR,CAA0B,QAAQ,SAAUI,GAC1C,OAAO,SAAckuB,GACnB,OAAOluB,EAAWJ,KAAM,IAAK,OAAQsuB,Q,6BCFzC,EAAQ,GAAR,CAA0B,SAAS,SAAUluB,GAC3C,OAAO,WACL,OAAOA,EAAWJ,KAAM,QAAS,GAAI,S,6BCFzC,EAAQ,GAAR,CAA0B,UAAU,SAAUI,GAC5C,OAAO,WACL,OAAOA,EAAWJ,KAAM,SAAU,GAAI,S,6BCF1C,EAAQ,GAAR,CAA0B,OAAO,SAAUI,GACzC,OAAO,WACL,OAAOA,EAAWJ,KAAM,MAAO,GAAI,S,6BCFvC,EAAQ,GAAR,CAA0B,OAAO,SAAUI,GACzC,OAAO,WACL,OAAOA,EAAWJ,KAAM,MAAO,GAAI,S,gBCHvC,IAAI1D,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,OAAQ,CAAE4c,IAAK,WAAc,OAAO,IAAI0U,MAAOC,c,6BCFlE,IAAIlyB,EAAU,EAAQ,GAClBqF,EAAW,EAAQ,IACnB9C,EAAc,EAAQ,IAE1BvC,EAAQA,EAAQa,EAAIb,EAAQO,EAAI,EAAQ,EAAR,EAAoB,WAClD,OAAkC,OAA3B,IAAI0xB,KAAKhT,KAAKkT,UAC2D,IAA3EF,KAAK1yB,UAAU4yB,OAAOr0B,KAAK,CAAEs0B,YAAa,WAAc,OAAO,QAClE,OAAQ,CAEVD,OAAQ,SAAgBjzB,GACtB,IAAIwD,EAAI2C,EAAS3B,MACb2uB,EAAK9vB,EAAYG,GACrB,MAAoB,iBAAN2vB,GAAmBpP,SAASoP,GAAa3vB,EAAE0vB,cAAT,S,gBCZpD,IAAIpyB,EAAU,EAAQ,GAClBoyB,EAAc,EAAQ,KAG1BpyB,EAAQA,EAAQa,EAAIb,EAAQO,GAAK0xB,KAAK1yB,UAAU6yB,cAAgBA,GAAc,OAAQ,CACpFA,YAAaA,K,6BCJf,IAAIxuB,EAAQ,EAAQ,GAChBsuB,EAAUD,KAAK1yB,UAAU2yB,QACzBI,EAAeL,KAAK1yB,UAAU6yB,YAE9BG,EAAK,SAAUC,GACjB,OAAOA,EAAM,EAAIA,EAAM,IAAMA,GAI/B90B,EAAOD,QAAWmG,GAAM,WACtB,MAAiD,4BAA1C0uB,EAAax0B,KAAK,IAAIm0B,MAAK,sBAC7BruB,GAAM,WACX0uB,EAAax0B,KAAK,IAAIm0B,KAAKhT,SACvB,WACJ,IAAKgE,SAASiP,EAAQp0B,KAAK4F,OAAQ,MAAM4E,WAAW,sBACpD,IAAIrK,EAAIyF,KACJwe,EAAIjkB,EAAEw0B,iBACN10B,EAAIE,EAAEy0B,qBACNhzB,EAAIwiB,EAAI,EAAI,IAAMA,EAAI,KAAO,IAAM,GACvC,OAAOxiB,GAAK,QAAU8B,KAAKyc,IAAIiE,IAAItb,MAAMlH,GAAK,GAAK,GACjD,IAAM6yB,EAAGt0B,EAAE00B,cAAgB,GAAK,IAAMJ,EAAGt0B,EAAE20B,cAC3C,IAAML,EAAGt0B,EAAE40B,eAAiB,IAAMN,EAAGt0B,EAAE60B,iBACvC,IAAMP,EAAGt0B,EAAE80B,iBAAmB,KAAOh1B,EAAI,GAAKA,EAAI,IAAMw0B,EAAGx0B,IAAM,KACjEu0B,G,gBCzBJ,IAAIU,EAAYf,KAAK1yB,UAGjB0D,EAAY+vB,EAAmB,SAC/Bd,EAAUc,EAAUd,QACpB,IAAID,KAAKhT,KAAO,IAJD,gBAKjB,EAAQ,GAAR,CAAuB+T,EAJT,YAI+B,WAC3C,IAAIp0B,EAAQszB,EAAQp0B,KAAK4F,MAEzB,OAAO9E,GAAUA,EAAQqE,EAAUnF,KAAK4F,MARzB,mB,gBCDnB,IAAI2mB,EAAe,EAAQ,EAAR,CAAkB,eACjCrd,EAAQilB,KAAK1yB,UAEX8qB,KAAgBrd,GAAQ,EAAQ,GAAR,CAAmBA,EAAOqd,EAAc,EAAQ,O,6BCF9E,IAAIhoB,EAAW,EAAQ,GACnBE,EAAc,EAAQ,IAG1B7E,EAAOD,QAAU,SAAUw1B,GACzB,GAAa,WAATA,GAHO,WAGcA,GAA4B,YAATA,EAAoB,MAAMlxB,UAAU,kBAChF,OAAOQ,EAAYF,EAASqB,MAJjB,UAIwBuvB,K,gBCNrC,IAAIjzB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,QAAS,CAAEmY,QAAS,EAAQ,O,6BCF/C,IAAI/Y,EAAM,EAAQ,IACdC,EAAU,EAAQ,GAClBqF,EAAW,EAAQ,IACnBvH,EAAO,EAAQ,KACfwJ,EAAc,EAAQ,IACtBhC,EAAW,EAAQ,GACnB4tB,EAAiB,EAAQ,IACzBzrB,EAAY,EAAQ,IAExBzH,EAAQA,EAAQW,EAAIX,EAAQO,GAAK,EAAQ,GAAR,EAA0B,SAAUoQ,GAAQlI,MAAMwI,KAAKN,MAAW,QAAS,CAE1GM,KAAM,SAActC,GAClB,IAOIpK,EAAQ8B,EAAQgG,EAAMC,EAPtB5J,EAAI2C,EAASsJ,GACb9C,EAAmB,mBAARnI,KAAqBA,KAAO+E,MACvC8D,EAAO7F,UAAUnC,OACjBiI,EAAQD,EAAO,EAAI7F,UAAU,QAAKxF,EAClCuL,OAAoBvL,IAAVsL,EACVpG,EAAQ,EACRsG,EAASjF,EAAU/E,GAIvB,GAFI+J,IAASD,EAAQzM,EAAIyM,EAAOD,EAAO,EAAI7F,UAAU,QAAKxF,EAAW,IAEvDA,MAAVwL,GAAyBb,GAAKpD,OAASnB,EAAYoF,GAMrD,IAAKrG,EAAS,IAAIwF,EADlBtH,EAASe,EAAS5C,EAAE6B,SACSA,EAAS6B,EAAOA,IAC3C8sB,EAAe7sB,EAAQD,EAAOqG,EAAUD,EAAM9J,EAAE0D,GAAQA,GAAS1D,EAAE0D,SANrE,IAAKkG,EAAWI,EAAO5O,KAAK4E,GAAI2D,EAAS,IAAIwF,IAAOQ,EAAOC,EAASK,QAAQC,KAAMxG,IAChF8sB,EAAe7sB,EAAQD,EAAOqG,EAAU3O,EAAKwO,EAAUE,EAAO,CAACH,EAAKzN,MAAOwH,IAAQ,GAAQiG,EAAKzN,OASpG,OADAyH,EAAO9B,OAAS6B,EACTC,M,6BCjCX,IAAIrG,EAAU,EAAQ,GAClBkzB,EAAiB,EAAQ,IAG7BlzB,EAAQA,EAAQW,EAAIX,EAAQO,EAAI,EAAQ,EAAR,EAAoB,WAClD,SAASA,KACT,QAASkI,MAAMuI,GAAGlT,KAAKyC,aAAcA,MACnC,QAAS,CAEXyQ,GAAI,WAIF,IAHA,IAAI5K,EAAQ,EACRmG,EAAO7F,UAAUnC,OACjB8B,EAAS,IAAoB,mBAAR3C,KAAqBA,KAAO+E,OAAO8D,GACrDA,EAAOnG,GAAO8sB,EAAe7sB,EAAQD,EAAOM,UAAUN,MAE7D,OADAC,EAAO9B,OAASgI,EACTlG,M,6BCdX,IAAIrG,EAAU,EAAQ,GAClBgF,EAAY,EAAQ,IACpBkF,EAAY,GAAG1G,KAGnBxD,EAAQA,EAAQa,EAAIb,EAAQO,GAAK,EAAQ,KAAiBlC,SAAW,EAAQ,GAAR,CAA4B6L,IAAa,QAAS,CACrH1G,KAAM,SAAcqK,GAClB,OAAO3D,EAAUpM,KAAKkH,EAAUtB,WAAqBxC,IAAd2M,EAA0B,IAAMA,O,6BCR3E,IAAI7N,EAAU,EAAQ,GAClBuc,EAAO,EAAQ,IACftI,EAAM,EAAQ,IACd7M,EAAkB,EAAQ,IAC1B9B,EAAW,EAAQ,GACnB+E,EAAa,GAAGzD,MAGpB5G,EAAQA,EAAQa,EAAIb,EAAQO,EAAI,EAAQ,EAAR,EAAoB,WAC9Cgc,GAAMlS,EAAWvM,KAAKye,MACxB,QAAS,CACX3V,MAAO,SAAewH,EAAOC,GAC3B,IAAIQ,EAAMvJ,EAAS5B,KAAKa,QACpBkM,EAAQwD,EAAIvQ,MAEhB,GADA2K,OAAcnN,IAARmN,EAAoBQ,EAAMR,EACnB,SAAToC,EAAkB,OAAOpG,EAAWvM,KAAK4F,KAAM0K,EAAOC,GAM1D,IALA,IAAInB,EAAQ9F,EAAgBgH,EAAOS,GAC/BskB,EAAO/rB,EAAgBiH,EAAKQ,GAC5BkjB,EAAOzsB,EAAS6tB,EAAOjmB,GACvBkmB,EAAS,IAAI3qB,MAAMspB,GACnBp0B,EAAI,EACDA,EAAIo0B,EAAMp0B,IAAKy1B,EAAOz1B,GAAc,UAAT8S,EAC9B/M,KAAKmW,OAAO3M,EAAQvP,GACpB+F,KAAKwJ,EAAQvP,GACjB,OAAOy1B,M,6BCxBX,IAAIpzB,EAAU,EAAQ,GAClBuG,EAAY,EAAQ,IACpBlB,EAAW,EAAQ,IACnBzB,EAAQ,EAAQ,GAChByvB,EAAQ,GAAGjpB,KACX/F,EAAO,CAAC,EAAG,EAAG,GAElBrE,EAAQA,EAAQa,EAAIb,EAAQO,GAAKqD,GAAM,WAErCS,EAAK+F,UAAKlJ,QACL0C,GAAM,WAEXS,EAAK+F,KAAK,WAEL,EAAQ,GAAR,CAA4BipB,IAAS,QAAS,CAEnDjpB,KAAM,SAAc8D,GAClB,YAAqBhN,IAAdgN,EACHmlB,EAAMv1B,KAAKuH,EAAS3B,OACpB2vB,EAAMv1B,KAAKuH,EAAS3B,MAAO6C,EAAU2H,Q,6BCnB7C,IAAIlO,EAAU,EAAQ,GAClBszB,EAAW,EAAQ,GAAR,CAA4B,GACvCC,EAAS,EAAQ,GAAR,CAA4B,GAAG9lB,SAAS,GAErDzN,EAAQA,EAAQa,EAAIb,EAAQO,GAAKgzB,EAAQ,QAAS,CAEhD9lB,QAAS,SAAiBxH,GACxB,OAAOqtB,EAAS5vB,KAAMuC,EAAYS,UAAU,Q,gBCPhD,IAAImB,EAAqB,EAAQ,KAEjCnK,EAAOD,QAAU,SAAU+1B,EAAUjvB,GACnC,OAAO,IAAKsD,EAAmB2rB,GAAxB,CAAmCjvB,K,gBCJ5C,IAAI1C,EAAW,EAAQ,GACnBiX,EAAU,EAAQ,IAClBhF,EAAU,EAAQ,EAAR,CAAkB,WAEhCpW,EAAOD,QAAU,SAAU+1B,GACzB,IAAI3nB,EASF,OAREiN,EAAQ0a,KAGM,mBAFhB3nB,EAAI2nB,EAASlkB,cAEkBzD,IAAMpD,QAASqQ,EAAQjN,EAAEtM,aAAasM,OAAI3K,GACrEW,EAASgK,IAED,QADVA,EAAIA,EAAEiI,MACUjI,OAAI3K,SAETA,IAAN2K,EAAkBpD,MAAQoD,I,6BCbrC,IAAI7L,EAAU,EAAQ,GAClBkL,EAAO,EAAQ,GAAR,CAA4B,GAEvClL,EAAQA,EAAQa,EAAIb,EAAQO,GAAK,EAAQ,GAAR,CAA4B,GAAGuN,KAAK,GAAO,QAAS,CAEnFA,IAAK,SAAa7H,GAChB,OAAOiF,EAAKxH,KAAMuC,EAAYS,UAAU,Q,6BCN5C,IAAI1G,EAAU,EAAQ,GAClByzB,EAAU,EAAQ,GAAR,CAA4B,GAE1CzzB,EAAQA,EAAQa,EAAIb,EAAQO,GAAK,EAAQ,GAAR,CAA4B,GAAG8M,QAAQ,GAAO,QAAS,CAEtFA,OAAQ,SAAgBpH,GACtB,OAAOwtB,EAAQ/vB,KAAMuC,EAAYS,UAAU,Q,6BCN/C,IAAI1G,EAAU,EAAQ,GAClB0zB,EAAQ,EAAQ,GAAR,CAA4B,GAExC1zB,EAAQA,EAAQa,EAAIb,EAAQO,GAAK,EAAQ,GAAR,CAA4B,GAAG0N,MAAM,GAAO,QAAS,CAEpFA,KAAM,SAAchI,GAClB,OAAOytB,EAAMhwB,KAAMuC,EAAYS,UAAU,Q,6BCN7C,IAAI1G,EAAU,EAAQ,GAClB2zB,EAAS,EAAQ,GAAR,CAA4B,GAEzC3zB,EAAQA,EAAQa,EAAIb,EAAQO,GAAK,EAAQ,GAAR,CAA4B,GAAG4M,OAAO,GAAO,QAAS,CAErFA,MAAO,SAAelH,GACpB,OAAO0tB,EAAOjwB,KAAMuC,EAAYS,UAAU,Q,6BCN9C,IAAI1G,EAAU,EAAQ,GAClB4zB,EAAU,EAAQ,KAEtB5zB,EAAQA,EAAQa,EAAIb,EAAQO,GAAK,EAAQ,GAAR,CAA4B,GAAGwJ,QAAQ,GAAO,QAAS,CAEtFA,OAAQ,SAAgB9D,GACtB,OAAO2tB,EAAQlwB,KAAMuC,EAAYS,UAAUnC,OAAQmC,UAAU,IAAI,O,6BCNrE,IAAI1G,EAAU,EAAQ,GAClB4zB,EAAU,EAAQ,KAEtB5zB,EAAQA,EAAQa,EAAIb,EAAQO,GAAK,EAAQ,GAAR,CAA4B,GAAG0J,aAAa,GAAO,QAAS,CAE3FA,YAAa,SAAqBhE,GAChC,OAAO2tB,EAAQlwB,KAAMuC,EAAYS,UAAUnC,OAAQmC,UAAU,IAAI,O,6BCNrE,IAAI1G,EAAU,EAAQ,GAClB6zB,EAAW,EAAQ,GAAR,EAA6B,GACxCrZ,EAAU,GAAG9M,QACbomB,IAAkBtZ,GAAW,EAAI,CAAC,GAAG9M,QAAQ,GAAI,GAAK,EAE1D1N,EAAQA,EAAQa,EAAIb,EAAQO,GAAKuzB,IAAkB,EAAQ,GAAR,CAA4BtZ,IAAW,QAAS,CAEjG9M,QAAS,SAAiBC,GACxB,OAAOmmB,EAEHtZ,EAAQ/T,MAAM/C,KAAMgD,YAAc,EAClCmtB,EAASnwB,KAAMiK,EAAejH,UAAU,Q,6BCXhD,IAAI1G,EAAU,EAAQ,GAClBgF,EAAY,EAAQ,IACpB7C,EAAY,EAAQ,IACpBmD,EAAW,EAAQ,GACnBkV,EAAU,GAAG3Q,YACbiqB,IAAkBtZ,GAAW,EAAI,CAAC,GAAG3Q,YAAY,GAAI,GAAK,EAE9D7J,EAAQA,EAAQa,EAAIb,EAAQO,GAAKuzB,IAAkB,EAAQ,GAAR,CAA4BtZ,IAAW,QAAS,CAEjG3Q,YAAa,SAAqB8D,GAEhC,GAAImmB,EAAe,OAAOtZ,EAAQ/T,MAAM/C,KAAMgD,YAAc,EAC5D,IAAIhE,EAAIsC,EAAUtB,MACda,EAASe,EAAS5C,EAAE6B,QACpB6B,EAAQ7B,EAAS,EAGrB,IAFImC,UAAUnC,OAAS,IAAG6B,EAAQ5E,KAAKY,IAAIgE,EAAOjE,EAAUuE,UAAU,MAClEN,EAAQ,IAAGA,EAAQ7B,EAAS6B,GAC1BA,GAAS,EAAGA,IAAS,GAAIA,KAAS1D,GAAOA,EAAE0D,KAAWuH,EAAe,OAAOvH,GAAS,EAC3F,OAAQ,M,gBClBZ,IAAIpG,EAAU,EAAQ,GAEtBA,EAAQA,EAAQa,EAAG,QAAS,CAAEoM,WAAY,EAAQ,OAElD,EAAQ,GAAR,CAAiC,e,gBCJjC,IAAIjN,EAAU,EAAQ,GAEtBA,EAAQA,EAAQa,EAAG,QAAS,CAAEuM,KAAM,EAAQ,MAE5C,EAAQ,GAAR,CAAiC,S,6BCHjC,IAAIpN,EAAU,EAAQ,GAClB+zB,EAAQ,EAAQ,GAAR,CAA4B,GAEpCtQ,GAAS,EADH,QAGC,IAAIhb,MAAM,GAAM,MAAE,WAAcgb,GAAS,KACpDzjB,EAAQA,EAAQa,EAAIb,EAAQO,EAAIkjB,EAAQ,QAAS,CAC/CnW,KAAM,SAAcrH,GAClB,OAAO8tB,EAAMrwB,KAAMuC,EAAYS,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,MAGzE,EAAQ,GAAR,CATU,S,6BCFV,IAAIlB,EAAU,EAAQ,GAClB+zB,EAAQ,EAAQ,GAAR,CAA4B,GACpC5uB,EAAM,YACNse,GAAS,EAETte,IAAO,IAAIsD,MAAM,GAAGtD,IAAK,WAAcse,GAAS,KACpDzjB,EAAQA,EAAQa,EAAIb,EAAQO,EAAIkjB,EAAQ,QAAS,CAC/CjW,UAAW,SAAmBvH,GAC5B,OAAO8tB,EAAMrwB,KAAMuC,EAAYS,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,MAGzE,EAAQ,GAAR,CAAiCiE,I,gBCbjC,EAAQ,GAAR,CAA0B,U,gBCA1B,IAAIxF,EAAS,EAAQ,GACjB8X,EAAoB,EAAQ,IAC5BjV,EAAK,EAAQ,GAAgBC,EAC7B+E,EAAO,EAAQ,IAAkB/E,EACjCmY,EAAW,EAAQ,IACnBoZ,EAAS,EAAQ,IACjBC,EAAUt0B,EAAOqV,OACjBpF,EAAOqkB,EACPjnB,EAAQinB,EAAQ10B,UAChBgc,EAAM,KACNC,EAAM,KAEN0Y,EAAc,IAAID,EAAQ1Y,KAASA,EAEvC,GAAI,EAAQ,OAAuB2Y,GAAe,EAAQ,EAAR,EAAoB,WAGpE,OAFA1Y,EAAI,EAAQ,EAAR,CAAkB,WAAY,EAE3ByY,EAAQ1Y,IAAQA,GAAO0Y,EAAQzY,IAAQA,GAA4B,QAArByY,EAAQ1Y,EAAK,SAC/D,CACH0Y,EAAU,SAAgBx0B,EAAGgD,GAC3B,IAAI0xB,EAAOzwB,gBAAgBuwB,EACvBG,EAAOxZ,EAASnb,GAChB40B,OAAYnzB,IAANuB,EACV,OAAQ0xB,GAAQC,GAAQ30B,EAAE6P,cAAgB2kB,GAAWI,EAAM50B,EACvDgY,EAAkByc,EAChB,IAAItkB,EAAKwkB,IAASC,EAAM50B,EAAES,OAAST,EAAGgD,GACtCmN,GAAMwkB,EAAO30B,aAAaw0B,GAAWx0B,EAAES,OAAST,EAAG20B,GAAQC,EAAML,EAAOl2B,KAAK2B,GAAKgD,GACpF0xB,EAAOzwB,KAAOsJ,EAAOinB,IAS3B,IAPA,IAAIK,EAAQ,SAAUp1B,GACpBA,KAAO+0B,GAAWzxB,EAAGyxB,EAAS/0B,EAAK,CACjCiQ,cAAc,EACd3Q,IAAK,WAAc,OAAOoR,EAAK1Q,IAC/BsM,IAAK,SAAU1J,GAAM8N,EAAK1Q,GAAO4C,MAG5B2H,EAAOjC,EAAKoI,GAAOjS,EAAI,EAAG8L,EAAKlF,OAAS5G,GAAI22B,EAAM7qB,EAAK9L,MAChEqP,EAAMsC,YAAc2kB,EACpBA,EAAQ10B,UAAYyN,EACpB,EAAQ,GAAR,CAAuBrN,EAAQ,SAAUs0B,GAG3C,EAAQ,GAAR,CAA0B,W,6BCzC1B,EAAQ,KACR,IAAI5xB,EAAW,EAAQ,GACnB2xB,EAAS,EAAQ,IACjBngB,EAAc,EAAQ,IAEtB5Q,EAAY,IAAa,SAEzBsxB,EAAS,SAAUnvB,GACrB,EAAQ,GAAR,CAAuB4P,OAAOzV,UAJhB,WAIsC6F,GAAI,IAItD,EAAQ,EAAR,EAAoB,WAAc,MAAsD,QAA/CnC,EAAUnF,KAAK,CAAEoC,OAAQ,IAAKwjB,MAAO,SAChF6Q,GAAO,WACL,IAAIjzB,EAAIe,EAASqB,MACjB,MAAO,IAAIkN,OAAOtP,EAAEpB,OAAQ,IAC1B,UAAWoB,EAAIA,EAAEoiB,OAAS7P,GAAevS,aAAa0T,OAASgf,EAAOl2B,KAAKwD,QAAKJ,MAZtE,YAeL+B,EAAU/E,MACnBq2B,GAAO,WACL,OAAOtxB,EAAUnF,KAAK4F,U,6BCpB1B,IAAIrB,EAAW,EAAQ,GACnBiD,EAAW,EAAQ,GACnBkvB,EAAqB,EAAQ,IAC7BC,EAAa,EAAQ,IAGzB,EAAQ,GAAR,CAAyB,QAAS,GAAG,SAAU9wB,EAASmX,EAAO4Z,EAAQC,GACrE,MAAO,CAGL,SAAe/d,GACb,IAAIlU,EAAIiB,EAAQD,MACZ0B,EAAelE,MAAV0V,OAAsB1V,EAAY0V,EAAOkE,GAClD,YAAc5Z,IAAPkE,EAAmBA,EAAGtH,KAAK8Y,EAAQlU,GAAK,IAAIsS,OAAO4B,GAAQkE,GAAOrX,OAAOf,KAIlF,SAAUkU,GACR,IAAIzQ,EAAMwuB,EAAgBD,EAAQ9d,EAAQlT,MAC1C,GAAIyC,EAAIyG,KAAM,OAAOzG,EAAIvH,MACzB,IAAIg2B,EAAKvyB,EAASuU,GACdjW,EAAI8C,OAAOC,MACf,IAAKkxB,EAAGj1B,OAAQ,OAAO80B,EAAWG,EAAIj0B,GACtC,IAAIk0B,EAAcD,EAAGhf,QACrBgf,EAAG7Y,UAAY,EAIf,IAHA,IAEI1V,EAFAwb,EAAI,GACJziB,EAAI,EAEgC,QAAhCiH,EAASouB,EAAWG,EAAIj0B,KAAc,CAC5C,IAAIm0B,EAAWrxB,OAAO4C,EAAO,IAC7Bwb,EAAEziB,GAAK01B,EACU,KAAbA,IAAiBF,EAAG7Y,UAAYyY,EAAmB7zB,EAAG2E,EAASsvB,EAAG7Y,WAAY8Y,IAClFz1B,IAEF,OAAa,IAANA,EAAU,KAAOyiB,Q,6BClC9B,IAAIxf,EAAW,EAAQ,GACnBgD,EAAW,EAAQ,IACnBC,EAAW,EAAQ,GACnBnD,EAAY,EAAQ,IACpBqyB,EAAqB,EAAQ,IAC7BC,EAAa,EAAQ,IACrBpiB,EAAM7Q,KAAK6Q,IACXjQ,EAAMZ,KAAKY,IACXyC,EAAQrD,KAAKqD,MACbkwB,EAAuB,4BACvBC,EAAgC,oBAOpC,EAAQ,GAAR,CAAyB,UAAW,GAAG,SAAUrxB,EAASsxB,EAASC,EAAUP,GAC3E,MAAO,CAGL,SAAiBQ,EAAaC,GAC5B,IAAI1yB,EAAIiB,EAAQD,MACZ0B,EAAoBlE,MAAfi0B,OAA2Bj0B,EAAYi0B,EAAYF,GAC5D,YAAc/zB,IAAPkE,EACHA,EAAGtH,KAAKq3B,EAAazyB,EAAG0yB,GACxBF,EAASp3B,KAAK2F,OAAOf,GAAIyyB,EAAaC,IAI5C,SAAUxe,EAAQwe,GAChB,IAAIjvB,EAAMwuB,EAAgBO,EAAUte,EAAQlT,KAAM0xB,GAClD,GAAIjvB,EAAIyG,KAAM,OAAOzG,EAAIvH,MAEzB,IAAIg2B,EAAKvyB,EAASuU,GACdjW,EAAI8C,OAAOC,MACX2xB,EAA4C,mBAAjBD,EAC1BC,IAAmBD,EAAe3xB,OAAO2xB,IAC9C,IAAIz1B,EAASi1B,EAAGj1B,OAChB,GAAIA,EAAQ,CACV,IAAIk1B,EAAcD,EAAGhf,QACrBgf,EAAG7Y,UAAY,EAGjB,IADA,IAAIuZ,EAAU,KACD,CACX,IAAIjvB,EAASouB,EAAWG,EAAIj0B,GAC5B,GAAe,OAAX0F,EAAiB,MAErB,GADAivB,EAAQhvB,KAAKD,IACR1G,EAAQ,MAEI,KADF8D,OAAO4C,EAAO,MACRuuB,EAAG7Y,UAAYyY,EAAmB7zB,EAAG2E,EAASsvB,EAAG7Y,WAAY8Y,IAIpF,IAFA,IAxCwB/yB,EAwCpByzB,EAAoB,GACpBC,EAAqB,EAChB73B,EAAI,EAAGA,EAAI23B,EAAQ/wB,OAAQ5G,IAAK,CACvC0I,EAASivB,EAAQ33B,GASjB,IARA,IAAI83B,EAAUhyB,OAAO4C,EAAO,IACxBqvB,EAAWrjB,EAAIjQ,EAAID,EAAUkE,EAAOD,OAAQzF,EAAE4D,QAAS,GACvDoxB,EAAW,GAMN3V,EAAI,EAAGA,EAAI3Z,EAAO9B,OAAQyb,IAAK2V,EAASrvB,UAnDzCpF,KADcY,EAoD8CuE,EAAO2Z,IAnDvDle,EAAK2B,OAAO3B,IAoDhC,IAAI8zB,EAAgBvvB,EAAO6P,OAC3B,GAAImf,EAAmB,CACrB,IAAIQ,EAAe,CAACJ,GAAS7kB,OAAO+kB,EAAUD,EAAU/0B,QAClCO,IAAlB00B,GAA6BC,EAAavvB,KAAKsvB,GACnD,IAAIE,EAAcryB,OAAO2xB,EAAa3uB,WAAMvF,EAAW20B,SAEvDC,EAAcC,EAAgBN,EAAS90B,EAAG+0B,EAAUC,EAAUC,EAAeR,GAE3EM,GAAYF,IACdD,GAAqB50B,EAAEiG,MAAM4uB,EAAoBE,GAAYI,EAC7DN,EAAqBE,EAAWD,EAAQlxB,QAG5C,OAAOgxB,EAAoB50B,EAAEiG,MAAM4uB,KAKvC,SAASO,EAAgBN,EAAS5e,EAAK6e,EAAUC,EAAUC,EAAeE,GACxE,IAAIE,EAAUN,EAAWD,EAAQlxB,OAC7BxG,EAAI43B,EAASpxB,OACbunB,EAAUkJ,EAKd,YAJsB9zB,IAAlB00B,IACFA,EAAgBvwB,EAASuwB,GACzB9J,EAAUiJ,GAELG,EAASp3B,KAAKg4B,EAAahK,GAAS,SAAU7P,EAAOga,GAC1D,IAAIC,EACJ,OAAQD,EAAGpc,OAAO,IAChB,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,OAAO4b,EACjB,IAAK,IAAK,OAAO5e,EAAIjQ,MAAM,EAAG8uB,GAC9B,IAAK,IAAK,OAAO7e,EAAIjQ,MAAMovB,GAC3B,IAAK,IACHE,EAAUN,EAAcK,EAAGrvB,MAAM,GAAI,IACrC,MACF,QACE,IAAIxH,GAAK62B,EACT,GAAU,IAAN72B,EAAS,OAAO6c,EACpB,GAAI7c,EAAIrB,EAAG,CACT,IAAI0E,EAAIoC,EAAMzF,EAAI,IAClB,OAAU,IAANqD,EAAgBwZ,EAChBxZ,GAAK1E,OAA8BmD,IAApBy0B,EAASlzB,EAAI,GAAmBwzB,EAAGpc,OAAO,GAAK8b,EAASlzB,EAAI,GAAKwzB,EAAGpc,OAAO,GACvFoC,EAETia,EAAUP,EAASv2B,EAAI,GAE3B,YAAmB8B,IAAZg1B,EAAwB,GAAKA,U,6BChH1C,IAAI7zB,EAAW,EAAQ,GACnB8zB,EAAY,EAAQ,IACpB1B,EAAa,EAAQ,IAGzB,EAAQ,GAAR,CAAyB,SAAU,GAAG,SAAU9wB,EAASyyB,EAAQC,EAAS1B,GACxE,MAAO,CAGL,SAAgB/d,GACd,IAAIlU,EAAIiB,EAAQD,MACZ0B,EAAelE,MAAV0V,OAAsB1V,EAAY0V,EAAOwf,GAClD,YAAcl1B,IAAPkE,EAAmBA,EAAGtH,KAAK8Y,EAAQlU,GAAK,IAAIsS,OAAO4B,GAAQwf,GAAQ3yB,OAAOf,KAInF,SAAUkU,GACR,IAAIzQ,EAAMwuB,EAAgB0B,EAASzf,EAAQlT,MAC3C,GAAIyC,EAAIyG,KAAM,OAAOzG,EAAIvH,MACzB,IAAIg2B,EAAKvyB,EAASuU,GACdjW,EAAI8C,OAAOC,MACX4yB,EAAoB1B,EAAG7Y,UACtBoa,EAAUG,EAAmB,KAAI1B,EAAG7Y,UAAY,GACrD,IAAI1V,EAASouB,EAAWG,EAAIj0B,GAE5B,OADKw1B,EAAUvB,EAAG7Y,UAAWua,KAAoB1B,EAAG7Y,UAAYua,GAC9C,OAAXjwB,GAAmB,EAAIA,EAAOD,Y,6BCzB3C,IAAIwU,EAAW,EAAQ,IACnBvY,EAAW,EAAQ,GACnBwF,EAAqB,EAAQ,IAC7B2sB,EAAqB,EAAQ,IAC7BlvB,EAAW,EAAQ,GACnBixB,EAAiB,EAAQ,IACzBxgB,EAAa,EAAQ,IACrBnS,EAAQ,EAAQ,GAChB4yB,EAAOh1B,KAAKY,IACZq0B,EAAQ,GAAGnwB,KAEXowB,EAAS,SAKTC,GAAc/yB,GAAM,WAAcoR,OAHrB,WAGwC,QAGzD,EAAQ,GAAR,CAAyB,QAAS,GAAG,SAAUrR,EAASizB,EAAOC,EAAQlC,GACrE,IAAImC,EAkDJ,OAxCEA,EAR6B,KAA7B,OAAa,MAAE,QAAQ,IACe,GAAtC,OAAa,MAAE,QAAS,GAAGJ,IACQ,GAAnC,KAAW,MAAE,WAAWA,IACW,GAAnC,IAAU,MAAE,YAAYA,IACxB,IAAU,MAAE,QAAQA,GAAU,GAC9B,GAAS,MAAE,MAAMA,GAGD,SAAU7oB,EAAWkpB,GACnC,IAAIhzB,EAASN,OAAOC,MACpB,QAAkBxC,IAAd2M,GAAqC,IAAVkpB,EAAa,MAAO,GAEnD,IAAKnc,EAAS/M,GAAY,OAAOgpB,EAAO/4B,KAAKiG,EAAQ8J,EAAWkpB,GAWhE,IAVA,IASI9a,EAAOF,EAAWib,EATlBC,EAAS,GACTvT,GAAS7V,EAAU6H,WAAa,IAAM,KAC7B7H,EAAU8H,UAAY,IAAM,KAC5B9H,EAAU+H,QAAU,IAAM,KAC1B/H,EAAUgI,OAAS,IAAM,IAClCqhB,EAAgB,EAChBC,OAAuBj2B,IAAV61B,EA5BN,WA4ByCA,IAAU,EAE1DK,EAAgB,IAAIpiB,OAAOnH,EAAU3N,OAAQwjB,EAAQ,MAElDzH,EAAQlG,EAAWjY,KAAKs5B,EAAerzB,QAC5CgY,EAAYqb,EAAwB,WACpBF,IACdD,EAAO3wB,KAAKvC,EAAO6C,MAAMswB,EAAejb,EAAM7V,QAC1C6V,EAAMya,GAAU,GAAKza,EAAM7V,MAAQrC,EAAO2yB,IAASD,EAAMhwB,MAAMwwB,EAAQhb,EAAMrV,MAAM,IACvFowB,EAAa/a,EAAM,GAAGya,GACtBQ,EAAgBnb,EACZkb,EAAOP,IAAWS,KAEpBC,EAAwB,YAAMnb,EAAM7V,OAAOgxB,EAAwB,YAKzE,OAHIF,IAAkBnzB,EAAO2yB,IACvBM,GAAeI,EAAc/yB,KAAK,KAAK4yB,EAAO3wB,KAAK,IAClD2wB,EAAO3wB,KAAKvC,EAAO6C,MAAMswB,IACzBD,EAAOP,GAAUS,EAAaF,EAAOrwB,MAAM,EAAGuwB,GAAcF,GAG5D,IAAU,WAAE/1B,EAAW,GAAGw1B,GACnB,SAAU7oB,EAAWkpB,GACnC,YAAqB71B,IAAd2M,GAAqC,IAAVkpB,EAAc,GAAKF,EAAO/4B,KAAK4F,KAAMmK,EAAWkpB,IAGpEF,EAGX,CAGL,SAAehpB,EAAWkpB,GACxB,IAAIr0B,EAAIiB,EAAQD,MACZ2zB,EAAwBn2B,MAAb2M,OAAyB3M,EAAY2M,EAAU+oB,GAC9D,YAAoB11B,IAAbm2B,EACHA,EAASv5B,KAAK+P,EAAWnL,EAAGq0B,GAC5BD,EAAch5B,KAAK2F,OAAOf,GAAImL,EAAWkpB,IAO/C,SAAUngB,EAAQmgB,GAChB,IAAI5wB,EAAMwuB,EAAgBmC,EAAelgB,EAAQlT,KAAMqzB,EAAOD,IAAkBD,GAChF,GAAI1wB,EAAIyG,KAAM,OAAOzG,EAAIvH,MAEzB,IAAIg2B,EAAKvyB,EAASuU,GACdjW,EAAI8C,OAAOC,MACXmI,EAAIhE,EAAmB+sB,EAAI5f,QAE3BsiB,EAAkB1C,EAAGhf,QACrB8N,GAASkR,EAAGlf,WAAa,IAAM,KACtBkf,EAAGjf,UAAY,IAAM,KACrBif,EAAGhf,QAAU,IAAM,KACnB+gB,EAAa,IAAM,KAI5BU,EAAW,IAAIxrB,EAAE8qB,EAAa/B,EAAK,OAASA,EAAG10B,OAAS,IAAKwjB,GAC7D6T,OAAgBr2B,IAAV61B,EAzFC,WAyFkCA,IAAU,EACvD,GAAY,IAARQ,EAAW,MAAO,GACtB,GAAiB,IAAb52B,EAAE4D,OAAc,OAAuC,OAAhCgyB,EAAec,EAAU12B,GAAc,CAACA,GAAK,GAIxE,IAHA,IAAIlB,EAAI,EACJ+3B,EAAI,EACJ3V,EAAI,GACD2V,EAAI72B,EAAE4D,QAAQ,CACnB8yB,EAAStb,UAAY4a,EAAaa,EAAI,EACtC,IACI51B,EADAksB,EAAIyI,EAAec,EAAUV,EAAah2B,EAAIA,EAAEiG,MAAM4wB,IAE1D,GACQ,OAAN1J,IACClsB,EAAI40B,EAAKlxB,EAAS+xB,EAAStb,WAAa4a,EAAa,EAAIa,IAAK72B,EAAE4D,WAAa9E,EAE9E+3B,EAAIhD,EAAmB7zB,EAAG62B,EAAGF,OACxB,CAEL,GADAzV,EAAEvb,KAAK3F,EAAEiG,MAAMnH,EAAG+3B,IACd3V,EAAEtd,SAAWgzB,EAAK,OAAO1V,EAC7B,IAAK,IAAIlkB,EAAI,EAAGA,GAAKmwB,EAAEvpB,OAAS,EAAG5G,IAEjC,GADAkkB,EAAEvb,KAAKwnB,EAAEnwB,IACLkkB,EAAEtd,SAAWgzB,EAAK,OAAO1V,EAE/B2V,EAAI/3B,EAAImC,GAIZ,OADAigB,EAAEvb,KAAK3F,EAAEiG,MAAMnH,IACRoiB,Q,gBClIb,IAAIliB,EAAS,EAAQ,GACjB83B,EAAY,EAAQ,IAAWjsB,IAC/BksB,EAAW/3B,EAAOg4B,kBAAoBh4B,EAAOi4B,uBAC7Cnb,EAAU9c,EAAO8c,QACjB2K,EAAUznB,EAAOynB,QACjB7C,EAAuC,WAA9B,EAAQ,GAAR,CAAkB9H,GAE/B/e,EAAOD,QAAU,WACf,IAAIo6B,EAAMC,EAAM7S,EAEZ8S,EAAQ,WACV,IAAIC,EAAQ5yB,EAEZ,IADImf,IAAWyT,EAASvb,EAAQqJ,SAASkS,EAAO9R,OACzC2R,GAAM,CACXzyB,EAAKyyB,EAAKzyB,GACVyyB,EAAOA,EAAKlrB,KACZ,IACEvH,IACA,MAAOxD,GAGP,MAFIi2B,EAAM5S,IACL6S,OAAO52B,EACNU,GAERk2B,OAAO52B,EACL82B,GAAQA,EAAO/R,SAIrB,GAAI1B,EACFU,EAAS,WACPxI,EAAQa,SAASya,SAGd,IAAIL,GAAc/3B,EAAO0X,WAAa1X,EAAO0X,UAAU4gB,WAQvD,GAAI7Q,GAAWA,EAAQxC,QAAS,CAErC,IAAID,EAAUyC,EAAQxC,aAAQ1jB,GAC9B+jB,EAAS,WACPN,EAAQI,KAAKgT,SASf9S,EAAS,WAEPwS,EAAU35B,KAAK6B,EAAQo4B,QAvBgD,CACzE,IAAIG,GAAS,EACTC,EAAOnlB,SAASolB,eAAe,IACnC,IAAIV,EAASK,GAAOM,QAAQF,EAAM,CAAEG,eAAe,IACnDrT,EAAS,WACPkT,EAAKjoB,KAAOgoB,GAAUA,GAsB1B,OAAO,SAAU9yB,GACf,IAAI2e,EAAO,CAAE3e,GAAIA,EAAIuH,UAAMzL,GACvB42B,IAAMA,EAAKnrB,KAAOoX,GACjB8T,IACHA,EAAO9T,EACPkB,KACA6S,EAAO/T,K,cClEbrmB,EAAOD,QAAU,SAAUkE,GACzB,IACE,MAAO,CAAEC,GAAG,EAAOuO,EAAGxO,KACtB,MAAOC,GACP,MAAO,CAAEA,GAAG,EAAMuO,EAAGvO,M,6BCHzB,IAAI22B,EAAS,EAAQ,KACjB3sB,EAAW,EAAQ,IAIvBlO,EAAOD,QAAU,EAAQ,GAAR,CAHP,OAGqC,SAAUe,GACvD,OAAO,WAAiB,OAAOA,EAAIkF,KAAMgD,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,MAC9E,CAED1C,IAAK,SAAaU,GAChB,IAAIgpB,EAAQqQ,EAAOtQ,SAASrc,EAASlI,KAR/B,OAQ2CxE,GACjD,OAAOgpB,GAASA,EAAM/X,GAGxB3E,IAAK,SAAatM,EAAKN,GACrB,OAAO25B,EAAO7kB,IAAI9H,EAASlI,KAbrB,OAayC,IAARxE,EAAY,EAAIA,EAAKN,KAE7D25B,GAAQ,I,6BCjBX,IAAIA,EAAS,EAAQ,KACjB3sB,EAAW,EAAQ,IAIvBlO,EAAOD,QAAU,EAAQ,GAAR,CAHP,OAGqC,SAAUe,GACvD,OAAO,WAAiB,OAAOA,EAAIkF,KAAMgD,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,MAC9E,CAEDs3B,IAAK,SAAa55B,GAChB,OAAO25B,EAAO7kB,IAAI9H,EAASlI,KARrB,OAQiC9E,EAAkB,IAAVA,EAAc,EAAIA,EAAOA,KAEzE25B,I,6BCZH,IAcIE,EAdA94B,EAAS,EAAQ,GACjB+4B,EAAO,EAAQ,GAAR,CAA4B,GACnC54B,EAAW,EAAQ,IACnB6R,EAAO,EAAQ,IACfiQ,EAAS,EAAQ,IACjB+W,EAAO,EAAQ,KACf92B,EAAW,EAAQ,GACnB+J,EAAW,EAAQ,IACnBgtB,EAAkB,EAAQ,IAC1BC,GAAWl5B,EAAOm5B,eAAiB,kBAAmBn5B,EAEtDmS,EAAUH,EAAKG,QACfR,EAAejT,OAAOiT,aACtBiX,EAAsBoQ,EAAKhQ,QAG3BpZ,EAAU,SAAU/Q,GACtB,OAAO,WACL,OAAOA,EAAIkF,KAAMgD,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,KAIvDwW,EAAU,CAEZlZ,IAAK,SAAaU,GAChB,GAAI2C,EAAS3C,GAAM,CACjB,IAAIgR,EAAO4B,EAAQ5S,GACnB,OAAa,IAATgR,EAAsBqY,EAAoB3c,EAASlI,KAjB9C,YAiB+DlF,IAAIU,GACrEgR,EAAOA,EAAKxM,KAAK0X,SAAMla,IAIlCsK,IAAK,SAAatM,EAAKN,GACrB,OAAO+5B,EAAKjlB,IAAI9H,EAASlI,KAvBd,WAuB+BxE,EAAKN,KAK/Cm6B,EAAWr7B,EAAOD,QAAU,EAAQ,GAAR,CA5BjB,UA4BoD8R,EAASmI,EAASihB,GAAM,GAAM,GAG7FC,GAAmBC,IAErBjX,GADA6W,EAAcE,EAAKrgB,eAAe/I,EAhCrB,YAiCMhQ,UAAWmY,GAC9B/F,EAAKC,MAAO,EACZ8mB,EAAK,CAAC,SAAU,MAAO,MAAO,QAAQ,SAAUx5B,GAC9C,IAAI8N,EAAQ+rB,EAASx5B,UACjBmF,EAASsI,EAAM9N,GACnBY,EAASkN,EAAO9N,GAAK,SAAU0D,EAAG4D,GAEhC,GAAI3E,EAASe,KAAO0O,EAAa1O,GAAI,CAC9Bc,KAAKykB,KAAIzkB,KAAKykB,GAAK,IAAIsQ,GAC5B,IAAIpyB,EAAS3C,KAAKykB,GAAGjpB,GAAK0D,EAAG4D,GAC7B,MAAc,OAAPtH,EAAewE,KAAO2C,EAE7B,OAAO3B,EAAO5G,KAAK4F,KAAMd,EAAG4D,W,6BCvDpC,IAAImyB,EAAO,EAAQ,KACf/sB,EAAW,EAAQ,IAIvB,EAAQ,GAAR,CAHe,WAGoB,SAAUpN,GAC3C,OAAO,WAAqB,OAAOA,EAAIkF,KAAMgD,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,MAClF,CAEDs3B,IAAK,SAAa55B,GAChB,OAAO+5B,EAAKjlB,IAAI9H,EAASlI,KARd,WAQ+B9E,GAAO,KAElD+5B,GAAM,GAAO,I,6BCZhB,IAAI34B,EAAU,EAAQ,GAClB8G,EAAS,EAAQ,IACjBwE,EAAS,EAAQ,IACjBjJ,EAAW,EAAQ,GACnB+E,EAAkB,EAAQ,IAC1B9B,EAAW,EAAQ,GACnBzD,EAAW,EAAQ,GACnB8G,EAAc,EAAQ,GAAaA,YACnCd,EAAqB,EAAQ,IAC7Ba,EAAe4C,EAAO3C,YACtBC,EAAY0C,EAAOzC,SACnBmwB,EAAUlyB,EAAOiJ,KAAOpH,EAAYswB,OACpCxqB,EAAS/F,EAAanJ,UAAUqH,MAChCqE,EAAOnE,EAAOmE,KAGlBjL,EAAQA,EAAQS,EAAIT,EAAQqB,EAAIrB,EAAQO,GAAKoI,IAAgBD,GAAe,CAAEC,YAAaD,IAE3F1I,EAAQA,EAAQW,EAAIX,EAAQO,GAAKuG,EAAOgE,OAJrB,cAI2C,CAE5DmuB,OAAQ,SAAgBn3B,GACtB,OAAOk3B,GAAWA,EAAQl3B,IAAOD,EAASC,IAAOmJ,KAAQnJ,KAI7D9B,EAAQA,EAAQa,EAAIb,EAAQoB,EAAIpB,EAAQO,EAAI,EAAQ,EAAR,EAAoB,WAC9D,OAAQ,IAAImI,EAAa,GAAG9B,MAAM,OAAG1F,GAAWsP,cAZ/B,cAaD,CAEhB5J,MAAO,SAAesG,EAAOmB,GAC3B,QAAenN,IAAXuN,QAAgCvN,IAARmN,EAAmB,OAAOI,EAAO3Q,KAAKuE,EAASqB,MAAOwJ,GAQlF,IAPA,IAAI2B,EAAMxM,EAASqB,MAAM8M,WACrByc,EAAQ7lB,EAAgB8F,EAAO2B,GAC/BqqB,EAAM9xB,OAAwBlG,IAARmN,EAAoBQ,EAAMR,EAAKQ,GACrDxI,EAAS,IAAKwB,EAAmBnE,KAAMgF,GAA9B,CAA6CpD,EAAS4zB,EAAMjM,IACrEkM,EAAQ,IAAIvwB,EAAUlF,MACtB01B,EAAQ,IAAIxwB,EAAUvC,GACtBD,EAAQ,EACL6mB,EAAQiM,GACbE,EAAMhZ,SAASha,IAAS+yB,EAAM7Y,SAAS2M,MACvC,OAAO5mB,KAIb,EAAQ,GAAR,CA9BmB,gB,gBCfnB,IAAIrG,EAAU,EAAQ,GACtBA,EAAQA,EAAQS,EAAIT,EAAQqB,EAAIrB,EAAQO,GAAK,EAAQ,IAAYwP,IAAK,CACpElH,SAAU,EAAQ,IAAmBA,Y,gBCFvC,EAAQ,GAAR,CAA0B,OAAQ,GAAG,SAAUwwB,GAC7C,OAAO,SAAmBnpB,EAAM3B,EAAYhK,GAC1C,OAAO80B,EAAK31B,KAAMwM,EAAM3B,EAAYhK,Q,gBCFxC,EAAQ,GAAR,CAA0B,QAAS,GAAG,SAAU80B,GAC9C,OAAO,SAAoBnpB,EAAM3B,EAAYhK,GAC3C,OAAO80B,EAAK31B,KAAMwM,EAAM3B,EAAYhK,Q,gBCFxC,EAAQ,GAAR,CAA0B,QAAS,GAAG,SAAU80B,GAC9C,OAAO,SAA2BnpB,EAAM3B,EAAYhK,GAClD,OAAO80B,EAAK31B,KAAMwM,EAAM3B,EAAYhK,OAErC,I,gBCJH,EAAQ,GAAR,CAA0B,QAAS,GAAG,SAAU80B,GAC9C,OAAO,SAAoBnpB,EAAM3B,EAAYhK,GAC3C,OAAO80B,EAAK31B,KAAMwM,EAAM3B,EAAYhK,Q,gBCFxC,EAAQ,GAAR,CAA0B,SAAU,GAAG,SAAU80B,GAC/C,OAAO,SAAqBnpB,EAAM3B,EAAYhK,GAC5C,OAAO80B,EAAK31B,KAAMwM,EAAM3B,EAAYhK,Q,gBCFxC,EAAQ,GAAR,CAA0B,QAAS,GAAG,SAAU80B,GAC9C,OAAO,SAAoBnpB,EAAM3B,EAAYhK,GAC3C,OAAO80B,EAAK31B,KAAMwM,EAAM3B,EAAYhK,Q,gBCFxC,EAAQ,GAAR,CAA0B,SAAU,GAAG,SAAU80B,GAC/C,OAAO,SAAqBnpB,EAAM3B,EAAYhK,GAC5C,OAAO80B,EAAK31B,KAAMwM,EAAM3B,EAAYhK,Q,gBCFxC,EAAQ,GAAR,CAA0B,UAAW,GAAG,SAAU80B,GAChD,OAAO,SAAsBnpB,EAAM3B,EAAYhK,GAC7C,OAAO80B,EAAK31B,KAAMwM,EAAM3B,EAAYhK,Q,gBCFxC,EAAQ,GAAR,CAA0B,UAAW,GAAG,SAAU80B,GAChD,OAAO,SAAsBnpB,EAAM3B,EAAYhK,GAC7C,OAAO80B,EAAK31B,KAAMwM,EAAM3B,EAAYhK,Q,gBCDxC,IAAIvE,EAAU,EAAQ,GAClBuG,EAAY,EAAQ,IACpBlE,EAAW,EAAQ,GACnBi3B,GAAU,EAAQ,GAAazQ,SAAW,IAAIpiB,MAC9C8yB,EAASp4B,SAASsF,MAEtBzG,EAAQA,EAAQW,EAAIX,EAAQO,GAAK,EAAQ,EAAR,EAAoB,WACnD+4B,GAAO,kBACL,UAAW,CACb7yB,MAAO,SAAezF,EAAQw4B,EAAcC,GAC1C,IAAIrlB,EAAI7N,EAAUvF,GACd04B,EAAIr3B,EAASo3B,GACjB,OAAOH,EAASA,EAAOllB,EAAGolB,EAAcE,GAAKH,EAAOz7B,KAAKsW,EAAGolB,EAAcE,O,gBCZ9E,IAAI15B,EAAU,EAAQ,GAClBf,EAAS,EAAQ,IACjBsH,EAAY,EAAQ,IACpBlE,EAAW,EAAQ,GACnBR,EAAW,EAAQ,GACnB+B,EAAQ,EAAQ,GAChBzE,EAAO,EAAQ,KACfw6B,GAAc,EAAQ,GAAa9Q,SAAW,IAAIzG,UAIlDwX,EAAiBh2B,GAAM,WACzB,SAASrD,KACT,QAASo5B,GAAW,cAA6B,GAAIp5B,aAAcA,MAEjEs5B,GAAYj2B,GAAM,WACpB+1B,GAAW,kBAGb35B,EAAQA,EAAQW,EAAIX,EAAQO,GAAKq5B,GAAkBC,GAAW,UAAW,CACvEzX,UAAW,SAAmB0X,EAAQzc,GACpC9W,EAAUuzB,GACVz3B,EAASgb,GACT,IAAI0c,EAAYrzB,UAAUnC,OAAS,EAAIu1B,EAASvzB,EAAUG,UAAU,IACpE,GAAImzB,IAAaD,EAAgB,OAAOD,EAAWG,EAAQzc,EAAM0c,GACjE,GAAID,GAAUC,EAAW,CAEvB,OAAQ1c,EAAK9Y,QACX,KAAK,EAAG,OAAO,IAAIu1B,EACnB,KAAK,EAAG,OAAO,IAAIA,EAAOzc,EAAK,IAC/B,KAAK,EAAG,OAAO,IAAIyc,EAAOzc,EAAK,GAAIA,EAAK,IACxC,KAAK,EAAG,OAAO,IAAIyc,EAAOzc,EAAK,GAAIA,EAAK,GAAIA,EAAK,IACjD,KAAK,EAAG,OAAO,IAAIyc,EAAOzc,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAG5D,IAAI2c,EAAQ,CAAC,MAEb,OADAA,EAAM1zB,KAAKG,MAAMuzB,EAAO3c,GACjB,IAAKle,EAAKsH,MAAMqzB,EAAQE,IAGjC,IAAIhtB,EAAQ+sB,EAAUx6B,UAClBwY,EAAW9Y,EAAO4C,EAASmL,GAASA,EAAQ3O,OAAOkB,WACnD8G,EAASlF,SAASsF,MAAM3I,KAAKg8B,EAAQ/hB,EAAUsF,GACnD,OAAOxb,EAASwE,GAAUA,EAAS0R,M,gBC3CvC,IAAIvV,EAAK,EAAQ,GACbxC,EAAU,EAAQ,GAClBqC,EAAW,EAAQ,GACnBE,EAAc,EAAQ,IAG1BvC,EAAQA,EAAQW,EAAIX,EAAQO,EAAI,EAAQ,EAAR,EAAoB,WAElDsoB,QAAQvqB,eAAekE,EAAGC,EAAE,GAAI,EAAG,CAAE7D,MAAO,IAAM,EAAG,CAAEA,MAAO,OAC5D,UAAW,CACbN,eAAgB,SAAwB0C,EAAQi5B,EAAaC,GAC3D73B,EAASrB,GACTi5B,EAAc13B,EAAY03B,GAAa,GACvC53B,EAAS63B,GACT,IAEE,OADA13B,EAAGC,EAAEzB,EAAQi5B,EAAaC,IACnB,EACP,MAAOt4B,GACP,OAAO,O,gBClBb,IAAI5B,EAAU,EAAQ,GAClBiF,EAAO,EAAQ,IAAkBxC,EACjCJ,EAAW,EAAQ,GAEvBrC,EAAQA,EAAQW,EAAG,UAAW,CAC5Bw5B,eAAgB,SAAwBn5B,EAAQi5B,GAC9C,IAAI/qB,EAAOjK,EAAK5C,EAASrB,GAASi5B,GAClC,QAAO/qB,IAASA,EAAKC,sBAA8BnO,EAAOi5B,O,6BCN9D,IAAIj6B,EAAU,EAAQ,GAClBqC,EAAW,EAAQ,GACnB+3B,EAAY,SAAUjf,GACxBzX,KAAK+P,GAAKpR,EAAS8Y,GACnBzX,KAAK0X,GAAK,EACV,IACIlc,EADAuK,EAAO/F,KAAK2X,GAAK,GAErB,IAAKnc,KAAOic,EAAU1R,EAAKnD,KAAKpH,IAElC,EAAQ,IAAR,CAA0Bk7B,EAAW,UAAU,WAC7C,IAEIl7B,EADAuK,EADO/F,KACK2X,GAEhB,GACE,GAJS3X,KAIA0X,IAAM3R,EAAKlF,OAAQ,MAAO,CAAE3F,WAAOsC,EAAW0L,MAAM,YACnD1N,EAAMuK,EALP/F,KAKiB0X,SALjB1X,KAKgC+P,KAC3C,MAAO,CAAE7U,MAAOM,EAAK0N,MAAM,MAG7B5M,EAAQA,EAAQW,EAAG,UAAW,CAC5B05B,UAAW,SAAmBr5B,GAC5B,OAAO,IAAIo5B,EAAUp5B,O,gBCtBzB,IAAIiE,EAAO,EAAQ,IACfsC,EAAiB,EAAQ,IACzBxE,EAAM,EAAQ,IACd/C,EAAU,EAAQ,GAClB6B,EAAW,EAAQ,GACnBQ,EAAW,EAAQ,GAcvBrC,EAAQA,EAAQW,EAAG,UAAW,CAAEnC,IAZhC,SAASA,EAAIwC,EAAQi5B,GACnB,IACI/qB,EAAMlC,EADNstB,EAAW5zB,UAAUnC,OAAS,EAAIvD,EAAS0F,UAAU,GAEzD,OAAIrE,EAASrB,KAAYs5B,EAAiBt5B,EAAOi5B,IAC7C/qB,EAAOjK,EAAKxC,EAAEzB,EAAQi5B,IAAqBl3B,EAAImM,EAAM,SACrDA,EAAKtQ,WACQsC,IAAbgO,EAAK1Q,IACH0Q,EAAK1Q,IAAIV,KAAKw8B,QACdp5B,EACFW,EAASmL,EAAQzF,EAAevG,IAAiBxC,EAAIwO,EAAOitB,EAAaK,QAA7E,M,gBChBF,IAAIr1B,EAAO,EAAQ,IACfjF,EAAU,EAAQ,GAClBqC,EAAW,EAAQ,GAEvBrC,EAAQA,EAAQW,EAAG,UAAW,CAC5BuE,yBAA0B,SAAkClE,EAAQi5B,GAClE,OAAOh1B,EAAKxC,EAAEJ,EAASrB,GAASi5B,O,gBCNpC,IAAIj6B,EAAU,EAAQ,GAClBu6B,EAAW,EAAQ,IACnBl4B,EAAW,EAAQ,GAEvBrC,EAAQA,EAAQW,EAAG,UAAW,CAC5B4G,eAAgB,SAAwBvG,GACtC,OAAOu5B,EAASl4B,EAASrB,Q,gBCN7B,IAAIhB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,UAAW,CAC5BoC,IAAK,SAAa/B,EAAQi5B,GACxB,OAAOA,KAAej5B,M,gBCJ1B,IAAIhB,EAAU,EAAQ,GAClBqC,EAAW,EAAQ,GACnBgqB,EAAgBhuB,OAAOiT,aAE3BtR,EAAQA,EAAQW,EAAG,UAAW,CAC5B2Q,aAAc,SAAsBtQ,GAElC,OADAqB,EAASrB,IACFqrB,GAAgBA,EAAcrrB,O,gBCPzC,IAAIhB,EAAU,EAAQ,GAEtBA,EAAQA,EAAQW,EAAG,UAAW,CAAEmoB,QAAS,EAAQ,Q,gBCFjD,IAAI9oB,EAAU,EAAQ,GAClBqC,EAAW,EAAQ,GACnB6pB,EAAqB7tB,OAAOmT,kBAEhCxR,EAAQA,EAAQW,EAAG,UAAW,CAC5B6Q,kBAAmB,SAA2BxQ,GAC5CqB,EAASrB,GACT,IAEE,OADIkrB,GAAoBA,EAAmBlrB,IACpC,EACP,MAAOY,GACP,OAAO,O,gBCXb,IAAIY,EAAK,EAAQ,GACbyC,EAAO,EAAQ,IACfsC,EAAiB,EAAQ,IACzBxE,EAAM,EAAQ,IACd/C,EAAU,EAAQ,GAClBwE,EAAa,EAAQ,IACrBnC,EAAW,EAAQ,GACnBR,EAAW,EAAQ,GAwBvB7B,EAAQA,EAAQW,EAAG,UAAW,CAAE6K,IAtBhC,SAASA,EAAIxK,EAAQi5B,EAAaO,GAChC,IAEIC,EAAoBztB,EAFpBstB,EAAW5zB,UAAUnC,OAAS,EAAIvD,EAAS0F,UAAU,GACrDg0B,EAAUz1B,EAAKxC,EAAEJ,EAASrB,GAASi5B,GAEvC,IAAKS,EAAS,CACZ,GAAI74B,EAASmL,EAAQzF,EAAevG,IAClC,OAAOwK,EAAIwB,EAAOitB,EAAaO,EAAGF,GAEpCI,EAAUl2B,EAAW,GAEvB,GAAIzB,EAAI23B,EAAS,SAAU,CACzB,IAAyB,IAArBA,EAAQtrB,WAAuBvN,EAASy4B,GAAW,OAAO,EAC9D,GAAIG,EAAqBx1B,EAAKxC,EAAE63B,EAAUL,GAAc,CACtD,GAAIQ,EAAmBj8B,KAAOi8B,EAAmBjvB,MAAuC,IAAhCivB,EAAmBrrB,SAAoB,OAAO,EACtGqrB,EAAmB77B,MAAQ47B,EAC3Bh4B,EAAGC,EAAE63B,EAAUL,EAAaQ,QACvBj4B,EAAGC,EAAE63B,EAAUL,EAAaz1B,EAAW,EAAGg2B,IACjD,OAAO,EAET,YAAuBt5B,IAAhBw5B,EAAQlvB,MAA6BkvB,EAAQlvB,IAAI1N,KAAKw8B,EAAUE,IAAI,O,gBC5B7E,IAAIx6B,EAAU,EAAQ,GAClB26B,EAAW,EAAQ,IAEnBA,GAAU36B,EAAQA,EAAQW,EAAG,UAAW,CAC1CsY,eAAgB,SAAwBjY,EAAQgM,GAC9C2tB,EAAS3hB,MAAMhY,EAAQgM,GACvB,IAEE,OADA2tB,EAASnvB,IAAIxK,EAAQgM,IACd,EACP,MAAOpL,GACP,OAAO,O,gBCXb,EAAQ,KACRlE,EAAOD,QAAU,EAAQ,IAAuBgL,MAAMmF,U,6BCCtD,IAAI5N,EAAU,EAAQ,GAClB46B,EAAY,EAAQ,GAAR,EAA6B,GAE7C56B,EAAQA,EAAQa,EAAG,QAAS,CAC1B+M,SAAU,SAAkB8G,GAC1B,OAAOkmB,EAAUl3B,KAAMgR,EAAIhO,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,MAIrE,EAAQ,GAAR,CAAiC,a,gBCXjC,EAAQ,KACRxD,EAAOD,QAAU,EAAQ,IAAuBgG,OAAOo3B,U,6BCCvD,IAAI76B,EAAU,EAAQ,GAClB86B,EAAO,EAAQ,KACfxjB,EAAY,EAAQ,IAGpByjB,EAAa,mDAAmD12B,KAAKiT,GAEzEtX,EAAQA,EAAQa,EAAIb,EAAQO,EAAIw6B,EAAY,SAAU,CACpDF,SAAU,SAAkB7R,GAC1B,OAAO8R,EAAKp3B,KAAMslB,EAAWtiB,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,GAAW,O,gBCXlF,EAAQ,KACRxD,EAAOD,QAAU,EAAQ,IAAuBgG,OAAOu3B,Q,6BCCvD,IAAIh7B,EAAU,EAAQ,GAClB86B,EAAO,EAAQ,KACfxjB,EAAY,EAAQ,IAGpByjB,EAAa,mDAAmD12B,KAAKiT,GAEzEtX,EAAQA,EAAQa,EAAIb,EAAQO,EAAIw6B,EAAY,SAAU,CACpDC,OAAQ,SAAgBhS,GACtB,OAAO8R,EAAKp3B,KAAMslB,EAAWtiB,UAAUnC,OAAS,EAAImC,UAAU,QAAKxF,GAAW,O,gBCXlF,EAAQ,KACRxD,EAAOD,QAAU,EAAQ,IAA0BgF,EAAE,kB,gBCDrD,EAAQ,GAAR,CAAyB,kB,gBCAzB,EAAQ,KACR/E,EAAOD,QAAU,EAAQ,IAAuBY,OAAO48B,2B,gBCAvD,IAAIj7B,EAAU,EAAQ,GAClB8oB,EAAU,EAAQ,KAClB9jB,EAAY,EAAQ,IACpBC,EAAO,EAAQ,IACfiuB,EAAiB,EAAQ,IAE7BlzB,EAAQA,EAAQW,EAAG,SAAU,CAC3Bs6B,0BAA2B,SAAmC57B,GAO5D,IANA,IAKIH,EAAKgQ,EALLxM,EAAIsC,EAAU3F,GACd67B,EAAUj2B,EAAKxC,EACfgH,EAAOqf,EAAQpmB,GACf2D,EAAS,GACT1I,EAAI,EAED8L,EAAKlF,OAAS5G,QAENuD,KADbgO,EAAOgsB,EAAQx4B,EAAGxD,EAAMuK,EAAK9L,QACLu1B,EAAe7sB,EAAQnH,EAAKgQ,GAEtD,OAAO7I,M,gBCnBX,EAAQ,KACR3I,EAAOD,QAAU,EAAQ,IAAuBY,OAAOkL,Q,gBCAvD,IAAIvJ,EAAU,EAAQ,GAClBm7B,EAAU,EAAQ,IAAR,EAA8B,GAE5Cn7B,EAAQA,EAAQW,EAAG,SAAU,CAC3B4I,OAAQ,SAAgBzH,GACtB,OAAOq5B,EAAQr5B,O,gBCNnB,EAAQ,KACRpE,EAAOD,QAAU,EAAQ,IAAuBY,OAAOsL,S,gBCAvD,IAAI3J,EAAU,EAAQ,GAClB0a,EAAW,EAAQ,IAAR,EAA8B,GAE7C1a,EAAQA,EAAQW,EAAG,SAAU,CAC3BgJ,QAAS,SAAiB7H,GACxB,OAAO4Y,EAAS5Y,O,6BCLpB,EAAQ,KACR,EAAQ,KACRpE,EAAOD,QAAU,EAAQ,IAAuB2pB,QAAiB,S,6BCDjE,IAAIpnB,EAAU,EAAQ,GAClBJ,EAAO,EAAQ,IACfD,EAAS,EAAQ,GACjBkI,EAAqB,EAAQ,IAC7Bsc,EAAiB,EAAQ,KAE7BnkB,EAAQA,EAAQa,EAAIb,EAAQsB,EAAG,UAAW,CAAE,QAAW,SAAU85B,GAC/D,IAAIvvB,EAAIhE,EAAmBnE,KAAM9D,EAAKwnB,SAAWznB,EAAOynB,SACpD7jB,EAAiC,mBAAb63B,EACxB,OAAO13B,KAAKqhB,KACVxhB,EAAa,SAAUgW,GACrB,OAAO4K,EAAetY,EAAGuvB,KAAarW,MAAK,WAAc,OAAOxL,MAC9D6hB,EACJ73B,EAAa,SAAU3B,GACrB,OAAOuiB,EAAetY,EAAGuvB,KAAarW,MAAK,WAAc,MAAMnjB,MAC7Dw5B,O,gBCjBR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR19B,EAAOD,QAAU,EAAQ,K,gBCFzB,IAAIkC,EAAS,EAAQ,GACjBK,EAAU,EAAQ,GAClBsX,EAAY,EAAQ,IACpB1Q,EAAQ,GAAGA,MACXy0B,EAAO,WAAWh3B,KAAKiT,GACvBuT,EAAO,SAAUrf,GACnB,OAAO,SAAUpG,EAAIk2B,GACnB,IAAIC,EAAY70B,UAAUnC,OAAS,EAC/B8Y,IAAOke,GAAY30B,EAAM9I,KAAK4I,UAAW,GAC7C,OAAO8E,EAAI+vB,EAAY,YAEP,mBAANn2B,EAAmBA,EAAKjE,SAASiE,IAAKqB,MAAM/C,KAAM2Z,IACxDjY,EAAIk2B,KAGZt7B,EAAQA,EAAQS,EAAIT,EAAQe,EAAIf,EAAQO,EAAI86B,EAAM,CAChDtd,WAAY8M,EAAKlrB,EAAOoe,YACxByd,YAAa3Q,EAAKlrB,EAAO67B,gB,gBClB3B,IAAIx7B,EAAU,EAAQ,GAClBy7B,EAAQ,EAAQ,IACpBz7B,EAAQA,EAAQS,EAAIT,EAAQe,EAAG,CAC7B4b,aAAc8e,EAAMjwB,IACpBqR,eAAgB4e,EAAMpjB,S,gBCyCxB,IA7CA,IAAIvJ,EAAa,EAAQ,IACrBwS,EAAU,EAAQ,IAClBxhB,EAAW,EAAQ,IACnBH,EAAS,EAAQ,GACjBE,EAAO,EAAQ,IACfkI,EAAY,EAAQ,IACpBL,EAAM,EAAQ,GACd+C,EAAW/C,EAAI,YACfg0B,EAAgBh0B,EAAI,eACpBi0B,EAAc5zB,EAAUU,MAExBmzB,EAAe,CACjBC,aAAa,EACbC,qBAAqB,EACrBC,cAAc,EACdC,gBAAgB,EAChBC,aAAa,EACbC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,EACVC,mBAAmB,EACnBC,gBAAgB,EAChBC,iBAAiB,EACjBC,mBAAmB,EACnBC,WAAW,EACXC,eAAe,EACfC,cAAc,EACdC,UAAU,EACVC,kBAAkB,EAClBC,QAAQ,EACRC,aAAa,EACbC,eAAe,EACfC,eAAe,EACfC,gBAAgB,EAChBC,cAAc,EACdC,eAAe,EACfC,kBAAkB,EAClBC,kBAAkB,EAClBC,gBAAgB,EAChBC,kBAAkB,EAClBC,eAAe,EACfC,WAAW,GAGJC,EAActc,EAAQsa,GAAej+B,EAAI,EAAGA,EAAIigC,EAAYr5B,OAAQ5G,IAAK,CAChF,IAIIuB,EAJAkF,EAAOw5B,EAAYjgC,GACnBkgC,EAAWjC,EAAax3B,GACxB05B,EAAan+B,EAAOyE,GACpB4I,EAAQ8wB,GAAcA,EAAWv+B,UAErC,GAAIyN,IACGA,EAAMvC,IAAW5K,EAAKmN,EAAOvC,EAAUkxB,GACvC3uB,EAAM0uB,IAAgB77B,EAAKmN,EAAO0uB,EAAet3B,GACtD2D,EAAU3D,GAAQu3B,EACdkC,GAAU,IAAK3+B,KAAO4P,EAAiB9B,EAAM9N,IAAMY,EAASkN,EAAO9N,EAAK4P,EAAW5P,IAAM,K,eChDhG,SAAUS,GACT,aAEA,IAAIo+B,EAAK1/B,OAAOkB,UACZy+B,EAASD,EAAGv+B,eAEZ4hB,EAA4B,mBAAX1iB,OAAwBA,OAAS,GAClDu/B,EAAiB7c,EAAQ9U,UAAY,aACrC4xB,EAAsB9c,EAAQ+c,eAAiB,kBAC/CC,EAAoBhd,EAAQziB,aAAe,gBAE3C0/B,EAA6B,iBAAX3gC,EAClB4gC,EAAU3+B,EAAO4+B,mBACrB,GAAID,EACED,IAGF3gC,EAAOD,QAAU6gC,OAJrB,EAaAA,EAAU3+B,EAAO4+B,mBAAqBF,EAAW3gC,EAAOD,QAAU,IAc1DotB,KAAOA,EAoBf,IAOI2T,EAAmB,GAYnBrkB,EAAoB,GACxBA,EAAkB8jB,GAAkB,WAClC,OAAOv6B,MAGT,IAAI62B,EAAWl8B,OAAOkJ,eAClBk3B,EAA0BlE,GAAYA,EAASA,EAAShxB,EAAO,MAC/Dk1B,GACAA,IAA4BV,GAC5BC,EAAOlgC,KAAK2gC,EAAyBR,KAGvC9jB,EAAoBskB,GAGtB,IAAIC,EAAKC,EAA2Bp/B,UAClCq/B,EAAUr/B,UAAYlB,OAAOY,OAAOkb,GACtC0kB,EAAkBt/B,UAAYm/B,EAAGpvB,YAAcqvB,EAC/CA,EAA2BrvB,YAAcuvB,EACzCF,EAA2BP,GACzBS,EAAkBC,YAAc,oBAYlCR,EAAQS,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,mBAAXD,GAAyBA,EAAO1vB,YAClD,QAAO2vB,IACHA,IAASJ,GAG2B,uBAAnCI,EAAKH,aAAeG,EAAK/gC,QAIhCogC,EAAQY,KAAO,SAASF,GAUtB,OATI3gC,OAAO4a,eACT5a,OAAO4a,eAAe+lB,EAAQL,IAE9BK,EAAO7lB,UAAYwlB,EACbP,KAAqBY,IACzBA,EAAOZ,GAAqB,sBAGhCY,EAAOz/B,UAAYlB,OAAOY,OAAOy/B,GAC1BM,GAOTV,EAAQa,MAAQ,SAASx6B,GACvB,MAAO,CAAEy6B,QAASz6B,IAsEpB06B,EAAsBC,EAAc//B,WACpC+/B,EAAc//B,UAAU2+B,GAAuB,WAC7C,OAAOx6B,MAET46B,EAAQgB,cAAgBA,EAKxBhB,EAAQiB,MAAQ,SAASC,EAASC,EAASh+B,EAAMi+B,GAC/C,IAAI/uB,EAAO,IAAI2uB,EACbzU,EAAK2U,EAASC,EAASh+B,EAAMi+B,IAG/B,OAAOpB,EAAQS,oBAAoBU,GAC/B9uB,EACAA,EAAKhE,OAAOoY,MAAK,SAAS1e,GACxB,OAAOA,EAAOuG,KAAOvG,EAAOzH,MAAQ+R,EAAKhE,WAsKjD0yB,EAAsBX,GAEtBA,EAAGN,GAAqB,YAOxBM,EAAGT,GAAkB,WACnB,OAAOv6B,MAGTg7B,EAAG/3B,SAAW,WACZ,MAAO,sBAkCT23B,EAAQ70B,KAAO,SAASpK,GACtB,IAAIoK,EAAO,GACX,IAAK,IAAIvK,KAAOG,EACdoK,EAAKnD,KAAKpH,GAMZ,OAJAuK,EAAKsE,UAIE,SAASpB,IACd,KAAOlD,EAAKlF,QAAQ,CAClB,IAAIrF,EAAMuK,EAAKk2B,MACf,GAAIzgC,KAAOG,EAGT,OAFAsN,EAAK/N,MAAQM,EACbyN,EAAKC,MAAO,EACLD,EAQX,OADAA,EAAKC,MAAO,EACLD,IAsCX2xB,EAAQ/0B,OAASA,EAMjBq2B,EAAQrgC,UAAY,CAClB+P,YAAaswB,EAEbC,MAAO,SAASC,GAcd,GAbAp8B,KAAK2kB,KAAO,EACZ3kB,KAAKiJ,KAAO,EAGZjJ,KAAKq8B,KAAOr8B,KAAKs8B,WA9fjB9+B,EA+fAwC,KAAKkJ,MAAO,EACZlJ,KAAKu8B,SAAW,KAEhBv8B,KAAKgB,OAAS,OACdhB,KAAKiB,SAngBLzD,EAqgBAwC,KAAKw8B,WAAWzyB,QAAQ0yB,IAEnBL,EACH,IAAK,IAAI5hC,KAAQwF,KAEQ,MAAnBxF,EAAK2b,OAAO,IACZmkB,EAAOlgC,KAAK4F,KAAMxF,KACjB4G,OAAO5G,EAAK0I,MAAM,MACrBlD,KAAKxF,QA7gBXgD,IAmhBFk/B,KAAM,WACJ18B,KAAKkJ,MAAO,EAEZ,IACIyzB,EADY38B,KAAKw8B,WAAW,GACLI,WAC3B,GAAwB,UAApBD,EAAWpgC,KACb,MAAMogC,EAAW17B,IAGnB,OAAOjB,KAAK68B,MAGdC,kBAAmB,SAASC,GAC1B,GAAI/8B,KAAKkJ,KACP,MAAM6zB,EAGR,IAAIlP,EAAU7tB,KACd,SAASg9B,EAAOC,EAAKC,GAYnB,OAXAC,EAAO5gC,KAAO,QACd4gC,EAAOl8B,IAAM87B,EACblP,EAAQ5kB,KAAOg0B,EAEXC,IAGFrP,EAAQ7sB,OAAS,OACjB6sB,EAAQ5sB,SA9iBZzD,KAijBY0/B,EAGZ,IAAK,IAAIjjC,EAAI+F,KAAKw8B,WAAW37B,OAAS,EAAG5G,GAAK,IAAKA,EAAG,CACpD,IAAIuqB,EAAQxkB,KAAKw8B,WAAWviC,GACxBkjC,EAAS3Y,EAAMoY,WAEnB,GAAqB,SAAjBpY,EAAM4Y,OAIR,OAAOJ,EAAO,OAGhB,GAAIxY,EAAM4Y,QAAUp9B,KAAK2kB,KAAM,CAC7B,IAAI0Y,EAAW/C,EAAOlgC,KAAKoqB,EAAO,YAC9B8Y,EAAahD,EAAOlgC,KAAKoqB,EAAO,cAEpC,GAAI6Y,GAAYC,EAAY,CAC1B,GAAIt9B,KAAK2kB,KAAOH,EAAM+Y,SACpB,OAAOP,EAAOxY,EAAM+Y,UAAU,GACzB,GAAIv9B,KAAK2kB,KAAOH,EAAMgZ,WAC3B,OAAOR,EAAOxY,EAAMgZ,iBAGjB,GAAIH,GACT,GAAIr9B,KAAK2kB,KAAOH,EAAM+Y,SACpB,OAAOP,EAAOxY,EAAM+Y,UAAU,OAG3B,KAAID,EAMT,MAAM,IAAIG,MAAM,0CALhB,GAAIz9B,KAAK2kB,KAAOH,EAAMgZ,WACpB,OAAOR,EAAOxY,EAAMgZ,gBAU9BE,OAAQ,SAASnhC,EAAM0E,GACrB,IAAK,IAAIhH,EAAI+F,KAAKw8B,WAAW37B,OAAS,EAAG5G,GAAK,IAAKA,EAAG,CACpD,IAAIuqB,EAAQxkB,KAAKw8B,WAAWviC,GAC5B,GAAIuqB,EAAM4Y,QAAUp9B,KAAK2kB,MACrB2V,EAAOlgC,KAAKoqB,EAAO,eACnBxkB,KAAK2kB,KAAOH,EAAMgZ,WAAY,CAChC,IAAIG,EAAenZ,EACnB,OAIAmZ,IACU,UAATphC,GACS,aAATA,IACDohC,EAAaP,QAAUn8B,GACvBA,GAAO08B,EAAaH,aAGtBG,EAAe,MAGjB,IAAIR,EAASQ,EAAeA,EAAaf,WAAa,GAItD,OAHAO,EAAO5gC,KAAOA,EACd4gC,EAAOl8B,IAAMA,EAET08B,GACF39B,KAAKgB,OAAS,OACdhB,KAAKiJ,KAAO00B,EAAaH,WAClB1C,GAGF96B,KAAK49B,SAAST,IAGvBS,SAAU,SAAST,EAAQU,GACzB,GAAoB,UAAhBV,EAAO5gC,KACT,MAAM4gC,EAAOl8B,IAcf,MAXoB,UAAhBk8B,EAAO5gC,MACS,aAAhB4gC,EAAO5gC,KACTyD,KAAKiJ,KAAOk0B,EAAOl8B,IACM,WAAhBk8B,EAAO5gC,MAChByD,KAAK68B,KAAO78B,KAAKiB,IAAMk8B,EAAOl8B,IAC9BjB,KAAKgB,OAAS,SACdhB,KAAKiJ,KAAO,OACa,WAAhBk0B,EAAO5gC,MAAqBshC,IACrC79B,KAAKiJ,KAAO40B,GAGP/C,GAGTgD,OAAQ,SAASN,GACf,IAAK,IAAIvjC,EAAI+F,KAAKw8B,WAAW37B,OAAS,EAAG5G,GAAK,IAAKA,EAAG,CACpD,IAAIuqB,EAAQxkB,KAAKw8B,WAAWviC,GAC5B,GAAIuqB,EAAMgZ,aAAeA,EAGvB,OAFAx9B,KAAK49B,SAASpZ,EAAMoY,WAAYpY,EAAMqZ,UACtCpB,EAAcjY,GACPsW,IAKb,MAAS,SAASsC,GAChB,IAAK,IAAInjC,EAAI+F,KAAKw8B,WAAW37B,OAAS,EAAG5G,GAAK,IAAKA,EAAG,CACpD,IAAIuqB,EAAQxkB,KAAKw8B,WAAWviC,GAC5B,GAAIuqB,EAAM4Y,SAAWA,EAAQ,CAC3B,IAAID,EAAS3Y,EAAMoY,WACnB,GAAoB,UAAhBO,EAAO5gC,KAAkB,CAC3B,IAAIwhC,EAASZ,EAAOl8B,IACpBw7B,EAAcjY,GAEhB,OAAOuZ,GAMX,MAAM,IAAIN,MAAM,0BAGlBO,cAAe,SAAStqB,EAAUuqB,EAAYC,GAa5C,OAZAl+B,KAAKu8B,SAAW,CACd3zB,SAAU/C,EAAO6N,GACjBuqB,WAAYA,EACZC,QAASA,GAGS,SAAhBl+B,KAAKgB,SAGPhB,KAAKiB,SAvrBPzD,GA0rBOs9B,IAnqBX,SAAS3T,EAAK2U,EAASC,EAASh+B,EAAMi+B,GAEpC,IAAImC,EAAiBpC,GAAWA,EAAQlgC,qBAAqBq/B,EAAYa,EAAUb,EAC/EkD,EAAYzjC,OAAOY,OAAO4iC,EAAetiC,WACzCgyB,EAAU,IAAIqO,EAAQF,GAAe,IAMzC,OAFAoC,EAAUC,QAkMZ,SAA0BvC,EAAS/9B,EAAM8vB,GACvC,IAAIyQ,EA3KuB,iBA6K3B,OAAO,SAAgBt9B,EAAQC,GAC7B,GA5KoB,cA4KhBq9B,EACF,MAAM,IAAIb,MAAM,gCAGlB,GA/KoB,cA+KhBa,EAA6B,CAC/B,GAAe,UAAXt9B,EACF,MAAMC,EAKR,OAAOs9B,IAMT,IAHA1Q,EAAQ7sB,OAASA,EACjB6sB,EAAQ5sB,IAAMA,IAED,CACX,IAAIs7B,EAAW1O,EAAQ0O,SACvB,GAAIA,EAAU,CACZ,IAAIiC,EAAiBC,EAAoBlC,EAAU1O,GACnD,GAAI2Q,EAAgB,CAClB,GAAIA,IAAmB1D,EAAkB,SACzC,OAAO0D,GAIX,GAAuB,SAAnB3Q,EAAQ7sB,OAGV6sB,EAAQwO,KAAOxO,EAAQyO,MAAQzO,EAAQ5sB,SAElC,GAAuB,UAAnB4sB,EAAQ7sB,OAAoB,CACrC,GA/MqB,mBA+MjBs9B,EAEF,MADAA,EA7Mc,YA8MRzQ,EAAQ5sB,IAGhB4sB,EAAQiP,kBAAkBjP,EAAQ5sB,SAEN,WAAnB4sB,EAAQ7sB,QACjB6sB,EAAQ6P,OAAO,SAAU7P,EAAQ5sB,KAGnCq9B,EAxNkB,YA0NlB,IAAInB,EAASuB,EAAS5C,EAAS/9B,EAAM8vB,GACrC,GAAoB,WAAhBsP,EAAO5gC,KAAmB,CAO5B,GAJA+hC,EAAQzQ,EAAQ3kB,KA7NA,YAFK,iBAmOjBi0B,EAAOl8B,MAAQ65B,EACjB,SAGF,MAAO,CACL5/B,MAAOiiC,EAAOl8B,IACdiI,KAAM2kB,EAAQ3kB,MAGS,UAAhBi0B,EAAO5gC,OAChB+hC,EA3OgB,YA8OhBzQ,EAAQ7sB,OAAS,QACjB6sB,EAAQ5sB,IAAMk8B,EAAOl8B,OA1QP09B,CAAiB7C,EAAS/9B,EAAM8vB,GAE7CuQ,EAcT,SAASM,EAASh9B,EAAIk9B,EAAK39B,GACzB,IACE,MAAO,CAAE1E,KAAM,SAAU0E,IAAKS,EAAGtH,KAAKwkC,EAAK39B,IAC3C,MAAOsiB,GACP,MAAO,CAAEhnB,KAAM,QAAS0E,IAAKsiB,IAiBjC,SAAS2X,KACT,SAASC,KACT,SAASF,KA4BT,SAASU,EAAsB9/B,GAC7B,CAAC,OAAQ,QAAS,UAAUkO,SAAQ,SAAS/I,GAC3CnF,EAAUmF,GAAU,SAASC,GAC3B,OAAOjB,KAAKq+B,QAAQr9B,EAAQC,OAoClC,SAAS26B,EAAcwC,GAgCrB,IAAIS,EAgCJ7+B,KAAKq+B,QA9BL,SAAiBr9B,EAAQC,GACvB,SAAS69B,IACP,OAAO,IAAIpb,SAAQ,SAASxC,EAASiB,IAnCzC,SAASvJ,EAAO5X,EAAQC,EAAKigB,EAASiB,GACpC,IAAIgb,EAASuB,EAASN,EAAUp9B,GAASo9B,EAAWn9B,GACpD,GAAoB,UAAhBk8B,EAAO5gC,KAEJ,CACL,IAAIoG,EAASw6B,EAAOl8B,IAChB/F,EAAQyH,EAAOzH,MACnB,OAAIA,GACiB,iBAAVA,GACPo/B,EAAOlgC,KAAKc,EAAO,WACdwoB,QAAQxC,QAAQhmB,EAAMwgC,SAASra,MAAK,SAASnmB,GAClD0d,EAAO,OAAQ1d,EAAOgmB,EAASiB,MAC9B,SAASoB,GACV3K,EAAO,QAAS2K,EAAKrC,EAASiB,MAI3BuB,QAAQxC,QAAQhmB,GAAOmmB,MAAK,SAAS0d,GAI1Cp8B,EAAOzH,MAAQ6jC,EACf7d,EAAQve,MACP,SAASqgB,GAGV,OAAOpK,EAAO,QAASoK,EAAO9B,EAASiB,MAvBzCA,EAAOgb,EAAOl8B,KAiCZ2X,CAAO5X,EAAQC,EAAKigB,EAASiB,MAIjC,OAAO0c,EAaLA,EAAkBA,EAAgBxd,KAChCyd,EAGAA,GACEA,KA+GV,SAASL,EAAoBlC,EAAU1O,GACrC,IAAI7sB,EAASu7B,EAAS3zB,SAASilB,EAAQ7sB,QACvC,QArTExD,IAqTEwD,EAAsB,CAKxB,GAFA6sB,EAAQ0O,SAAW,KAEI,UAAnB1O,EAAQ7sB,OAAoB,CAC9B,GAAIu7B,EAAS3zB,SAASo2B,SAGpBnR,EAAQ7sB,OAAS,SACjB6sB,EAAQ5sB,SA/TZzD,EAgUIihC,EAAoBlC,EAAU1O,GAEP,UAAnBA,EAAQ7sB,QAGV,OAAO85B,EAIXjN,EAAQ7sB,OAAS,QACjB6sB,EAAQ5sB,IAAM,IAAI5C,UAChB,kDAGJ,OAAOy8B,EAGT,IAAIqC,EAASuB,EAAS19B,EAAQu7B,EAAS3zB,SAAUilB,EAAQ5sB,KAEzD,GAAoB,UAAhBk8B,EAAO5gC,KAIT,OAHAsxB,EAAQ7sB,OAAS,QACjB6sB,EAAQ5sB,IAAMk8B,EAAOl8B,IACrB4sB,EAAQ0O,SAAW,KACZzB,EAGT,IAAImE,EAAO9B,EAAOl8B,IAElB,OAAMg+B,EAOFA,EAAK/1B,MAGP2kB,EAAQ0O,EAAS0B,YAAcgB,EAAK/jC,MAGpC2yB,EAAQ5kB,KAAOszB,EAAS2B,QAQD,WAAnBrQ,EAAQ7sB,SACV6sB,EAAQ7sB,OAAS,OACjB6sB,EAAQ5sB,SAnXVzD,GA6XFqwB,EAAQ0O,SAAW,KACZzB,GANEmE,GA3BPpR,EAAQ7sB,OAAS,QACjB6sB,EAAQ5sB,IAAM,IAAI5C,UAAU,oCAC5BwvB,EAAQ0O,SAAW,KACZzB,GAoDX,SAASoE,EAAaC,GACpB,IAAI3a,EAAQ,CAAE4Y,OAAQ+B,EAAK,IAEvB,KAAKA,IACP3a,EAAM+Y,SAAW4B,EAAK,IAGpB,KAAKA,IACP3a,EAAMgZ,WAAa2B,EAAK,GACxB3a,EAAMqZ,SAAWsB,EAAK,IAGxBn/B,KAAKw8B,WAAW55B,KAAK4hB,GAGvB,SAASiY,EAAcjY,GACrB,IAAI2Y,EAAS3Y,EAAMoY,YAAc,GACjCO,EAAO5gC,KAAO,gBACP4gC,EAAOl8B,IACdujB,EAAMoY,WAAaO,EAGrB,SAASjB,EAAQF,GAIfh8B,KAAKw8B,WAAa,CAAC,CAAEY,OAAQ,SAC7BpB,EAAYjyB,QAAQm1B,EAAcl/B,MAClCA,KAAKm8B,OAAM,GA8Bb,SAASt2B,EAAO6N,GACd,GAAIA,EAAU,CACZ,IAAI0rB,EAAiB1rB,EAAS6mB,GAC9B,GAAI6E,EACF,OAAOA,EAAehlC,KAAKsZ,GAG7B,GAA6B,mBAAlBA,EAASzK,KAClB,OAAOyK,EAGT,IAAKtS,MAAMsS,EAAS7S,QAAS,CAC3B,IAAI5G,GAAK,EAAGgP,EAAO,SAASA,IAC1B,OAAShP,EAAIyZ,EAAS7S,QACpB,GAAIy5B,EAAOlgC,KAAKsZ,EAAUzZ,GAGxB,OAFAgP,EAAK/N,MAAQwY,EAASzZ,GACtBgP,EAAKC,MAAO,EACLD,EAOX,OAHAA,EAAK/N,WAneTsC,EAoeIyL,EAAKC,MAAO,EAELD,GAGT,OAAOA,EAAKA,KAAOA,GAKvB,MAAO,CAAEA,KAAMs1B,GAIjB,SAASA,IACP,MAAO,CAAErjC,WAnfPsC,EAmfyB0L,MAAM,IAxfpC,CAssBC,WACE,OAAOlJ,MAAyB,iBAATjC,MAAqBA,KAD9C,IAEQN,SAAS,cAATA","file":"decidim-core/app/assets/javascripts/decidim/core/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 131);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = false;\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","module.exports = {};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","exports.f = require('./_wks');\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n","var getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n","import \"@babel/polyfill\";\n","\"use strict\";\n\nrequire(\"core-js/es6\");\n\nrequire(\"core-js/fn/array/includes\");\n\nrequire(\"core-js/fn/string/pad-start\");\n\nrequire(\"core-js/fn/string/pad-end\");\n\nrequire(\"core-js/fn/symbol/async-iterator\");\n\nrequire(\"core-js/fn/object/get-own-property-descriptors\");\n\nrequire(\"core-js/fn/object/values\");\n\nrequire(\"core-js/fn/object/entries\");\n\nrequire(\"core-js/fn/promise/finally\");\n\nrequire(\"core-js/web\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nif (global._babelPolyfill && typeof console !== \"undefined\" && console.warn) {\n console.warn(\"@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended \" + \"and may have consequences if different versions of the polyfills are applied sequentially. \" + \"If you do need to load the polyfill more than once, use @babel/polyfill/noConflict \" + \"instead to bypass the warning.\");\n}\n\nglobal._babelPolyfill = true;","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","require('../../modules/es7.array.includes');\nmodule.exports = require('../../modules/_core').Array.includes;\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","require('../../modules/es7.string.pad-start');\nmodule.exports = require('../../modules/_core').String.padStart;\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n","require('../../modules/es7.string.pad-end');\nmodule.exports = require('../../modules/_core').String.padEnd;\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n","require('../../modules/es7.symbol.async-iterator');\nmodule.exports = require('../../modules/_wks-ext').f('asyncIterator');\n","require('./_wks-define')('asyncIterator');\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","'use strict';\nrequire('../../modules/es6.promise');\nrequire('../../modules/es7.promise.finally');\nmodule.exports = require('../../modules/_core').Promise['finally'];\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","require('../modules/web.timers');\nrequire('../modules/web.immediate');\nrequire('../modules/web.dom.iterable');\nmodule.exports = require('../modules/_core');\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() {\n return this || (typeof self === \"object\" && self);\n })() || Function(\"return this\")()\n);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss b/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss index 1219712295e9a..3d6dac02de10a 100644 --- a/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss +++ b/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss @@ -28,12 +28,12 @@ text-decoration: none; } - del strong{ + .del strong{ font-weight: normal; background: scale-color($color-removal, $lightness: -8%); } - ins strong{ + .ins strong{ font-weight: normal; background: scale-color($color-addition, $lightness: -8%); } diff --git a/decidim-core/app/cells/decidim/diff_cell.rb b/decidim-core/app/cells/decidim/diff_cell.rb index 63cc301707da0..3b8f9aa10dda0 100644 --- a/decidim-core/app/cells/decidim/diff_cell.rb +++ b/decidim-core/app/cells/decidim/diff_cell.rb @@ -69,8 +69,8 @@ def diff_data # Returns an HTML-safe string. def output_unified_diff(data, format) Diffy::Diff.new( - data[:old_value].to_s, - data[:new_value].to_s, + data[:old_value]["en"].to_s, + data[:new_value]["en"].to_s, allow_empty_diff: false, include_plus_and_minus_in_html: true ).to_s(format) @@ -83,8 +83,8 @@ def output_unified_diff(data, format) # Returns an HTML-safe string. def output_split_diff(data, direction, format) Diffy::SplitDiff.new( - data[:old_value].to_s, - data[:new_value].to_s, + data[:old_value]["en"].to_s, + data[:new_value]["en"].to_s, allow_empty_diff: false, format: format, include_plus_and_minus_in_html: true diff --git a/decidim-core/lib/decidim/diffy_extension.rb b/decidim-core/lib/decidim/diffy_extension.rb index 80707e0d6a796..c851bb38b0105 100644 --- a/decidim-core/lib/decidim/diffy_extension.rb +++ b/decidim-core/lib/decidim/diffy_extension.rb @@ -10,16 +10,73 @@ class UnescapedHtmlFormatter < Diffy::HtmlFormatter TAGS = (UserInputScrubber.new.tags.to_a - %w(del ins)).freeze def to_s - str = wrap_lines(@diff.map { |line| wrap_line(line) }) + if @options[:highlight_words] + str = wrap_lines(highlighted_words) + else + str = wrap_lines(@diff.map { |line| wrap_line(line) }) + end + ActionView::Base.new.sanitize(str, tags: TAGS) end + + def highlighted_words + chunks = @diff.each_chunk. + reject{|c| c == '\ No newline at end of file'"\n"} + + processed = [] + lines = chunks.each_with_index.map do |chunk1, index| + next if processed.include? index + processed << index + chunk1 = chunk1 + chunk2 = chunks[index + 1] + if not chunk2 + next chunk1 + end + + dir1 = chunk1.each_char.first + dir2 = chunk2.each_char.first + case [dir1, dir2] + when ['-', '+'] + if chunk1.each_char.take(3).join("") =~ /^(---|\+\+\+|\\\\)/ and + chunk2.each_char.take(3).join("") =~ /^(---|\+\+\+|\\\\)/ + chunk1 + else + line_diff = Diffy::Diff.new( + split_characters(chunk1), + split_characters(chunk2), + Diffy::Diff::ORIGINAL_DEFAULT_OPTIONS + ) + hi1 = reconstruct_characters(line_diff, '-') + hi2 = reconstruct_characters(line_diff, '+') + processed << (index + 1) + [hi1, hi2] + end + else + chunk1 + end + end.flatten + lines.map{|line| line.each_line.map(&:chomp).to_a if line }.flatten.compact. + map{|line|wrap_line(line) }.compact + end + + def split_characters(chunk) + chunk.gsub(/^./, '').each_line.map do |line| + if @options[:ignore_crlf] + (line.chomp.split('') + ['\n']).map{|chr| chr } + else + chars = line.sub(/([\r\n]$)/, '').split('') + # add escaped newlines + chars << '\n' + end + end.flatten.join("\n") + "\n" + end end # Adding a new method to Diffy::Format so we can pass the # `:unescaped_html` option when calling Diffy::Diff#to_s. Diffy::Format.module_eval do def unescaped_html - UnescapedHtmlFormatter.new(self, options).to_s + UnescapedHtmlFormatter.new(self, options.merge(:highlight_words => true)).to_s end end diff --git a/decidim-proposals/app/services/decidim/proposals/diff_renderer.rb b/decidim-proposals/app/services/decidim/proposals/diff_renderer.rb index aa607cf606bd1..d3a9e899f7755 100644 --- a/decidim-proposals/app/services/decidim/proposals/diff_renderer.rb +++ b/decidim-proposals/app/services/decidim/proposals/diff_renderer.rb @@ -60,7 +60,7 @@ def amended_previous_value(attribute) # Returns a String with the newline escape sequences normalized. def normalize_line_endings(value) if value.is_a?(Hash) - value.values.map { |subvalue| normalize_line_endings(subvalue) } + value.transform_values! { |subvalue| normalize_line_endings(subvalue) } else Decidim::ContentParsers::NewlineParser.new(value, context: {}).rewrite end From 60f8b023b1fa5282ebf03d4b623ead9468df1762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Thu, 13 May 2021 12:19:54 +0200 Subject: [PATCH 02/71] Diff by language --- .../javascripts/decidim/admin/bundle.js | 19 ++---- .../assets/javascripts/decidim/core/bundle.js | 2 +- .../javascripts/decidim/core/bundle.js.map | 2 +- .../decidim/modules/_versions.scss | 8 +-- .../app/cells/decidim/diff/diff_split.erb | 14 +++-- .../app/cells/decidim/diff/diff_unified.erb | 14 +++-- decidim-core/app/cells/decidim/diff_cell.rb | 27 ++++++-- decidim-core/lib/decidim/diffy_extension.rb | 61 +++++++++++-------- 8 files changed, 88 insertions(+), 59 deletions(-) diff --git a/decidim-admin/app/assets/javascripts/decidim/admin/bundle.js b/decidim-admin/app/assets/javascripts/decidim/admin/bundle.js index 9aa037e386fc3..8bac565929d02 100644 --- a/decidim-admin/app/assets/javascripts/decidim/admin/bundle.js +++ b/decidim-admin/app/assets/javascripts/decidim/admin/bundle.js @@ -1,9 +1,9 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=298)}({0:function(e,t,n){e.exports=n(332)()},123:function(e,t,n){"use strict"; +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=300)}({0:function(e,t,n){e.exports=n(333)()},122:function(e,t,n){"use strict"; /* object-assign (c) Sindre Sorhus @license MIT -*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function u(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,i,l=u(e),s=1;s=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,u.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),u.default.createElement("input",r({},o,{ref:this.inputRef})),u.default.createElement("div",{ref:this.sizerRef,style:s},e),this.props.placeholder?u.default.createElement("div",{ref:this.placeHolderSizerRef,style:s},this.props.placeholder):null)}}]),t}(a.Component);h.propTypes={className:i.default.string,defaultValue:i.default.any,extraWidth:i.default.oneOfType([i.default.number,i.default.string]),id:i.default.string,injectStyles:i.default.bool,inputClassName:i.default.string,inputRef:i.default.func,inputStyle:i.default.object,minWidth:i.default.oneOfType([i.default.number,i.default.string]),onAutosize:i.default.func,onChange:i.default.func,placeholder:i.default.string,placeholderIsMinWidth:i.default.bool,style:i.default.object,value:i.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},18:function(e,t,n){"use strict";var r=n(125),o=n(313),a=Object.prototype.toString;function u(e){return"[object Array]"===a.call(e)}function i(e){return null!==e&&"object"==typeof e}function l(e){return"[object Function]"===a.call(e)}function s(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),u(e))for(var n=0,r=e.length;n=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){l.headers[e]=r.merge(a)})),e.exports=l}).call(this,n(319))},128:function(e,t,n){"use strict";var r=n(15),o=n(321),a=n(323),u=n(125),i=n(324),l=n(327),s=n(328),c=n(129);e.exports=function(e){return new Promise((function(t,n){var p=e.data,f=e.headers;r.isFormData(p)&&delete f["Content-Type"];var d=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";f.Authorization="Basic "+btoa(h+":"+m)}var v=i(e.baseURL,e.url);if(d.open(e.method.toUpperCase(),u(v,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in d?l(d.getAllResponseHeaders()):null,a={data:e.responseType&&"text"!==e.responseType?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:r,config:e,request:d};o(t,n,a),d=null}},d.onabort=function(){d&&(n(c("Request aborted",e,"ECONNABORTED",d)),d=null)},d.onerror=function(){n(c("Network Error",e,null,d)),d=null},d.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(c(t,e,"ECONNABORTED",d)),d=null},r.isStandardBrowserEnv()){var g=(e.withCredentials||s(v))&&e.xsrfCookieName?a.read(e.xsrfCookieName):void 0;g&&(f[e.xsrfHeaderName]=g)}if("setRequestHeader"in d&&r.forEach(f,(function(e,t){void 0===p&&"content-type"===t.toLowerCase()?delete f[t]:d.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),e.responseType)try{d.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&d.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){d&&(d.abort(),n(e),d=null)})),p||(p=null),d.send(p)}))}},129:function(e,t,n){"use strict";var r=n(322);e.exports=function(e,t,n,o,a){var u=new Error(e);return r(u,t,n,o,a)}},130:function(e,t,n){"use strict";var r=n(15);e.exports=function(e,t){t=t||{};var n={},o=["url","method","data"],a=["headers","auth","proxy","params"],u=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],i=["validateStatus"];function l(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function s(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(n[o]=l(void 0,e[o])):n[o]=l(e[o],t[o])}r.forEach(o,(function(e){r.isUndefined(t[e])||(n[e]=l(void 0,t[e]))})),r.forEach(a,s),r.forEach(u,(function(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(n[o]=l(void 0,e[o])):n[o]=l(void 0,t[o])})),r.forEach(i,(function(r){r in t?n[r]=l(e[r],t[r]):r in e&&(n[r]=l(void 0,e[r]))}));var c=o.concat(a).concat(u).concat(i),p=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===c.indexOf(e)}));return r.forEach(p,s),n}},131:function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},132:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,u.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),u.default.createElement("input",r({},o,{ref:this.inputRef})),u.default.createElement("div",{ref:this.sizerRef,style:s},e),this.props.placeholder?u.default.createElement("div",{ref:this.placeHolderSizerRef,style:s},this.props.placeholder):null)}}]),t}(a.Component);h.propTypes={className:i.default.string,defaultValue:i.default.any,extraWidth:i.default.oneOfType([i.default.number,i.default.string]),id:i.default.string,injectStyles:i.default.bool,inputClassName:i.default.string,inputRef:i.default.func,inputStyle:i.default.object,minWidth:i.default.oneOfType([i.default.number,i.default.string]),onAutosize:i.default.func,onChange:i.default.func,placeholder:i.default.string,placeholderIsMinWidth:i.default.bool,style:i.default.object,value:i.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},15:function(e,t,n){"use strict";var r=n(124),o=Object.prototype.toString;function a(e){return"[object Array]"===o.call(e)}function u(e){return void 0===e}function i(e){return null!==e&&"object"==typeof e}function l(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function s(e){return"[object Function]"===o.call(e)}function c(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),a(e))for(var n=0,r=e.length;nS.length&&S.push(e)}function P(e,t,n,r){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case i:case l:case s:case c:a=!0}}if(a)return n(r,e,""===t?"."+_(e,0):t),1;if(a=0,t=""===t?".":t+":",Array.isArray(e))for(var u=0;uS.length&&S.push(e)}function P(e,t,n,r){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case i:case l:case s:case c:a=!0}}if(a)return n(r,e,""===t?"."+_(e,0):t),1;if(a=0,t=""===t?".":t+":",Array.isArray(e))for(var u=0;u=(u={attributeName:u,attributeNamespace:null,propertyName:a,mutationMethod:null,mustUseProperty:m(i,t.MUST_USE_PROPERTY),hasBooleanValue:m(i,t.HAS_BOOLEAN_VALUE),hasNumericValue:m(i,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:m(i,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:m(i,t.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:m(i,t.HAS_STRING_BOOLEAN_VALUE)}).hasBooleanValue+u.hasNumericValue+u.hasOverloadedBooleanValue||d("50",a),o.hasOwnProperty(a)&&(u.attributeName=o[a]),r.hasOwnProperty(a)&&(u.attributeNamespace=r[a]),e.hasOwnProperty(a)&&(u.mutationMethod=e[a]),g[a]=u}}},g={};function y(e,t){if(h.hasOwnProperty(e)||2this.eventPool.length&&this.eventPool.push(e)}function Ve(e){e.eventPool=[],e.getPooled=Ie,e.release=Me}function Le(e,t,n,r){return Re.call(this,e,t,n,r)}function Be(e,t,n,r){return Re.call(this,e,t,n,r)}a(Re.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=u.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=u.thatReturnsTrue)},persist:function(){this.isPersistent=u.thatReturnsTrue},isPersistent:u.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t=parseInt(Ke.version(),10))}var We=je,qe=o.canUseDOM&&(!He||ze&&8=ze),$e=String.fromCharCode(32),Qe={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},Ge=!1;function Ye(e,t){switch(e){case"topKeyUp":return-1!==Ue.indexOf(t.keyCode);case"topKeyDown":return 229!==t.keyCode;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function Xe(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Je=!1;var Ze={eventTypes:Qe,extractEvents:function(e,t,n,r){var o;if(He)e:{switch(e){case"topCompositionStart":var a=Qe.compositionStart;break e;case"topCompositionEnd":a=Qe.compositionEnd;break e;case"topCompositionUpdate":a=Qe.compositionUpdate;break e}a=void 0}else Je?Ye(e,n)&&(a=Qe.compositionEnd):"topKeyDown"===e&&229===n.keyCode&&(a=Qe.compositionStart);return a?(qe&&(Je||a!==Qe.compositionStart?a===Qe.compositionEnd&&Je&&(o=Pe()):(Ae._root=r,Ae._startText=_e(),Je=!0)),a=Le.getPooled(a,t,n,r),o?a.data=o:null!==(o=Xe(n))&&(a.data=o),Oe(a),o=a):o=null,(e=We?function(e,t){switch(e){case"topCompositionEnd":return Xe(t);case"topKeyPress":return 32!==t.which?null:(Ge=!0,$e);case"topTextInput":return(e=t.data)===$e&&Ge?null:e;default:return null}}(e,n):function(e,t){if(Je)return"topCompositionEnd"===e||!He&&Ye(e,t)?(e=Pe(),Ae._root=null,Ae._startText=null,Ae._fallbackText=null,Je=!1,e):null;switch(e){case"topPaste":return null;case"topKeyPress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1$t.length&&$t.push(e)}}}var tn=Object.freeze({get _enabled(){return Gt},get _handleTopLevel(){return Yt},setHandleTopLevel:function(e){Yt=e},setEnabled:Xt,isEnabled:function(){return Gt},trapBubbledEvent:Jt,trapCapturedEvent:Zt,dispatchEvent:en});function nn(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}var rn={animationend:nn("Animation","AnimationEnd"),animationiteration:nn("Animation","AnimationIteration"),animationstart:nn("Animation","AnimationStart"),transitionend:nn("Transition","TransitionEnd")},on={},an={};function un(e){if(on[e])return on[e];if(!rn[e])return e;var t,n=rn[e];for(t in n)if(n.hasOwnProperty(t)&&t in an)return on[e]=n[t];return""}o.canUseDOM&&(an=document.createElement("div").style,"AnimationEvent"in window||(delete rn.animationend.animation,delete rn.animationiteration.animation,delete rn.animationstart.animation),"TransitionEvent"in window||delete rn.transitionend.transition);var ln={topAbort:"abort",topAnimationEnd:un("animationend")||"animationend",topAnimationIteration:un("animationiteration")||"animationiteration",topAnimationStart:un("animationstart")||"animationstart",topBlur:"blur",topCancel:"cancel",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topClose:"close",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoad:"load",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topToggle:"toggle",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:un("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},sn={},cn=0,pn="_reactListenersID"+(""+Math.random()).slice(2);function fn(e){return Object.prototype.hasOwnProperty.call(e,pn)||(e[pn]=cn++,sn[e[pn]]={}),sn[e[pn]]}function dn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function hn(e,t){var n,r=dn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=dn(r)}}function mn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)}var vn=o.canUseDOM&&"documentMode"in document&&11>=document.documentMode,gn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange".split(" ")}},yn=null,bn=null,En=null,Cn=!1;function wn(e,t){if(Cn||null==yn||yn!==l())return null;var n=yn;return"selectionStart"in n&&mn(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?n={anchorNode:(n=window.getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}:n=void 0,En&&s(En,n)?null:(En=n,(e=Re.getPooled(gn.select,bn,e,t)).type="select",e.target=yn,Oe(e),e)}var kn={eventTypes:gn,extractEvents:function(e,t,n,r){var o,a=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(o=!a)){e:{a=fn(a),o=K.onSelect;for(var u=0;uBn||(e.current=Ln[Bn],Ln[Bn]=null,Bn--)}function Un(e,t){Bn++,Ln[Bn]=e.current,e.current=t}new Set;var Hn={current:f},zn={current:!1},Kn=f;function Wn(e){return $n(e)?Kn:Hn.current}function qn(e,t){var n=e.type.contextTypes;if(!n)return f;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function $n(e){return 2===e.tag&&null!=e.type.childContextTypes}function Qn(e){$n(e)&&(jn(zn),jn(Hn))}function Gn(e,t,n){null!=Hn.cursor&&d("168"),Un(Hn,t),Un(zn,n)}function Yn(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||d("108",Ht(e)||"Unknown",o);return a({},t,n)}function Xn(e){if(!$n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||f,Kn=Hn.current,Un(Hn,t),Un(zn,zn.current),!0}function Jn(e,t){var n=e.stateNode;if(n||d("169"),t){var r=Yn(e,Kn);n.__reactInternalMemoizedMergedChildContext=r,jn(zn),jn(Hn),Un(Hn,r)}else jn(zn);Un(zn,t)}function Zn(e,t,n){this.tag=e,this.key=t,this.stateNode=this.type=null,this.sibling=this.child=this.return=null,this.index=0,this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null,this.internalContextTag=n,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function er(e,t,n){var r=e.alternate;return null===r?((r=new Zn(e.tag,e.key,e.internalContextTag)).type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.effectTag=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.expirationTime=n,r.pendingProps=t,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function tr(e,t,n){var r=void 0,o=e.type,a=e.key;return"function"==typeof o?((r=o.prototype&&o.prototype.isReactComponent?new Zn(2,a,t):new Zn(0,a,t)).type=o,r.pendingProps=e.props):"string"==typeof o?((r=new Zn(5,a,t)).type=o,r.pendingProps=e.props):"object"==typeof o&&null!==o&&"number"==typeof o.tag?(r=o).pendingProps=e.props:d("130",null==o?o:typeof o,""),r.expirationTime=n,r}function nr(e,t,n,r){return(t=new Zn(10,r,t)).pendingProps=e,t.expirationTime=n,t}function rr(e,t,n){return(t=new Zn(6,null,t)).pendingProps=e,t.expirationTime=n,t}function or(e,t,n){return(t=new Zn(7,e.key,t)).type=e.handler,t.pendingProps=e,t.expirationTime=n,t}function ar(e,t,n){return(e=new Zn(9,null,t)).expirationTime=n,e}function ur(e,t,n){return(t=new Zn(4,e.key,t)).pendingProps=e.children||[],t.expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ir=null,lr=null;function sr(e){return function(t){try{return e(t)}catch(e){}}}function cr(e){"function"==typeof ir&&ir(e)}function pr(e){"function"==typeof lr&&lr(e)}function fr(e){return{baseState:e,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function dr(e,t){null===e.last?e.first=e.last=t:(e.last.next=t,e.last=t),(0===e.expirationTime||e.expirationTime>t.expirationTime)&&(e.expirationTime=t.expirationTime)}function hr(e,t){var n=e.alternate,r=e.updateQueue;null===r&&(r=e.updateQueue=fr(null)),null!==n?null===(e=n.updateQueue)&&(e=n.updateQueue=fr(null)):e=null,null===(e=e!==r?e:null)?dr(r,t):null===r.last||null===e.last?(dr(r,t),dr(e,t)):(dr(r,t),e.last=t)}function mr(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function vr(e,t,n,r,o,u){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var i=!0,l=n.first,s=!1;null!==l;){var c=l.expirationTime;if(c>u){var p=n.expirationTime;(0===p||p>c)&&(n.expirationTime=c),s||(s=!0,n.baseState=e)}else s||(n.first=l.next,null===n.first&&(n.last=null)),l.isReplace?(e=mr(l,r,e,o),i=!0):(c=mr(l,r,e,o))&&(e=i?a({},e,c):a(e,c),i=!1),l.isForced&&(n.hasForceUpdate=!0),null!==l.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(l));l=l.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||(t.updateQueue=null),s||(n.baseState=e),e}function gr(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ef?(d=p,p=null):d=p.sibling;var g=m(o,p,i[f],l);if(null===g){null===p&&(p=d);break}e&&p&&null===g.alternate&&t(o,p),u=a(g,u,f),null===c?s=g:c.sibling=g,c=g,p=d}if(f===i.length)return n(o,p),s;if(null===p){for(;ff?(g=p,p=null):g=p.sibling;var b=m(o,p,y.value,l);if(null===b){p||(p=g);break}e&&p&&null===b.alternate&&t(o,p),u=a(b,u,f),null===c?s=b:c.sibling=b,c=b,p=g}if(y.done)return n(o,p),s;if(null===p){for(;!y.done;f++,y=i.next())null!==(y=h(o,y.value,l))&&(u=a(y,u,f),null===c?s=y:c.sibling=y,c=y);return s}for(p=r(o,p);!y.done;f++,y=i.next())null!==(y=v(p,o,f,y.value,l))&&(e&&null!==y.alternate&&p.delete(null===y.key?f:y.key),u=a(y,u,f),null===c?s=y:c.sibling=y,c=y);return e&&p.forEach((function(e){return t(o,e)})),s}return function(e,r,a,i){"object"==typeof a&&null!==a&&a.type===kr&&null===a.key&&(a=a.props.children);var l="object"==typeof a&&null!==a;if(l)switch(a.$$typeof){case br:e:{var s=a.key;for(l=r;null!==l;){if(l.key===s){if(10===l.tag?a.type===kr:l.type===a.type){n(e,l.sibling),(r=o(l,a.type===kr?a.props.children:a.props,i)).ref=Sr(l,a),r.return=e,e=r;break e}n(e,l);break}t(e,l),l=l.sibling}a.type===kr?((r=nr(a.props.children,e.internalContextTag,i,a.key)).return=e,e=r):((i=tr(a,e.internalContextTag,i)).ref=Sr(r,a),i.return=e,e=i)}return u(e);case Er:e:{for(l=a.key;null!==r;){if(r.key===l){if(7===r.tag){n(e,r.sibling),(r=o(r,a,i)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=or(a,e.internalContextTag,i)).return=e,e=r}return u(e);case Cr:e:{if(null!==r){if(9===r.tag){n(e,r.sibling),(r=o(r,null,i)).type=a.value,r.return=e,e=r;break e}n(e,r)}(r=ar(a,e.internalContextTag,i)).type=a.value,r.return=e,e=r}return u(e);case wr:e:{for(l=a.key;null!==r;){if(r.key===l){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=o(r,a.children||[],i)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=ur(a,e.internalContextTag,i)).return=e,e=r}return u(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),r=o(r,a,i)):(n(e,r),r=rr(a,e.internalContextTag,i)),r.return=e,u(e=r);if(Tr(a))return g(e,r,a,i);if(xr(a))return y(e,r,a,i);if(l&&Fr(e,a),void 0===a)switch(e.tag){case 2:case 1:d("152",(i=e.type).displayName||i.name||"Component")}return n(e,r)}}var Pr=Ar(!0),_r=Ar(!1);function Dr(e,t,n,r,o){function a(e,t,n){var r=t.expirationTime;t.child=null===e?_r(t,null,n,r):Pr(t,e.child,n,r)}function u(e,t){var n=t.ref;null===n||e&&e.ref===n||(t.effectTag|=128)}function i(e,t,n,r){if(u(e,t),!n)return r&&Jn(t,!1),c(e,t);n=t.stateNode,Ut.current=t;var o=n.render();return t.effectTag|=1,a(e,t,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&Jn(t,!0),t.child}function l(e){var t=e.stateNode;t.pendingContext?Gn(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Gn(0,t.context,!1),y(e,t.containerInfo)}function c(e,t){if(null!==e&&t.child!==e.child&&d("153"),null!==t.child){var n=er(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=er(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function p(e,t){switch(t.tag){case 3:l(t);break;case 2:Xn(t);break;case 4:y(t,t.stateNode.containerInfo)}return null}var h=e.shouldSetTextContent,m=e.useSyncScheduling,v=e.shouldDeprioritizeSubtree,g=t.pushHostContext,y=t.pushHostContainer,b=n.enterHydrationState,E=n.resetHydrationState,C=n.tryToClaimNextHydratableInstance,w=(e=function(e,t,n,r){function o(e,t){t.updater=a,e.stateNode=t,t._reactInternalFiber=e}var a={isMounted:Kt,enqueueSetState:function(n,r,o){n=n._reactInternalFiber,o=void 0===o?null:o;var a=t(n);hr(n,{expirationTime:a,partialState:r,callback:o,isReplace:!1,isForced:!1,nextCallback:null,next:null}),e(n,a)},enqueueReplaceState:function(n,r,o){n=n._reactInternalFiber,o=void 0===o?null:o;var a=t(n);hr(n,{expirationTime:a,partialState:r,callback:o,isReplace:!0,isForced:!1,nextCallback:null,next:null}),e(n,a)},enqueueForceUpdate:function(n,r){n=n._reactInternalFiber,r=void 0===r?null:r;var o=t(n);hr(n,{expirationTime:o,partialState:null,callback:r,isReplace:!1,isForced:!0,nextCallback:null,next:null}),e(n,o)}};return{adoptClassInstance:o,constructClassInstance:function(e,t){var n=e.type,r=Wn(e),a=2===e.tag&&null!=e.type.contextTypes,u=a?qn(e,r):f;return o(e,t=new n(t,u)),a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=u),t},mountClassInstance:function(e,t){var n=e.alternate,r=e.stateNode,o=r.state||null,u=e.pendingProps;u||d("158");var i=Wn(e);r.props=u,r.state=e.memoizedState=o,r.refs=f,r.context=qn(e,i),null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent&&(e.internalContextTag|=1),"function"==typeof r.componentWillMount&&(o=r.state,r.componentWillMount(),o!==r.state&&a.enqueueReplaceState(r,r.state,null),null!==(o=e.updateQueue)&&(r.state=vr(n,e,o,r,u,t))),"function"==typeof r.componentDidMount&&(e.effectTag|=4)},updateClassInstance:function(e,t,o){var u=t.stateNode;u.props=t.memoizedProps,u.state=t.memoizedState;var i=t.memoizedProps,l=t.pendingProps;l||null==(l=i)&&d("159");var c=u.context,p=Wn(t);if(p=qn(t,p),"function"!=typeof u.componentWillReceiveProps||i===l&&c===p||(c=u.state,u.componentWillReceiveProps(l,p),u.state!==c&&a.enqueueReplaceState(u,u.state,null)),c=t.memoizedState,o=null!==t.updateQueue?vr(e,t,t.updateQueue,u,l,o):c,!(i!==l||c!==o||zn.current||null!==t.updateQueue&&t.updateQueue.hasForceUpdate))return"function"!=typeof u.componentDidUpdate||i===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=4),!1;var f=l;if(null===i||null!==t.updateQueue&&t.updateQueue.hasForceUpdate)f=!0;else{var h=t.stateNode,m=t.type;f="function"==typeof h.shouldComponentUpdate?h.shouldComponentUpdate(f,o,p):!m.prototype||!m.prototype.isPureReactComponent||(!s(i,f)||!s(c,o))}return f?("function"==typeof u.componentWillUpdate&&u.componentWillUpdate(l,o,p),"function"==typeof u.componentDidUpdate&&(t.effectTag|=4)):("function"!=typeof u.componentDidUpdate||i===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=4),n(t,l),r(t,o)),u.props=l,u.state=o,u.context=p,f}}}(r,o,(function(e,t){e.memoizedProps=t}),(function(e,t){e.memoizedState=t}))).adoptClassInstance,k=e.constructClassInstance,O=e.mountClassInstance,x=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n)return p(0,t);switch(t.tag){case 0:null!==e&&d("155");var r=t.type,o=t.pendingProps,s=Wn(t);return r=r(o,s=qn(t,s)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render?(t.tag=2,o=Xn(t),w(t,r),O(t,n),t=i(e,t,!0,o)):(t.tag=1,a(e,t,r),t.memoizedProps=o,t=t.child),t;case 1:e:{if(o=t.type,n=t.pendingProps,r=t.memoizedProps,zn.current)null===n&&(n=r);else if(null===n||r===n){t=c(e,t);break e}o=o(n,r=qn(t,r=Wn(t))),t.effectTag|=1,a(e,t,o),t.memoizedProps=n,t=t.child}return t;case 2:return o=Xn(t),r=void 0,null===e?t.stateNode?d("153"):(k(t,t.pendingProps),O(t,n),r=!0):r=x(e,t,n),i(e,t,r,o);case 3:return l(t),null!==(o=t.updateQueue)?(r=t.memoizedState)===(o=vr(e,t,o,null,null,n))?(E(),t=c(e,t)):(r=o.element,s=t.stateNode,(null===e||null===e.child)&&s.hydrate&&b(t)?(t.effectTag|=2,t.child=_r(t,null,r,n)):(E(),a(e,t,r)),t.memoizedState=o,t=t.child):(E(),t=c(e,t)),t;case 5:g(t),null===e&&C(t),o=t.type;var f=t.memoizedProps;return null===(r=t.pendingProps)&&(null===(r=f)&&d("154")),s=null!==e?e.memoizedProps:null,zn.current||null!==r&&f!==r?(f=r.children,h(o,r)?f=null:s&&h(o,s)&&(t.effectTag|=16),u(e,t),2147483647!==n&&!m&&v(o,r)?(t.expirationTime=2147483647,t=null):(a(e,t,f),t.memoizedProps=r,t=t.child)):t=c(e,t),t;case 6:return null===e&&C(t),null===(e=t.pendingProps)&&(e=t.memoizedProps),t.memoizedProps=e,null;case 8:t.tag=7;case 7:return o=t.pendingProps,zn.current?null===o&&(null===(o=e&&e.memoizedProps)&&d("154")):null!==o&&t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?_r(t,t.stateNode,r,n):Pr(t,t.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:e:{if(y(t,t.stateNode.containerInfo),o=t.pendingProps,zn.current)null===o&&(null==(o=e&&e.memoizedProps)&&d("154"));else if(null===o||t.memoizedProps===o){t=c(e,t);break e}null===e?t.child=Pr(t,null,o,n):a(e,t,o),t.memoizedProps=o,t=t.child}return t;case 10:e:{if(n=t.pendingProps,zn.current)null===n&&(n=t.memoizedProps);else if(null===n||t.memoizedProps===n){t=c(e,t);break e}a(e,t,n),t.memoizedProps=n,t=t.child}return t;default:d("156")}},beginFailedWork:function(e,t,n){switch(t.tag){case 2:Xn(t);break;case 3:l(t);break;default:d("157")}return t.effectTag|=64,null===e?t.child=null:t.child!==e.child&&(t.child=e.child),0===t.expirationTime||t.expirationTime>n?p(0,t):(t.firstEffect=null,t.lastEffect=null,t.child=null===e?_r(t,null,null,n):Pr(t,e.child,null,n),2===t.tag&&(e=t.stateNode,t.memoizedProps=e.props,t.memoizedState=e.state),t.child)}}}var Nr={};function Rr(e){function t(e){ue=Y=!0;var t=e.stateNode;if(t.current===e&&d("177"),t.isReadyForCommit=!1,Ut.current=null,1u.expirationTime)&&(a=u.expirationTime),u=u.sibling;o.expirationTime=a}if(null!==t)return t;if(null!==n&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1e))if(Z<=Q)for(;null!==X;)X=l(X)?o(X):r(X);else for(;null!==X&&!k();)X=l(X)?o(X):r(X)}else if(!(0===Z||Z>e))if(Z<=Q)for(;null!==X;)X=r(X);else for(;null!==X&&!k();)X=r(X)}function u(e,t){if(Y&&d("243"),Y=!0,e.isReadyForCommit=!1,e!==J||t!==Z||null===X){for(;-1t)&&(e.expirationTime=t),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>t)&&(e.alternate.expirationTime=t),null===e.return){if(3!==e.tag)break;var n=e.stateNode;!Y&&n===J&&tCe&&d("185"),null===r.nextScheduledRoot)r.remainingExpirationTime=o,null===se?(le=se=r,r.nextScheduledRoot=r):(se=se.nextScheduledRoot=r).nextScheduledRoot=le;else{var a=r.remainingExpirationTime;(0===a||oce)return;z(pe)}var t=U()-$;ce=e,pe=H(E,{timeout:10*(e-2)-t})}function b(){var e=0,t=null;if(null!==se)for(var n=se,r=le;null!==r;){var o=r.remainingExpirationTime;if(0===o){if((null===n||null===se)&&d("244"),r===r.nextScheduledRoot){le=se=r.nextScheduledRoot=null;break}if(r===le)le=o=r.nextScheduledRoot,se.nextScheduledRoot=o,r.nextScheduledRoot=null;else{if(r===se){(se=n).nextScheduledRoot=le,r.nextScheduledRoot=null;break}n.nextScheduledRoot=r.nextScheduledRoot,r.nextScheduledRoot=null}r=n.nextScheduledRoot}else{if((0===e||oke)&&(me=!0)}function O(e){null===de&&d("246"),de.remainingExpirationTime=0,ve||(ve=!0,ge=e)}var x=function(e){function t(e){return e===Nr&&d("174"),e}var n=e.getChildHostContext,r=e.getRootHostContext,o={current:Nr},a={current:Nr},u={current:Nr};return{getHostContext:function(){return t(o.current)},getRootHostContainer:function(){return t(u.current)},popHostContainer:function(e){jn(o),jn(a),jn(u)},popHostContext:function(e){a.current===e&&(jn(o),jn(a))},pushHostContainer:function(e,t){Un(u,t),t=r(t),Un(a,e),Un(o,t)},pushHostContext:function(e){var r=t(u.current),i=t(o.current);i!==(r=n(i,e.type,r))&&(Un(a,e),Un(o,r))},resetHostContainer:function(){o.current=Nr,u.current=Nr}}}(e),T=function(e){function t(e,t){var n=new Zn(5,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=a(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=u(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;p=e}var o=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){d("175")},prepareToHydrateHostTextInstance:function(){d("176")},popHydrationState:function(){return!1}};var a=e.canHydrateInstance,u=e.canHydrateTextInstance,i=e.getNextHydratableSibling,l=e.getFirstHydratableChild,s=e.hydrateInstance,c=e.hydrateTextInstance,p=null,f=null,h=!1;return{enterHydrationState:function(e){return f=l(e.stateNode.containerInfo),p=e,h=!0},resetHydrationState:function(){f=p=null,h=!1},tryToClaimNextHydratableInstance:function(e){if(h){var r=f;if(r){if(!n(e,r)){if(!(r=i(r))||!n(e,r))return e.effectTag|=2,h=!1,void(p=e);t(p,f)}p=e,f=l(r)}else e.effectTag|=2,h=!1,p=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return c(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==p)return!1;if(!h)return r(e),h=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!o(n,e.memoizedProps))for(n=f;n;)t(e,n),n=i(n);return r(e),f=p?i(e.stateNode):null,!0}}}(e),S=x.popHostContainer,F=x.popHostContext,A=x.resetHostContainer,P=Dr(e,x,T,h,p),_=P.beginWork,D=P.beginFailedWork,N=function(e,t,n){function r(e){e.effectTag|=4}var o=e.createInstance,a=e.createTextInstance,u=e.appendInitialChild,i=e.finalizeInitialChildren,l=e.prepareUpdate,s=e.persistence,c=t.getRootHostContainer,p=t.popHostContext,f=t.getHostContext,h=t.popHostContainer,m=n.prepareToHydrateHostInstance,v=n.prepareToHydrateHostTextInstance,g=n.popHydrationState,y=void 0,b=void 0,E=void 0;return e.mutation?(y=function(){},b=function(e,t,n){(t.updateQueue=n)&&r(t)},E=function(e,t,n,o){n!==o&&r(t)}):d(s?"235":"236"),{completeWork:function(e,t,n){var s=t.pendingProps;switch(null===s?s=t.memoizedProps:2147483647===t.expirationTime&&2147483647!==n||(t.pendingProps=null),t.tag){case 1:return null;case 2:return Qn(t),null;case 3:return h(t),jn(zn),jn(Hn),(s=t.stateNode).pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),null!==e&&null!==e.child||(g(t),t.effectTag&=-3),y(t),null;case 5:p(t),n=c();var C=t.type;if(null!==e&&null!=t.stateNode){var w=e.memoizedProps,k=t.stateNode,O=f();k=l(k,C,w,s,n,O),b(e,t,k,C,w,s,n),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!s)return null===t.stateNode&&d("166"),null;if(e=f(),g(t))m(t,n,e)&&r(t);else{e=o(C,s,n,e,t);e:for(w=t.child;null!==w;){if(5===w.tag||6===w.tag)u(e,w.stateNode);else if(4!==w.tag&&null!==w.child){w.child.return=w,w=w.child;continue}if(w===t)break;for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}i(e,C,s,n)&&r(t),t.stateNode=e}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)E(e,t,e.memoizedProps,s);else{if("string"!=typeof s)return null===t.stateNode&&d("166"),null;e=c(),n=f(),g(t)?v(t)&&r(t):t.stateNode=a(s,e,n,t)}return null;case 7:(s=t.memoizedProps)||d("165"),t.tag=8,C=[];e:for((w=t.stateNode)&&(w.return=t);null!==w;){if(5===w.tag||6===w.tag||4===w.tag)d("247");else if(9===w.tag)C.push(w.type);else if(null!==w.child){w.child.return=w,w=w.child;continue}for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}return s=(w=s.handler)(s.props,C),t.child=Pr(t,null!==e?e.child:null,s,n),t.child;case 8:return t.tag=7,null;case 9:case 10:return null;case 4:return h(t),y(t),null;case 0:d("167");default:d("156")}}}}(e,x,T).completeWork,R=(x=function(e,t){function n(e){var n=e.ref;if(null!==n)try{n(null)}catch(n){t(e,n)}}function r(e){switch(pr(e),e.tag){case 2:n(e);var r=e.stateNode;if("function"==typeof r.componentWillUnmount)try{r.props=e.memoizedProps,r.state=e.memoizedState,r.componentWillUnmount()}catch(n){t(e,n)}break;case 5:n(e);break;case 7:o(e.stateNode);break;case 4:l&&u(e)}}function o(e){for(var t=e;;)if(r(t),null===t.child||l&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function a(e){return 5===e.tag||3===e.tag||4===e.tag}function u(e){for(var t=e,n=!1,a=void 0,u=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&d("160"),n.tag){case 5:a=n.stateNode,u=!1;break e;case 3:case 4:a=n.stateNode.containerInfo,u=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)o(t),u?b(a,t.stateNode):y(a,t.stateNode);else if(4===t.tag?a=t.stateNode.containerInfo:r(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var i=e.getPublicInstance,l=e.mutation;e=e.persistence,l||d(e?"235":"236");var s=l.commitMount,c=l.commitUpdate,p=l.resetTextContent,f=l.commitTextUpdate,h=l.appendChild,m=l.appendChildToContainer,v=l.insertBefore,g=l.insertInContainerBefore,y=l.removeChild,b=l.removeChildFromContainer;return{commitResetTextContent:function(e){p(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(a(t)){var n=t;break e}t=t.return}d("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:d("161")}16&n.effectTag&&(p(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||a(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var o=e;;){if(5===o.tag||6===o.tag)n?r?g(t,o.stateNode,n):v(t,o.stateNode,n):r?m(t,o.stateNode):h(t,o.stateNode);else if(4!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===e)break;for(;null===o.sibling;){if(null===o.return||o.return===e)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},commitDeletion:function(e){u(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var o=t.type,a=t.updateQueue;t.updateQueue=null,null!==a&&c(n,a,o,e,r,t)}break;case 6:null===t.stateNode&&d("162"),n=t.memoizedProps,f(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:d("163")}},commitLifeCycles:function(e,t){switch(t.tag){case 2:var n=t.stateNode;if(4&t.effectTag)if(null===e)n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidMount();else{var r=e.memoizedProps;e=e.memoizedState,n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidUpdate(r,e)}null!==(t=t.updateQueue)&&gr(t,n);break;case 3:null!==(n=t.updateQueue)&&gr(n,null!==t.child?t.child.stateNode:null);break;case 5:n=t.stateNode,null===e&&4&t.effectTag&&s(n,t.type,t.memoizedProps,t);break;case 6:case 4:break;default:d("163")}},commitAttachRef:function(e){var t=e.ref;if(null!==t){var n=e.stateNode;switch(e.tag){case 5:t(i(n));break;default:t(n)}}},commitDetachRef:function(e){null!==(e=e.ref)&&e(null)}}}(e,i)).commitResetTextContent,I=x.commitPlacement,M=x.commitDeletion,V=x.commitWork,L=x.commitLifeCycles,B=x.commitAttachRef,j=x.commitDetachRef,U=e.now,H=e.scheduleDeferredCallback,z=e.cancelDeferredCallback,K=e.useSyncScheduling,W=e.prepareForCommit,q=e.resetAfterCommit,$=U(),Q=2,G=0,Y=!1,X=null,J=null,Z=0,ee=null,te=null,ne=null,re=null,oe=null,ae=!1,ue=!1,ie=!1,le=null,se=null,ce=0,pe=-1,fe=!1,de=null,he=0,me=!1,ve=!1,ge=null,ye=null,be=!1,Ee=!1,Ce=1e3,we=0,ke=1;return{computeAsyncExpiration:c,computeExpirationForFiber:p,scheduleWork:h,batchedUpdates:function(e,t){var n=be;be=!0;try{return e(t)}finally{(be=n)||fe||C(1,null)}},unbatchedUpdates:function(e){if(be&&!Ee){Ee=!0;try{return e()}finally{Ee=!1}}return e()},flushSync:function(e){var t=be;be=!0;try{e:{var n=G;G=1;try{var r=e();break e}finally{G=n}r=void 0}return r}finally{be=t,fe&&d("187"),C(1,null)}},deferredUpdates:function(e){var t=G;G=c();try{return e()}finally{G=t}}}}function Ir(e){function t(e){return null===(e=function(e){if(!(e=qt(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}(e))?null:e.stateNode}var n=e.getPublicInstance,r=(e=Rr(e)).computeAsyncExpiration,o=e.computeExpirationForFiber,u=e.scheduleWork;return{createContainer:function(e,t){var n=new Zn(3,null,0);return e={current:n,containerInfo:e,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:t,nextScheduledRoot:null},n.stateNode=e},updateContainer:function(e,t,n,a){var i=t.current;if(n){var l;e:{for(2===zt(n=n._reactInternalFiber)&&2===n.tag||d("170"),l=n;3!==l.tag;){if($n(l)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break e}(l=l.return)||d("171")}l=l.stateNode.context}n=$n(n)?Yn(n,l):l}else n=f;null===t.context?t.context=n:t.pendingContext=n,t=void 0===(t=a)?null:t,hr(i,{expirationTime:a=null!=e&&null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent?r():o(i),partialState:{element:e},callback:t,isReplace:!1,isForced:!1,nextCallback:null,next:null}),u(i,a)},batchedUpdates:e.batchedUpdates,unbatchedUpdates:e.unbatchedUpdates,deferredUpdates:e.deferredUpdates,flushSync:e.flushSync,getPublicRootInstance:function(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:return n(e.child.stateNode);default:return e.child.stateNode}},findHostInstance:t,findHostInstanceWithNoPortals:function(e){return null===(e=function(e){if(!(e=qt(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child&&4!==t.tag)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}(e))?null:e.stateNode},injectIntoDevTools:function(e){var n=e.findFiberByHostInstance;return function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);ir=sr((function(e){return t.onCommitFiberRoot(n,e)})),lr=sr((function(e){return t.onCommitFiberUnmount(n,e)}))}catch(e){}return!0}(a({},e,{findHostInstanceByFiber:function(e){return t(e)},findFiberByHostInstance:function(e){return n?n(e):null}}))}}}var Mr=Object.freeze({default:Ir}),Vr=Mr&&Ir||Mr,Lr=Vr.default?Vr.default:Vr;function Br(e,t,n){var r=3=Gr-e){if(!(-1!==$r&&$r<=e))return void(Qr||(Qr=!0,requestAnimationFrame(Zr)));Kr.didTimeout=!0}else Kr.didTimeout=!1;$r=-1,e=Wr,Wr=null,null!==e&&e(Kr)}}),!1);var Zr=function(e){Qr=!1;var t=e-Gr+Xr;tt&&(t=8),Xr=tn||r.hasOverloadedBooleanValue&&!1===n?ao(e,t):r.mustUseProperty?e[r.propertyName]=n:(t=r.attributeName,(o=r.attributeNamespace)?e.setAttributeNS(o,t,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(t,""):e.setAttribute(t,""+n))}else oo(e,t,y(t,n)?n:null)}function oo(e,t,n){(function(e){return!!no.hasOwnProperty(e)||!to.hasOwnProperty(e)&&(eo.test(e)?no[e]=!0:(to[e]=!0,!1))})(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))}function ao(e,t){var n=b(t);n?(t=n.mutationMethod)?t(e,void 0):n.mustUseProperty?e[n.propertyName]=!n.hasBooleanValue&&"":e.removeAttribute(n.attributeName):e.removeAttribute(t)}function uo(e,t){var n=t.value,r=t.checked;return a({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked})}function io(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function lo(e,t){null!=(t=t.checked)&&ro(e,"checked",t)}function so(e,t){lo(e,t);var n=t.value;null!=n?0===n&&""===e.value?e.value="0":"number"===t.type?(n!=(t=parseFloat(e.value)||0)||n==t&&e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n):(null==t.value&&null!=t.defaultValue&&e.defaultValue!==""+t.defaultValue&&(e.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked))}function co(e,t){switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":e.value="",e.value=e.defaultValue;break;default:e.value=e.value}""!==(t=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,""!==t&&(e.name=t)}function po(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null==e||"string"!=typeof e&&"number"!=typeof e||(t+=e)})),t}(t.children))&&(e.children=t),e}function fo(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o=t.length||d("93"),t=t[0]),n=""+t),null==n&&(n="")),e._wrapperState={initialValue:""+n}}function go(e,t){var n=t.value;null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function yo(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}var bo="http://www.w3.org/1999/xhtml",Eo="http://www.w3.org/2000/svg";function Co(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function wo(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Co(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ko=void 0,Oo=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==Eo||"innerHTML"in e)e.innerHTML=t;else{for((ko=ko||document.createElement("div")).innerHTML=""+t+"",t=ko.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function xo(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var To={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},So=["Webkit","ms","Moz","O"];function Fo(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=n,a=t[n];o=null==a||"boolean"==typeof a||""===a?"":r||"number"!=typeof a||0===a||To.hasOwnProperty(o)&&To[o]?(""+a).trim():a+"px","float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(To).forEach((function(e){So.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),To[t]=To[e]}))}));var Ao=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Po(e,t,n){t&&(Ao[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&d("137",e,n()),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&d("60"),"object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||d("61")),null!=t.style&&"object"!=typeof t.style&&d("62",n()))}function _o(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Do=bo,No=u.thatReturns("");function Ro(e,t){var n=fn(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=K[t];for(var r=0;r<\/script>",e=e.removeChild(e.firstChild)):e="string"==typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(r,e),e}function Vo(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function Lo(e,t,n,r){var o=_o(t,n);switch(t){case"iframe":case"object":Jt("topLoad","load",e);var i=n;break;case"video":case"audio":for(i in Io)Io.hasOwnProperty(i)&&Jt(i,Io[i],e);i=n;break;case"source":Jt("topError","error",e),i=n;break;case"img":case"image":Jt("topError","error",e),Jt("topLoad","load",e),i=n;break;case"form":Jt("topReset","reset",e),Jt("topSubmit","submit",e),i=n;break;case"details":Jt("topToggle","toggle",e),i=n;break;case"input":io(e,n),i=uo(e,n),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;case"option":i=po(e,n);break;case"select":ho(e,n),i=a({},n,{value:void 0}),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;case"textarea":vo(e,n),i=mo(e,n),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;default:i=n}Po(t,i,No);var l,s=i;for(l in s)if(s.hasOwnProperty(l)){var c=s[l];"style"===l?Fo(e,c):"dangerouslySetInnerHTML"===l?null!=(c=c?c.__html:void 0)&&Oo(e,c):"children"===l?"string"==typeof c?("textarea"!==t||""!==c)&&xo(e,c):"number"==typeof c&&xo(e,""+c):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(z.hasOwnProperty(l)?null!=c&&Ro(r,l):o?oo(e,l,c):null!=c&&ro(e,l,c))}switch(t){case"input":gt(e),co(e,n);break;case"textarea":gt(e),yo(e);break;case"option":null!=n.value&&e.setAttribute("value",n.value);break;case"select":e.multiple=!!n.multiple,null!=(t=n.value)?fo(e,!!n.multiple,t,!1):null!=n.defaultValue&&fo(e,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof i.onClick&&(e.onclick=u)}}function Bo(e,t,n,r,o){var i,l,s=null;switch(t){case"input":n=uo(e,n),r=uo(e,r),s=[];break;case"option":n=po(e,n),r=po(e,r),s=[];break;case"select":n=a({},n,{value:void 0}),r=a({},r,{value:void 0}),s=[];break;case"textarea":n=mo(e,n),r=mo(e,r),s=[];break;default:"function"!=typeof n.onClick&&"function"==typeof r.onClick&&(e.onclick=u)}for(i in Po(t,r,No),e=null,n)if(!r.hasOwnProperty(i)&&n.hasOwnProperty(i)&&null!=n[i])if("style"===i)for(l in t=n[i])t.hasOwnProperty(l)&&(e||(e={}),e[l]="");else"dangerouslySetInnerHTML"!==i&&"children"!==i&&"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(z.hasOwnProperty(i)?s||(s=[]):(s=s||[]).push(i,null));for(i in r){var c=r[i];if(t=null!=n?n[i]:void 0,r.hasOwnProperty(i)&&c!==t&&(null!=c||null!=t))if("style"===i)if(t){for(l in t)!t.hasOwnProperty(l)||c&&c.hasOwnProperty(l)||(e||(e={}),e[l]="");for(l in c)c.hasOwnProperty(l)&&t[l]!==c[l]&&(e||(e={}),e[l]=c[l])}else e||(s||(s=[]),s.push(i,e)),e=c;else"dangerouslySetInnerHTML"===i?(c=c?c.__html:void 0,t=t?t.__html:void 0,null!=c&&t!==c&&(s=s||[]).push(i,""+c)):"children"===i?t===c||"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(i,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&(z.hasOwnProperty(i)?(null!=c&&Ro(o,i),s||t===c||(s=[])):(s=s||[]).push(i,c))}return e&&(s=s||[]).push("style",e),s}function jo(e,t,n,r,o){"input"===n&&"radio"===o.type&&null!=o.name&&lo(e,o),_o(n,r),r=_o(n,o);for(var a=0;ar&&(o=r,r=e,e=o),o=hn(n,e);var a=hn(n,r);if(o&&a&&(1!==t.rangeCount||t.anchorNode!==o.node||t.anchorOffset!==o.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)){var u=document.createRange();u.setStart(o.node,o.offset),t.removeAllRanges(),e>r?(t.addRange(u),t.extend(a.node,a.offset)):(u.setEnd(a.node,a.offset),t.addRange(u))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(p(n),n=0;n=(u={attributeName:u,attributeNamespace:null,propertyName:a,mutationMethod:null,mustUseProperty:m(i,t.MUST_USE_PROPERTY),hasBooleanValue:m(i,t.HAS_BOOLEAN_VALUE),hasNumericValue:m(i,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:m(i,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:m(i,t.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:m(i,t.HAS_STRING_BOOLEAN_VALUE)}).hasBooleanValue+u.hasNumericValue+u.hasOverloadedBooleanValue||d("50",a),o.hasOwnProperty(a)&&(u.attributeName=o[a]),r.hasOwnProperty(a)&&(u.attributeNamespace=r[a]),e.hasOwnProperty(a)&&(u.mutationMethod=e[a]),g[a]=u}}},g={};function y(e,t){if(h.hasOwnProperty(e)||2this.eventPool.length&&this.eventPool.push(e)}function Ve(e){e.eventPool=[],e.getPooled=Ie,e.release=Me}function Le(e,t,n,r){return Re.call(this,e,t,n,r)}function je(e,t,n,r){return Re.call(this,e,t,n,r)}a(Re.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=u.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=u.thatReturnsTrue)},persist:function(){this.isPersistent=u.thatReturnsTrue},isPersistent:u.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t=parseInt(Ke.version(),10))}var We=Be,qe=o.canUseDOM&&(!He||ze&&8=ze),$e=String.fromCharCode(32),Qe={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},Ge=!1;function Ye(e,t){switch(e){case"topKeyUp":return-1!==Ue.indexOf(t.keyCode);case"topKeyDown":return 229!==t.keyCode;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function Xe(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Je=!1;var Ze={eventTypes:Qe,extractEvents:function(e,t,n,r){var o;if(He)e:{switch(e){case"topCompositionStart":var a=Qe.compositionStart;break e;case"topCompositionEnd":a=Qe.compositionEnd;break e;case"topCompositionUpdate":a=Qe.compositionUpdate;break e}a=void 0}else Je?Ye(e,n)&&(a=Qe.compositionEnd):"topKeyDown"===e&&229===n.keyCode&&(a=Qe.compositionStart);return a?(qe&&(Je||a!==Qe.compositionStart?a===Qe.compositionEnd&&Je&&(o=Pe()):(Ae._root=r,Ae._startText=_e(),Je=!0)),a=Le.getPooled(a,t,n,r),o?a.data=o:null!==(o=Xe(n))&&(a.data=o),Oe(a),o=a):o=null,(e=We?function(e,t){switch(e){case"topCompositionEnd":return Xe(t);case"topKeyPress":return 32!==t.which?null:(Ge=!0,$e);case"topTextInput":return(e=t.data)===$e&&Ge?null:e;default:return null}}(e,n):function(e,t){if(Je)return"topCompositionEnd"===e||!He&&Ye(e,t)?(e=Pe(),Ae._root=null,Ae._startText=null,Ae._fallbackText=null,Je=!1,e):null;switch(e){case"topPaste":return null;case"topKeyPress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1$t.length&&$t.push(e)}}}var tn=Object.freeze({get _enabled(){return Gt},get _handleTopLevel(){return Yt},setHandleTopLevel:function(e){Yt=e},setEnabled:Xt,isEnabled:function(){return Gt},trapBubbledEvent:Jt,trapCapturedEvent:Zt,dispatchEvent:en});function nn(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}var rn={animationend:nn("Animation","AnimationEnd"),animationiteration:nn("Animation","AnimationIteration"),animationstart:nn("Animation","AnimationStart"),transitionend:nn("Transition","TransitionEnd")},on={},an={};function un(e){if(on[e])return on[e];if(!rn[e])return e;var t,n=rn[e];for(t in n)if(n.hasOwnProperty(t)&&t in an)return on[e]=n[t];return""}o.canUseDOM&&(an=document.createElement("div").style,"AnimationEvent"in window||(delete rn.animationend.animation,delete rn.animationiteration.animation,delete rn.animationstart.animation),"TransitionEvent"in window||delete rn.transitionend.transition);var ln={topAbort:"abort",topAnimationEnd:un("animationend")||"animationend",topAnimationIteration:un("animationiteration")||"animationiteration",topAnimationStart:un("animationstart")||"animationstart",topBlur:"blur",topCancel:"cancel",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topClose:"close",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoad:"load",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topToggle:"toggle",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:un("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},sn={},cn=0,pn="_reactListenersID"+(""+Math.random()).slice(2);function fn(e){return Object.prototype.hasOwnProperty.call(e,pn)||(e[pn]=cn++,sn[e[pn]]={}),sn[e[pn]]}function dn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function hn(e,t){var n,r=dn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=dn(r)}}function mn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)}var vn=o.canUseDOM&&"documentMode"in document&&11>=document.documentMode,gn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange".split(" ")}},yn=null,bn=null,En=null,Cn=!1;function wn(e,t){if(Cn||null==yn||yn!==l())return null;var n=yn;return"selectionStart"in n&&mn(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?n={anchorNode:(n=window.getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}:n=void 0,En&&s(En,n)?null:(En=n,(e=Re.getPooled(gn.select,bn,e,t)).type="select",e.target=yn,Oe(e),e)}var kn={eventTypes:gn,extractEvents:function(e,t,n,r){var o,a=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(o=!a)){e:{a=fn(a),o=K.onSelect;for(var u=0;ujn||(e.current=Ln[jn],Ln[jn]=null,jn--)}function Un(e,t){jn++,Ln[jn]=e.current,e.current=t}new Set;var Hn={current:f},zn={current:!1},Kn=f;function Wn(e){return $n(e)?Kn:Hn.current}function qn(e,t){var n=e.type.contextTypes;if(!n)return f;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function $n(e){return 2===e.tag&&null!=e.type.childContextTypes}function Qn(e){$n(e)&&(Bn(zn),Bn(Hn))}function Gn(e,t,n){null!=Hn.cursor&&d("168"),Un(Hn,t),Un(zn,n)}function Yn(e,t){var n=e.stateNode,r=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var o in n=n.getChildContext())o in r||d("108",Ht(e)||"Unknown",o);return a({},t,n)}function Xn(e){if(!$n(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||f,Kn=Hn.current,Un(Hn,t),Un(zn,zn.current),!0}function Jn(e,t){var n=e.stateNode;if(n||d("169"),t){var r=Yn(e,Kn);n.__reactInternalMemoizedMergedChildContext=r,Bn(zn),Bn(Hn),Un(Hn,r)}else Bn(zn);Un(zn,t)}function Zn(e,t,n){this.tag=e,this.key=t,this.stateNode=this.type=null,this.sibling=this.child=this.return=null,this.index=0,this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null,this.internalContextTag=n,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function er(e,t,n){var r=e.alternate;return null===r?((r=new Zn(e.tag,e.key,e.internalContextTag)).type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.effectTag=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.expirationTime=n,r.pendingProps=t,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function tr(e,t,n){var r=void 0,o=e.type,a=e.key;return"function"==typeof o?((r=o.prototype&&o.prototype.isReactComponent?new Zn(2,a,t):new Zn(0,a,t)).type=o,r.pendingProps=e.props):"string"==typeof o?((r=new Zn(5,a,t)).type=o,r.pendingProps=e.props):"object"==typeof o&&null!==o&&"number"==typeof o.tag?(r=o).pendingProps=e.props:d("130",null==o?o:typeof o,""),r.expirationTime=n,r}function nr(e,t,n,r){return(t=new Zn(10,r,t)).pendingProps=e,t.expirationTime=n,t}function rr(e,t,n){return(t=new Zn(6,null,t)).pendingProps=e,t.expirationTime=n,t}function or(e,t,n){return(t=new Zn(7,e.key,t)).type=e.handler,t.pendingProps=e,t.expirationTime=n,t}function ar(e,t,n){return(e=new Zn(9,null,t)).expirationTime=n,e}function ur(e,t,n){return(t=new Zn(4,e.key,t)).pendingProps=e.children||[],t.expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ir=null,lr=null;function sr(e){return function(t){try{return e(t)}catch(e){}}}function cr(e){"function"==typeof ir&&ir(e)}function pr(e){"function"==typeof lr&&lr(e)}function fr(e){return{baseState:e,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function dr(e,t){null===e.last?e.first=e.last=t:(e.last.next=t,e.last=t),(0===e.expirationTime||e.expirationTime>t.expirationTime)&&(e.expirationTime=t.expirationTime)}function hr(e,t){var n=e.alternate,r=e.updateQueue;null===r&&(r=e.updateQueue=fr(null)),null!==n?null===(e=n.updateQueue)&&(e=n.updateQueue=fr(null)):e=null,null===(e=e!==r?e:null)?dr(r,t):null===r.last||null===e.last?(dr(r,t),dr(e,t)):(dr(r,t),e.last=t)}function mr(e,t,n,r){return"function"==typeof(e=e.partialState)?e.call(t,n,r):e}function vr(e,t,n,r,o,u){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var i=!0,l=n.first,s=!1;null!==l;){var c=l.expirationTime;if(c>u){var p=n.expirationTime;(0===p||p>c)&&(n.expirationTime=c),s||(s=!0,n.baseState=e)}else s||(n.first=l.next,null===n.first&&(n.last=null)),l.isReplace?(e=mr(l,r,e,o),i=!0):(c=mr(l,r,e,o))&&(e=i?a({},e,c):a(e,c),i=!1),l.isForced&&(n.hasForceUpdate=!0),null!==l.callback&&(null===(c=n.callbackList)&&(c=n.callbackList=[]),c.push(l));l=l.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||(t.updateQueue=null),s||(n.baseState=e),e}function gr(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ef?(d=p,p=null):d=p.sibling;var g=m(o,p,i[f],l);if(null===g){null===p&&(p=d);break}e&&p&&null===g.alternate&&t(o,p),u=a(g,u,f),null===c?s=g:c.sibling=g,c=g,p=d}if(f===i.length)return n(o,p),s;if(null===p){for(;ff?(g=p,p=null):g=p.sibling;var b=m(o,p,y.value,l);if(null===b){p||(p=g);break}e&&p&&null===b.alternate&&t(o,p),u=a(b,u,f),null===c?s=b:c.sibling=b,c=b,p=g}if(y.done)return n(o,p),s;if(null===p){for(;!y.done;f++,y=i.next())null!==(y=h(o,y.value,l))&&(u=a(y,u,f),null===c?s=y:c.sibling=y,c=y);return s}for(p=r(o,p);!y.done;f++,y=i.next())null!==(y=v(p,o,f,y.value,l))&&(e&&null!==y.alternate&&p.delete(null===y.key?f:y.key),u=a(y,u,f),null===c?s=y:c.sibling=y,c=y);return e&&p.forEach((function(e){return t(o,e)})),s}return function(e,r,a,i){"object"==typeof a&&null!==a&&a.type===kr&&null===a.key&&(a=a.props.children);var l="object"==typeof a&&null!==a;if(l)switch(a.$$typeof){case br:e:{var s=a.key;for(l=r;null!==l;){if(l.key===s){if(10===l.tag?a.type===kr:l.type===a.type){n(e,l.sibling),(r=o(l,a.type===kr?a.props.children:a.props,i)).ref=Sr(l,a),r.return=e,e=r;break e}n(e,l);break}t(e,l),l=l.sibling}a.type===kr?((r=nr(a.props.children,e.internalContextTag,i,a.key)).return=e,e=r):((i=tr(a,e.internalContextTag,i)).ref=Sr(r,a),i.return=e,e=i)}return u(e);case Er:e:{for(l=a.key;null!==r;){if(r.key===l){if(7===r.tag){n(e,r.sibling),(r=o(r,a,i)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=or(a,e.internalContextTag,i)).return=e,e=r}return u(e);case Cr:e:{if(null!==r){if(9===r.tag){n(e,r.sibling),(r=o(r,null,i)).type=a.value,r.return=e,e=r;break e}n(e,r)}(r=ar(a,e.internalContextTag,i)).type=a.value,r.return=e,e=r}return u(e);case wr:e:{for(l=a.key;null!==r;){if(r.key===l){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=o(r,a.children||[],i)).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=ur(a,e.internalContextTag,i)).return=e,e=r}return u(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),r=o(r,a,i)):(n(e,r),r=rr(a,e.internalContextTag,i)),r.return=e,u(e=r);if(Tr(a))return g(e,r,a,i);if(xr(a))return y(e,r,a,i);if(l&&Fr(e,a),void 0===a)switch(e.tag){case 2:case 1:d("152",(i=e.type).displayName||i.name||"Component")}return n(e,r)}}var Pr=Ar(!0),_r=Ar(!1);function Dr(e,t,n,r,o){function a(e,t,n){var r=t.expirationTime;t.child=null===e?_r(t,null,n,r):Pr(t,e.child,n,r)}function u(e,t){var n=t.ref;null===n||e&&e.ref===n||(t.effectTag|=128)}function i(e,t,n,r){if(u(e,t),!n)return r&&Jn(t,!1),c(e,t);n=t.stateNode,Ut.current=t;var o=n.render();return t.effectTag|=1,a(e,t,o),t.memoizedState=n.state,t.memoizedProps=n.props,r&&Jn(t,!0),t.child}function l(e){var t=e.stateNode;t.pendingContext?Gn(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Gn(0,t.context,!1),y(e,t.containerInfo)}function c(e,t){if(null!==e&&t.child!==e.child&&d("153"),null!==t.child){var n=er(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=er(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function p(e,t){switch(t.tag){case 3:l(t);break;case 2:Xn(t);break;case 4:y(t,t.stateNode.containerInfo)}return null}var h=e.shouldSetTextContent,m=e.useSyncScheduling,v=e.shouldDeprioritizeSubtree,g=t.pushHostContext,y=t.pushHostContainer,b=n.enterHydrationState,E=n.resetHydrationState,C=n.tryToClaimNextHydratableInstance,w=(e=function(e,t,n,r){function o(e,t){t.updater=a,e.stateNode=t,t._reactInternalFiber=e}var a={isMounted:Kt,enqueueSetState:function(n,r,o){n=n._reactInternalFiber,o=void 0===o?null:o;var a=t(n);hr(n,{expirationTime:a,partialState:r,callback:o,isReplace:!1,isForced:!1,nextCallback:null,next:null}),e(n,a)},enqueueReplaceState:function(n,r,o){n=n._reactInternalFiber,o=void 0===o?null:o;var a=t(n);hr(n,{expirationTime:a,partialState:r,callback:o,isReplace:!0,isForced:!1,nextCallback:null,next:null}),e(n,a)},enqueueForceUpdate:function(n,r){n=n._reactInternalFiber,r=void 0===r?null:r;var o=t(n);hr(n,{expirationTime:o,partialState:null,callback:r,isReplace:!1,isForced:!0,nextCallback:null,next:null}),e(n,o)}};return{adoptClassInstance:o,constructClassInstance:function(e,t){var n=e.type,r=Wn(e),a=2===e.tag&&null!=e.type.contextTypes,u=a?qn(e,r):f;return o(e,t=new n(t,u)),a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=u),t},mountClassInstance:function(e,t){var n=e.alternate,r=e.stateNode,o=r.state||null,u=e.pendingProps;u||d("158");var i=Wn(e);r.props=u,r.state=e.memoizedState=o,r.refs=f,r.context=qn(e,i),null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent&&(e.internalContextTag|=1),"function"==typeof r.componentWillMount&&(o=r.state,r.componentWillMount(),o!==r.state&&a.enqueueReplaceState(r,r.state,null),null!==(o=e.updateQueue)&&(r.state=vr(n,e,o,r,u,t))),"function"==typeof r.componentDidMount&&(e.effectTag|=4)},updateClassInstance:function(e,t,o){var u=t.stateNode;u.props=t.memoizedProps,u.state=t.memoizedState;var i=t.memoizedProps,l=t.pendingProps;l||null==(l=i)&&d("159");var c=u.context,p=Wn(t);if(p=qn(t,p),"function"!=typeof u.componentWillReceiveProps||i===l&&c===p||(c=u.state,u.componentWillReceiveProps(l,p),u.state!==c&&a.enqueueReplaceState(u,u.state,null)),c=t.memoizedState,o=null!==t.updateQueue?vr(e,t,t.updateQueue,u,l,o):c,!(i!==l||c!==o||zn.current||null!==t.updateQueue&&t.updateQueue.hasForceUpdate))return"function"!=typeof u.componentDidUpdate||i===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=4),!1;var f=l;if(null===i||null!==t.updateQueue&&t.updateQueue.hasForceUpdate)f=!0;else{var h=t.stateNode,m=t.type;f="function"==typeof h.shouldComponentUpdate?h.shouldComponentUpdate(f,o,p):!m.prototype||!m.prototype.isPureReactComponent||(!s(i,f)||!s(c,o))}return f?("function"==typeof u.componentWillUpdate&&u.componentWillUpdate(l,o,p),"function"==typeof u.componentDidUpdate&&(t.effectTag|=4)):("function"!=typeof u.componentDidUpdate||i===e.memoizedProps&&c===e.memoizedState||(t.effectTag|=4),n(t,l),r(t,o)),u.props=l,u.state=o,u.context=p,f}}}(r,o,(function(e,t){e.memoizedProps=t}),(function(e,t){e.memoizedState=t}))).adoptClassInstance,k=e.constructClassInstance,O=e.mountClassInstance,x=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n)return p(0,t);switch(t.tag){case 0:null!==e&&d("155");var r=t.type,o=t.pendingProps,s=Wn(t);return r=r(o,s=qn(t,s)),t.effectTag|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render?(t.tag=2,o=Xn(t),w(t,r),O(t,n),t=i(e,t,!0,o)):(t.tag=1,a(e,t,r),t.memoizedProps=o,t=t.child),t;case 1:e:{if(o=t.type,n=t.pendingProps,r=t.memoizedProps,zn.current)null===n&&(n=r);else if(null===n||r===n){t=c(e,t);break e}o=o(n,r=qn(t,r=Wn(t))),t.effectTag|=1,a(e,t,o),t.memoizedProps=n,t=t.child}return t;case 2:return o=Xn(t),r=void 0,null===e?t.stateNode?d("153"):(k(t,t.pendingProps),O(t,n),r=!0):r=x(e,t,n),i(e,t,r,o);case 3:return l(t),null!==(o=t.updateQueue)?(r=t.memoizedState)===(o=vr(e,t,o,null,null,n))?(E(),t=c(e,t)):(r=o.element,s=t.stateNode,(null===e||null===e.child)&&s.hydrate&&b(t)?(t.effectTag|=2,t.child=_r(t,null,r,n)):(E(),a(e,t,r)),t.memoizedState=o,t=t.child):(E(),t=c(e,t)),t;case 5:g(t),null===e&&C(t),o=t.type;var f=t.memoizedProps;return null===(r=t.pendingProps)&&(null===(r=f)&&d("154")),s=null!==e?e.memoizedProps:null,zn.current||null!==r&&f!==r?(f=r.children,h(o,r)?f=null:s&&h(o,s)&&(t.effectTag|=16),u(e,t),2147483647!==n&&!m&&v(o,r)?(t.expirationTime=2147483647,t=null):(a(e,t,f),t.memoizedProps=r,t=t.child)):t=c(e,t),t;case 6:return null===e&&C(t),null===(e=t.pendingProps)&&(e=t.memoizedProps),t.memoizedProps=e,null;case 8:t.tag=7;case 7:return o=t.pendingProps,zn.current?null===o&&(null===(o=e&&e.memoizedProps)&&d("154")):null!==o&&t.memoizedProps!==o||(o=t.memoizedProps),r=o.children,t.stateNode=null===e?_r(t,t.stateNode,r,n):Pr(t,t.stateNode,r,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:e:{if(y(t,t.stateNode.containerInfo),o=t.pendingProps,zn.current)null===o&&(null==(o=e&&e.memoizedProps)&&d("154"));else if(null===o||t.memoizedProps===o){t=c(e,t);break e}null===e?t.child=Pr(t,null,o,n):a(e,t,o),t.memoizedProps=o,t=t.child}return t;case 10:e:{if(n=t.pendingProps,zn.current)null===n&&(n=t.memoizedProps);else if(null===n||t.memoizedProps===n){t=c(e,t);break e}a(e,t,n),t.memoizedProps=n,t=t.child}return t;default:d("156")}},beginFailedWork:function(e,t,n){switch(t.tag){case 2:Xn(t);break;case 3:l(t);break;default:d("157")}return t.effectTag|=64,null===e?t.child=null:t.child!==e.child&&(t.child=e.child),0===t.expirationTime||t.expirationTime>n?p(0,t):(t.firstEffect=null,t.lastEffect=null,t.child=null===e?_r(t,null,null,n):Pr(t,e.child,null,n),2===t.tag&&(e=t.stateNode,t.memoizedProps=e.props,t.memoizedState=e.state),t.child)}}}var Nr={};function Rr(e){function t(e){ue=Y=!0;var t=e.stateNode;if(t.current===e&&d("177"),t.isReadyForCommit=!1,Ut.current=null,1u.expirationTime)&&(a=u.expirationTime),u=u.sibling;o.expirationTime=a}if(null!==t)return t;if(null!==n&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1e))if(Z<=Q)for(;null!==X;)X=l(X)?o(X):r(X);else for(;null!==X&&!k();)X=l(X)?o(X):r(X)}else if(!(0===Z||Z>e))if(Z<=Q)for(;null!==X;)X=r(X);else for(;null!==X&&!k();)X=r(X)}function u(e,t){if(Y&&d("243"),Y=!0,e.isReadyForCommit=!1,e!==J||t!==Z||null===X){for(;-1t)&&(e.expirationTime=t),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>t)&&(e.alternate.expirationTime=t),null===e.return){if(3!==e.tag)break;var n=e.stateNode;!Y&&n===J&&tCe&&d("185"),null===r.nextScheduledRoot)r.remainingExpirationTime=o,null===se?(le=se=r,r.nextScheduledRoot=r):(se=se.nextScheduledRoot=r).nextScheduledRoot=le;else{var a=r.remainingExpirationTime;(0===a||oce)return;z(pe)}var t=U()-$;ce=e,pe=H(E,{timeout:10*(e-2)-t})}function b(){var e=0,t=null;if(null!==se)for(var n=se,r=le;null!==r;){var o=r.remainingExpirationTime;if(0===o){if((null===n||null===se)&&d("244"),r===r.nextScheduledRoot){le=se=r.nextScheduledRoot=null;break}if(r===le)le=o=r.nextScheduledRoot,se.nextScheduledRoot=o,r.nextScheduledRoot=null;else{if(r===se){(se=n).nextScheduledRoot=le,r.nextScheduledRoot=null;break}n.nextScheduledRoot=r.nextScheduledRoot,r.nextScheduledRoot=null}r=n.nextScheduledRoot}else{if((0===e||oke)&&(me=!0)}function O(e){null===de&&d("246"),de.remainingExpirationTime=0,ve||(ve=!0,ge=e)}var x=function(e){function t(e){return e===Nr&&d("174"),e}var n=e.getChildHostContext,r=e.getRootHostContext,o={current:Nr},a={current:Nr},u={current:Nr};return{getHostContext:function(){return t(o.current)},getRootHostContainer:function(){return t(u.current)},popHostContainer:function(e){Bn(o),Bn(a),Bn(u)},popHostContext:function(e){a.current===e&&(Bn(o),Bn(a))},pushHostContainer:function(e,t){Un(u,t),t=r(t),Un(a,e),Un(o,t)},pushHostContext:function(e){var r=t(u.current),i=t(o.current);i!==(r=n(i,e.type,r))&&(Un(a,e),Un(o,r))},resetHostContainer:function(){o.current=Nr,u.current=Nr}}}(e),T=function(e){function t(e,t){var n=new Zn(5,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=a(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=u(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function r(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;p=e}var o=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){d("175")},prepareToHydrateHostTextInstance:function(){d("176")},popHydrationState:function(){return!1}};var a=e.canHydrateInstance,u=e.canHydrateTextInstance,i=e.getNextHydratableSibling,l=e.getFirstHydratableChild,s=e.hydrateInstance,c=e.hydrateTextInstance,p=null,f=null,h=!1;return{enterHydrationState:function(e){return f=l(e.stateNode.containerInfo),p=e,h=!0},resetHydrationState:function(){f=p=null,h=!1},tryToClaimNextHydratableInstance:function(e){if(h){var r=f;if(r){if(!n(e,r)){if(!(r=i(r))||!n(e,r))return e.effectTag|=2,h=!1,void(p=e);t(p,f)}p=e,f=l(r)}else e.effectTag|=2,h=!1,p=e}},prepareToHydrateHostInstance:function(e,t,n){return t=s(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return c(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==p)return!1;if(!h)return r(e),h=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!o(n,e.memoizedProps))for(n=f;n;)t(e,n),n=i(n);return r(e),f=p?i(e.stateNode):null,!0}}}(e),S=x.popHostContainer,F=x.popHostContext,A=x.resetHostContainer,P=Dr(e,x,T,h,p),_=P.beginWork,D=P.beginFailedWork,N=function(e,t,n){function r(e){e.effectTag|=4}var o=e.createInstance,a=e.createTextInstance,u=e.appendInitialChild,i=e.finalizeInitialChildren,l=e.prepareUpdate,s=e.persistence,c=t.getRootHostContainer,p=t.popHostContext,f=t.getHostContext,h=t.popHostContainer,m=n.prepareToHydrateHostInstance,v=n.prepareToHydrateHostTextInstance,g=n.popHydrationState,y=void 0,b=void 0,E=void 0;return e.mutation?(y=function(){},b=function(e,t,n){(t.updateQueue=n)&&r(t)},E=function(e,t,n,o){n!==o&&r(t)}):d(s?"235":"236"),{completeWork:function(e,t,n){var s=t.pendingProps;switch(null===s?s=t.memoizedProps:2147483647===t.expirationTime&&2147483647!==n||(t.pendingProps=null),t.tag){case 1:return null;case 2:return Qn(t),null;case 3:return h(t),Bn(zn),Bn(Hn),(s=t.stateNode).pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),null!==e&&null!==e.child||(g(t),t.effectTag&=-3),y(t),null;case 5:p(t),n=c();var C=t.type;if(null!==e&&null!=t.stateNode){var w=e.memoizedProps,k=t.stateNode,O=f();k=l(k,C,w,s,n,O),b(e,t,k,C,w,s,n),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!s)return null===t.stateNode&&d("166"),null;if(e=f(),g(t))m(t,n,e)&&r(t);else{e=o(C,s,n,e,t);e:for(w=t.child;null!==w;){if(5===w.tag||6===w.tag)u(e,w.stateNode);else if(4!==w.tag&&null!==w.child){w.child.return=w,w=w.child;continue}if(w===t)break;for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}i(e,C,s,n)&&r(t),t.stateNode=e}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)E(e,t,e.memoizedProps,s);else{if("string"!=typeof s)return null===t.stateNode&&d("166"),null;e=c(),n=f(),g(t)?v(t)&&r(t):t.stateNode=a(s,e,n,t)}return null;case 7:(s=t.memoizedProps)||d("165"),t.tag=8,C=[];e:for((w=t.stateNode)&&(w.return=t);null!==w;){if(5===w.tag||6===w.tag||4===w.tag)d("247");else if(9===w.tag)C.push(w.type);else if(null!==w.child){w.child.return=w,w=w.child;continue}for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}return s=(w=s.handler)(s.props,C),t.child=Pr(t,null!==e?e.child:null,s,n),t.child;case 8:return t.tag=7,null;case 9:case 10:return null;case 4:return h(t),y(t),null;case 0:d("167");default:d("156")}}}}(e,x,T).completeWork,R=(x=function(e,t){function n(e){var n=e.ref;if(null!==n)try{n(null)}catch(n){t(e,n)}}function r(e){switch(pr(e),e.tag){case 2:n(e);var r=e.stateNode;if("function"==typeof r.componentWillUnmount)try{r.props=e.memoizedProps,r.state=e.memoizedState,r.componentWillUnmount()}catch(n){t(e,n)}break;case 5:n(e);break;case 7:o(e.stateNode);break;case 4:l&&u(e)}}function o(e){for(var t=e;;)if(r(t),null===t.child||l&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function a(e){return 5===e.tag||3===e.tag||4===e.tag}function u(e){for(var t=e,n=!1,a=void 0,u=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&d("160"),n.tag){case 5:a=n.stateNode,u=!1;break e;case 3:case 4:a=n.stateNode.containerInfo,u=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)o(t),u?b(a,t.stateNode):y(a,t.stateNode);else if(4===t.tag?a=t.stateNode.containerInfo:r(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var i=e.getPublicInstance,l=e.mutation;e=e.persistence,l||d(e?"235":"236");var s=l.commitMount,c=l.commitUpdate,p=l.resetTextContent,f=l.commitTextUpdate,h=l.appendChild,m=l.appendChildToContainer,v=l.insertBefore,g=l.insertInContainerBefore,y=l.removeChild,b=l.removeChildFromContainer;return{commitResetTextContent:function(e){p(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(a(t)){var n=t;break e}t=t.return}d("160"),n=void 0}var r=t=void 0;switch(n.tag){case 5:t=n.stateNode,r=!1;break;case 3:case 4:t=n.stateNode.containerInfo,r=!0;break;default:d("161")}16&n.effectTag&&(p(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||a(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var o=e;;){if(5===o.tag||6===o.tag)n?r?g(t,o.stateNode,n):v(t,o.stateNode,n):r?m(t,o.stateNode):h(t,o.stateNode);else if(4!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===e)break;for(;null===o.sibling;){if(null===o.return||o.return===e)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},commitDeletion:function(e){u(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var o=t.type,a=t.updateQueue;t.updateQueue=null,null!==a&&c(n,a,o,e,r,t)}break;case 6:null===t.stateNode&&d("162"),n=t.memoizedProps,f(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:d("163")}},commitLifeCycles:function(e,t){switch(t.tag){case 2:var n=t.stateNode;if(4&t.effectTag)if(null===e)n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidMount();else{var r=e.memoizedProps;e=e.memoizedState,n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidUpdate(r,e)}null!==(t=t.updateQueue)&&gr(t,n);break;case 3:null!==(n=t.updateQueue)&&gr(n,null!==t.child?t.child.stateNode:null);break;case 5:n=t.stateNode,null===e&&4&t.effectTag&&s(n,t.type,t.memoizedProps,t);break;case 6:case 4:break;default:d("163")}},commitAttachRef:function(e){var t=e.ref;if(null!==t){var n=e.stateNode;switch(e.tag){case 5:t(i(n));break;default:t(n)}}},commitDetachRef:function(e){null!==(e=e.ref)&&e(null)}}}(e,i)).commitResetTextContent,I=x.commitPlacement,M=x.commitDeletion,V=x.commitWork,L=x.commitLifeCycles,j=x.commitAttachRef,B=x.commitDetachRef,U=e.now,H=e.scheduleDeferredCallback,z=e.cancelDeferredCallback,K=e.useSyncScheduling,W=e.prepareForCommit,q=e.resetAfterCommit,$=U(),Q=2,G=0,Y=!1,X=null,J=null,Z=0,ee=null,te=null,ne=null,re=null,oe=null,ae=!1,ue=!1,ie=!1,le=null,se=null,ce=0,pe=-1,fe=!1,de=null,he=0,me=!1,ve=!1,ge=null,ye=null,be=!1,Ee=!1,Ce=1e3,we=0,ke=1;return{computeAsyncExpiration:c,computeExpirationForFiber:p,scheduleWork:h,batchedUpdates:function(e,t){var n=be;be=!0;try{return e(t)}finally{(be=n)||fe||C(1,null)}},unbatchedUpdates:function(e){if(be&&!Ee){Ee=!0;try{return e()}finally{Ee=!1}}return e()},flushSync:function(e){var t=be;be=!0;try{e:{var n=G;G=1;try{var r=e();break e}finally{G=n}r=void 0}return r}finally{be=t,fe&&d("187"),C(1,null)}},deferredUpdates:function(e){var t=G;G=c();try{return e()}finally{G=t}}}}function Ir(e){function t(e){return null===(e=function(e){if(!(e=qt(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}(e))?null:e.stateNode}var n=e.getPublicInstance,r=(e=Rr(e)).computeAsyncExpiration,o=e.computeExpirationForFiber,u=e.scheduleWork;return{createContainer:function(e,t){var n=new Zn(3,null,0);return e={current:n,containerInfo:e,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:t,nextScheduledRoot:null},n.stateNode=e},updateContainer:function(e,t,n,a){var i=t.current;if(n){var l;e:{for(2===zt(n=n._reactInternalFiber)&&2===n.tag||d("170"),l=n;3!==l.tag;){if($n(l)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break e}(l=l.return)||d("171")}l=l.stateNode.context}n=$n(n)?Yn(n,l):l}else n=f;null===t.context?t.context=n:t.pendingContext=n,t=void 0===(t=a)?null:t,hr(i,{expirationTime:a=null!=e&&null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent?r():o(i),partialState:{element:e},callback:t,isReplace:!1,isForced:!1,nextCallback:null,next:null}),u(i,a)},batchedUpdates:e.batchedUpdates,unbatchedUpdates:e.unbatchedUpdates,deferredUpdates:e.deferredUpdates,flushSync:e.flushSync,getPublicRootInstance:function(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:return n(e.child.stateNode);default:return e.child.stateNode}},findHostInstance:t,findHostInstanceWithNoPortals:function(e){return null===(e=function(e){if(!(e=qt(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child&&4!==t.tag)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}(e))?null:e.stateNode},injectIntoDevTools:function(e){var n=e.findFiberByHostInstance;return function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);ir=sr((function(e){return t.onCommitFiberRoot(n,e)})),lr=sr((function(e){return t.onCommitFiberUnmount(n,e)}))}catch(e){}return!0}(a({},e,{findHostInstanceByFiber:function(e){return t(e)},findFiberByHostInstance:function(e){return n?n(e):null}}))}}}var Mr=Object.freeze({default:Ir}),Vr=Mr&&Ir||Mr,Lr=Vr.default?Vr.default:Vr;function jr(e,t,n){var r=3=Gr-e){if(!(-1!==$r&&$r<=e))return void(Qr||(Qr=!0,requestAnimationFrame(Zr)));Kr.didTimeout=!0}else Kr.didTimeout=!1;$r=-1,e=Wr,Wr=null,null!==e&&e(Kr)}}),!1);var Zr=function(e){Qr=!1;var t=e-Gr+Xr;tt&&(t=8),Xr=tn||r.hasOverloadedBooleanValue&&!1===n?ao(e,t):r.mustUseProperty?e[r.propertyName]=n:(t=r.attributeName,(o=r.attributeNamespace)?e.setAttributeNS(o,t,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(t,""):e.setAttribute(t,""+n))}else oo(e,t,y(t,n)?n:null)}function oo(e,t,n){(function(e){return!!no.hasOwnProperty(e)||!to.hasOwnProperty(e)&&(eo.test(e)?no[e]=!0:(to[e]=!0,!1))})(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))}function ao(e,t){var n=b(t);n?(t=n.mutationMethod)?t(e,void 0):n.mustUseProperty?e[n.propertyName]=!n.hasBooleanValue&&"":e.removeAttribute(n.attributeName):e.removeAttribute(t)}function uo(e,t){var n=t.value,r=t.checked;return a({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked})}function io(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function lo(e,t){null!=(t=t.checked)&&ro(e,"checked",t)}function so(e,t){lo(e,t);var n=t.value;null!=n?0===n&&""===e.value?e.value="0":"number"===t.type?(n!=(t=parseFloat(e.value)||0)||n==t&&e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n):(null==t.value&&null!=t.defaultValue&&e.defaultValue!==""+t.defaultValue&&(e.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked))}function co(e,t){switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":e.value="",e.value=e.defaultValue;break;default:e.value=e.value}""!==(t=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,""!==t&&(e.name=t)}function po(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null==e||"string"!=typeof e&&"number"!=typeof e||(t+=e)})),t}(t.children))&&(e.children=t),e}function fo(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o=t.length||d("93"),t=t[0]),n=""+t),null==n&&(n="")),e._wrapperState={initialValue:""+n}}function go(e,t){var n=t.value;null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function yo(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}var bo="http://www.w3.org/1999/xhtml",Eo="http://www.w3.org/2000/svg";function Co(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function wo(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Co(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ko=void 0,Oo=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==Eo||"innerHTML"in e)e.innerHTML=t;else{for((ko=ko||document.createElement("div")).innerHTML=""+t+"",t=ko.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function xo(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var To={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},So=["Webkit","ms","Moz","O"];function Fo(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=n,a=t[n];o=null==a||"boolean"==typeof a||""===a?"":r||"number"!=typeof a||0===a||To.hasOwnProperty(o)&&To[o]?(""+a).trim():a+"px","float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(To).forEach((function(e){So.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),To[t]=To[e]}))}));var Ao=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Po(e,t,n){t&&(Ao[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&d("137",e,n()),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&d("60"),"object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||d("61")),null!=t.style&&"object"!=typeof t.style&&d("62",n()))}function _o(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Do=bo,No=u.thatReturns("");function Ro(e,t){var n=fn(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=K[t];for(var r=0;r<\/script>",e=e.removeChild(e.firstChild)):e="string"==typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(r,e),e}function Vo(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function Lo(e,t,n,r){var o=_o(t,n);switch(t){case"iframe":case"object":Jt("topLoad","load",e);var i=n;break;case"video":case"audio":for(i in Io)Io.hasOwnProperty(i)&&Jt(i,Io[i],e);i=n;break;case"source":Jt("topError","error",e),i=n;break;case"img":case"image":Jt("topError","error",e),Jt("topLoad","load",e),i=n;break;case"form":Jt("topReset","reset",e),Jt("topSubmit","submit",e),i=n;break;case"details":Jt("topToggle","toggle",e),i=n;break;case"input":io(e,n),i=uo(e,n),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;case"option":i=po(e,n);break;case"select":ho(e,n),i=a({},n,{value:void 0}),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;case"textarea":vo(e,n),i=mo(e,n),Jt("topInvalid","invalid",e),Ro(r,"onChange");break;default:i=n}Po(t,i,No);var l,s=i;for(l in s)if(s.hasOwnProperty(l)){var c=s[l];"style"===l?Fo(e,c):"dangerouslySetInnerHTML"===l?null!=(c=c?c.__html:void 0)&&Oo(e,c):"children"===l?"string"==typeof c?("textarea"!==t||""!==c)&&xo(e,c):"number"==typeof c&&xo(e,""+c):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(z.hasOwnProperty(l)?null!=c&&Ro(r,l):o?oo(e,l,c):null!=c&&ro(e,l,c))}switch(t){case"input":gt(e),co(e,n);break;case"textarea":gt(e),yo(e);break;case"option":null!=n.value&&e.setAttribute("value",n.value);break;case"select":e.multiple=!!n.multiple,null!=(t=n.value)?fo(e,!!n.multiple,t,!1):null!=n.defaultValue&&fo(e,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof i.onClick&&(e.onclick=u)}}function jo(e,t,n,r,o){var i,l,s=null;switch(t){case"input":n=uo(e,n),r=uo(e,r),s=[];break;case"option":n=po(e,n),r=po(e,r),s=[];break;case"select":n=a({},n,{value:void 0}),r=a({},r,{value:void 0}),s=[];break;case"textarea":n=mo(e,n),r=mo(e,r),s=[];break;default:"function"!=typeof n.onClick&&"function"==typeof r.onClick&&(e.onclick=u)}for(i in Po(t,r,No),e=null,n)if(!r.hasOwnProperty(i)&&n.hasOwnProperty(i)&&null!=n[i])if("style"===i)for(l in t=n[i])t.hasOwnProperty(l)&&(e||(e={}),e[l]="");else"dangerouslySetInnerHTML"!==i&&"children"!==i&&"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(z.hasOwnProperty(i)?s||(s=[]):(s=s||[]).push(i,null));for(i in r){var c=r[i];if(t=null!=n?n[i]:void 0,r.hasOwnProperty(i)&&c!==t&&(null!=c||null!=t))if("style"===i)if(t){for(l in t)!t.hasOwnProperty(l)||c&&c.hasOwnProperty(l)||(e||(e={}),e[l]="");for(l in c)c.hasOwnProperty(l)&&t[l]!==c[l]&&(e||(e={}),e[l]=c[l])}else e||(s||(s=[]),s.push(i,e)),e=c;else"dangerouslySetInnerHTML"===i?(c=c?c.__html:void 0,t=t?t.__html:void 0,null!=c&&t!==c&&(s=s||[]).push(i,""+c)):"children"===i?t===c||"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(i,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&(z.hasOwnProperty(i)?(null!=c&&Ro(o,i),s||t===c||(s=[])):(s=s||[]).push(i,c))}return e&&(s=s||[]).push("style",e),s}function Bo(e,t,n,r,o){"input"===n&&"radio"===o.type&&null!=o.name&&lo(e,o),_o(n,r),r=_o(n,o);for(var a=0;ar&&(o=r,r=e,e=o),o=hn(n,e);var a=hn(n,r);if(o&&a&&(1!==t.rangeCount||t.anchorNode!==o.node||t.anchorOffset!==o.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)){var u=document.createRange();u.setStart(o.node,o.offset),t.removeAllRanges(),e>r?(t.addRange(u),t.extend(a.node,a.offset)):(u.setEnd(a.node,a.offset),t.addRange(u))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(p(n),n=0;n - * @license MIT - */ -e.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},314:function(e,t,n){"use strict";var r=n(92),o=n(18),a=n(324),u=n(325);function i(e){this.defaults=e,this.interceptors={request:new a,response:new a}}i.prototype.request=function(e){"string"==typeof e&&(e=o.merge({url:arguments[0]},arguments[1])),(e=o.merge(r,{method:"get"},this.defaults,e)).method=e.method.toLowerCase();var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)n=n.then(t.shift(),t.shift());return n},o.forEach(["delete","get","head","options"],(function(e){i.prototype[e]=function(t,n){return this.request(o.merge(n||{},{method:e,url:t}))}})),o.forEach(["post","put","patch"],(function(e){i.prototype[e]=function(t,n,r){return this.request(o.merge(r||{},{method:e,url:t,data:n}))}})),e.exports=i},315:function(e,t){var n,r,o=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function i(e){if(n===setTimeout)return setTimeout(e,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(e){n=a}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}}();var l,s=[],c=!1,p=-1;function f(){c&&l&&(c=!1,l.length?s=l.concat(s):p=-1,s.length&&d())}function d(){if(!c){var e=i(f);c=!0;for(var t=s.length;t;){for(l=s,s=[];++p1)for(var n=1;n=0)return;u[t]="set-cookie"===t?(u[t]?u[t]:[]).concat([n]):u[t]?u[t]+", "+n:n}})),u):u}},321:function(e,t,n){"use strict";var r=n(18);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},322:function(e,t,n){"use strict";function r(){this.message="String contains an invalid character"}r.prototype=new Error,r.prototype.code=5,r.prototype.name="InvalidCharacterError",e.exports=function(e){for(var t,n,o=String(e),a="",u=0,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";o.charAt(0|u)||(i="=",u%1);a+=i.charAt(63&t>>8-u%1*8)){if((n=o.charCodeAt(u+=3/4))>255)throw new r;t=t<<8|n}return a}},323:function(e,t,n){"use strict";var r=n(18);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,o,a,u){var i=[];i.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),r.isString(o)&&i.push("path="+o),r.isString(a)&&i.push("domain="+a),!0===u&&i.push("secure"),document.cookie=i.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},324:function(e,t,n){"use strict";var r=n(18);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},325:function(e,t,n){"use strict";var r=n(18),o=n(326),a=n(128),u=n(92),i=n(327),l=n(328);function s(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return s(e),e.baseURL&&!i(e.url)&&(e.url=l(e.baseURL,e.url)),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),r.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||u.adapter)(e).then((function(t){return s(e),t.data=o(t.data,t.headers,e.transformResponse),t}),(function(t){return a(t)||(s(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},326:function(e,t,n){"use strict";var r=n(18);e.exports=function(e,t,n){return r.forEach(n,(function(n){e=n(e,t)})),e}},327:function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},328:function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},329:function(e,t,n){"use strict";var r=n(129);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},330:function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},331:function(e,t,n){"use strict";n.r(t),n.d(t,"Async",(function(){return j})),n.d(t,"AsyncCreatable",(function(){return Q})),n.d(t,"Creatable",(function(){return U})),n.d(t,"Value",(function(){return A})),n.d(t,"Option",(function(){return F})),n.d(t,"defaultMenuRenderer",(function(){return y})),n.d(t,"defaultArrowRenderer",(function(){return f})),n.d(t,"defaultClearRenderer",(function(){return d})),n.d(t,"defaultFilterOptions",(function(){return g}));var r=n(130),o=n.n(r),a=n(31),u=n.n(a),i=n(0),l=n.n(i),s=n(2),c=n.n(s),p=n(47),f=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};f.propTypes={onMouseDown:l.a.func};var d=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],m=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],a=e[r.labelKey],u=v(o),i=v(a);if(!u&&!i)return!1;var l=u?String(o):null,s=i?String(a):null;return r.ignoreAccents&&(l&&"label"!==r.matchProp&&(l=m(l)),s&&"value"!==r.matchProp&&(s=m(s))),r.ignoreCase&&(l&&"label"!==r.matchProp&&(l=l.toLowerCase()),s&&"value"!==r.matchProp&&(s=s.toLowerCase())),"start"===r.matchPos?l&&"label"!==r.matchProp&&l.substr(0,t.length)===t||s&&"value"!==r.matchProp&&s.substr(0,t.length)===t:l&&"label"!==r.matchProp&&l.indexOf(t)>=0||s&&"value"!==r.matchProp&&s.indexOf(t)>=0}))},y=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,a=e.onFocus,i=e.onOptionRef,l=e.onSelect,s=e.optionClassName,p=e.optionComponent,f=e.optionRenderer,d=e.options,h=e.removeValue,m=e.selectValue,v=e.valueArray,g=e.valueKey,y=p;return d.map((function(e,p){var d=v&&v.some((function(t){return t[g]===e[g]})),b=e===t,E=u()(s,{"Select-option":!0,"is-selected":d,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(y,{className:E,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:b,isSelected:d,key:"option-"+p+"-"+e[g],onFocus:a,onSelect:l,option:e,optionIndex:p,ref:function(e){i(e,b)},removeValue:h,selectValue:m},f(e,p,r))}))};y.propTypes={focusOption:l.a.func,focusedOption:l.a.object,inputValue:l.a.string,instancePrefix:l.a.string,onFocus:l.a.func,onOptionRef:l.a.func,onSelect:l.a.func,optionClassName:l.a.string,optionComponent:l.a.func,optionRenderer:l.a.func,options:l.a.array,removeValue:l.a.func,selectValue:l.a.func,valueArray:l.a.array,valueKey:l.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},C=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var u=t[n](r),i=u.value;i instanceof e?Promise.resolve(i.value).then((function(e){o("next",e)}),(function(e){o("throw",e)})):a(u.done?"return":"normal",u.value)}catch(e){a("throw",e)}}function a(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise((function(a,u){var i={key:e,arg:t,resolve:a,reject:u,next:null};r?r=r.next=i:(n=r=i,o(e,t))}))},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),w=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},S=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},F=function(e){function t(e){C(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return x(t,e),w(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=u()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);F.propTypes={children:l.a.node,className:l.a.string,instancePrefix:l.a.string.isRequired,isDisabled:l.a.bool,isFocused:l.a.bool,isSelected:l.a.bool,onFocus:l.a.func,onSelect:l.a.func,onUnfocus:l.a.func,option:l.a.object.isRequired,optionIndex:l.a.number};var A=function(e){function t(e){C(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return x(t,e),w(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:u()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);A.propTypes={children:l.a.node,disabled:l.a.bool,id:l.a.string,onClick:l.a.func,onRemove:l.a.func,value:l.a.object.isRequired}; +*/!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t1)for(var n=1;n=0)return;u[t]="set-cookie"===t?(u[t]?u[t]:[]).concat([n]):u[t]?u[t]+", "+n:n}})),u):u}},328:function(e,t,n){"use strict";var r=n(15);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},329:function(e,t,n){"use strict";var r=n(131);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},330:function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},331:function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},332:function(e,t,n){"use strict";n.r(t),n.d(t,"Async",(function(){return B})),n.d(t,"AsyncCreatable",(function(){return Q})),n.d(t,"Creatable",(function(){return U})),n.d(t,"Value",(function(){return A})),n.d(t,"Option",(function(){return F})),n.d(t,"defaultMenuRenderer",(function(){return y})),n.d(t,"defaultArrowRenderer",(function(){return f})),n.d(t,"defaultClearRenderer",(function(){return d})),n.d(t,"defaultFilterOptions",(function(){return g}));var r=n(132),o=n.n(r),a=n(31),u=n.n(a),i=n(0),l=n.n(i),s=n(2),c=n.n(s),p=n(47),f=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};f.propTypes={onMouseDown:l.a.func};var d=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],m=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],a=e[r.labelKey],u=v(o),i=v(a);if(!u&&!i)return!1;var l=u?String(o):null,s=i?String(a):null;return r.ignoreAccents&&(l&&"label"!==r.matchProp&&(l=m(l)),s&&"value"!==r.matchProp&&(s=m(s))),r.ignoreCase&&(l&&"label"!==r.matchProp&&(l=l.toLowerCase()),s&&"value"!==r.matchProp&&(s=s.toLowerCase())),"start"===r.matchPos?l&&"label"!==r.matchProp&&l.substr(0,t.length)===t||s&&"value"!==r.matchProp&&s.substr(0,t.length)===t:l&&"label"!==r.matchProp&&l.indexOf(t)>=0||s&&"value"!==r.matchProp&&s.indexOf(t)>=0}))},y=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,a=e.onFocus,i=e.onOptionRef,l=e.onSelect,s=e.optionClassName,p=e.optionComponent,f=e.optionRenderer,d=e.options,h=e.removeValue,m=e.selectValue,v=e.valueArray,g=e.valueKey,y=p;return d.map((function(e,p){var d=v&&v.some((function(t){return t[g]===e[g]})),b=e===t,E=u()(s,{"Select-option":!0,"is-selected":d,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(y,{className:E,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:b,isSelected:d,key:"option-"+p+"-"+e[g],onFocus:a,onSelect:l,option:e,optionIndex:p,ref:function(e){i(e,b)},removeValue:h,selectValue:m},f(e,p,r))}))};y.propTypes={focusOption:l.a.func,focusedOption:l.a.object,inputValue:l.a.string,instancePrefix:l.a.string,onFocus:l.a.func,onOptionRef:l.a.func,onSelect:l.a.func,optionClassName:l.a.string,optionComponent:l.a.func,optionRenderer:l.a.func,options:l.a.array,removeValue:l.a.func,selectValue:l.a.func,valueArray:l.a.array,valueKey:l.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},C=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var u=t[n](r),i=u.value;i instanceof e?Promise.resolve(i.value).then((function(e){o("next",e)}),(function(e){o("throw",e)})):a(u.done?"return":"normal",u.value)}catch(e){a("throw",e)}}function a(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise((function(a,u){var i={key:e,arg:t,resolve:a,reject:u,next:null};r?r=r.next=i:(n=r=i,o(e,t))}))},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),w=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},S=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},F=function(e){function t(e){C(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return x(t,e),w(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=u()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);F.propTypes={children:l.a.node,className:l.a.string,instancePrefix:l.a.string.isRequired,isDisabled:l.a.bool,isFocused:l.a.bool,isSelected:l.a.bool,onFocus:l.a.func,onSelect:l.a.func,onUnfocus:l.a.func,option:l.a.object.isRequired,optionIndex:l.a.number};var A=function(e){function t(e){C(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return x(t,e),w(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:u()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);A.propTypes={children:l.a.node,disabled:l.a.bool,id:l.a.string,onClick:l.a.func,onRemove:l.a.func,value:l.a.object.isRequired}; /*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/react-select */ -var P=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},_=l.a.oneOfType([l.a.string,l.a.node]),D=l.a.oneOfType([l.a.string,l.a.number]),N=1,R=function(e,t){var n=void 0===e?"undefined":E(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var a=0;au||af.bottom?s.scrollTop=l.offsetTop+l.clientHeight-s.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":E(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null==e)return[];e=[e]}return e.map((function(e){return R(e,n)})).filter((function(e){return e}))}var r=R(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=I(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map((function(e){return e[t.props.valueKey]})).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},(function(){t.getValueArray(t.props.value).some((function(n){return n[t.props.valueKey]===e[t.props.valueKey]}))?t.removeValue(e):t.addValue(e)})):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},(function(){t.setValue(e)}))}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter((function(e){return!e.disabled})),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter((function(n){return n[t.props.valueKey]!==e[t.props.valueKey]}))),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map((function(e,t){return{option:e,index:t}})).filter((function(e){return!e.option.disabled}));if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var a=r-this.props.pageSize;r=a<0?0:a}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,a=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!a}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var a,u,i,l,s,p,f=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map((function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:f,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))})):(a=this.state,u=this.props,i=a.inputValue,l=a.isPseudoFocused,s=a.isFocused,p=u.onSelectResetsInput,i&&(p||!s&&l||s&&!l)?void 0:(t&&(f=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:f,placeholder:this.props.placeholder,value:e[0]},r(e[0]))))}},{key:"renderInput",value:function(e,t){var n,r=this,a=u()("Select-input",this.props.inputProps.className),i=this.state.isOpen,l=u()((k(n={},this._instancePrefix+"-list",i),k(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),s=this.state.inputValue;!s||this.props.onSelectResetsInput||this.state.isFocused||(s="");var p=O({},this.props.inputProps,{"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+i,"aria-haspopup":""+i,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":l,className:a,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:s});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var f=T(this.props.inputProps,[]),d=u()(k({},this._instancePrefix+"-list",i));return c.a.createElement("div",O({},f,{"aria-expanded":i,"aria-owns":d,"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:a,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,O({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:a,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",O({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:g;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map((function(e){return P(e[t.props.valueKey])})).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map((function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:P(e[t.props.valueKey])})}))}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some((function(e,t){var a=e[n]===r[n];return a&&(o=t),a})),-1!==o)return o}for(var a=0;a=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){l.headers[e]=r.merge(a)})),e.exports=l}).call(this,n(315))}}); +var P=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},_=l.a.oneOfType([l.a.string,l.a.node]),D=l.a.oneOfType([l.a.string,l.a.number]),N=1,R=function(e,t){var n=void 0===e?"undefined":E(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var a=0;au||af.bottom?s.scrollTop=l.offsetTop+l.clientHeight-s.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":E(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null==e)return[];e=[e]}return e.map((function(e){return R(e,n)})).filter((function(e){return e}))}var r=R(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=I(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map((function(e){return e[t.props.valueKey]})).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},(function(){t.getValueArray(t.props.value).some((function(n){return n[t.props.valueKey]===e[t.props.valueKey]}))?t.removeValue(e):t.addValue(e)})):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},(function(){t.setValue(e)}))}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter((function(e){return!e.disabled})),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter((function(n){return n[t.props.valueKey]!==e[t.props.valueKey]}))),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map((function(e,t){return{option:e,index:t}})).filter((function(e){return!e.option.disabled}));if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var a=r-this.props.pageSize;r=a<0?0:a}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,a=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!a}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var a,u,i,l,s,p,f=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map((function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:f,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))})):(a=this.state,u=this.props,i=a.inputValue,l=a.isPseudoFocused,s=a.isFocused,p=u.onSelectResetsInput,i&&(p||!s&&l||s&&!l)?void 0:(t&&(f=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:f,placeholder:this.props.placeholder,value:e[0]},r(e[0]))))}},{key:"renderInput",value:function(e,t){var n,r=this,a=u()("Select-input",this.props.inputProps.className),i=this.state.isOpen,l=u()((k(n={},this._instancePrefix+"-list",i),k(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),s=this.state.inputValue;!s||this.props.onSelectResetsInput||this.state.isFocused||(s="");var p=O({},this.props.inputProps,{"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+i,"aria-haspopup":""+i,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":l,className:a,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:s});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var f=T(this.props.inputProps,[]),d=u()(k({},this._instancePrefix+"-list",i));return c.a.createElement("div",O({},f,{"aria-expanded":i,"aria-owns":d,"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:a,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,O({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:a,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",O({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:g;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map((function(e){return P(e[t.props.valueKey])})).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map((function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:P(e[t.props.valueKey])})}))}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some((function(e,t){var a=e[n]===r[n];return a&&(o=t),a})),-1!==o)return o}for(var a=0;a0?i(e(t),9007199254740991):0}},function(t,n,r){var e=r(5),i=r(93),o=r(29),u=Object.defineProperty;n.f=r(10)?Object.defineProperty:function(t,n,r){if(e(t),n=o(n,!0),e(r),i)try{return u(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},function(t,n,r){t.exports=!r(4)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n){var r=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=r)},function(t,n,r){var e=r(3),i=r(16),o=r(15),u=r(33)("src"),c=r(135),f=(""+c).split("toString");r(11).inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,r,c){var a="function"==typeof r;a&&(o(r,"name")||i(r,"name",n)),t[n]!==r&&(a&&(o(r,u)||i(r,u,t[n]?""+t[n]:f.join(String(n)))),t===e?t[n]=r:c?t[n]?t[n]=r:i(t,n,r):(delete t[n],i(t,n,r)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[u]||c.call(this)}))},function(t,n,r){var e=r(27);t.exports=function(t){return Object(e(t))}},function(t,n,r){var e=r(1),i=r(4),o=r(27),u=/"/g,c=function(t,n,r,e){var i=String(o(t)),c="<"+n;return""!==r&&(c+=" "+r+'="'+String(e).replace(u,""")+'"'),c+">"+i+""};t.exports=function(t,n){var r={};r[t]=n(c),e(e.P+e.F*i((function(){var n=""[t]('"');return n!==n.toLowerCase()||n.split('"').length>3})),"String",r)}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(9),i=r(32);t.exports=r(10)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n,r){var e=r(48),i=r(27);t.exports=function(t){return e(i(t))}},,function(t,n,r){"use strict";var e=r(4);t.exports=function(t,n){return!!t&&e((function(){n?t.call(null,(function(){}),1):t.call(null)}))}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},function(t,n,r){var e=r(49),i=r(32),o=r(17),u=r(29),c=r(15),f=r(93),a=Object.getOwnPropertyDescriptor;n.f=r(10)?a:function(t,n){if(t=o(t),n=u(n,!0),f)try{return a(t,n)}catch(t){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},function(t,n,r){var e=r(1),i=r(11),o=r(4);t.exports=function(t,n){var r=(i.Object||{})[t]||Object[t],u={};u[t]=n(r),e(e.S+e.F*o((function(){r(1)})),"Object",u)}},function(t,n,r){var e=r(24),i=r(48),o=r(13),u=r(8),c=r(225);t.exports=function(t,n){var r=1==t,f=2==t,a=3==t,s=4==t,l=6==t,h=5==t||l,v=n||c;return function(n,c,p){for(var d,g,y=o(n),x=i(y),m=e(c,p,3),b=u(x.length),S=0,w=r?v(n,b):f?v(n,0):void 0;b>S;S++)if((h||S in x)&&(g=m(d=x[S],S,y),t))if(r)w[S]=g;else if(g)switch(t){case 3:return!0;case 5:return d;case 6:return S;case 2:w.push(d)}else if(s)return!1;return l?-1:a||s?s:w}}},function(t,n,r){var e=r(25);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){"use strict";if(r(10)){var e=r(34),i=r(3),o=r(4),u=r(1),c=r(63),f=r(91),a=r(24),s=r(45),l=r(32),h=r(16),v=r(46),p=r(20),d=r(8),g=r(119),y=r(36),x=r(29),m=r(15),b=r(50),S=r(6),w=r(13),_=r(83),E=r(37),O=r(39),F=r(38).f,P=r(85),M=r(33),A=r(7),I=r(23),j=r(53),N=r(51),T=r(87),L=r(42),R=r(56),k=r(44),C=r(86),D=r(110),W=r(9),U=r(21),V=W.f,B=U.f,G=i.RangeError,z=i.TypeError,Y=i.Uint8Array,q=Array.prototype,$=f.ArrayBuffer,K=f.DataView,J=I(0),X=I(2),H=I(3),Z=I(4),Q=I(5),tt=I(6),nt=j(!0),rt=j(!1),et=T.values,it=T.keys,ot=T.entries,ut=q.lastIndexOf,ct=q.reduce,ft=q.reduceRight,at=q.join,st=q.sort,lt=q.slice,ht=q.toString,vt=q.toLocaleString,pt=A("iterator"),dt=A("toStringTag"),gt=M("typed_constructor"),yt=M("def_constructor"),xt=c.CONSTR,mt=c.TYPED,bt=c.VIEW,St=I(1,(function(t,n){return Ft(N(t,t[yt]),n)})),wt=o((function(){return 1===new Y(new Uint16Array([1]).buffer)[0]})),_t=!!Y&&!!Y.prototype.set&&o((function(){new Y(1).set({})})),Et=function(t,n){var r=p(t);if(r<0||r%n)throw G("Wrong offset!");return r},Ot=function(t){if(S(t)&&mt in t)return t;throw z(t+" is not a typed array!")},Ft=function(t,n){if(!S(t)||!(gt in t))throw z("It is not a typed array constructor!");return new t(n)},Pt=function(t,n){return Mt(N(t,t[yt]),n)},Mt=function(t,n){for(var r=0,e=n.length,i=Ft(t,e);e>r;)i[r]=n[r++];return i},At=function(t,n,r){V(t,n,{get:function(){return this._d[r]}})},It=function(t){var n,r,e,i,o,u,c=w(t),f=arguments.length,s=f>1?arguments[1]:void 0,l=void 0!==s,h=P(c);if(null!=h&&!_(h)){for(u=h.call(c),e=[],n=0;!(o=u.next()).done;n++)e.push(o.value);c=e}for(l&&f>2&&(s=a(s,arguments[2],2)),n=0,r=d(c.length),i=Ft(this,r);r>n;n++)i[n]=l?s(c[n],n):c[n];return i},jt=function(){for(var t=0,n=arguments.length,r=Ft(this,n);n>t;)r[t]=arguments[t++];return r},Nt=!!Y&&o((function(){vt.call(new Y(1))})),Tt=function(){return vt.apply(Nt?lt.call(Ot(this)):Ot(this),arguments)},Lt={copyWithin:function(t,n){return D.call(Ot(this),t,n,arguments.length>2?arguments[2]:void 0)},every:function(t){return Z(Ot(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return C.apply(Ot(this),arguments)},filter:function(t){return Pt(this,X(Ot(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(Ot(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){J(Ot(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return rt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return nt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return at.apply(Ot(this),arguments)},lastIndexOf:function(t){return ut.apply(Ot(this),arguments)},map:function(t){return St(Ot(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ct.apply(Ot(this),arguments)},reduceRight:function(t){return ft.apply(Ot(this),arguments)},reverse:function(){for(var t,n=Ot(this).length,r=Math.floor(n/2),e=0;e1?arguments[1]:void 0)},sort:function(t){return st.call(Ot(this),t)},subarray:function(t,n){var r=Ot(this),e=r.length,i=y(t,e);return new(N(r,r[yt]))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,d((void 0===n?e:y(n,e))-i))}},Rt=function(t,n){return Pt(this,lt.call(Ot(this),t,n))},kt=function(t){Ot(this);var n=Et(arguments[1],1),r=this.length,e=w(t),i=d(e.length),o=0;if(i+n>r)throw G("Wrong length!");for(;o255?255:255&e),i.v[v](r*n+i.o,e,wt)}(this,r,t)},enumerable:!0})};m?(p=r((function(t,r,e,i){s(t,p,a,"_d");var o,u,c,f,l=0,v=0;if(S(r)){if(!(r instanceof $||"ArrayBuffer"==(f=b(r))||"SharedArrayBuffer"==f))return mt in r?Mt(p,r):It.call(p,r);o=r,v=Et(e,n);var y=r.byteLength;if(void 0===i){if(y%n)throw G("Wrong length!");if((u=y-v)<0)throw G("Wrong length!")}else if((u=d(i)*n)+v>y)throw G("Wrong length!");c=u/n}else c=g(r),o=new $(u=c*n);for(h(t,"_d",{b:o,o:v,l:u,e:c,v:new K(o)});ldocument.F=Object<\/script>"),t.close(),f=t.F;e--;)delete f.prototype[o[e]];return f()};t.exports=Object.create||function(t,n){var r;return null!==t?(c.prototype=e(t),r=new c,c.prototype=null,r[u]=t):r=f(),void 0===n?r:i(r,n)}},function(t,n,r){var e=r(95),i=r(69).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,i)}},function(t,n,r){var e=r(15),i=r(13),o=r(68)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),e(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,n,r){var e=r(6);t.exports=function(t,n){if(!e(t)||t._t!==n)throw TypeError("Incompatible receiver, "+n+" required!");return t}},function(t,n,r){var e=r(9).f,i=r(15),o=r(7)("toStringTag");t.exports=function(t,n,r){t&&!i(t=r?t:t.prototype,o)&&e(t,o,{configurable:!0,value:n})}},function(t,n){t.exports={}},function(t,n,r){var e=r(7)("unscopables"),i=Array.prototype;null==i[e]&&r(16)(i,e,{}),t.exports=function(t){i[e][t]=!0}},function(t,n,r){"use strict";var e=r(3),i=r(9),o=r(10),u=r(7)("species");t.exports=function(t){var n=e[t];o&&n&&!n[u]&&i.f(n,u,{configurable:!0,get:function(){return this}})}},function(t,n){t.exports=function(t,n,r,e){if(!(t instanceof n)||void 0!==e&&e in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,n,r){var e=r(12);t.exports=function(t,n,r){for(var i in n)e(t,i,n[i],r);return t}},,function(t,n,r){var e=r(26);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,r){var e=r(26),i=r(7)("toStringTag"),o="Arguments"==e(function(){return arguments}());t.exports=function(t){var n,r,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?r:o?e(n):"Object"==(u=e(n))&&"function"==typeof n.callee?"Arguments":u}},function(t,n,r){var e=r(5),i=r(25),o=r(7)("species");t.exports=function(t,n){var r,u=e(t).constructor;return void 0===u||null==(r=e(u)[o])?n:i(r)}},function(t,n,r){var e=r(11),i=r(3),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:e.version,mode:r(34)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){var e=r(17),i=r(8),o=r(36);t.exports=function(t){return function(n,r,u){var c,f=e(n),a=i(f.length),s=o(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}}},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,r){var e=r(1),i=r(27),o=r(4),u=r(73),c="["+u+"]",f=RegExp("^"+c+c+"*"),a=RegExp(c+c+"*$"),s=function(t,n,r){var i={},c=o((function(){return!!u[t]()||"​…"!="​…"[t]()})),f=i[t]=c?n(l):u[t];r&&(i[r]=f),e(e.P+e.F*c,"String",i)},l=s.trim=function(t,n){return t=String(i(t)),1&n&&(t=t.replace(f,"")),2&n&&(t=t.replace(a,"")),t};t.exports=s},function(t,n,r){var e=r(7)("iterator"),i=!1;try{var o=[7][e]();o.return=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var r=!1;try{var o=[7],u=o[e]();u.next=function(){return{done:r=!0}},o[e]=function(){return u},t(o)}catch(t){}return r}},function(t,n,r){"use strict";var e=r(5);t.exports=function(){var t=e(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,r){"use strict";var e=r(50),i=RegExp.prototype.exec;t.exports=function(t,n){var r=t.exec;if("function"==typeof r){var o=r.call(t,n);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==e(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},function(t,n,r){"use strict";r(112);var e=r(12),i=r(16),o=r(4),u=r(27),c=r(7),f=r(88),a=c("species"),s=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),l=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(t,n,r){var h=c(t),v=!o((function(){var n={};return n[h]=function(){return 7},7!=""[t](n)})),p=v?!o((function(){var n=!1,r=/a/;return r.exec=function(){return n=!0,null},"split"===t&&(r.constructor={},r.constructor[a]=function(){return r}),r[h](""),!n})):void 0;if(!v||!p||"replace"===t&&!s||"split"===t&&!l){var d=/./[h],g=r(u,h,""[t],(function(t,n,r,e,i){return n.exec===f?v&&!i?{done:!0,value:d.call(n,r,e)}:{done:!0,value:t.call(r,n,e)}:{done:!1}})),y=g[0],x=g[1];e(String.prototype,t,y),i(RegExp.prototype,h,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}}},function(t,n,r){var e=r(24),i=r(108),o=r(83),u=r(5),c=r(8),f=r(85),a={},s={};(n=t.exports=function(t,n,r,l,h){var v,p,d,g,y=h?function(){return t}:f(t),x=e(r,l,n?2:1),m=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(o(y)){for(v=c(t.length);v>m;m++)if((g=n?x(u(p=t[m])[0],p[1]):x(t[m]))===a||g===s)return g}else for(d=y.call(t);!(p=d.next()).done;)if((g=i(d,x,p.value,n))===a||g===s)return g}).BREAK=a,n.RETURN=s},function(t,n,r){var e=r(3).navigator;t.exports=e&&e.userAgent||""},function(t,n,r){"use strict";var e=r(3),i=r(1),o=r(12),u=r(46),c=r(30),f=r(60),a=r(45),s=r(6),l=r(4),h=r(56),v=r(41),p=r(74);t.exports=function(t,n,r,d,g,y){var x=e[t],m=x,b=g?"set":"add",S=m&&m.prototype,w={},_=function(t){var n=S[t];o(S,t,"delete"==t||"has"==t?function(t){return!(y&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return y&&!s(t)?void 0:n.call(this,0===t?0:t)}:"add"==t?function(t){return n.call(this,0===t?0:t),this}:function(t,r){return n.call(this,0===t?0:t,r),this})};if("function"==typeof m&&(y||S.forEach&&!l((function(){(new m).entries().next()})))){var E=new m,O=E[b](y?{}:-0,1)!=E,F=l((function(){E.has(1)})),P=h((function(t){new m(t)})),M=!y&&l((function(){for(var t=new m,n=5;n--;)t[b](n,n);return!t.has(-0)}));P||((m=n((function(n,r){a(n,m,t);var e=p(new x,n,m);return null!=r&&f(r,g,e[b],e),e}))).prototype=S,S.constructor=m),(F||M)&&(_("delete"),_("has"),g&&_("get")),(M||O)&&_(b),y&&S.clear&&delete S.clear}else m=d.getConstructor(n,t,g,b),u(m.prototype,r),c.NEED=!0;return v(m,t),w[t]=m,i(i.G+i.W+i.F*(m!=x),w),y||d.setStrong(m,t,g),m}},function(t,n,r){for(var e,i=r(3),o=r(16),u=r(33),c=u("typed_array"),f=u("view"),a=!(!i.ArrayBuffer||!i.DataView),s=a,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(e=i[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,f,!0)):s=!1;t.exports={ABV:a,CONSTR:s,TYPED:c,VIEW:f}},,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var e=r(6),i=r(3).document,o=e(i)&&e(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,n,r){n.f=r(7)},function(t,n,r){var e=r(52)("keys"),i=r(33);t.exports=function(t){return e[t]||(e[t]=i(t))}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,r){var e=r(26);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(3).document;t.exports=e&&e.documentElement},function(t,n,r){var e=r(6),i=r(5),o=function(t,n){if(i(t),!e(n)&&null!==n)throw TypeError(n+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,e){try{(e=r(24)(Function.call,r(21).f(Object.prototype,"__proto__").set,2))(t,[]),n=!(t instanceof Array)}catch(t){n=!0}return function(t,r){return o(t,r),n?t.__proto__=r:e(t,r),t}}({},!1):void 0),check:o}},function(t,n){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,n,r){var e=r(6),i=r(72).set;t.exports=function(t,n,r){var o,u=n.constructor;return u!==r&&"function"==typeof u&&(o=u.prototype)!==r.prototype&&e(o)&&i&&i(t,o),t}},function(t,n,r){"use strict";var e=r(20),i=r(27);t.exports=function(t){var n=String(i(this)),r="",o=e(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(n+=n))1&o&&(r+=n);return r}},function(t,n){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,n){var r=Math.expm1;t.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:r},function(t,n,r){var e=r(20),i=r(27);t.exports=function(t){return function(n,r){var o,u,c=String(i(n)),f=e(r),a=c.length;return f<0||f>=a?t?"":void 0:(o=c.charCodeAt(f))<55296||o>56319||f+1===a||(u=c.charCodeAt(f+1))<56320||u>57343?t?c.charAt(f):o:t?c.slice(f,f+2):u-56320+(o-55296<<10)+65536}}},function(t,n,r){"use strict";var e=r(34),i=r(1),o=r(12),u=r(16),c=r(42),f=r(107),a=r(41),s=r(39),l=r(7)("iterator"),h=!([].keys&&"next"in[].keys()),v=function(){return this};t.exports=function(t,n,r,p,d,g,y){f(r,n,p);var x,m,b,S=function(t){if(!h&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new r(this,t)}}return function(){return new r(this,t)}},w=n+" Iterator",_="values"==d,E=!1,O=t.prototype,F=O[l]||O["@@iterator"]||d&&O[d],P=F||S(d),M=d?_?S("entries"):P:void 0,A="Array"==n&&O.entries||F;if(A&&(b=s(A.call(new t)))!==Object.prototype&&b.next&&(a(b,w,!0),e||"function"==typeof b[l]||u(b,l,v)),_&&F&&"values"!==F.name&&(E=!0,P=function(){return F.call(this)}),e&&!y||!h&&!E&&O[l]||u(O,l,P),c[n]=P,c[w]=v,d)if(x={values:_?P:S("values"),keys:g?P:S("keys"),entries:M},y)for(m in x)m in O||o(O,m,x[m]);else i(i.P+i.F*(h||E),n,x);return x}},function(t,n,r){var e=r(81),i=r(27);t.exports=function(t,n,r){if(e(n))throw TypeError("String#"+r+" doesn't accept regex!");return String(i(t))}},function(t,n,r){var e=r(6),i=r(26),o=r(7)("match");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,r){var e=r(7)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(r){try{return n[e]=!1,!"/./"[t](n)}catch(t){}}return!0}},function(t,n,r){var e=r(42),i=r(7)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(e.Array===t||o[i]===t)}},function(t,n,r){"use strict";var e=r(9),i=r(32);t.exports=function(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]=r}},function(t,n,r){var e=r(50),i=r(7)("iterator"),o=r(42);t.exports=r(11).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[e(t)]}},function(t,n,r){"use strict";var e=r(13),i=r(36),o=r(8);t.exports=function(t){for(var n=e(this),r=o(n.length),u=arguments.length,c=i(u>1?arguments[1]:void 0,r),f=u>2?arguments[2]:void 0,a=void 0===f?r:i(f,r);a>c;)n[c++]=t;return n}},function(t,n,r){"use strict";var e=r(43),i=r(111),o=r(42),u=r(17);t.exports=r(79)(Array,"Array",(function(t,n){this._t=u(t),this._i=0,this._k=n}),(function(){var t=this._t,n=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==n?r:"values"==n?t[r]:[r,t[r]])}),"values"),o.Arguments=o.Array,e("keys"),e("values"),e("entries")},function(t,n,r){"use strict";var e,i,o=r(57),u=RegExp.prototype.exec,c=String.prototype.replace,f=u,a=(e=/a/,i=/b*/g,u.call(e,"a"),u.call(i,"a"),0!==e.lastIndex||0!==i.lastIndex),s=void 0!==/()??/.exec("")[1];(a||s)&&(f=function(t){var n,r,e,i,f=this;return s&&(r=new RegExp("^"+f.source+"$(?!\\s)",o.call(f))),a&&(n=f.lastIndex),e=u.call(f,t),a&&e&&(f.lastIndex=f.global?e.index+e[0].length:n),s&&e&&e.length>1&&c.call(e[0],r,(function(){for(i=1;ir;)n.push(arguments[r++]);return y[++g]=function(){c("function"==typeof t?t:Function(t),n)},e(g),g},v=function(t){delete y[t]},"process"==r(26)(l)?e=function(t){l.nextTick(u(x,t,1))}:d&&d.now?e=function(t){d.now(u(x,t,1))}:p?(o=(i=new p).port2,i.port1.onmessage=m,e=u(o.postMessage,o,1)):s.addEventListener&&"function"==typeof postMessage&&!s.importScripts?(e=function(t){s.postMessage(t+"","*")},s.addEventListener("message",m,!1)):e="onreadystatechange"in a("script")?function(t){f.appendChild(a("script")).onreadystatechange=function(){f.removeChild(this),x.call(t)}}:function(t){setTimeout(u(x,t,1),0)}),t.exports={set:h,clear:v}},function(t,n,r){"use strict";var e=r(3),i=r(10),o=r(34),u=r(63),c=r(16),f=r(46),a=r(4),s=r(45),l=r(20),h=r(8),v=r(119),p=r(38).f,d=r(9).f,g=r(86),y=r(41),x=e.ArrayBuffer,m=e.DataView,b=e.Math,S=e.RangeError,w=e.Infinity,_=x,E=b.abs,O=b.pow,F=b.floor,P=b.log,M=b.LN2,A=i?"_b":"buffer",I=i?"_l":"byteLength",j=i?"_o":"byteOffset";function N(t,n,r){var e,i,o,u=new Array(r),c=8*r-n-1,f=(1<>1,s=23===n?O(2,-24)-O(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=E(t))!=t||t===w?(i=t!=t?1:0,e=f):(e=F(P(t)/M),t*(o=O(2,-e))<1&&(e--,o*=2),(t+=e+a>=1?s/o:s*O(2,1-a))*o>=2&&(e++,o/=2),e+a>=f?(i=0,e=f):e+a>=1?(i=(t*o-1)*O(2,n),e+=a):(i=t*O(2,a-1)*O(2,n),e=0));n>=8;u[l++]=255&i,i/=256,n-=8);for(e=e<0;u[l++]=255&e,e/=256,c-=8);return u[--l]|=128*h,u}function T(t,n,r){var e,i=8*r-n-1,o=(1<>1,c=i-7,f=r-1,a=t[f--],s=127&a;for(a>>=7;c>0;s=256*s+t[f],f--,c-=8);for(e=s&(1<<-c)-1,s>>=-c,c+=n;c>0;e=256*e+t[f],f--,c-=8);if(0===s)s=1-u;else{if(s===o)return e?NaN:a?-w:w;e+=O(2,n),s-=u}return(a?-1:1)*e*O(2,s-n)}function L(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function R(t){return[255&t]}function k(t){return[255&t,t>>8&255]}function C(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function D(t){return N(t,52,8)}function W(t){return N(t,23,4)}function U(t,n,r){d(t.prototype,n,{get:function(){return this[r]}})}function V(t,n,r,e){var i=v(+r);if(i+n>t[I])throw S("Wrong index!");var o=t[A]._b,u=i+t[j],c=o.slice(u,u+n);return e?c:c.reverse()}function B(t,n,r,e,i,o){var u=v(+r);if(u+n>t[I])throw S("Wrong index!");for(var c=t[A]._b,f=u+t[j],a=e(+i),s=0;sq;)(G=Y[q++])in x||c(x,G,_[G]);o||(z.constructor=x)}var $=new m(new x(2)),K=m.prototype.setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||f(m.prototype,{setInt8:function(t,n){K.call(this,t,n<<24>>24)},setUint8:function(t,n){K.call(this,t,n<<24>>24)}},!0)}else x=function(t){s(this,x,"ArrayBuffer");var n=v(t);this._b=g.call(new Array(n),0),this[I]=n},m=function(t,n,r){s(this,m,"DataView"),s(t,x,"DataView");var e=t[I],i=l(n);if(i<0||i>e)throw S("Wrong offset!");if(i+(r=void 0===r?e-i:h(r))>e)throw S("Wrong length!");this[A]=t,this[j]=i,this[I]=r},i&&(U(x,"byteLength","_l"),U(m,"buffer","_b"),U(m,"byteLength","_l"),U(m,"byteOffset","_o")),f(m.prototype,{getInt8:function(t){return V(this,1,t)[0]<<24>>24},getUint8:function(t){return V(this,1,t)[0]},getInt16:function(t){var n=V(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function(t){var n=V(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function(t){return L(V(this,4,t,arguments[1]))},getUint32:function(t){return L(V(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return T(V(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return T(V(this,8,t,arguments[1]),52,8)},setInt8:function(t,n){B(this,1,t,R,n)},setUint8:function(t,n){B(this,1,t,R,n)},setInt16:function(t,n){B(this,2,t,k,n,arguments[2])},setUint16:function(t,n){B(this,2,t,k,n,arguments[2])},setInt32:function(t,n){B(this,4,t,C,n,arguments[2])},setUint32:function(t,n){B(this,4,t,C,n,arguments[2])},setFloat32:function(t,n){B(this,4,t,W,n,arguments[2])},setFloat64:function(t,n){B(this,8,t,D,n,arguments[2])}});y(x,"ArrayBuffer"),y(m,"DataView"),c(m.prototype,u.VIEW,!0),n.ArrayBuffer=x,n.DataView=m},,function(t,n,r){t.exports=!r(10)&&!r(4)((function(){return 7!=Object.defineProperty(r(66)("div"),"a",{get:function(){return 7}}).a}))},function(t,n,r){var e=r(3),i=r(11),o=r(34),u=r(67),c=r(9).f;t.exports=function(t){var n=i.Symbol||(i.Symbol=o?{}:e.Symbol||{});"_"==t.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},function(t,n,r){var e=r(15),i=r(17),o=r(53)(!1),u=r(68)("IE_PROTO");t.exports=function(t,n){var r,c=i(t),f=0,a=[];for(r in c)r!=u&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~o(a,r)||a.push(r));return a}},function(t,n,r){var e=r(9),i=r(5),o=r(35);t.exports=r(10)?Object.defineProperties:function(t,n){i(t);for(var r,u=o(n),c=u.length,f=0;c>f;)e.f(t,r=u[f++],n[r]);return t}},function(t,n,r){var e=r(17),i=r(38).f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return u&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return u.slice()}}(t):i(e(t))}},function(t,n,r){"use strict";var e=r(35),i=r(54),o=r(49),u=r(13),c=r(48),f=Object.assign;t.exports=!f||r(4)((function(){var t={},n={},r=Symbol(),e="abcdefghijklmnopqrst";return t[r]=7,e.split("").forEach((function(t){n[t]=t})),7!=f({},t)[r]||Object.keys(f({},n)).join("")!=e}))?function(t,n){for(var r=u(t),f=arguments.length,a=1,s=i.f,l=o.f;f>a;)for(var h,v=c(arguments[a++]),p=s?e(v).concat(s(v)):e(v),d=p.length,g=0;d>g;)l.call(v,h=p[g++])&&(r[h]=v[h]);return r}:f},function(t,n){t.exports=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,r){"use strict";var e=r(25),i=r(6),o=r(101),u=[].slice,c={},f=function(t,n,r){if(!(n in c)){for(var e=[],i=0;i>>0||(u.test(r)?16:10))}:e},function(t,n,r){var e=r(3).parseFloat,i=r(55).trim;t.exports=1/e(r(73)+"-0")!=-1/0?function(t){var n=i(String(t),3),r=e(n);return 0===r&&"-"==n.charAt(0)?-0:r}:e},function(t,n,r){var e=r(26);t.exports=function(t,n){if("number"!=typeof t&&"Number"!=e(t))throw TypeError(n);return+t}},function(t,n,r){var e=r(6),i=Math.floor;t.exports=function(t){return!e(t)&&isFinite(t)&&i(t)===t}},function(t,n){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){"use strict";var e=r(37),i=r(32),o=r(41),u={};r(16)(u,r(7)("iterator"),(function(){return this})),t.exports=function(t,n,r){t.prototype=e(u,{next:i(1,r)}),o(t,n+" Iterator")}},function(t,n,r){var e=r(5);t.exports=function(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o=t.return;throw void 0!==o&&e(o.call(t)),n}}},function(t,n,r){var e=r(25),i=r(13),o=r(48),u=r(8);t.exports=function(t,n,r,c,f){e(n);var a=i(t),s=o(a),l=u(a.length),h=f?l-1:0,v=f?-1:1;if(r<2)for(;;){if(h in s){c=s[h],h+=v;break}if(h+=v,f?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;f?h>=0:l>h;h+=v)h in s&&(c=n(c,s[h],h,a));return c}},function(t,n,r){"use strict";var e=r(13),i=r(36),o=r(8);t.exports=[].copyWithin||function(t,n){var r=e(this),u=o(r.length),c=i(t,u),f=i(n,u),a=arguments.length>2?arguments[2]:void 0,s=Math.min((void 0===a?u:i(a,u))-f,u-c),l=1;for(f0;)f in r?r[c]=r[f]:delete r[c],c+=l,f+=l;return r}},function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},function(t,n,r){"use strict";var e=r(88);r(1)({target:"RegExp",proto:!0,forced:e!==/./.exec},{exec:e})},function(t,n,r){r(10)&&"g"!=/./g.flags&&r(9).f(RegExp.prototype,"flags",{configurable:!0,get:r(57)})},function(t,n,r){"use strict";var e,i,o,u,c=r(34),f=r(3),a=r(24),s=r(50),l=r(1),h=r(6),v=r(25),p=r(45),d=r(60),g=r(51),y=r(90).set,x=r(246)(),m=r(115),b=r(247),S=r(61),w=r(116),_=f.TypeError,E=f.process,O=E&&E.versions,F=O&&O.v8||"",P=f.Promise,M="process"==s(E),A=function(){},I=i=m.f,j=!!function(){try{var t=P.resolve(1),n=(t.constructor={})[r(7)("species")]=function(t){t(A,A)};return(M||"function"==typeof PromiseRejectionEvent)&&t.then(A)instanceof n&&0!==F.indexOf("6.6")&&-1===S.indexOf("Chrome/66")}catch(t){}}(),N=function(t){var n;return!(!h(t)||"function"!=typeof(n=t.then))&&n},T=function(t,n){if(!t._n){t._n=!0;var r=t._c;x((function(){for(var e=t._v,i=1==t._s,o=0,u=function(n){var r,o,u,c=i?n.ok:n.fail,f=n.resolve,a=n.reject,s=n.domain;try{c?(i||(2==t._h&&k(t),t._h=1),!0===c?r=e:(s&&s.enter(),r=c(e),s&&(s.exit(),u=!0)),r===n.promise?a(_("Promise-chain cycle")):(o=N(r))?o.call(r,f,a):f(r)):a(e)}catch(t){s&&!u&&s.exit(),a(t)}};r.length>o;)u(r[o++]);t._c=[],t._n=!1,n&&!t._h&&L(t)}))}},L=function(t){y.call(f,(function(){var n,r,e,i=t._v,o=R(t);if(o&&(n=b((function(){M?E.emit("unhandledRejection",i,t):(r=f.onunhandledrejection)?r({promise:t,reason:i}):(e=f.console)&&e.error&&e.error("Unhandled promise rejection",i)})),t._h=M||R(t)?2:1),t._a=void 0,o&&n.e)throw n.v}))},R=function(t){return 1!==t._h&&0===(t._a||t._c).length},k=function(t){y.call(f,(function(){var n;M?E.emit("rejectionHandled",t):(n=f.onrejectionhandled)&&n({promise:t,reason:t._v})}))},C=function(t){var n=this;n._d||(n._d=!0,(n=n._w||n)._v=t,n._s=2,n._a||(n._a=n._c.slice()),T(n,!0))},D=function(t){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw _("Promise can't be resolved itself");(n=N(t))?x((function(){var e={_w:r,_d:!1};try{n.call(t,a(D,e,1),a(C,e,1))}catch(t){C.call(e,t)}})):(r._v=t,r._s=1,T(r,!1))}catch(t){C.call({_w:r,_d:!1},t)}}};j||(P=function(t){p(this,P,"Promise","_h"),v(t),e.call(this);try{t(a(D,this,1),a(C,this,1))}catch(t){C.call(this,t)}},(e=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(46)(P.prototype,{then:function(t,n){var r=I(g(this,P));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=M?E.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&T(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new e;this.promise=t,this.resolve=a(D,t,1),this.reject=a(C,t,1)},m.f=I=function(t){return t===P||t===u?new o(t):i(t)}),l(l.G+l.W+l.F*!j,{Promise:P}),r(41)(P,"Promise"),r(44)("Promise"),u=r(11).Promise,l(l.S+l.F*!j,"Promise",{reject:function(t){var n=I(this);return(0,n.reject)(t),n.promise}}),l(l.S+l.F*(c||!j),"Promise",{resolve:function(t){return w(c&&this===u?P:this,t)}}),l(l.S+l.F*!(j&&r(56)((function(t){P.all(t).catch(A)}))),"Promise",{all:function(t){var n=this,r=I(n),e=r.resolve,i=r.reject,o=b((function(){var r=[],o=0,u=1;d(t,!1,(function(t){var c=o++,f=!1;r.push(void 0),u++,n.resolve(t).then((function(t){f||(f=!0,r[c]=t,--u||e(r))}),i)})),--u||e(r)}));return o.e&&i(o.v),r.promise},race:function(t){var n=this,r=I(n),e=r.reject,i=b((function(){d(t,!1,(function(t){n.resolve(t).then(r.resolve,e)}))}));return i.e&&e(i.v),r.promise}})},function(t,n,r){"use strict";var e=r(25);function i(t){var n,r;this.promise=new t((function(t,e){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=t,r=e})),this.resolve=e(n),this.reject=e(r)}t.exports.f=function(t){return new i(t)}},function(t,n,r){var e=r(5),i=r(6),o=r(115);t.exports=function(t,n){if(e(t),i(n)&&n.constructor===t)return n;var r=o.f(t);return(0,r.resolve)(n),r.promise}},function(t,n,r){"use strict";var e=r(9).f,i=r(37),o=r(46),u=r(24),c=r(45),f=r(60),a=r(79),s=r(111),l=r(44),h=r(10),v=r(30).fastKey,p=r(40),d=h?"_s":"size",g=function(t,n){var r,e=v(n);if("F"!==e)return t._i[e];for(r=t._f;r;r=r.n)if(r.k==n)return r};t.exports={getConstructor:function(t,n,r,a){var s=t((function(t,e){c(t,s,n,"_i"),t._t=n,t._i=i(null),t._f=void 0,t._l=void 0,t[d]=0,null!=e&&f(e,r,t[a],t)}));return o(s.prototype,{clear:function(){for(var t=p(this,n),r=t._i,e=t._f;e;e=e.n)e.r=!0,e.p&&(e.p=e.p.n=void 0),delete r[e.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var r=p(this,n),e=g(r,t);if(e){var i=e.n,o=e.p;delete r._i[e.i],e.r=!0,o&&(o.n=i),i&&(i.p=o),r._f==e&&(r._f=i),r._l==e&&(r._l=o),r[d]--}return!!e},forEach:function(t){p(this,n);for(var r,e=u(t,arguments.length>1?arguments[1]:void 0,3);r=r?r.n:this._f;)for(e(r.v,r.k,this);r&&r.r;)r=r.p},has:function(t){return!!g(p(this,n),t)}}),h&&e(s.prototype,"size",{get:function(){return p(this,n)[d]}}),s},def:function(t,n,r){var e,i,o=g(t,n);return o?o.v=r:(t._l=o={i:i=v(n,!0),k:n,v:r,p:e=t._l,n:void 0,r:!1},t._f||(t._f=o),e&&(e.n=o),t[d]++,"F"!==i&&(t._i[i]=o)),t},getEntry:g,setStrong:function(t,n,r){a(t,n,(function(t,r){this._t=p(t,n),this._k=r,this._l=void 0}),(function(){for(var t=this._k,n=this._l;n&&n.r;)n=n.p;return this._t&&(this._l=n=n?n.n:this._t._f)?s(0,"keys"==t?n.k:"values"==t?n.v:[n.k,n.v]):(this._t=void 0,s(1))}),r?"entries":"values",!r,!0),l(n)}}},function(t,n,r){"use strict";var e=r(46),i=r(30).getWeak,o=r(5),u=r(6),c=r(45),f=r(60),a=r(23),s=r(15),l=r(40),h=a(5),v=a(6),p=0,d=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},y=function(t,n){return h(t.a,(function(t){return t[0]===n}))};g.prototype={get:function(t){var n=y(this,t);if(n)return n[1]},has:function(t){return!!y(this,t)},set:function(t,n){var r=y(this,t);r?r[1]=n:this.a.push([t,n])},delete:function(t){var n=v(this.a,(function(n){return n[0]===t}));return~n&&this.a.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,r,o){var a=t((function(t,e){c(t,a,n,"_i"),t._t=n,t._i=p++,t._l=void 0,null!=e&&f(e,r,t[o],t)}));return e(a.prototype,{delete:function(t){if(!u(t))return!1;var r=i(t);return!0===r?d(l(this,n)).delete(t):r&&s(r,this._i)&&delete r[this._i]},has:function(t){if(!u(t))return!1;var r=i(t);return!0===r?d(l(this,n)).has(t):r&&s(r,this._i)}}),a},def:function(t,n,r){var e=i(o(n),!0);return!0===e?d(t).set(n,r):e[t._i]=r,t},ufstore:d}},function(t,n,r){var e=r(20),i=r(8);t.exports=function(t){if(void 0===t)return 0;var n=e(t),r=i(n);if(n!==r)throw RangeError("Wrong length!");return r}},function(t,n,r){var e=r(38),i=r(54),o=r(5),u=r(3).Reflect;t.exports=u&&u.ownKeys||function(t){var n=e.f(o(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(8),i=r(75),o=r(27);t.exports=function(t,n,r,u){var c=String(o(t)),f=c.length,a=void 0===r?" ":String(r),s=e(n);if(s<=f||""==a)return c;var l=s-f,h=i.call(a,Math.ceil(l/a.length));return h.length>l&&(h=h.slice(0,l)),u?h+c:c+h}},function(t,n,r){var e=r(35),i=r(17),o=r(49).f;t.exports=function(t){return function(n){for(var r,u=i(n),c=e(u),f=c.length,a=0,s=[];f>a;)o.call(u,r=c[a++])&&s.push(t?[r,u[r]]:u[r]);return s}}},,,,,,,,,function(t,n,r){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),r(132)},function(t,n,r){"use strict";(function(t){r(133),r(277),r(279),r(281),r(283),r(285),r(287),r(289),r(291),r(293),r(297),t._babelPolyfill&&"undefined"!=typeof console&&console.warn&&console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning."),t._babelPolyfill=!0}).call(this,r(65))},function(t,n,r){r(134),r(137),r(138),r(139),r(140),r(141),r(142),r(143),r(144),r(145),r(146),r(147),r(148),r(149),r(150),r(151),r(152),r(153),r(154),r(155),r(156),r(157),r(158),r(159),r(160),r(161),r(162),r(163),r(164),r(165),r(166),r(167),r(168),r(169),r(170),r(171),r(172),r(173),r(174),r(175),r(176),r(177),r(178),r(180),r(181),r(182),r(183),r(184),r(185),r(186),r(187),r(188),r(189),r(190),r(191),r(192),r(193),r(194),r(195),r(196),r(197),r(198),r(199),r(200),r(201),r(202),r(203),r(204),r(205),r(206),r(207),r(208),r(209),r(210),r(211),r(212),r(213),r(215),r(216),r(218),r(219),r(220),r(221),r(222),r(223),r(224),r(227),r(228),r(229),r(230),r(231),r(232),r(233),r(234),r(235),r(236),r(237),r(238),r(239),r(87),r(240),r(112),r(241),r(113),r(242),r(243),r(244),r(245),r(114),r(248),r(249),r(250),r(251),r(252),r(253),r(254),r(255),r(256),r(257),r(258),r(259),r(260),r(261),r(262),r(263),r(264),r(265),r(266),r(267),r(268),r(269),r(270),r(271),r(272),r(273),r(274),r(275),r(276),t.exports=r(11)},function(t,n,r){"use strict";var e=r(3),i=r(15),o=r(10),u=r(1),c=r(12),f=r(30).KEY,a=r(4),s=r(52),l=r(41),h=r(33),v=r(7),p=r(67),d=r(94),g=r(136),y=r(70),x=r(5),m=r(6),b=r(17),S=r(29),w=r(32),_=r(37),E=r(97),O=r(21),F=r(9),P=r(35),M=O.f,A=F.f,I=E.f,j=e.Symbol,N=e.JSON,T=N&&N.stringify,L=v("_hidden"),R=v("toPrimitive"),k={}.propertyIsEnumerable,C=s("symbol-registry"),D=s("symbols"),W=s("op-symbols"),U=Object.prototype,V="function"==typeof j,B=e.QObject,G=!B||!B.prototype||!B.prototype.findChild,z=o&&a((function(){return 7!=_(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a}))?function(t,n,r){var e=M(U,n);e&&delete U[n],A(t,n,r),e&&t!==U&&A(U,n,e)}:A,Y=function(t){var n=D[t]=_(j.prototype);return n._k=t,n},q=V&&"symbol"==typeof j.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof j},$=function(t,n,r){return t===U&&$(W,n,r),x(t),n=S(n,!0),x(r),i(D,n)?(r.enumerable?(i(t,L)&&t[L][n]&&(t[L][n]=!1),r=_(r,{enumerable:w(0,!1)})):(i(t,L)||A(t,L,w(1,{})),t[L][n]=!0),z(t,n,r)):A(t,n,r)},K=function(t,n){x(t);for(var r,e=g(n=b(n)),i=0,o=e.length;o>i;)$(t,r=e[i++],n[r]);return t},J=function(t){var n=k.call(this,t=S(t,!0));return!(this===U&&i(D,t)&&!i(W,t))&&(!(n||!i(this,t)||!i(D,t)||i(this,L)&&this[L][t])||n)},X=function(t,n){if(t=b(t),n=S(n,!0),t!==U||!i(D,n)||i(W,n)){var r=M(t,n);return!r||!i(D,n)||i(t,L)&&t[L][n]||(r.enumerable=!0),r}},H=function(t){for(var n,r=I(b(t)),e=[],o=0;r.length>o;)i(D,n=r[o++])||n==L||n==f||e.push(n);return e},Z=function(t){for(var n,r=t===U,e=I(r?W:b(t)),o=[],u=0;e.length>u;)!i(D,n=e[u++])||r&&!i(U,n)||o.push(D[n]);return o};V||(c((j=function(){if(this instanceof j)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),n=function(r){this===U&&n.call(W,r),i(this,L)&&i(this[L],t)&&(this[L][t]=!1),z(this,t,w(1,r))};return o&&G&&z(U,t,{configurable:!0,set:n}),Y(t)}).prototype,"toString",(function(){return this._k})),O.f=X,F.f=$,r(38).f=E.f=H,r(49).f=J,r(54).f=Z,o&&!r(34)&&c(U,"propertyIsEnumerable",J,!0),p.f=function(t){return Y(v(t))}),u(u.G+u.W+u.F*!V,{Symbol:j});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)v(Q[tt++]);for(var nt=P(v.store),rt=0;nt.length>rt;)d(nt[rt++]);u(u.S+u.F*!V,"Symbol",{for:function(t){return i(C,t+="")?C[t]:C[t]=j(t)},keyFor:function(t){if(!q(t))throw TypeError(t+" is not a symbol!");for(var n in C)if(C[n]===t)return n},useSetter:function(){G=!0},useSimple:function(){G=!1}}),u(u.S+u.F*!V,"Object",{create:function(t,n){return void 0===n?_(t):K(_(t),n)},defineProperty:$,defineProperties:K,getOwnPropertyDescriptor:X,getOwnPropertyNames:H,getOwnPropertySymbols:Z}),N&&u(u.S+u.F*(!V||a((function(){var t=j();return"[null]"!=T([t])||"{}"!=T({a:t})||"{}"!=T(Object(t))}))),"JSON",{stringify:function(t){for(var n,r,e=[t],i=1;arguments.length>i;)e.push(arguments[i++]);if(r=n=e[1],(m(n)||void 0!==t)&&!q(t))return y(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!q(n))return n}),e[1]=n,T.apply(N,e)}}),j.prototype[R]||r(16)(j.prototype,R,j.prototype.valueOf),l(j,"Symbol"),l(Math,"Math",!0),l(e.JSON,"JSON",!0)},function(t,n,r){t.exports=r(52)("native-function-to-string",Function.toString)},function(t,n,r){var e=r(35),i=r(54),o=r(49);t.exports=function(t){var n=e(t),r=i.f;if(r)for(var u,c=r(t),f=o.f,a=0;c.length>a;)f.call(t,u=c[a++])&&n.push(u);return n}},function(t,n,r){var e=r(1);e(e.S,"Object",{create:r(37)})},function(t,n,r){var e=r(1);e(e.S+e.F*!r(10),"Object",{defineProperty:r(9).f})},function(t,n,r){var e=r(1);e(e.S+e.F*!r(10),"Object",{defineProperties:r(96)})},function(t,n,r){var e=r(17),i=r(21).f;r(22)("getOwnPropertyDescriptor",(function(){return function(t,n){return i(e(t),n)}}))},function(t,n,r){var e=r(13),i=r(39);r(22)("getPrototypeOf",(function(){return function(t){return i(e(t))}}))},function(t,n,r){var e=r(13),i=r(35);r(22)("keys",(function(){return function(t){return i(e(t))}}))},function(t,n,r){r(22)("getOwnPropertyNames",(function(){return r(97).f}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("freeze",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("seal",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("preventExtensions",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6);r(22)("isFrozen",(function(t){return function(n){return!e(n)||!!t&&t(n)}}))},function(t,n,r){var e=r(6);r(22)("isSealed",(function(t){return function(n){return!e(n)||!!t&&t(n)}}))},function(t,n,r){var e=r(6);r(22)("isExtensible",(function(t){return function(n){return!!e(n)&&(!t||t(n))}}))},function(t,n,r){var e=r(1);e(e.S+e.F,"Object",{assign:r(98)})},function(t,n,r){var e=r(1);e(e.S,"Object",{is:r(99)})},function(t,n,r){var e=r(1);e(e.S,"Object",{setPrototypeOf:r(72).set})},function(t,n,r){"use strict";var e=r(50),i={};i[r(7)("toStringTag")]="z",i+""!="[object z]"&&r(12)(Object.prototype,"toString",(function(){return"[object "+e(this)+"]"}),!0)},function(t,n,r){var e=r(1);e(e.P,"Function",{bind:r(100)})},function(t,n,r){var e=r(9).f,i=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in i||r(10)&&e(i,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},function(t,n,r){"use strict";var e=r(6),i=r(39),o=r(7)("hasInstance"),u=Function.prototype;o in u||r(9).f(u,o,{value:function(t){if("function"!=typeof this||!e(t))return!1;if(!e(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,n,r){var e=r(1),i=r(102);e(e.G+e.F*(parseInt!=i),{parseInt:i})},function(t,n,r){var e=r(1),i=r(103);e(e.G+e.F*(parseFloat!=i),{parseFloat:i})},function(t,n,r){"use strict";var e=r(3),i=r(15),o=r(26),u=r(74),c=r(29),f=r(4),a=r(38).f,s=r(21).f,l=r(9).f,h=r(55).trim,v=e.Number,p=v,d=v.prototype,g="Number"==o(r(37)(d)),y="trim"in String.prototype,x=function(t){var n=c(t,!1);if("string"==typeof n&&n.length>2){var r,e,i,o=(n=y?n.trim():h(n,3)).charCodeAt(0);if(43===o||45===o){if(88===(r=n.charCodeAt(2))||120===r)return NaN}else if(48===o){switch(n.charCodeAt(1)){case 66:case 98:e=2,i=49;break;case 79:case 111:e=8,i=55;break;default:return+n}for(var u,f=n.slice(2),a=0,s=f.length;ai)return NaN;return parseInt(f,e)}}return+n};if(!v(" 0o1")||!v("0b1")||v("+0x1")){v=function(t){var n=arguments.length<1?0:t,r=this;return r instanceof v&&(g?f((function(){d.valueOf.call(r)})):"Number"!=o(r))?u(new p(x(n)),r,v):x(n)};for(var m,b=r(10)?a(p):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),S=0;b.length>S;S++)i(p,m=b[S])&&!i(v,m)&&l(v,m,s(p,m));v.prototype=d,d.constructor=v,r(12)(e,"Number",v)}},function(t,n,r){"use strict";var e=r(1),i=r(20),o=r(104),u=r(75),c=1..toFixed,f=Math.floor,a=[0,0,0,0,0,0],s="Number.toFixed: incorrect invocation!",l=function(t,n){for(var r=-1,e=n;++r<6;)e+=t*a[r],a[r]=e%1e7,e=f(e/1e7)},h=function(t){for(var n=6,r=0;--n>=0;)r+=a[n],a[n]=f(r/t),r=r%t*1e7},v=function(){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==a[t]){var r=String(a[t]);n=""===n?r:n+u.call("0",7-r.length)+r}return n},p=function(t,n,r){return 0===n?r:n%2==1?p(t,n-1,r*t):p(t*t,n/2,r)};e(e.P+e.F*(!!c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!r(4)((function(){c.call({})}))),"Number",{toFixed:function(t){var n,r,e,c,f=o(this,s),a=i(t),d="",g="0";if(a<0||a>20)throw RangeError(s);if(f!=f)return"NaN";if(f<=-1e21||f>=1e21)return String(f);if(f<0&&(d="-",f=-f),f>1e-21)if(r=(n=function(t){for(var n=0,r=t;r>=4096;)n+=12,r/=4096;for(;r>=2;)n+=1,r/=2;return n}(f*p(2,69,1))-69)<0?f*p(2,-n,1):f/p(2,n,1),r*=4503599627370496,(n=52-n)>0){for(l(0,r),e=a;e>=7;)l(1e7,0),e-=7;for(l(p(10,e,1),0),e=n-1;e>=23;)h(1<<23),e-=23;h(1<0?d+((c=g.length)<=a?"0."+u.call("0",a-c)+g:g.slice(0,c-a)+"."+g.slice(c-a)):d+g}})},function(t,n,r){"use strict";var e=r(1),i=r(4),o=r(104),u=1..toPrecision;e(e.P+e.F*(i((function(){return"1"!==u.call(1,void 0)}))||!i((function(){u.call({})}))),"Number",{toPrecision:function(t){var n=o(this,"Number#toPrecision: incorrect invocation!");return void 0===t?u.call(n):u.call(n,t)}})},function(t,n,r){var e=r(1);e(e.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,n,r){var e=r(1),i=r(3).isFinite;e(e.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},function(t,n,r){var e=r(1);e(e.S,"Number",{isInteger:r(105)})},function(t,n,r){var e=r(1);e(e.S,"Number",{isNaN:function(t){return t!=t}})},function(t,n,r){var e=r(1),i=r(105),o=Math.abs;e(e.S,"Number",{isSafeInteger:function(t){return i(t)&&o(t)<=9007199254740991}})},function(t,n,r){var e=r(1);e(e.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,n,r){var e=r(1);e(e.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,n,r){var e=r(1),i=r(103);e(e.S+e.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},function(t,n,r){var e=r(1),i=r(102);e(e.S+e.F*(Number.parseInt!=i),"Number",{parseInt:i})},function(t,n,r){var e=r(1),i=r(106),o=Math.sqrt,u=Math.acosh;e(e.S+e.F*!(u&&710==Math.floor(u(Number.MAX_VALUE))&&u(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},function(t,n,r){var e=r(1),i=Math.asinh;e(e.S+e.F*!(i&&1/i(0)>0),"Math",{asinh:function t(n){return isFinite(n=+n)&&0!=n?n<0?-t(-n):Math.log(n+Math.sqrt(n*n+1)):n}})},function(t,n,r){var e=r(1),i=Math.atanh;e(e.S+e.F*!(i&&1/i(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,n,r){var e=r(1),i=r(76);e(e.S,"Math",{cbrt:function(t){return i(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,n,r){var e=r(1);e(e.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,n,r){var e=r(1),i=Math.exp;e(e.S,"Math",{cosh:function(t){return(i(t=+t)+i(-t))/2}})},function(t,n,r){var e=r(1),i=r(77);e(e.S+e.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,n,r){var e=r(1);e(e.S,"Math",{fround:r(179)})},function(t,n,r){var e=r(76),i=Math.pow,o=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),f=i(2,-126);t.exports=Math.fround||function(t){var n,r,i=Math.abs(t),a=e(t);return ic||r!=r?a*(1/0):a*r}},function(t,n,r){var e=r(1),i=Math.abs;e(e.S,"Math",{hypot:function(t,n){for(var r,e,o=0,u=0,c=arguments.length,f=0;u0?(e=r/f)*e:r;return f===1/0?1/0:f*Math.sqrt(o)}})},function(t,n,r){var e=r(1),i=Math.imul;e(e.S+e.F*r(4)((function(){return-5!=i(4294967295,5)||2!=i.length})),"Math",{imul:function(t,n){var r=+t,e=+n,i=65535&r,o=65535&e;return 0|i*o+((65535&r>>>16)*o+i*(65535&e>>>16)<<16>>>0)}})},function(t,n,r){var e=r(1);e(e.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,n,r){var e=r(1);e(e.S,"Math",{log1p:r(106)})},function(t,n,r){var e=r(1);e(e.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,n,r){var e=r(1);e(e.S,"Math",{sign:r(76)})},function(t,n,r){var e=r(1),i=r(77),o=Math.exp;e(e.S+e.F*r(4)((function(){return-2e-17!=!Math.sinh(-2e-17)})),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,n,r){var e=r(1),i=r(77),o=Math.exp;e(e.S,"Math",{tanh:function(t){var n=i(t=+t),r=i(-t);return n==1/0?1:r==1/0?-1:(n-r)/(o(t)+o(-t))}})},function(t,n,r){var e=r(1);e(e.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,n,r){var e=r(1),i=r(36),o=String.fromCharCode,u=String.fromCodePoint;e(e.S+e.F*(!!u&&1!=u.length),"String",{fromCodePoint:function(t){for(var n,r=[],e=arguments.length,u=0;e>u;){if(n=+arguments[u++],i(n,1114111)!==n)throw RangeError(n+" is not a valid code point");r.push(n<65536?o(n):o(55296+((n-=65536)>>10),n%1024+56320))}return r.join("")}})},function(t,n,r){var e=r(1),i=r(17),o=r(8);e(e.S,"String",{raw:function(t){for(var n=i(t.raw),r=o(n.length),e=arguments.length,u=[],c=0;r>c;)u.push(String(n[c++])),c=n.length?{value:void 0,done:!0}:(t=e(n,r),this._i+=t.length,{value:t,done:!1})}))},function(t,n,r){"use strict";var e=r(1),i=r(78)(!1);e(e.P,"String",{codePointAt:function(t){return i(this,t)}})},function(t,n,r){"use strict";var e=r(1),i=r(8),o=r(80),u="".endsWith;e(e.P+e.F*r(82)("endsWith"),"String",{endsWith:function(t){var n=o(this,t,"endsWith"),r=arguments.length>1?arguments[1]:void 0,e=i(n.length),c=void 0===r?e:Math.min(i(r),e),f=String(t);return u?u.call(n,f,c):n.slice(c-f.length,c)===f}})},function(t,n,r){"use strict";var e=r(1),i=r(80);e(e.P+e.F*r(82)("includes"),"String",{includes:function(t){return!!~i(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,r){var e=r(1);e(e.P,"String",{repeat:r(75)})},function(t,n,r){"use strict";var e=r(1),i=r(8),o=r(80),u="".startsWith;e(e.P+e.F*r(82)("startsWith"),"String",{startsWith:function(t){var n=o(this,t,"startsWith"),r=i(Math.min(arguments.length>1?arguments[1]:void 0,n.length)),e=String(t);return u?u.call(n,e,r):n.slice(r,r+e.length)===e}})},function(t,n,r){"use strict";r(14)("anchor",(function(t){return function(n){return t(this,"a","name",n)}}))},function(t,n,r){"use strict";r(14)("big",(function(t){return function(){return t(this,"big","","")}}))},function(t,n,r){"use strict";r(14)("blink",(function(t){return function(){return t(this,"blink","","")}}))},function(t,n,r){"use strict";r(14)("bold",(function(t){return function(){return t(this,"b","","")}}))},function(t,n,r){"use strict";r(14)("fixed",(function(t){return function(){return t(this,"tt","","")}}))},function(t,n,r){"use strict";r(14)("fontcolor",(function(t){return function(n){return t(this,"font","color",n)}}))},function(t,n,r){"use strict";r(14)("fontsize",(function(t){return function(n){return t(this,"font","size",n)}}))},function(t,n,r){"use strict";r(14)("italics",(function(t){return function(){return t(this,"i","","")}}))},function(t,n,r){"use strict";r(14)("link",(function(t){return function(n){return t(this,"a","href",n)}}))},function(t,n,r){"use strict";r(14)("small",(function(t){return function(){return t(this,"small","","")}}))},function(t,n,r){"use strict";r(14)("strike",(function(t){return function(){return t(this,"strike","","")}}))},function(t,n,r){"use strict";r(14)("sub",(function(t){return function(){return t(this,"sub","","")}}))},function(t,n,r){"use strict";r(14)("sup",(function(t){return function(){return t(this,"sup","","")}}))},function(t,n,r){var e=r(1);e(e.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,n,r){"use strict";var e=r(1),i=r(13),o=r(29);e(e.P+e.F*r(4)((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})),"Date",{toJSON:function(t){var n=i(this),r=o(n);return"number"!=typeof r||isFinite(r)?n.toISOString():null}})},function(t,n,r){var e=r(1),i=r(214);e(e.P+e.F*(Date.prototype.toISOString!==i),"Date",{toISOString:i})},function(t,n,r){"use strict";var e=r(4),i=Date.prototype.getTime,o=Date.prototype.toISOString,u=function(t){return t>9?t:"0"+t};t.exports=e((function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-50000000000001))}))||!e((function(){o.call(new Date(NaN))}))?function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var t=this,n=t.getUTCFullYear(),r=t.getUTCMilliseconds(),e=n<0?"-":n>9999?"+":"";return e+("00000"+Math.abs(n)).slice(e?-6:-4)+"-"+u(t.getUTCMonth()+1)+"-"+u(t.getUTCDate())+"T"+u(t.getUTCHours())+":"+u(t.getUTCMinutes())+":"+u(t.getUTCSeconds())+"."+(r>99?r:"0"+u(r))+"Z"}:o},function(t,n,r){var e=Date.prototype,i=e.toString,o=e.getTime;new Date(NaN)+""!="Invalid Date"&&r(12)(e,"toString",(function(){var t=o.call(this);return t==t?i.call(this):"Invalid Date"}))},function(t,n,r){var e=r(7)("toPrimitive"),i=Date.prototype;e in i||r(16)(i,e,r(217))},function(t,n,r){"use strict";var e=r(5),i=r(29);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return i(e(this),"number"!=t)}},function(t,n,r){var e=r(1);e(e.S,"Array",{isArray:r(70)})},function(t,n,r){"use strict";var e=r(24),i=r(1),o=r(13),u=r(108),c=r(83),f=r(8),a=r(84),s=r(85);i(i.S+i.F*!r(56)((function(t){Array.from(t)})),"Array",{from:function(t){var n,r,i,l,h=o(t),v="function"==typeof this?this:Array,p=arguments.length,d=p>1?arguments[1]:void 0,g=void 0!==d,y=0,x=s(h);if(g&&(d=e(d,p>2?arguments[2]:void 0,2)),null==x||v==Array&&c(x))for(r=new v(n=f(h.length));n>y;y++)a(r,y,g?d(h[y],y):h[y]);else for(l=x.call(h),r=new v;!(i=l.next()).done;y++)a(r,y,g?u(l,d,[i.value,y],!0):i.value);return r.length=y,r}})},function(t,n,r){"use strict";var e=r(1),i=r(84);e(e.S+e.F*r(4)((function(){function t(){}return!(Array.of.call(t)instanceof t)})),"Array",{of:function(){for(var t=0,n=arguments.length,r=new("function"==typeof this?this:Array)(n);n>t;)i(r,t,arguments[t++]);return r.length=n,r}})},function(t,n,r){"use strict";var e=r(1),i=r(17),o=[].join;e(e.P+e.F*(r(48)!=Object||!r(19)(o)),"Array",{join:function(t){return o.call(i(this),void 0===t?",":t)}})},function(t,n,r){"use strict";var e=r(1),i=r(71),o=r(26),u=r(36),c=r(8),f=[].slice;e(e.P+e.F*r(4)((function(){i&&f.call(i)})),"Array",{slice:function(t,n){var r=c(this.length),e=o(this);if(n=void 0===n?r:n,"Array"==e)return f.call(this,t,n);for(var i=u(t,r),a=u(n,r),s=c(a-i),l=new Array(s),h=0;h1&&(e=Math.min(e,o(arguments[1]))),e<0&&(e=r+e);e>=0;e--)if(e in n&&n[e]===t)return e||0;return-1}})},function(t,n,r){var e=r(1);e(e.P,"Array",{copyWithin:r(110)}),r(43)("copyWithin")},function(t,n,r){var e=r(1);e(e.P,"Array",{fill:r(86)}),r(43)("fill")},function(t,n,r){"use strict";var e=r(1),i=r(23)(5),o=!0;"find"in[]&&Array(1).find((function(){o=!1})),e(e.P+e.F*o,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)("find")},function(t,n,r){"use strict";var e=r(1),i=r(23)(6),o="findIndex",u=!0;o in[]&&Array(1)[o]((function(){u=!1})),e(e.P+e.F*u,"Array",{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)(o)},function(t,n,r){r(44)("Array")},function(t,n,r){var e=r(3),i=r(74),o=r(9).f,u=r(38).f,c=r(81),f=r(57),a=e.RegExp,s=a,l=a.prototype,h=/a/g,v=/a/g,p=new a(h)!==h;if(r(10)&&(!p||r(4)((function(){return v[r(7)("match")]=!1,a(h)!=h||a(v)==v||"/a/i"!=a(h,"i")})))){a=function(t,n){var r=this instanceof a,e=c(t),o=void 0===n;return!r&&e&&t.constructor===a&&o?t:i(p?new s(e&&!o?t.source:t,n):s((e=t instanceof a)?t.source:t,e&&o?f.call(t):n),r?this:l,a)};for(var d=function(t){t in a||o(a,t,{configurable:!0,get:function(){return s[t]},set:function(n){s[t]=n}})},g=u(s),y=0;g.length>y;)d(g[y++]);l.constructor=a,a.prototype=l,r(12)(e,"RegExp",a)}r(44)("RegExp")},function(t,n,r){"use strict";r(113);var e=r(5),i=r(57),o=r(10),u=/./.toString,c=function(t){r(12)(RegExp.prototype,"toString",t,!0)};r(4)((function(){return"/a/b"!=u.call({source:"a",flags:"b"})}))?c((function(){var t=e(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)})):"toString"!=u.name&&c((function(){return u.call(this)}))},function(t,n,r){"use strict";var e=r(5),i=r(8),o=r(89),u=r(58);r(59)("match",1,(function(t,n,r,c){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=c(r,t,this);if(n.done)return n.value;var f=e(t),a=String(this);if(!f.global)return u(f,a);var s=f.unicode;f.lastIndex=0;for(var l,h=[],v=0;null!==(l=u(f,a));){var p=String(l[0]);h[v]=p,""===p&&(f.lastIndex=o(a,i(f.lastIndex),s)),v++}return 0===v?null:h}]}))},function(t,n,r){"use strict";var e=r(5),i=r(13),o=r(8),u=r(20),c=r(89),f=r(58),a=Math.max,s=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,v=/\$([$&`']|\d\d?)/g;r(59)("replace",2,(function(t,n,r,p){return[function(e,i){var o=t(this),u=null==e?void 0:e[n];return void 0!==u?u.call(e,o,i):r.call(String(o),e,i)},function(t,n){var i=p(r,t,this,n);if(i.done)return i.value;var l=e(t),h=String(this),v="function"==typeof n;v||(n=String(n));var g=l.global;if(g){var y=l.unicode;l.lastIndex=0}for(var x=[];;){var m=f(l,h);if(null===m)break;if(x.push(m),!g)break;""===String(m[0])&&(l.lastIndex=c(h,o(l.lastIndex),y))}for(var b,S="",w=0,_=0;_=w&&(S+=h.slice(w,O)+I,w=O+E.length)}return S+h.slice(w)}];function d(t,n,e,o,u,c){var f=e+t.length,a=o.length,s=v;return void 0!==u&&(u=i(u),s=h),r.call(c,s,(function(r,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,e);case"'":return n.slice(f);case"<":c=u[i.slice(1,-1)];break;default:var s=+i;if(0===s)return r;if(s>a){var h=l(s/10);return 0===h?r:h<=a?void 0===o[h-1]?i.charAt(1):o[h-1]+i.charAt(1):r}c=o[s-1]}return void 0===c?"":c}))}}))},function(t,n,r){"use strict";var e=r(5),i=r(99),o=r(58);r(59)("search",1,(function(t,n,r,u){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=u(r,t,this);if(n.done)return n.value;var c=e(t),f=String(this),a=c.lastIndex;i(a,0)||(c.lastIndex=0);var s=o(c,f);return i(c.lastIndex,a)||(c.lastIndex=a),null===s?-1:s.index}]}))},function(t,n,r){"use strict";var e=r(81),i=r(5),o=r(51),u=r(89),c=r(8),f=r(58),a=r(88),s=r(4),l=Math.min,h=[].push,v="length",p=!s((function(){RegExp(4294967295,"y")}));r(59)("split",2,(function(t,n,r,s){var d;return d="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1)[v]||2!="ab".split(/(?:ab)*/)[v]||4!=".".split(/(.?)(.?)/)[v]||".".split(/()()/)[v]>1||"".split(/.?/)[v]?function(t,n){var i=String(this);if(void 0===t&&0===n)return[];if(!e(t))return r.call(i,t,n);for(var o,u,c,f=[],s=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),l=0,p=void 0===n?4294967295:n>>>0,d=new RegExp(t.source,s+"g");(o=a.call(d,i))&&!((u=d.lastIndex)>l&&(f.push(i.slice(l,o.index)),o[v]>1&&o.index=p));)d.lastIndex===o.index&&d.lastIndex++;return l===i[v]?!c&&d.test("")||f.push(""):f.push(i.slice(l)),f[v]>p?f.slice(0,p):f}:"0".split(void 0,0)[v]?function(t,n){return void 0===t&&0===n?[]:r.call(this,t,n)}:r,[function(r,e){var i=t(this),o=null==r?void 0:r[n];return void 0!==o?o.call(r,i,e):d.call(String(i),r,e)},function(t,n){var e=s(d,t,this,n,d!==r);if(e.done)return e.value;var a=i(t),h=String(this),v=o(a,RegExp),g=a.unicode,y=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(p?"y":"g"),x=new v(p?a:"^(?:"+a.source+")",y),m=void 0===n?4294967295:n>>>0;if(0===m)return[];if(0===h.length)return null===f(x,h)?[h]:[];for(var b=0,S=0,w=[];S0?arguments[0]:void 0)}}),{get:function(t){var n=e.getEntry(i(this,"Map"),t);return n&&n.v},set:function(t,n){return e.def(i(this,"Map"),0===t?0:t,n)}},e,!0)},function(t,n,r){"use strict";var e=r(117),i=r(40);t.exports=r(62)("Set",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return e.def(i(this,"Set"),t=0===t?0:t,t)}},e)},function(t,n,r){"use strict";var e,i=r(3),o=r(23)(0),u=r(12),c=r(30),f=r(98),a=r(118),s=r(6),l=r(40),h=r(40),v=!i.ActiveXObject&&"ActiveXObject"in i,p=c.getWeak,d=Object.isExtensible,g=a.ufstore,y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},x={get:function(t){if(s(t)){var n=p(t);return!0===n?g(l(this,"WeakMap")).get(t):n?n[this._i]:void 0}},set:function(t,n){return a.def(l(this,"WeakMap"),t,n)}},m=t.exports=r(62)("WeakMap",y,x,a,!0,!0);h&&v&&(f((e=a.getConstructor(y,"WeakMap")).prototype,x),c.NEED=!0,o(["delete","has","get","set"],(function(t){var n=m.prototype,r=n[t];u(n,t,(function(n,i){if(s(n)&&!d(n)){this._f||(this._f=new e);var o=this._f[t](n,i);return"set"==t?this:o}return r.call(this,n,i)}))})))},function(t,n,r){"use strict";var e=r(118),i=r(40);r(62)("WeakSet",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return e.def(i(this,"WeakSet"),t,!0)}},e,!1,!0)},function(t,n,r){"use strict";var e=r(1),i=r(63),o=r(91),u=r(5),c=r(36),f=r(8),a=r(6),s=r(3).ArrayBuffer,l=r(51),h=o.ArrayBuffer,v=o.DataView,p=i.ABV&&s.isView,d=h.prototype.slice,g=i.VIEW;e(e.G+e.W+e.F*(s!==h),{ArrayBuffer:h}),e(e.S+e.F*!i.CONSTR,"ArrayBuffer",{isView:function(t){return p&&p(t)||a(t)&&g in t}}),e(e.P+e.U+e.F*r(4)((function(){return!new h(2).slice(1,void 0).byteLength})),"ArrayBuffer",{slice:function(t,n){if(void 0!==d&&void 0===n)return d.call(u(this),t);for(var r=u(this).byteLength,e=c(t,r),i=c(void 0===n?r:n,r),o=new(l(this,h))(f(i-e)),a=new v(this),s=new v(o),p=0;e=n.length)return{value:void 0,done:!0}}while(!((t=n[this._i++])in this._t));return{value:t,done:!1}})),e(e.S,"Reflect",{enumerate:function(t){return new o(t)}})},function(t,n,r){var e=r(21),i=r(39),o=r(15),u=r(1),c=r(6),f=r(5);u(u.S,"Reflect",{get:function t(n,r){var u,a,s=arguments.length<3?n:arguments[2];return f(n)===s?n[r]:(u=e.f(n,r))?o(u,"value")?u.value:void 0!==u.get?u.get.call(s):void 0:c(a=i(n))?t(a,r,s):void 0}})},function(t,n,r){var e=r(21),i=r(1),o=r(5);i(i.S,"Reflect",{getOwnPropertyDescriptor:function(t,n){return e.f(o(t),n)}})},function(t,n,r){var e=r(1),i=r(39),o=r(5);e(e.S,"Reflect",{getPrototypeOf:function(t){return i(o(t))}})},function(t,n,r){var e=r(1);e(e.S,"Reflect",{has:function(t,n){return n in t}})},function(t,n,r){var e=r(1),i=r(5),o=Object.isExtensible;e(e.S,"Reflect",{isExtensible:function(t){return i(t),!o||o(t)}})},function(t,n,r){var e=r(1);e(e.S,"Reflect",{ownKeys:r(120)})},function(t,n,r){var e=r(1),i=r(5),o=Object.preventExtensions;e(e.S,"Reflect",{preventExtensions:function(t){i(t);try{return o&&o(t),!0}catch(t){return!1}}})},function(t,n,r){var e=r(9),i=r(21),o=r(39),u=r(15),c=r(1),f=r(32),a=r(5),s=r(6);c(c.S,"Reflect",{set:function t(n,r,c){var l,h,v=arguments.length<4?n:arguments[3],p=i.f(a(n),r);if(!p){if(s(h=o(n)))return t(h,r,c,v);p=f(0)}if(u(p,"value")){if(!1===p.writable||!s(v))return!1;if(l=i.f(v,r)){if(l.get||l.set||!1===l.writable)return!1;l.value=c,e.f(v,r,l)}else e.f(v,r,f(0,c));return!0}return void 0!==p.set&&(p.set.call(v,c),!0)}})},function(t,n,r){var e=r(1),i=r(72);i&&e(e.S,"Reflect",{setPrototypeOf:function(t,n){i.check(t,n);try{return i.set(t,n),!0}catch(t){return!1}}})},function(t,n,r){r(278),t.exports=r(11).Array.includes},function(t,n,r){"use strict";var e=r(1),i=r(53)(!0);e(e.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)("includes")},function(t,n,r){r(280),t.exports=r(11).String.padStart},function(t,n,r){"use strict";var e=r(1),i=r(121),o=r(61),u=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);e(e.P+e.F*u,"String",{padStart:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,n,r){r(282),t.exports=r(11).String.padEnd},function(t,n,r){"use strict";var e=r(1),i=r(121),o=r(61),u=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);e(e.P+e.F*u,"String",{padEnd:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},function(t,n,r){r(284),t.exports=r(67).f("asyncIterator")},function(t,n,r){r(94)("asyncIterator")},function(t,n,r){r(286),t.exports=r(11).Object.getOwnPropertyDescriptors},function(t,n,r){var e=r(1),i=r(120),o=r(17),u=r(21),c=r(84);e(e.S,"Object",{getOwnPropertyDescriptors:function(t){for(var n,r,e=o(t),f=u.f,a=i(e),s={},l=0;a.length>l;)void 0!==(r=f(e,n=a[l++]))&&c(s,n,r);return s}})},function(t,n,r){r(288),t.exports=r(11).Object.values},function(t,n,r){var e=r(1),i=r(122)(!1);e(e.S,"Object",{values:function(t){return i(t)}})},function(t,n,r){r(290),t.exports=r(11).Object.entries},function(t,n,r){var e=r(1),i=r(122)(!0);e(e.S,"Object",{entries:function(t){return i(t)}})},function(t,n,r){"use strict";r(114),r(292),t.exports=r(11).Promise.finally},function(t,n,r){"use strict";var e=r(1),i=r(11),o=r(3),u=r(51),c=r(116);e(e.P+e.R,"Promise",{finally:function(t){var n=u(this,i.Promise||o.Promise),r="function"==typeof t;return this.then(r?function(r){return c(n,t()).then((function(){return r}))}:t,r?function(r){return c(n,t()).then((function(){throw r}))}:t)}})},function(t,n,r){r(294),r(295),r(296),t.exports=r(11)},function(t,n,r){var e=r(3),i=r(1),o=r(61),u=[].slice,c=/MSIE .\./.test(o),f=function(t){return function(n,r){var e=arguments.length>2,i=!!e&&u.call(arguments,2);return t(e?function(){("function"==typeof n?n:Function(n)).apply(this,i)}:n,r)}};i(i.G+i.B+i.F*c,{setTimeout:f(e.setTimeout),setInterval:f(e.setInterval)})},function(t,n,r){var e=r(1),i=r(90);e(e.G+e.B,{setImmediate:i.set,clearImmediate:i.clear})},function(t,n,r){for(var e=r(87),i=r(35),o=r(12),u=r(3),c=r(16),f=r(42),a=r(7),s=a("iterator"),l=a("toStringTag"),h=f.Array,v={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(v),d=0;d=0;--i){var o=this.tryEntries[i],u=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=e.call(o,"catchLoc"),f=e.call(o,"finallyLoc");if(c&&f){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&e.call(i,"finallyLoc")&&this.prev=0;--n){var r=this.tryEntries[n];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),s}},catch:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc===t){var e=r.completion;if("throw"===e.type){var i=e.arg;E(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:F(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}}}function d(t,n,r,e){var i=n&&n.prototype instanceof y?n:y,o=Object.create(i.prototype),u=new O(e||[]);return o._invoke=function(t,n,r){var e="suspendedStart";return function(i,o){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===i)throw o;return P()}for(r.method=i,r.arg=o;;){var u=r.delegate;if(u){var c=w(u,r);if(c){if(c===s)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===e)throw e="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);e="executing";var f=g(t,n,r);if("normal"===f.type){if(e=r.done?"completed":"suspendedYield",f.arg===s)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(e="completed",r.method="throw",r.arg=f.arg)}}}(t,r,u),o}function g(t,n,r){try{return{type:"normal",arg:t.call(n,r)}}catch(t){return{type:"throw",arg:t}}}function y(){}function x(){}function m(){}function b(t){["next","throw","return"].forEach((function(n){t[n]=function(t){return this._invoke(n,t)}}))}function S(t){var n;this._invoke=function(r,i){function o(){return new Promise((function(n,o){!function n(r,i,o,u){var c=g(t[r],t,i);if("throw"!==c.type){var f=c.arg,a=f.value;return a&&"object"==typeof a&&e.call(a,"__await")?Promise.resolve(a.__await).then((function(t){n("next",t,o,u)}),(function(t){n("throw",t,o,u)})):Promise.resolve(a).then((function(t){f.value=t,o(f)}),(function(t){return n("throw",t,o,u)}))}u(c.arg)}(r,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(t,n){var r=t.iterator[n.method];if(void 0===r){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=void 0,w(t,n),"throw"===n.method))return s;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var e=g(r,t.iterator,n.arg);if("throw"===e.type)return n.method="throw",n.arg=e.arg,n.delegate=null,s;var i=e.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=void 0),n.delegate=null,s):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,s)}function _(t){var n={tryLoc:t[0]};1 in t&&(n.catchLoc=t[1]),2 in t&&(n.finallyLoc=t[2],n.afterLoc=t[3]),this.tryEntries.push(n)}function E(t){var n=t.completion||{};n.type="normal",delete n.arg,t.completion=n}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function F(t){if(t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function n(){for(;++r0?i(e(t),9007199254740991):0}},function(t,n,r){var e=r(5),i=r(92),o=r(29),u=Object.defineProperty;n.f=r(10)?Object.defineProperty:function(t,n,r){if(e(t),n=o(n,!0),e(r),i)try{return u(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},function(t,n,r){t.exports=!r(4)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n){var r=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=r)},function(t,n,r){var e=r(3),i=r(17),o=r(16),u=r(33)("src"),c=r(137),f=(""+c).split("toString");r(11).inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,r,c){var a="function"==typeof r;a&&(o(r,"name")||i(r,"name",n)),t[n]!==r&&(a&&(o(r,u)||i(r,u,t[n]?""+t[n]:f.join(String(n)))),t===e?t[n]=r:c?t[n]?t[n]=r:i(t,n,r):(delete t[n],i(t,n,r)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[u]||c.call(this)}))},function(t,n,r){var e=r(27);t.exports=function(t){return Object(e(t))}},function(t,n,r){var e=r(1),i=r(4),o=r(27),u=/"/g,c=function(t,n,r,e){var i=String(o(t)),c="<"+n;return""!==r&&(c+=" "+r+'="'+String(e).replace(u,""")+'"'),c+">"+i+""};t.exports=function(t,n){var r={};r[t]=n(c),e(e.P+e.F*i((function(){var n=""[t]('"');return n!==n.toLowerCase()||n.split('"').length>3})),"String",r)}},,function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(9),i=r(32);t.exports=r(10)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},function(t,n,r){var e=r(48),i=r(27);t.exports=function(t){return e(i(t))}},function(t,n,r){"use strict";var e=r(4);t.exports=function(t,n){return!!t&&e((function(){n?t.call(null,(function(){}),1):t.call(null)}))}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},function(t,n,r){var e=r(49),i=r(32),o=r(18),u=r(29),c=r(16),f=r(92),a=Object.getOwnPropertyDescriptor;n.f=r(10)?a:function(t,n){if(t=o(t),n=u(n,!0),f)try{return a(t,n)}catch(t){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},function(t,n,r){var e=r(1),i=r(11),o=r(4);t.exports=function(t,n){var r=(i.Object||{})[t]||Object[t],u={};u[t]=n(r),e(e.S+e.F*o((function(){r(1)})),"Object",u)}},function(t,n,r){var e=r(24),i=r(48),o=r(13),u=r(8),c=r(227);t.exports=function(t,n){var r=1==t,f=2==t,a=3==t,s=4==t,l=6==t,h=5==t||l,v=n||c;return function(n,c,p){for(var d,g,y=o(n),x=i(y),m=e(c,p,3),b=u(x.length),S=0,w=r?v(n,b):f?v(n,0):void 0;b>S;S++)if((h||S in x)&&(g=m(d=x[S],S,y),t))if(r)w[S]=g;else if(g)switch(t){case 3:return!0;case 5:return d;case 6:return S;case 2:w.push(d)}else if(s)return!1;return l?-1:a||s?s:w}}},function(t,n,r){var e=r(25);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){"use strict";if(r(10)){var e=r(34),i=r(3),o=r(4),u=r(1),c=r(63),f=r(91),a=r(24),s=r(45),l=r(32),h=r(17),v=r(46),p=r(20),d=r(8),g=r(118),y=r(36),x=r(29),m=r(16),b=r(50),S=r(6),w=r(13),_=r(83),E=r(37),O=r(39),F=r(38).f,P=r(85),M=r(33),A=r(7),I=r(23),j=r(53),N=r(51),T=r(87),L=r(42),R=r(56),k=r(44),C=r(86),D=r(109),W=r(9),U=r(21),V=W.f,B=U.f,G=i.RangeError,z=i.TypeError,Y=i.Uint8Array,q=Array.prototype,$=f.ArrayBuffer,K=f.DataView,J=I(0),X=I(2),H=I(3),Z=I(4),Q=I(5),tt=I(6),nt=j(!0),rt=j(!1),et=T.values,it=T.keys,ot=T.entries,ut=q.lastIndexOf,ct=q.reduce,ft=q.reduceRight,at=q.join,st=q.sort,lt=q.slice,ht=q.toString,vt=q.toLocaleString,pt=A("iterator"),dt=A("toStringTag"),gt=M("typed_constructor"),yt=M("def_constructor"),xt=c.CONSTR,mt=c.TYPED,bt=c.VIEW,St=I(1,(function(t,n){return Ft(N(t,t[yt]),n)})),wt=o((function(){return 1===new Y(new Uint16Array([1]).buffer)[0]})),_t=!!Y&&!!Y.prototype.set&&o((function(){new Y(1).set({})})),Et=function(t,n){var r=p(t);if(r<0||r%n)throw G("Wrong offset!");return r},Ot=function(t){if(S(t)&&mt in t)return t;throw z(t+" is not a typed array!")},Ft=function(t,n){if(!S(t)||!(gt in t))throw z("It is not a typed array constructor!");return new t(n)},Pt=function(t,n){return Mt(N(t,t[yt]),n)},Mt=function(t,n){for(var r=0,e=n.length,i=Ft(t,e);e>r;)i[r]=n[r++];return i},At=function(t,n,r){V(t,n,{get:function(){return this._d[r]}})},It=function(t){var n,r,e,i,o,u,c=w(t),f=arguments.length,s=f>1?arguments[1]:void 0,l=void 0!==s,h=P(c);if(null!=h&&!_(h)){for(u=h.call(c),e=[],n=0;!(o=u.next()).done;n++)e.push(o.value);c=e}for(l&&f>2&&(s=a(s,arguments[2],2)),n=0,r=d(c.length),i=Ft(this,r);r>n;n++)i[n]=l?s(c[n],n):c[n];return i},jt=function(){for(var t=0,n=arguments.length,r=Ft(this,n);n>t;)r[t]=arguments[t++];return r},Nt=!!Y&&o((function(){vt.call(new Y(1))})),Tt=function(){return vt.apply(Nt?lt.call(Ot(this)):Ot(this),arguments)},Lt={copyWithin:function(t,n){return D.call(Ot(this),t,n,arguments.length>2?arguments[2]:void 0)},every:function(t){return Z(Ot(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return C.apply(Ot(this),arguments)},filter:function(t){return Pt(this,X(Ot(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(Ot(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){J(Ot(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return rt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return nt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return at.apply(Ot(this),arguments)},lastIndexOf:function(t){return ut.apply(Ot(this),arguments)},map:function(t){return St(Ot(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ct.apply(Ot(this),arguments)},reduceRight:function(t){return ft.apply(Ot(this),arguments)},reverse:function(){for(var t,n=Ot(this).length,r=Math.floor(n/2),e=0;e1?arguments[1]:void 0)},sort:function(t){return st.call(Ot(this),t)},subarray:function(t,n){var r=Ot(this),e=r.length,i=y(t,e);return new(N(r,r[yt]))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,d((void 0===n?e:y(n,e))-i))}},Rt=function(t,n){return Pt(this,lt.call(Ot(this),t,n))},kt=function(t){Ot(this);var n=Et(arguments[1],1),r=this.length,e=w(t),i=d(e.length),o=0;if(i+n>r)throw G("Wrong length!");for(;o255?255:255&e),i.v[v](r*n+i.o,e,wt)}(this,r,t)},enumerable:!0})};m?(p=r((function(t,r,e,i){s(t,p,a,"_d");var o,u,c,f,l=0,v=0;if(S(r)){if(!(r instanceof $||"ArrayBuffer"==(f=b(r))||"SharedArrayBuffer"==f))return mt in r?Mt(p,r):It.call(p,r);o=r,v=Et(e,n);var y=r.byteLength;if(void 0===i){if(y%n)throw G("Wrong length!");if((u=y-v)<0)throw G("Wrong length!")}else if((u=d(i)*n)+v>y)throw G("Wrong length!");c=u/n}else c=g(r),o=new $(u=c*n);for(h(t,"_d",{b:o,o:v,l:u,e:c,v:new K(o)});ldocument.F=Object<\/script>"),t.close(),f=t.F;e--;)delete f.prototype[o[e]];return f()};t.exports=Object.create||function(t,n){var r;return null!==t?(c.prototype=e(t),r=new c,c.prototype=null,r[u]=t):r=f(),void 0===n?r:i(r,n)}},function(t,n,r){var e=r(94),i=r(69).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,i)}},function(t,n,r){var e=r(16),i=r(13),o=r(68)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),e(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,n,r){var e=r(6);t.exports=function(t,n){if(!e(t)||t._t!==n)throw TypeError("Incompatible receiver, "+n+" required!");return t}},function(t,n,r){var e=r(9).f,i=r(16),o=r(7)("toStringTag");t.exports=function(t,n,r){t&&!i(t=r?t:t.prototype,o)&&e(t,o,{configurable:!0,value:n})}},function(t,n){t.exports={}},function(t,n,r){var e=r(7)("unscopables"),i=Array.prototype;null==i[e]&&r(17)(i,e,{}),t.exports=function(t){i[e][t]=!0}},function(t,n,r){"use strict";var e=r(3),i=r(9),o=r(10),u=r(7)("species");t.exports=function(t){var n=e[t];o&&n&&!n[u]&&i.f(n,u,{configurable:!0,get:function(){return this}})}},function(t,n){t.exports=function(t,n,r,e){if(!(t instanceof n)||void 0!==e&&e in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,n,r){var e=r(12);t.exports=function(t,n,r){for(var i in n)e(t,i,n[i],r);return t}},,function(t,n,r){var e=r(26);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,r){var e=r(26),i=r(7)("toStringTag"),o="Arguments"==e(function(){return arguments}());t.exports=function(t){var n,r,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?r:o?e(n):"Object"==(u=e(n))&&"function"==typeof n.callee?"Arguments":u}},function(t,n,r){var e=r(5),i=r(25),o=r(7)("species");t.exports=function(t,n){var r,u=e(t).constructor;return void 0===u||null==(r=e(u)[o])?n:i(r)}},function(t,n,r){var e=r(11),i=r(3),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:e.version,mode:r(34)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){var e=r(18),i=r(8),o=r(36);t.exports=function(t){return function(n,r,u){var c,f=e(n),a=i(f.length),s=o(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}}},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,r){var e=r(1),i=r(27),o=r(4),u=r(73),c="["+u+"]",f=RegExp("^"+c+c+"*"),a=RegExp(c+c+"*$"),s=function(t,n,r){var i={},c=o((function(){return!!u[t]()||"​…"!="​…"[t]()})),f=i[t]=c?n(l):u[t];r&&(i[r]=f),e(e.P+e.F*c,"String",i)},l=s.trim=function(t,n){return t=String(i(t)),1&n&&(t=t.replace(f,"")),2&n&&(t=t.replace(a,"")),t};t.exports=s},function(t,n,r){var e=r(7)("iterator"),i=!1;try{var o=[7][e]();o.return=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var r=!1;try{var o=[7],u=o[e]();u.next=function(){return{done:r=!0}},o[e]=function(){return u},t(o)}catch(t){}return r}},function(t,n,r){"use strict";var e=r(5);t.exports=function(){var t=e(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,r){"use strict";var e=r(50),i=RegExp.prototype.exec;t.exports=function(t,n){var r=t.exec;if("function"==typeof r){var o=r.call(t,n);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==e(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},function(t,n,r){"use strict";r(111);var e=r(12),i=r(17),o=r(4),u=r(27),c=r(7),f=r(88),a=c("species"),s=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),l=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(t,n,r){var h=c(t),v=!o((function(){var n={};return n[h]=function(){return 7},7!=""[t](n)})),p=v?!o((function(){var n=!1,r=/a/;return r.exec=function(){return n=!0,null},"split"===t&&(r.constructor={},r.constructor[a]=function(){return r}),r[h](""),!n})):void 0;if(!v||!p||"replace"===t&&!s||"split"===t&&!l){var d=/./[h],g=r(u,h,""[t],(function(t,n,r,e,i){return n.exec===f?v&&!i?{done:!0,value:d.call(n,r,e)}:{done:!0,value:t.call(r,n,e)}:{done:!1}})),y=g[0],x=g[1];e(String.prototype,t,y),i(RegExp.prototype,h,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}}},function(t,n,r){var e=r(24),i=r(107),o=r(83),u=r(5),c=r(8),f=r(85),a={},s={};(n=t.exports=function(t,n,r,l,h){var v,p,d,g,y=h?function(){return t}:f(t),x=e(r,l,n?2:1),m=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(o(y)){for(v=c(t.length);v>m;m++)if((g=n?x(u(p=t[m])[0],p[1]):x(t[m]))===a||g===s)return g}else for(d=y.call(t);!(p=d.next()).done;)if((g=i(d,x,p.value,n))===a||g===s)return g}).BREAK=a,n.RETURN=s},function(t,n,r){var e=r(3).navigator;t.exports=e&&e.userAgent||""},function(t,n,r){"use strict";var e=r(3),i=r(1),o=r(12),u=r(46),c=r(30),f=r(60),a=r(45),s=r(6),l=r(4),h=r(56),v=r(41),p=r(74);t.exports=function(t,n,r,d,g,y){var x=e[t],m=x,b=g?"set":"add",S=m&&m.prototype,w={},_=function(t){var n=S[t];o(S,t,"delete"==t||"has"==t?function(t){return!(y&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return y&&!s(t)?void 0:n.call(this,0===t?0:t)}:"add"==t?function(t){return n.call(this,0===t?0:t),this}:function(t,r){return n.call(this,0===t?0:t,r),this})};if("function"==typeof m&&(y||S.forEach&&!l((function(){(new m).entries().next()})))){var E=new m,O=E[b](y?{}:-0,1)!=E,F=l((function(){E.has(1)})),P=h((function(t){new m(t)})),M=!y&&l((function(){for(var t=new m,n=5;n--;)t[b](n,n);return!t.has(-0)}));P||((m=n((function(n,r){a(n,m,t);var e=p(new x,n,m);return null!=r&&f(r,g,e[b],e),e}))).prototype=S,S.constructor=m),(F||M)&&(_("delete"),_("has"),g&&_("get")),(M||O)&&_(b),y&&S.clear&&delete S.clear}else m=d.getConstructor(n,t,g,b),u(m.prototype,r),c.NEED=!0;return v(m,t),w[t]=m,i(i.G+i.W+i.F*(m!=x),w),y||d.setStrong(m,t,g),m}},function(t,n,r){for(var e,i=r(3),o=r(17),u=r(33),c=u("typed_array"),f=u("view"),a=!(!i.ArrayBuffer||!i.DataView),s=a,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(e=i[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,f,!0)):s=!1;t.exports={ABV:a,CONSTR:s,TYPED:c,VIEW:f}},,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var e=r(6),i=r(3).document,o=e(i)&&e(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,n,r){n.f=r(7)},function(t,n,r){var e=r(52)("keys"),i=r(33);t.exports=function(t){return e[t]||(e[t]=i(t))}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,r){var e=r(26);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(3).document;t.exports=e&&e.documentElement},function(t,n,r){var e=r(6),i=r(5),o=function(t,n){if(i(t),!e(n)&&null!==n)throw TypeError(n+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,e){try{(e=r(24)(Function.call,r(21).f(Object.prototype,"__proto__").set,2))(t,[]),n=!(t instanceof Array)}catch(t){n=!0}return function(t,r){return o(t,r),n?t.__proto__=r:e(t,r),t}}({},!1):void 0),check:o}},function(t,n){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,n,r){var e=r(6),i=r(72).set;t.exports=function(t,n,r){var o,u=n.constructor;return u!==r&&"function"==typeof u&&(o=u.prototype)!==r.prototype&&e(o)&&i&&i(t,o),t}},function(t,n,r){"use strict";var e=r(20),i=r(27);t.exports=function(t){var n=String(i(this)),r="",o=e(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(n+=n))1&o&&(r+=n);return r}},function(t,n){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,n){var r=Math.expm1;t.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:r},function(t,n,r){var e=r(20),i=r(27);t.exports=function(t){return function(n,r){var o,u,c=String(i(n)),f=e(r),a=c.length;return f<0||f>=a?t?"":void 0:(o=c.charCodeAt(f))<55296||o>56319||f+1===a||(u=c.charCodeAt(f+1))<56320||u>57343?t?c.charAt(f):o:t?c.slice(f,f+2):u-56320+(o-55296<<10)+65536}}},function(t,n,r){"use strict";var e=r(34),i=r(1),o=r(12),u=r(17),c=r(42),f=r(106),a=r(41),s=r(39),l=r(7)("iterator"),h=!([].keys&&"next"in[].keys()),v=function(){return this};t.exports=function(t,n,r,p,d,g,y){f(r,n,p);var x,m,b,S=function(t){if(!h&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new r(this,t)}}return function(){return new r(this,t)}},w=n+" Iterator",_="values"==d,E=!1,O=t.prototype,F=O[l]||O["@@iterator"]||d&&O[d],P=F||S(d),M=d?_?S("entries"):P:void 0,A="Array"==n&&O.entries||F;if(A&&(b=s(A.call(new t)))!==Object.prototype&&b.next&&(a(b,w,!0),e||"function"==typeof b[l]||u(b,l,v)),_&&F&&"values"!==F.name&&(E=!0,P=function(){return F.call(this)}),e&&!y||!h&&!E&&O[l]||u(O,l,P),c[n]=P,c[w]=v,d)if(x={values:_?P:S("values"),keys:g?P:S("keys"),entries:M},y)for(m in x)m in O||o(O,m,x[m]);else i(i.P+i.F*(h||E),n,x);return x}},function(t,n,r){var e=r(81),i=r(27);t.exports=function(t,n,r){if(e(n))throw TypeError("String#"+r+" doesn't accept regex!");return String(i(t))}},function(t,n,r){var e=r(6),i=r(26),o=r(7)("match");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,r){var e=r(7)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(r){try{return n[e]=!1,!"/./"[t](n)}catch(t){}}return!0}},function(t,n,r){var e=r(42),i=r(7)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(e.Array===t||o[i]===t)}},function(t,n,r){"use strict";var e=r(9),i=r(32);t.exports=function(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]=r}},function(t,n,r){var e=r(50),i=r(7)("iterator"),o=r(42);t.exports=r(11).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[e(t)]}},function(t,n,r){"use strict";var e=r(13),i=r(36),o=r(8);t.exports=function(t){for(var n=e(this),r=o(n.length),u=arguments.length,c=i(u>1?arguments[1]:void 0,r),f=u>2?arguments[2]:void 0,a=void 0===f?r:i(f,r);a>c;)n[c++]=t;return n}},function(t,n,r){"use strict";var e=r(43),i=r(110),o=r(42),u=r(18);t.exports=r(79)(Array,"Array",(function(t,n){this._t=u(t),this._i=0,this._k=n}),(function(){var t=this._t,n=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==n?r:"values"==n?t[r]:[r,t[r]])}),"values"),o.Arguments=o.Array,e("keys"),e("values"),e("entries")},function(t,n,r){"use strict";var e,i,o=r(57),u=RegExp.prototype.exec,c=String.prototype.replace,f=u,a=(e=/a/,i=/b*/g,u.call(e,"a"),u.call(i,"a"),0!==e.lastIndex||0!==i.lastIndex),s=void 0!==/()??/.exec("")[1];(a||s)&&(f=function(t){var n,r,e,i,f=this;return s&&(r=new RegExp("^"+f.source+"$(?!\\s)",o.call(f))),a&&(n=f.lastIndex),e=u.call(f,t),a&&e&&(f.lastIndex=f.global?e.index+e[0].length:n),s&&e&&e.length>1&&c.call(e[0],r,(function(){for(i=1;ir;)n.push(arguments[r++]);return y[++g]=function(){c("function"==typeof t?t:Function(t),n)},e(g),g},v=function(t){delete y[t]},"process"==r(26)(l)?e=function(t){l.nextTick(u(x,t,1))}:d&&d.now?e=function(t){d.now(u(x,t,1))}:p?(o=(i=new p).port2,i.port1.onmessage=m,e=u(o.postMessage,o,1)):s.addEventListener&&"function"==typeof postMessage&&!s.importScripts?(e=function(t){s.postMessage(t+"","*")},s.addEventListener("message",m,!1)):e="onreadystatechange"in a("script")?function(t){f.appendChild(a("script")).onreadystatechange=function(){f.removeChild(this),x.call(t)}}:function(t){setTimeout(u(x,t,1),0)}),t.exports={set:h,clear:v}},function(t,n,r){"use strict";var e=r(3),i=r(10),o=r(34),u=r(63),c=r(17),f=r(46),a=r(4),s=r(45),l=r(20),h=r(8),v=r(118),p=r(38).f,d=r(9).f,g=r(86),y=r(41),x=e.ArrayBuffer,m=e.DataView,b=e.Math,S=e.RangeError,w=e.Infinity,_=x,E=b.abs,O=b.pow,F=b.floor,P=b.log,M=b.LN2,A=i?"_b":"buffer",I=i?"_l":"byteLength",j=i?"_o":"byteOffset";function N(t,n,r){var e,i,o,u=new Array(r),c=8*r-n-1,f=(1<>1,s=23===n?O(2,-24)-O(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=E(t))!=t||t===w?(i=t!=t?1:0,e=f):(e=F(P(t)/M),t*(o=O(2,-e))<1&&(e--,o*=2),(t+=e+a>=1?s/o:s*O(2,1-a))*o>=2&&(e++,o/=2),e+a>=f?(i=0,e=f):e+a>=1?(i=(t*o-1)*O(2,n),e+=a):(i=t*O(2,a-1)*O(2,n),e=0));n>=8;u[l++]=255&i,i/=256,n-=8);for(e=e<0;u[l++]=255&e,e/=256,c-=8);return u[--l]|=128*h,u}function T(t,n,r){var e,i=8*r-n-1,o=(1<>1,c=i-7,f=r-1,a=t[f--],s=127&a;for(a>>=7;c>0;s=256*s+t[f],f--,c-=8);for(e=s&(1<<-c)-1,s>>=-c,c+=n;c>0;e=256*e+t[f],f--,c-=8);if(0===s)s=1-u;else{if(s===o)return e?NaN:a?-w:w;e+=O(2,n),s-=u}return(a?-1:1)*e*O(2,s-n)}function L(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function R(t){return[255&t]}function k(t){return[255&t,t>>8&255]}function C(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function D(t){return N(t,52,8)}function W(t){return N(t,23,4)}function U(t,n,r){d(t.prototype,n,{get:function(){return this[r]}})}function V(t,n,r,e){var i=v(+r);if(i+n>t[I])throw S("Wrong index!");var o=t[A]._b,u=i+t[j],c=o.slice(u,u+n);return e?c:c.reverse()}function B(t,n,r,e,i,o){var u=v(+r);if(u+n>t[I])throw S("Wrong index!");for(var c=t[A]._b,f=u+t[j],a=e(+i),s=0;sq;)(G=Y[q++])in x||c(x,G,_[G]);o||(z.constructor=x)}var $=new m(new x(2)),K=m.prototype.setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||f(m.prototype,{setInt8:function(t,n){K.call(this,t,n<<24>>24)},setUint8:function(t,n){K.call(this,t,n<<24>>24)}},!0)}else x=function(t){s(this,x,"ArrayBuffer");var n=v(t);this._b=g.call(new Array(n),0),this[I]=n},m=function(t,n,r){s(this,m,"DataView"),s(t,x,"DataView");var e=t[I],i=l(n);if(i<0||i>e)throw S("Wrong offset!");if(i+(r=void 0===r?e-i:h(r))>e)throw S("Wrong length!");this[A]=t,this[j]=i,this[I]=r},i&&(U(x,"byteLength","_l"),U(m,"buffer","_b"),U(m,"byteLength","_l"),U(m,"byteOffset","_o")),f(m.prototype,{getInt8:function(t){return V(this,1,t)[0]<<24>>24},getUint8:function(t){return V(this,1,t)[0]},getInt16:function(t){var n=V(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function(t){var n=V(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function(t){return L(V(this,4,t,arguments[1]))},getUint32:function(t){return L(V(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return T(V(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return T(V(this,8,t,arguments[1]),52,8)},setInt8:function(t,n){B(this,1,t,R,n)},setUint8:function(t,n){B(this,1,t,R,n)},setInt16:function(t,n){B(this,2,t,k,n,arguments[2])},setUint16:function(t,n){B(this,2,t,k,n,arguments[2])},setInt32:function(t,n){B(this,4,t,C,n,arguments[2])},setUint32:function(t,n){B(this,4,t,C,n,arguments[2])},setFloat32:function(t,n){B(this,4,t,W,n,arguments[2])},setFloat64:function(t,n){B(this,8,t,D,n,arguments[2])}});y(x,"ArrayBuffer"),y(m,"DataView"),c(m.prototype,u.VIEW,!0),n.ArrayBuffer=x,n.DataView=m},function(t,n,r){t.exports=!r(10)&&!r(4)((function(){return 7!=Object.defineProperty(r(66)("div"),"a",{get:function(){return 7}}).a}))},function(t,n,r){var e=r(3),i=r(11),o=r(34),u=r(67),c=r(9).f;t.exports=function(t){var n=i.Symbol||(i.Symbol=o?{}:e.Symbol||{});"_"==t.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},function(t,n,r){var e=r(16),i=r(18),o=r(53)(!1),u=r(68)("IE_PROTO");t.exports=function(t,n){var r,c=i(t),f=0,a=[];for(r in c)r!=u&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~o(a,r)||a.push(r));return a}},function(t,n,r){var e=r(9),i=r(5),o=r(35);t.exports=r(10)?Object.defineProperties:function(t,n){i(t);for(var r,u=o(n),c=u.length,f=0;c>f;)e.f(t,r=u[f++],n[r]);return t}},function(t,n,r){var e=r(18),i=r(38).f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return u&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return u.slice()}}(t):i(e(t))}},function(t,n,r){"use strict";var e=r(35),i=r(54),o=r(49),u=r(13),c=r(48),f=Object.assign;t.exports=!f||r(4)((function(){var t={},n={},r=Symbol(),e="abcdefghijklmnopqrst";return t[r]=7,e.split("").forEach((function(t){n[t]=t})),7!=f({},t)[r]||Object.keys(f({},n)).join("")!=e}))?function(t,n){for(var r=u(t),f=arguments.length,a=1,s=i.f,l=o.f;f>a;)for(var h,v=c(arguments[a++]),p=s?e(v).concat(s(v)):e(v),d=p.length,g=0;d>g;)l.call(v,h=p[g++])&&(r[h]=v[h]);return r}:f},function(t,n){t.exports=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,r){"use strict";var e=r(25),i=r(6),o=r(100),u=[].slice,c={},f=function(t,n,r){if(!(n in c)){for(var e=[],i=0;i>>0||(u.test(r)?16:10))}:e},function(t,n,r){var e=r(3).parseFloat,i=r(55).trim;t.exports=1/e(r(73)+"-0")!=-1/0?function(t){var n=i(String(t),3),r=e(n);return 0===r&&"-"==n.charAt(0)?-0:r}:e},function(t,n,r){var e=r(26);t.exports=function(t,n){if("number"!=typeof t&&"Number"!=e(t))throw TypeError(n);return+t}},function(t,n,r){var e=r(6),i=Math.floor;t.exports=function(t){return!e(t)&&isFinite(t)&&i(t)===t}},function(t,n){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,n,r){"use strict";var e=r(37),i=r(32),o=r(41),u={};r(17)(u,r(7)("iterator"),(function(){return this})),t.exports=function(t,n,r){t.prototype=e(u,{next:i(1,r)}),o(t,n+" Iterator")}},function(t,n,r){var e=r(5);t.exports=function(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o=t.return;throw void 0!==o&&e(o.call(t)),n}}},function(t,n,r){var e=r(25),i=r(13),o=r(48),u=r(8);t.exports=function(t,n,r,c,f){e(n);var a=i(t),s=o(a),l=u(a.length),h=f?l-1:0,v=f?-1:1;if(r<2)for(;;){if(h in s){c=s[h],h+=v;break}if(h+=v,f?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;f?h>=0:l>h;h+=v)h in s&&(c=n(c,s[h],h,a));return c}},function(t,n,r){"use strict";var e=r(13),i=r(36),o=r(8);t.exports=[].copyWithin||function(t,n){var r=e(this),u=o(r.length),c=i(t,u),f=i(n,u),a=arguments.length>2?arguments[2]:void 0,s=Math.min((void 0===a?u:i(a,u))-f,u-c),l=1;for(f0;)f in r?r[c]=r[f]:delete r[c],c+=l,f+=l;return r}},function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},function(t,n,r){"use strict";var e=r(88);r(1)({target:"RegExp",proto:!0,forced:e!==/./.exec},{exec:e})},function(t,n,r){r(10)&&"g"!=/./g.flags&&r(9).f(RegExp.prototype,"flags",{configurable:!0,get:r(57)})},function(t,n,r){"use strict";var e,i,o,u,c=r(34),f=r(3),a=r(24),s=r(50),l=r(1),h=r(6),v=r(25),p=r(45),d=r(60),g=r(51),y=r(90).set,x=r(248)(),m=r(114),b=r(249),S=r(61),w=r(115),_=f.TypeError,E=f.process,O=E&&E.versions,F=O&&O.v8||"",P=f.Promise,M="process"==s(E),A=function(){},I=i=m.f,j=!!function(){try{var t=P.resolve(1),n=(t.constructor={})[r(7)("species")]=function(t){t(A,A)};return(M||"function"==typeof PromiseRejectionEvent)&&t.then(A)instanceof n&&0!==F.indexOf("6.6")&&-1===S.indexOf("Chrome/66")}catch(t){}}(),N=function(t){var n;return!(!h(t)||"function"!=typeof(n=t.then))&&n},T=function(t,n){if(!t._n){t._n=!0;var r=t._c;x((function(){for(var e=t._v,i=1==t._s,o=0,u=function(n){var r,o,u,c=i?n.ok:n.fail,f=n.resolve,a=n.reject,s=n.domain;try{c?(i||(2==t._h&&k(t),t._h=1),!0===c?r=e:(s&&s.enter(),r=c(e),s&&(s.exit(),u=!0)),r===n.promise?a(_("Promise-chain cycle")):(o=N(r))?o.call(r,f,a):f(r)):a(e)}catch(t){s&&!u&&s.exit(),a(t)}};r.length>o;)u(r[o++]);t._c=[],t._n=!1,n&&!t._h&&L(t)}))}},L=function(t){y.call(f,(function(){var n,r,e,i=t._v,o=R(t);if(o&&(n=b((function(){M?E.emit("unhandledRejection",i,t):(r=f.onunhandledrejection)?r({promise:t,reason:i}):(e=f.console)&&e.error&&e.error("Unhandled promise rejection",i)})),t._h=M||R(t)?2:1),t._a=void 0,o&&n.e)throw n.v}))},R=function(t){return 1!==t._h&&0===(t._a||t._c).length},k=function(t){y.call(f,(function(){var n;M?E.emit("rejectionHandled",t):(n=f.onrejectionhandled)&&n({promise:t,reason:t._v})}))},C=function(t){var n=this;n._d||(n._d=!0,(n=n._w||n)._v=t,n._s=2,n._a||(n._a=n._c.slice()),T(n,!0))},D=function(t){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw _("Promise can't be resolved itself");(n=N(t))?x((function(){var e={_w:r,_d:!1};try{n.call(t,a(D,e,1),a(C,e,1))}catch(t){C.call(e,t)}})):(r._v=t,r._s=1,T(r,!1))}catch(t){C.call({_w:r,_d:!1},t)}}};j||(P=function(t){p(this,P,"Promise","_h"),v(t),e.call(this);try{t(a(D,this,1),a(C,this,1))}catch(t){C.call(this,t)}},(e=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(46)(P.prototype,{then:function(t,n){var r=I(g(this,P));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=M?E.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&T(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new e;this.promise=t,this.resolve=a(D,t,1),this.reject=a(C,t,1)},m.f=I=function(t){return t===P||t===u?new o(t):i(t)}),l(l.G+l.W+l.F*!j,{Promise:P}),r(41)(P,"Promise"),r(44)("Promise"),u=r(11).Promise,l(l.S+l.F*!j,"Promise",{reject:function(t){var n=I(this);return(0,n.reject)(t),n.promise}}),l(l.S+l.F*(c||!j),"Promise",{resolve:function(t){return w(c&&this===u?P:this,t)}}),l(l.S+l.F*!(j&&r(56)((function(t){P.all(t).catch(A)}))),"Promise",{all:function(t){var n=this,r=I(n),e=r.resolve,i=r.reject,o=b((function(){var r=[],o=0,u=1;d(t,!1,(function(t){var c=o++,f=!1;r.push(void 0),u++,n.resolve(t).then((function(t){f||(f=!0,r[c]=t,--u||e(r))}),i)})),--u||e(r)}));return o.e&&i(o.v),r.promise},race:function(t){var n=this,r=I(n),e=r.reject,i=b((function(){d(t,!1,(function(t){n.resolve(t).then(r.resolve,e)}))}));return i.e&&e(i.v),r.promise}})},function(t,n,r){"use strict";var e=r(25);function i(t){var n,r;this.promise=new t((function(t,e){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=t,r=e})),this.resolve=e(n),this.reject=e(r)}t.exports.f=function(t){return new i(t)}},function(t,n,r){var e=r(5),i=r(6),o=r(114);t.exports=function(t,n){if(e(t),i(n)&&n.constructor===t)return n;var r=o.f(t);return(0,r.resolve)(n),r.promise}},function(t,n,r){"use strict";var e=r(9).f,i=r(37),o=r(46),u=r(24),c=r(45),f=r(60),a=r(79),s=r(110),l=r(44),h=r(10),v=r(30).fastKey,p=r(40),d=h?"_s":"size",g=function(t,n){var r,e=v(n);if("F"!==e)return t._i[e];for(r=t._f;r;r=r.n)if(r.k==n)return r};t.exports={getConstructor:function(t,n,r,a){var s=t((function(t,e){c(t,s,n,"_i"),t._t=n,t._i=i(null),t._f=void 0,t._l=void 0,t[d]=0,null!=e&&f(e,r,t[a],t)}));return o(s.prototype,{clear:function(){for(var t=p(this,n),r=t._i,e=t._f;e;e=e.n)e.r=!0,e.p&&(e.p=e.p.n=void 0),delete r[e.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var r=p(this,n),e=g(r,t);if(e){var i=e.n,o=e.p;delete r._i[e.i],e.r=!0,o&&(o.n=i),i&&(i.p=o),r._f==e&&(r._f=i),r._l==e&&(r._l=o),r[d]--}return!!e},forEach:function(t){p(this,n);for(var r,e=u(t,arguments.length>1?arguments[1]:void 0,3);r=r?r.n:this._f;)for(e(r.v,r.k,this);r&&r.r;)r=r.p},has:function(t){return!!g(p(this,n),t)}}),h&&e(s.prototype,"size",{get:function(){return p(this,n)[d]}}),s},def:function(t,n,r){var e,i,o=g(t,n);return o?o.v=r:(t._l=o={i:i=v(n,!0),k:n,v:r,p:e=t._l,n:void 0,r:!1},t._f||(t._f=o),e&&(e.n=o),t[d]++,"F"!==i&&(t._i[i]=o)),t},getEntry:g,setStrong:function(t,n,r){a(t,n,(function(t,r){this._t=p(t,n),this._k=r,this._l=void 0}),(function(){for(var t=this._k,n=this._l;n&&n.r;)n=n.p;return this._t&&(this._l=n=n?n.n:this._t._f)?s(0,"keys"==t?n.k:"values"==t?n.v:[n.k,n.v]):(this._t=void 0,s(1))}),r?"entries":"values",!r,!0),l(n)}}},function(t,n,r){"use strict";var e=r(46),i=r(30).getWeak,o=r(5),u=r(6),c=r(45),f=r(60),a=r(23),s=r(16),l=r(40),h=a(5),v=a(6),p=0,d=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},y=function(t,n){return h(t.a,(function(t){return t[0]===n}))};g.prototype={get:function(t){var n=y(this,t);if(n)return n[1]},has:function(t){return!!y(this,t)},set:function(t,n){var r=y(this,t);r?r[1]=n:this.a.push([t,n])},delete:function(t){var n=v(this.a,(function(n){return n[0]===t}));return~n&&this.a.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,r,o){var a=t((function(t,e){c(t,a,n,"_i"),t._t=n,t._i=p++,t._l=void 0,null!=e&&f(e,r,t[o],t)}));return e(a.prototype,{delete:function(t){if(!u(t))return!1;var r=i(t);return!0===r?d(l(this,n)).delete(t):r&&s(r,this._i)&&delete r[this._i]},has:function(t){if(!u(t))return!1;var r=i(t);return!0===r?d(l(this,n)).has(t):r&&s(r,this._i)}}),a},def:function(t,n,r){var e=i(o(n),!0);return!0===e?d(t).set(n,r):e[t._i]=r,t},ufstore:d}},function(t,n,r){var e=r(20),i=r(8);t.exports=function(t){if(void 0===t)return 0;var n=e(t),r=i(n);if(n!==r)throw RangeError("Wrong length!");return r}},function(t,n,r){var e=r(38),i=r(54),o=r(5),u=r(3).Reflect;t.exports=u&&u.ownKeys||function(t){var n=e.f(o(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(8),i=r(75),o=r(27);t.exports=function(t,n,r,u){var c=String(o(t)),f=c.length,a=void 0===r?" ":String(r),s=e(n);if(s<=f||""==a)return c;var l=s-f,h=i.call(a,Math.ceil(l/a.length));return h.length>l&&(h=h.slice(0,l)),u?h+c:c+h}},function(t,n,r){var e=r(35),i=r(18),o=r(49).f;t.exports=function(t){return function(n){for(var r,u=i(n),c=e(u),f=c.length,a=0,s=[];f>a;)o.call(u,r=c[a++])&&s.push(t?[r,u[r]]:u[r]);return s}}},,,,,,,,,,,,function(t,n,r){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),r(134)},function(t,n,r){"use strict";(function(t){r(135),r(279),r(281),r(283),r(285),r(287),r(289),r(291),r(293),r(295),r(299),t._babelPolyfill&&"undefined"!=typeof console&&console.warn&&console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning."),t._babelPolyfill=!0}).call(this,r(65))},function(t,n,r){r(136),r(139),r(140),r(141),r(142),r(143),r(144),r(145),r(146),r(147),r(148),r(149),r(150),r(151),r(152),r(153),r(154),r(155),r(156),r(157),r(158),r(159),r(160),r(161),r(162),r(163),r(164),r(165),r(166),r(167),r(168),r(169),r(170),r(171),r(172),r(173),r(174),r(175),r(176),r(177),r(178),r(179),r(180),r(182),r(183),r(184),r(185),r(186),r(187),r(188),r(189),r(190),r(191),r(192),r(193),r(194),r(195),r(196),r(197),r(198),r(199),r(200),r(201),r(202),r(203),r(204),r(205),r(206),r(207),r(208),r(209),r(210),r(211),r(212),r(213),r(214),r(215),r(217),r(218),r(220),r(221),r(222),r(223),r(224),r(225),r(226),r(229),r(230),r(231),r(232),r(233),r(234),r(235),r(236),r(237),r(238),r(239),r(240),r(241),r(87),r(242),r(111),r(243),r(112),r(244),r(245),r(246),r(247),r(113),r(250),r(251),r(252),r(253),r(254),r(255),r(256),r(257),r(258),r(259),r(260),r(261),r(262),r(263),r(264),r(265),r(266),r(267),r(268),r(269),r(270),r(271),r(272),r(273),r(274),r(275),r(276),r(277),r(278),t.exports=r(11)},function(t,n,r){"use strict";var e=r(3),i=r(16),o=r(10),u=r(1),c=r(12),f=r(30).KEY,a=r(4),s=r(52),l=r(41),h=r(33),v=r(7),p=r(67),d=r(93),g=r(138),y=r(70),x=r(5),m=r(6),b=r(18),S=r(29),w=r(32),_=r(37),E=r(96),O=r(21),F=r(9),P=r(35),M=O.f,A=F.f,I=E.f,j=e.Symbol,N=e.JSON,T=N&&N.stringify,L=v("_hidden"),R=v("toPrimitive"),k={}.propertyIsEnumerable,C=s("symbol-registry"),D=s("symbols"),W=s("op-symbols"),U=Object.prototype,V="function"==typeof j,B=e.QObject,G=!B||!B.prototype||!B.prototype.findChild,z=o&&a((function(){return 7!=_(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a}))?function(t,n,r){var e=M(U,n);e&&delete U[n],A(t,n,r),e&&t!==U&&A(U,n,e)}:A,Y=function(t){var n=D[t]=_(j.prototype);return n._k=t,n},q=V&&"symbol"==typeof j.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof j},$=function(t,n,r){return t===U&&$(W,n,r),x(t),n=S(n,!0),x(r),i(D,n)?(r.enumerable?(i(t,L)&&t[L][n]&&(t[L][n]=!1),r=_(r,{enumerable:w(0,!1)})):(i(t,L)||A(t,L,w(1,{})),t[L][n]=!0),z(t,n,r)):A(t,n,r)},K=function(t,n){x(t);for(var r,e=g(n=b(n)),i=0,o=e.length;o>i;)$(t,r=e[i++],n[r]);return t},J=function(t){var n=k.call(this,t=S(t,!0));return!(this===U&&i(D,t)&&!i(W,t))&&(!(n||!i(this,t)||!i(D,t)||i(this,L)&&this[L][t])||n)},X=function(t,n){if(t=b(t),n=S(n,!0),t!==U||!i(D,n)||i(W,n)){var r=M(t,n);return!r||!i(D,n)||i(t,L)&&t[L][n]||(r.enumerable=!0),r}},H=function(t){for(var n,r=I(b(t)),e=[],o=0;r.length>o;)i(D,n=r[o++])||n==L||n==f||e.push(n);return e},Z=function(t){for(var n,r=t===U,e=I(r?W:b(t)),o=[],u=0;e.length>u;)!i(D,n=e[u++])||r&&!i(U,n)||o.push(D[n]);return o};V||(c((j=function(){if(this instanceof j)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),n=function(r){this===U&&n.call(W,r),i(this,L)&&i(this[L],t)&&(this[L][t]=!1),z(this,t,w(1,r))};return o&&G&&z(U,t,{configurable:!0,set:n}),Y(t)}).prototype,"toString",(function(){return this._k})),O.f=X,F.f=$,r(38).f=E.f=H,r(49).f=J,r(54).f=Z,o&&!r(34)&&c(U,"propertyIsEnumerable",J,!0),p.f=function(t){return Y(v(t))}),u(u.G+u.W+u.F*!V,{Symbol:j});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)v(Q[tt++]);for(var nt=P(v.store),rt=0;nt.length>rt;)d(nt[rt++]);u(u.S+u.F*!V,"Symbol",{for:function(t){return i(C,t+="")?C[t]:C[t]=j(t)},keyFor:function(t){if(!q(t))throw TypeError(t+" is not a symbol!");for(var n in C)if(C[n]===t)return n},useSetter:function(){G=!0},useSimple:function(){G=!1}}),u(u.S+u.F*!V,"Object",{create:function(t,n){return void 0===n?_(t):K(_(t),n)},defineProperty:$,defineProperties:K,getOwnPropertyDescriptor:X,getOwnPropertyNames:H,getOwnPropertySymbols:Z}),N&&u(u.S+u.F*(!V||a((function(){var t=j();return"[null]"!=T([t])||"{}"!=T({a:t})||"{}"!=T(Object(t))}))),"JSON",{stringify:function(t){for(var n,r,e=[t],i=1;arguments.length>i;)e.push(arguments[i++]);if(r=n=e[1],(m(n)||void 0!==t)&&!q(t))return y(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!q(n))return n}),e[1]=n,T.apply(N,e)}}),j.prototype[R]||r(17)(j.prototype,R,j.prototype.valueOf),l(j,"Symbol"),l(Math,"Math",!0),l(e.JSON,"JSON",!0)},function(t,n,r){t.exports=r(52)("native-function-to-string",Function.toString)},function(t,n,r){var e=r(35),i=r(54),o=r(49);t.exports=function(t){var n=e(t),r=i.f;if(r)for(var u,c=r(t),f=o.f,a=0;c.length>a;)f.call(t,u=c[a++])&&n.push(u);return n}},function(t,n,r){var e=r(1);e(e.S,"Object",{create:r(37)})},function(t,n,r){var e=r(1);e(e.S+e.F*!r(10),"Object",{defineProperty:r(9).f})},function(t,n,r){var e=r(1);e(e.S+e.F*!r(10),"Object",{defineProperties:r(95)})},function(t,n,r){var e=r(18),i=r(21).f;r(22)("getOwnPropertyDescriptor",(function(){return function(t,n){return i(e(t),n)}}))},function(t,n,r){var e=r(13),i=r(39);r(22)("getPrototypeOf",(function(){return function(t){return i(e(t))}}))},function(t,n,r){var e=r(13),i=r(35);r(22)("keys",(function(){return function(t){return i(e(t))}}))},function(t,n,r){r(22)("getOwnPropertyNames",(function(){return r(96).f}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("freeze",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("seal",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6),i=r(30).onFreeze;r(22)("preventExtensions",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},function(t,n,r){var e=r(6);r(22)("isFrozen",(function(t){return function(n){return!e(n)||!!t&&t(n)}}))},function(t,n,r){var e=r(6);r(22)("isSealed",(function(t){return function(n){return!e(n)||!!t&&t(n)}}))},function(t,n,r){var e=r(6);r(22)("isExtensible",(function(t){return function(n){return!!e(n)&&(!t||t(n))}}))},function(t,n,r){var e=r(1);e(e.S+e.F,"Object",{assign:r(97)})},function(t,n,r){var e=r(1);e(e.S,"Object",{is:r(98)})},function(t,n,r){var e=r(1);e(e.S,"Object",{setPrototypeOf:r(72).set})},function(t,n,r){"use strict";var e=r(50),i={};i[r(7)("toStringTag")]="z",i+""!="[object z]"&&r(12)(Object.prototype,"toString",(function(){return"[object "+e(this)+"]"}),!0)},function(t,n,r){var e=r(1);e(e.P,"Function",{bind:r(99)})},function(t,n,r){var e=r(9).f,i=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in i||r(10)&&e(i,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},function(t,n,r){"use strict";var e=r(6),i=r(39),o=r(7)("hasInstance"),u=Function.prototype;o in u||r(9).f(u,o,{value:function(t){if("function"!=typeof this||!e(t))return!1;if(!e(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,n,r){var e=r(1),i=r(101);e(e.G+e.F*(parseInt!=i),{parseInt:i})},function(t,n,r){var e=r(1),i=r(102);e(e.G+e.F*(parseFloat!=i),{parseFloat:i})},function(t,n,r){"use strict";var e=r(3),i=r(16),o=r(26),u=r(74),c=r(29),f=r(4),a=r(38).f,s=r(21).f,l=r(9).f,h=r(55).trim,v=e.Number,p=v,d=v.prototype,g="Number"==o(r(37)(d)),y="trim"in String.prototype,x=function(t){var n=c(t,!1);if("string"==typeof n&&n.length>2){var r,e,i,o=(n=y?n.trim():h(n,3)).charCodeAt(0);if(43===o||45===o){if(88===(r=n.charCodeAt(2))||120===r)return NaN}else if(48===o){switch(n.charCodeAt(1)){case 66:case 98:e=2,i=49;break;case 79:case 111:e=8,i=55;break;default:return+n}for(var u,f=n.slice(2),a=0,s=f.length;ai)return NaN;return parseInt(f,e)}}return+n};if(!v(" 0o1")||!v("0b1")||v("+0x1")){v=function(t){var n=arguments.length<1?0:t,r=this;return r instanceof v&&(g?f((function(){d.valueOf.call(r)})):"Number"!=o(r))?u(new p(x(n)),r,v):x(n)};for(var m,b=r(10)?a(p):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),S=0;b.length>S;S++)i(p,m=b[S])&&!i(v,m)&&l(v,m,s(p,m));v.prototype=d,d.constructor=v,r(12)(e,"Number",v)}},function(t,n,r){"use strict";var e=r(1),i=r(20),o=r(103),u=r(75),c=1..toFixed,f=Math.floor,a=[0,0,0,0,0,0],s="Number.toFixed: incorrect invocation!",l=function(t,n){for(var r=-1,e=n;++r<6;)e+=t*a[r],a[r]=e%1e7,e=f(e/1e7)},h=function(t){for(var n=6,r=0;--n>=0;)r+=a[n],a[n]=f(r/t),r=r%t*1e7},v=function(){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==a[t]){var r=String(a[t]);n=""===n?r:n+u.call("0",7-r.length)+r}return n},p=function(t,n,r){return 0===n?r:n%2==1?p(t,n-1,r*t):p(t*t,n/2,r)};e(e.P+e.F*(!!c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!r(4)((function(){c.call({})}))),"Number",{toFixed:function(t){var n,r,e,c,f=o(this,s),a=i(t),d="",g="0";if(a<0||a>20)throw RangeError(s);if(f!=f)return"NaN";if(f<=-1e21||f>=1e21)return String(f);if(f<0&&(d="-",f=-f),f>1e-21)if(r=(n=function(t){for(var n=0,r=t;r>=4096;)n+=12,r/=4096;for(;r>=2;)n+=1,r/=2;return n}(f*p(2,69,1))-69)<0?f*p(2,-n,1):f/p(2,n,1),r*=4503599627370496,(n=52-n)>0){for(l(0,r),e=a;e>=7;)l(1e7,0),e-=7;for(l(p(10,e,1),0),e=n-1;e>=23;)h(1<<23),e-=23;h(1<0?d+((c=g.length)<=a?"0."+u.call("0",a-c)+g:g.slice(0,c-a)+"."+g.slice(c-a)):d+g}})},function(t,n,r){"use strict";var e=r(1),i=r(4),o=r(103),u=1..toPrecision;e(e.P+e.F*(i((function(){return"1"!==u.call(1,void 0)}))||!i((function(){u.call({})}))),"Number",{toPrecision:function(t){var n=o(this,"Number#toPrecision: incorrect invocation!");return void 0===t?u.call(n):u.call(n,t)}})},function(t,n,r){var e=r(1);e(e.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,n,r){var e=r(1),i=r(3).isFinite;e(e.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},function(t,n,r){var e=r(1);e(e.S,"Number",{isInteger:r(104)})},function(t,n,r){var e=r(1);e(e.S,"Number",{isNaN:function(t){return t!=t}})},function(t,n,r){var e=r(1),i=r(104),o=Math.abs;e(e.S,"Number",{isSafeInteger:function(t){return i(t)&&o(t)<=9007199254740991}})},function(t,n,r){var e=r(1);e(e.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,n,r){var e=r(1);e(e.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,n,r){var e=r(1),i=r(102);e(e.S+e.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},function(t,n,r){var e=r(1),i=r(101);e(e.S+e.F*(Number.parseInt!=i),"Number",{parseInt:i})},function(t,n,r){var e=r(1),i=r(105),o=Math.sqrt,u=Math.acosh;e(e.S+e.F*!(u&&710==Math.floor(u(Number.MAX_VALUE))&&u(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},function(t,n,r){var e=r(1),i=Math.asinh;e(e.S+e.F*!(i&&1/i(0)>0),"Math",{asinh:function t(n){return isFinite(n=+n)&&0!=n?n<0?-t(-n):Math.log(n+Math.sqrt(n*n+1)):n}})},function(t,n,r){var e=r(1),i=Math.atanh;e(e.S+e.F*!(i&&1/i(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,n,r){var e=r(1),i=r(76);e(e.S,"Math",{cbrt:function(t){return i(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,n,r){var e=r(1);e(e.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,n,r){var e=r(1),i=Math.exp;e(e.S,"Math",{cosh:function(t){return(i(t=+t)+i(-t))/2}})},function(t,n,r){var e=r(1),i=r(77);e(e.S+e.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,n,r){var e=r(1);e(e.S,"Math",{fround:r(181)})},function(t,n,r){var e=r(76),i=Math.pow,o=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),f=i(2,-126);t.exports=Math.fround||function(t){var n,r,i=Math.abs(t),a=e(t);return ic||r!=r?a*(1/0):a*r}},function(t,n,r){var e=r(1),i=Math.abs;e(e.S,"Math",{hypot:function(t,n){for(var r,e,o=0,u=0,c=arguments.length,f=0;u0?(e=r/f)*e:r;return f===1/0?1/0:f*Math.sqrt(o)}})},function(t,n,r){var e=r(1),i=Math.imul;e(e.S+e.F*r(4)((function(){return-5!=i(4294967295,5)||2!=i.length})),"Math",{imul:function(t,n){var r=+t,e=+n,i=65535&r,o=65535&e;return 0|i*o+((65535&r>>>16)*o+i*(65535&e>>>16)<<16>>>0)}})},function(t,n,r){var e=r(1);e(e.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,n,r){var e=r(1);e(e.S,"Math",{log1p:r(105)})},function(t,n,r){var e=r(1);e(e.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,n,r){var e=r(1);e(e.S,"Math",{sign:r(76)})},function(t,n,r){var e=r(1),i=r(77),o=Math.exp;e(e.S+e.F*r(4)((function(){return-2e-17!=!Math.sinh(-2e-17)})),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,n,r){var e=r(1),i=r(77),o=Math.exp;e(e.S,"Math",{tanh:function(t){var n=i(t=+t),r=i(-t);return n==1/0?1:r==1/0?-1:(n-r)/(o(t)+o(-t))}})},function(t,n,r){var e=r(1);e(e.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,n,r){var e=r(1),i=r(36),o=String.fromCharCode,u=String.fromCodePoint;e(e.S+e.F*(!!u&&1!=u.length),"String",{fromCodePoint:function(t){for(var n,r=[],e=arguments.length,u=0;e>u;){if(n=+arguments[u++],i(n,1114111)!==n)throw RangeError(n+" is not a valid code point");r.push(n<65536?o(n):o(55296+((n-=65536)>>10),n%1024+56320))}return r.join("")}})},function(t,n,r){var e=r(1),i=r(18),o=r(8);e(e.S,"String",{raw:function(t){for(var n=i(t.raw),r=o(n.length),e=arguments.length,u=[],c=0;r>c;)u.push(String(n[c++])),c=n.length?{value:void 0,done:!0}:(t=e(n,r),this._i+=t.length,{value:t,done:!1})}))},function(t,n,r){"use strict";var e=r(1),i=r(78)(!1);e(e.P,"String",{codePointAt:function(t){return i(this,t)}})},function(t,n,r){"use strict";var e=r(1),i=r(8),o=r(80),u="".endsWith;e(e.P+e.F*r(82)("endsWith"),"String",{endsWith:function(t){var n=o(this,t,"endsWith"),r=arguments.length>1?arguments[1]:void 0,e=i(n.length),c=void 0===r?e:Math.min(i(r),e),f=String(t);return u?u.call(n,f,c):n.slice(c-f.length,c)===f}})},function(t,n,r){"use strict";var e=r(1),i=r(80);e(e.P+e.F*r(82)("includes"),"String",{includes:function(t){return!!~i(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,r){var e=r(1);e(e.P,"String",{repeat:r(75)})},function(t,n,r){"use strict";var e=r(1),i=r(8),o=r(80),u="".startsWith;e(e.P+e.F*r(82)("startsWith"),"String",{startsWith:function(t){var n=o(this,t,"startsWith"),r=i(Math.min(arguments.length>1?arguments[1]:void 0,n.length)),e=String(t);return u?u.call(n,e,r):n.slice(r,r+e.length)===e}})},function(t,n,r){"use strict";r(14)("anchor",(function(t){return function(n){return t(this,"a","name",n)}}))},function(t,n,r){"use strict";r(14)("big",(function(t){return function(){return t(this,"big","","")}}))},function(t,n,r){"use strict";r(14)("blink",(function(t){return function(){return t(this,"blink","","")}}))},function(t,n,r){"use strict";r(14)("bold",(function(t){return function(){return t(this,"b","","")}}))},function(t,n,r){"use strict";r(14)("fixed",(function(t){return function(){return t(this,"tt","","")}}))},function(t,n,r){"use strict";r(14)("fontcolor",(function(t){return function(n){return t(this,"font","color",n)}}))},function(t,n,r){"use strict";r(14)("fontsize",(function(t){return function(n){return t(this,"font","size",n)}}))},function(t,n,r){"use strict";r(14)("italics",(function(t){return function(){return t(this,"i","","")}}))},function(t,n,r){"use strict";r(14)("link",(function(t){return function(n){return t(this,"a","href",n)}}))},function(t,n,r){"use strict";r(14)("small",(function(t){return function(){return t(this,"small","","")}}))},function(t,n,r){"use strict";r(14)("strike",(function(t){return function(){return t(this,"strike","","")}}))},function(t,n,r){"use strict";r(14)("sub",(function(t){return function(){return t(this,"sub","","")}}))},function(t,n,r){"use strict";r(14)("sup",(function(t){return function(){return t(this,"sup","","")}}))},function(t,n,r){var e=r(1);e(e.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,n,r){"use strict";var e=r(1),i=r(13),o=r(29);e(e.P+e.F*r(4)((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})),"Date",{toJSON:function(t){var n=i(this),r=o(n);return"number"!=typeof r||isFinite(r)?n.toISOString():null}})},function(t,n,r){var e=r(1),i=r(216);e(e.P+e.F*(Date.prototype.toISOString!==i),"Date",{toISOString:i})},function(t,n,r){"use strict";var e=r(4),i=Date.prototype.getTime,o=Date.prototype.toISOString,u=function(t){return t>9?t:"0"+t};t.exports=e((function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-50000000000001))}))||!e((function(){o.call(new Date(NaN))}))?function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var t=this,n=t.getUTCFullYear(),r=t.getUTCMilliseconds(),e=n<0?"-":n>9999?"+":"";return e+("00000"+Math.abs(n)).slice(e?-6:-4)+"-"+u(t.getUTCMonth()+1)+"-"+u(t.getUTCDate())+"T"+u(t.getUTCHours())+":"+u(t.getUTCMinutes())+":"+u(t.getUTCSeconds())+"."+(r>99?r:"0"+u(r))+"Z"}:o},function(t,n,r){var e=Date.prototype,i=e.toString,o=e.getTime;new Date(NaN)+""!="Invalid Date"&&r(12)(e,"toString",(function(){var t=o.call(this);return t==t?i.call(this):"Invalid Date"}))},function(t,n,r){var e=r(7)("toPrimitive"),i=Date.prototype;e in i||r(17)(i,e,r(219))},function(t,n,r){"use strict";var e=r(5),i=r(29);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return i(e(this),"number"!=t)}},function(t,n,r){var e=r(1);e(e.S,"Array",{isArray:r(70)})},function(t,n,r){"use strict";var e=r(24),i=r(1),o=r(13),u=r(107),c=r(83),f=r(8),a=r(84),s=r(85);i(i.S+i.F*!r(56)((function(t){Array.from(t)})),"Array",{from:function(t){var n,r,i,l,h=o(t),v="function"==typeof this?this:Array,p=arguments.length,d=p>1?arguments[1]:void 0,g=void 0!==d,y=0,x=s(h);if(g&&(d=e(d,p>2?arguments[2]:void 0,2)),null==x||v==Array&&c(x))for(r=new v(n=f(h.length));n>y;y++)a(r,y,g?d(h[y],y):h[y]);else for(l=x.call(h),r=new v;!(i=l.next()).done;y++)a(r,y,g?u(l,d,[i.value,y],!0):i.value);return r.length=y,r}})},function(t,n,r){"use strict";var e=r(1),i=r(84);e(e.S+e.F*r(4)((function(){function t(){}return!(Array.of.call(t)instanceof t)})),"Array",{of:function(){for(var t=0,n=arguments.length,r=new("function"==typeof this?this:Array)(n);n>t;)i(r,t,arguments[t++]);return r.length=n,r}})},function(t,n,r){"use strict";var e=r(1),i=r(18),o=[].join;e(e.P+e.F*(r(48)!=Object||!r(19)(o)),"Array",{join:function(t){return o.call(i(this),void 0===t?",":t)}})},function(t,n,r){"use strict";var e=r(1),i=r(71),o=r(26),u=r(36),c=r(8),f=[].slice;e(e.P+e.F*r(4)((function(){i&&f.call(i)})),"Array",{slice:function(t,n){var r=c(this.length),e=o(this);if(n=void 0===n?r:n,"Array"==e)return f.call(this,t,n);for(var i=u(t,r),a=u(n,r),s=c(a-i),l=new Array(s),h=0;h1&&(e=Math.min(e,o(arguments[1]))),e<0&&(e=r+e);e>=0;e--)if(e in n&&n[e]===t)return e||0;return-1}})},function(t,n,r){var e=r(1);e(e.P,"Array",{copyWithin:r(109)}),r(43)("copyWithin")},function(t,n,r){var e=r(1);e(e.P,"Array",{fill:r(86)}),r(43)("fill")},function(t,n,r){"use strict";var e=r(1),i=r(23)(5),o=!0;"find"in[]&&Array(1).find((function(){o=!1})),e(e.P+e.F*o,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)("find")},function(t,n,r){"use strict";var e=r(1),i=r(23)(6),o="findIndex",u=!0;o in[]&&Array(1)[o]((function(){u=!1})),e(e.P+e.F*u,"Array",{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)(o)},function(t,n,r){r(44)("Array")},function(t,n,r){var e=r(3),i=r(74),o=r(9).f,u=r(38).f,c=r(81),f=r(57),a=e.RegExp,s=a,l=a.prototype,h=/a/g,v=/a/g,p=new a(h)!==h;if(r(10)&&(!p||r(4)((function(){return v[r(7)("match")]=!1,a(h)!=h||a(v)==v||"/a/i"!=a(h,"i")})))){a=function(t,n){var r=this instanceof a,e=c(t),o=void 0===n;return!r&&e&&t.constructor===a&&o?t:i(p?new s(e&&!o?t.source:t,n):s((e=t instanceof a)?t.source:t,e&&o?f.call(t):n),r?this:l,a)};for(var d=function(t){t in a||o(a,t,{configurable:!0,get:function(){return s[t]},set:function(n){s[t]=n}})},g=u(s),y=0;g.length>y;)d(g[y++]);l.constructor=a,a.prototype=l,r(12)(e,"RegExp",a)}r(44)("RegExp")},function(t,n,r){"use strict";r(112);var e=r(5),i=r(57),o=r(10),u=/./.toString,c=function(t){r(12)(RegExp.prototype,"toString",t,!0)};r(4)((function(){return"/a/b"!=u.call({source:"a",flags:"b"})}))?c((function(){var t=e(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)})):"toString"!=u.name&&c((function(){return u.call(this)}))},function(t,n,r){"use strict";var e=r(5),i=r(8),o=r(89),u=r(58);r(59)("match",1,(function(t,n,r,c){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=c(r,t,this);if(n.done)return n.value;var f=e(t),a=String(this);if(!f.global)return u(f,a);var s=f.unicode;f.lastIndex=0;for(var l,h=[],v=0;null!==(l=u(f,a));){var p=String(l[0]);h[v]=p,""===p&&(f.lastIndex=o(a,i(f.lastIndex),s)),v++}return 0===v?null:h}]}))},function(t,n,r){"use strict";var e=r(5),i=r(13),o=r(8),u=r(20),c=r(89),f=r(58),a=Math.max,s=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,v=/\$([$&`']|\d\d?)/g;r(59)("replace",2,(function(t,n,r,p){return[function(e,i){var o=t(this),u=null==e?void 0:e[n];return void 0!==u?u.call(e,o,i):r.call(String(o),e,i)},function(t,n){var i=p(r,t,this,n);if(i.done)return i.value;var l=e(t),h=String(this),v="function"==typeof n;v||(n=String(n));var g=l.global;if(g){var y=l.unicode;l.lastIndex=0}for(var x=[];;){var m=f(l,h);if(null===m)break;if(x.push(m),!g)break;""===String(m[0])&&(l.lastIndex=c(h,o(l.lastIndex),y))}for(var b,S="",w=0,_=0;_=w&&(S+=h.slice(w,O)+I,w=O+E.length)}return S+h.slice(w)}];function d(t,n,e,o,u,c){var f=e+t.length,a=o.length,s=v;return void 0!==u&&(u=i(u),s=h),r.call(c,s,(function(r,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,e);case"'":return n.slice(f);case"<":c=u[i.slice(1,-1)];break;default:var s=+i;if(0===s)return r;if(s>a){var h=l(s/10);return 0===h?r:h<=a?void 0===o[h-1]?i.charAt(1):o[h-1]+i.charAt(1):r}c=o[s-1]}return void 0===c?"":c}))}}))},function(t,n,r){"use strict";var e=r(5),i=r(98),o=r(58);r(59)("search",1,(function(t,n,r,u){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=u(r,t,this);if(n.done)return n.value;var c=e(t),f=String(this),a=c.lastIndex;i(a,0)||(c.lastIndex=0);var s=o(c,f);return i(c.lastIndex,a)||(c.lastIndex=a),null===s?-1:s.index}]}))},function(t,n,r){"use strict";var e=r(81),i=r(5),o=r(51),u=r(89),c=r(8),f=r(58),a=r(88),s=r(4),l=Math.min,h=[].push,v="length",p=!s((function(){RegExp(4294967295,"y")}));r(59)("split",2,(function(t,n,r,s){var d;return d="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1)[v]||2!="ab".split(/(?:ab)*/)[v]||4!=".".split(/(.?)(.?)/)[v]||".".split(/()()/)[v]>1||"".split(/.?/)[v]?function(t,n){var i=String(this);if(void 0===t&&0===n)return[];if(!e(t))return r.call(i,t,n);for(var o,u,c,f=[],s=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),l=0,p=void 0===n?4294967295:n>>>0,d=new RegExp(t.source,s+"g");(o=a.call(d,i))&&!((u=d.lastIndex)>l&&(f.push(i.slice(l,o.index)),o[v]>1&&o.index=p));)d.lastIndex===o.index&&d.lastIndex++;return l===i[v]?!c&&d.test("")||f.push(""):f.push(i.slice(l)),f[v]>p?f.slice(0,p):f}:"0".split(void 0,0)[v]?function(t,n){return void 0===t&&0===n?[]:r.call(this,t,n)}:r,[function(r,e){var i=t(this),o=null==r?void 0:r[n];return void 0!==o?o.call(r,i,e):d.call(String(i),r,e)},function(t,n){var e=s(d,t,this,n,d!==r);if(e.done)return e.value;var a=i(t),h=String(this),v=o(a,RegExp),g=a.unicode,y=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(p?"y":"g"),x=new v(p?a:"^(?:"+a.source+")",y),m=void 0===n?4294967295:n>>>0;if(0===m)return[];if(0===h.length)return null===f(x,h)?[h]:[];for(var b=0,S=0,w=[];S0?arguments[0]:void 0)}}),{get:function(t){var n=e.getEntry(i(this,"Map"),t);return n&&n.v},set:function(t,n){return e.def(i(this,"Map"),0===t?0:t,n)}},e,!0)},function(t,n,r){"use strict";var e=r(116),i=r(40);t.exports=r(62)("Set",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return e.def(i(this,"Set"),t=0===t?0:t,t)}},e)},function(t,n,r){"use strict";var e,i=r(3),o=r(23)(0),u=r(12),c=r(30),f=r(97),a=r(117),s=r(6),l=r(40),h=r(40),v=!i.ActiveXObject&&"ActiveXObject"in i,p=c.getWeak,d=Object.isExtensible,g=a.ufstore,y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},x={get:function(t){if(s(t)){var n=p(t);return!0===n?g(l(this,"WeakMap")).get(t):n?n[this._i]:void 0}},set:function(t,n){return a.def(l(this,"WeakMap"),t,n)}},m=t.exports=r(62)("WeakMap",y,x,a,!0,!0);h&&v&&(f((e=a.getConstructor(y,"WeakMap")).prototype,x),c.NEED=!0,o(["delete","has","get","set"],(function(t){var n=m.prototype,r=n[t];u(n,t,(function(n,i){if(s(n)&&!d(n)){this._f||(this._f=new e);var o=this._f[t](n,i);return"set"==t?this:o}return r.call(this,n,i)}))})))},function(t,n,r){"use strict";var e=r(117),i=r(40);r(62)("WeakSet",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return e.def(i(this,"WeakSet"),t,!0)}},e,!1,!0)},function(t,n,r){"use strict";var e=r(1),i=r(63),o=r(91),u=r(5),c=r(36),f=r(8),a=r(6),s=r(3).ArrayBuffer,l=r(51),h=o.ArrayBuffer,v=o.DataView,p=i.ABV&&s.isView,d=h.prototype.slice,g=i.VIEW;e(e.G+e.W+e.F*(s!==h),{ArrayBuffer:h}),e(e.S+e.F*!i.CONSTR,"ArrayBuffer",{isView:function(t){return p&&p(t)||a(t)&&g in t}}),e(e.P+e.U+e.F*r(4)((function(){return!new h(2).slice(1,void 0).byteLength})),"ArrayBuffer",{slice:function(t,n){if(void 0!==d&&void 0===n)return d.call(u(this),t);for(var r=u(this).byteLength,e=c(t,r),i=c(void 0===n?r:n,r),o=new(l(this,h))(f(i-e)),a=new v(this),s=new v(o),p=0;e=n.length)return{value:void 0,done:!0}}while(!((t=n[this._i++])in this._t));return{value:t,done:!1}})),e(e.S,"Reflect",{enumerate:function(t){return new o(t)}})},function(t,n,r){var e=r(21),i=r(39),o=r(16),u=r(1),c=r(6),f=r(5);u(u.S,"Reflect",{get:function t(n,r){var u,a,s=arguments.length<3?n:arguments[2];return f(n)===s?n[r]:(u=e.f(n,r))?o(u,"value")?u.value:void 0!==u.get?u.get.call(s):void 0:c(a=i(n))?t(a,r,s):void 0}})},function(t,n,r){var e=r(21),i=r(1),o=r(5);i(i.S,"Reflect",{getOwnPropertyDescriptor:function(t,n){return e.f(o(t),n)}})},function(t,n,r){var e=r(1),i=r(39),o=r(5);e(e.S,"Reflect",{getPrototypeOf:function(t){return i(o(t))}})},function(t,n,r){var e=r(1);e(e.S,"Reflect",{has:function(t,n){return n in t}})},function(t,n,r){var e=r(1),i=r(5),o=Object.isExtensible;e(e.S,"Reflect",{isExtensible:function(t){return i(t),!o||o(t)}})},function(t,n,r){var e=r(1);e(e.S,"Reflect",{ownKeys:r(119)})},function(t,n,r){var e=r(1),i=r(5),o=Object.preventExtensions;e(e.S,"Reflect",{preventExtensions:function(t){i(t);try{return o&&o(t),!0}catch(t){return!1}}})},function(t,n,r){var e=r(9),i=r(21),o=r(39),u=r(16),c=r(1),f=r(32),a=r(5),s=r(6);c(c.S,"Reflect",{set:function t(n,r,c){var l,h,v=arguments.length<4?n:arguments[3],p=i.f(a(n),r);if(!p){if(s(h=o(n)))return t(h,r,c,v);p=f(0)}if(u(p,"value")){if(!1===p.writable||!s(v))return!1;if(l=i.f(v,r)){if(l.get||l.set||!1===l.writable)return!1;l.value=c,e.f(v,r,l)}else e.f(v,r,f(0,c));return!0}return void 0!==p.set&&(p.set.call(v,c),!0)}})},function(t,n,r){var e=r(1),i=r(72);i&&e(e.S,"Reflect",{setPrototypeOf:function(t,n){i.check(t,n);try{return i.set(t,n),!0}catch(t){return!1}}})},function(t,n,r){r(280),t.exports=r(11).Array.includes},function(t,n,r){"use strict";var e=r(1),i=r(53)(!0);e(e.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r(43)("includes")},function(t,n,r){r(282),t.exports=r(11).String.padStart},function(t,n,r){"use strict";var e=r(1),i=r(120),o=r(61),u=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);e(e.P+e.F*u,"String",{padStart:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,n,r){r(284),t.exports=r(11).String.padEnd},function(t,n,r){"use strict";var e=r(1),i=r(120),o=r(61),u=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);e(e.P+e.F*u,"String",{padEnd:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},function(t,n,r){r(286),t.exports=r(67).f("asyncIterator")},function(t,n,r){r(93)("asyncIterator")},function(t,n,r){r(288),t.exports=r(11).Object.getOwnPropertyDescriptors},function(t,n,r){var e=r(1),i=r(119),o=r(18),u=r(21),c=r(84);e(e.S,"Object",{getOwnPropertyDescriptors:function(t){for(var n,r,e=o(t),f=u.f,a=i(e),s={},l=0;a.length>l;)void 0!==(r=f(e,n=a[l++]))&&c(s,n,r);return s}})},function(t,n,r){r(290),t.exports=r(11).Object.values},function(t,n,r){var e=r(1),i=r(121)(!1);e(e.S,"Object",{values:function(t){return i(t)}})},function(t,n,r){r(292),t.exports=r(11).Object.entries},function(t,n,r){var e=r(1),i=r(121)(!0);e(e.S,"Object",{entries:function(t){return i(t)}})},function(t,n,r){"use strict";r(113),r(294),t.exports=r(11).Promise.finally},function(t,n,r){"use strict";var e=r(1),i=r(11),o=r(3),u=r(51),c=r(115);e(e.P+e.R,"Promise",{finally:function(t){var n=u(this,i.Promise||o.Promise),r="function"==typeof t;return this.then(r?function(r){return c(n,t()).then((function(){return r}))}:t,r?function(r){return c(n,t()).then((function(){throw r}))}:t)}})},function(t,n,r){r(296),r(297),r(298),t.exports=r(11)},function(t,n,r){var e=r(3),i=r(1),o=r(61),u=[].slice,c=/MSIE .\./.test(o),f=function(t){return function(n,r){var e=arguments.length>2,i=!!e&&u.call(arguments,2);return t(e?function(){("function"==typeof n?n:Function(n)).apply(this,i)}:n,r)}};i(i.G+i.B+i.F*c,{setTimeout:f(e.setTimeout),setInterval:f(e.setInterval)})},function(t,n,r){var e=r(1),i=r(90);e(e.G+e.B,{setImmediate:i.set,clearImmediate:i.clear})},function(t,n,r){for(var e=r(87),i=r(35),o=r(12),u=r(3),c=r(17),f=r(42),a=r(7),s=a("iterator"),l=a("toStringTag"),h=f.Array,v={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(v),d=0;d=0;--i){var o=this.tryEntries[i],u=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=e.call(o,"catchLoc"),f=e.call(o,"finallyLoc");if(c&&f){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&e.call(i,"finallyLoc")&&this.prev=0;--n){var r=this.tryEntries[n];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),s}},catch:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc===t){var e=r.completion;if("throw"===e.type){var i=e.arg;E(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:F(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}}}function d(t,n,r,e){var i=n&&n.prototype instanceof y?n:y,o=Object.create(i.prototype),u=new O(e||[]);return o._invoke=function(t,n,r){var e="suspendedStart";return function(i,o){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===i)throw o;return P()}for(r.method=i,r.arg=o;;){var u=r.delegate;if(u){var c=w(u,r);if(c){if(c===s)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===e)throw e="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);e="executing";var f=g(t,n,r);if("normal"===f.type){if(e=r.done?"completed":"suspendedYield",f.arg===s)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(e="completed",r.method="throw",r.arg=f.arg)}}}(t,r,u),o}function g(t,n,r){try{return{type:"normal",arg:t.call(n,r)}}catch(t){return{type:"throw",arg:t}}}function y(){}function x(){}function m(){}function b(t){["next","throw","return"].forEach((function(n){t[n]=function(t){return this._invoke(n,t)}}))}function S(t){var n;this._invoke=function(r,i){function o(){return new Promise((function(n,o){!function n(r,i,o,u){var c=g(t[r],t,i);if("throw"!==c.type){var f=c.arg,a=f.value;return a&&"object"==typeof a&&e.call(a,"__await")?Promise.resolve(a.__await).then((function(t){n("next",t,o,u)}),(function(t){n("throw",t,o,u)})):Promise.resolve(a).then((function(t){f.value=t,o(f)}),(function(t){return n("throw",t,o,u)}))}u(c.arg)}(r,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(t,n){var r=t.iterator[n.method];if(void 0===r){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=void 0,w(t,n),"throw"===n.method))return s;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var e=g(r,t.iterator,n.arg);if("throw"===e.type)return n.method="throw",n.arg=e.arg,n.delegate=null,s;var i=e.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=void 0),n.delegate=null,s):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,s)}function _(t){var n={tryLoc:t[0]};1 in t&&(n.catchLoc=t[1]),2 in t&&(n.finallyLoc=t[2],n.afterLoc=t[3]),this.tryEntries.push(n)}function E(t){var n=t.completion||{};n.type="normal",delete n.arg,t.completion=n}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function F(t){if(t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function n(){for(;++r 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = false;\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","module.exports = {};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","exports.f = require('./_wks');\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n","var getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n","import \"@babel/polyfill\";\n","\"use strict\";\n\nrequire(\"core-js/es6\");\n\nrequire(\"core-js/fn/array/includes\");\n\nrequire(\"core-js/fn/string/pad-start\");\n\nrequire(\"core-js/fn/string/pad-end\");\n\nrequire(\"core-js/fn/symbol/async-iterator\");\n\nrequire(\"core-js/fn/object/get-own-property-descriptors\");\n\nrequire(\"core-js/fn/object/values\");\n\nrequire(\"core-js/fn/object/entries\");\n\nrequire(\"core-js/fn/promise/finally\");\n\nrequire(\"core-js/web\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nif (global._babelPolyfill && typeof console !== \"undefined\" && console.warn) {\n console.warn(\"@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended \" + \"and may have consequences if different versions of the polyfills are applied sequentially. \" + \"If you do need to load the polyfill more than once, use @babel/polyfill/noConflict \" + \"instead to bypass the warning.\");\n}\n\nglobal._babelPolyfill = true;","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","require('../../modules/es7.array.includes');\nmodule.exports = require('../../modules/_core').Array.includes;\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","require('../../modules/es7.string.pad-start');\nmodule.exports = require('../../modules/_core').String.padStart;\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n","require('../../modules/es7.string.pad-end');\nmodule.exports = require('../../modules/_core').String.padEnd;\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n","require('../../modules/es7.symbol.async-iterator');\nmodule.exports = require('../../modules/_wks-ext').f('asyncIterator');\n","require('./_wks-define')('asyncIterator');\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","'use strict';\nrequire('../../modules/es6.promise');\nrequire('../../modules/es7.promise.finally');\nmodule.exports = require('../../modules/_core').Promise['finally'];\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","require('../modules/web.timers');\nrequire('../modules/web.immediate');\nrequire('../modules/web.dom.iterable');\nmodule.exports = require('../modules/_core');\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() {\n return this || (typeof self === \"object\" && self);\n })() || Function(\"return this\")()\n);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_export.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_global.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_fails.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_wks.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_core.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_has.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_hide.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_cof.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_defined.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_meta.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_uid.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_library.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_classof.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_shared.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_flags.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_collection.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_typed.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_html.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_task.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_bind.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-pad.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-to-array.js","webpack:///./decidim-core/app/frontend/entry.ts","webpack:///./node_modules/@babel/polyfill/lib/index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/es6/index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_perform.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/array/includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/string/pad-start.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.string.pad-start.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/string/pad-end.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.string.pad-end.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/symbol/async-iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/object/get-own-property-descriptors.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/object/values.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/object/entries.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/promise/finally.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.promise.finally.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/web/index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/web.timers.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/web.immediate.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/@babel/polyfill/node_modules/regenerator-runtime/runtime.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","window","Math","self","__g","exec","e","isObject","it","TypeError","store","uid","USE_SYMBOL","toInteger","min","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","a","version","__e","has","SRC","$toString","TPL","split","inspectSource","val","safe","isFunction","join","String","this","defined","fails","quot","createHTML","string","tag","attribute","p1","replace","NAME","test","toLowerCase","length","createDesc","IObject","method","arg","ceil","floor","isNaN","pIE","toIObject","gOPD","getOwnPropertyDescriptor","KEY","fn","toObject","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","that","res","index","result","push","aFunction","b","apply","arguments","toString","slice","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","getPrototypeOf","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","keys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","set","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","forEach","indexOf","searchElement","includes","separator","map","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","configurable","writable","$TypedArrayPrototype$","constructor","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","data","v","round","setter","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","from","valueOf","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","bitmap","px","random","$keys","enumBugKeys","max","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","hiddenKeys","getOwnPropertyNames","ObjectProto","_t","def","stat","UNSCOPABLES","DESCRIPTORS","SPECIES","Constructor","forbiddenField","cof","propertyIsEnumerable","ARG","T","tryGet","callee","D","copyright","IS_INCLUDES","el","fromIndex","getOwnPropertySymbols","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","SAFE_CLOSING","riter","skipClosing","arr","ignoreCase","multiline","unicode","sticky","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","BREAK","RETURN","iterable","navigator","userAgent","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","Typed","TypedArrayConstructors","g","is","createElement","shared","isArray","documentElement","check","setPrototypeOf","buggy","__proto__","count","Infinity","sign","x","$expm1","expm1","TO_STRING","pos","charCodeAt","charAt","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","isRegExp","searchString","MATCH","$defineProperty","getIteratorMethod","endPos","addToUnscopables","iterated","_i","_k","Arguments","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","lastIndex","reCopy","match","at","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","args","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","BaseBuffer","abs","pow","log","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","_b","pack","conversion","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","wksExt","$Symbol","names","getKeys","defineProperties","windowNames","getWindowNames","gOPS","$assign","assign","A","K","k","getSymbols","isEnum","y","factories","construct","partArgs","bound","un","$parseInt","parseInt","$trim","ws","hex","radix","$parseFloat","parseFloat","msg","isFinite","log1p","descriptor","ret","memo","isRight","to","inc","forced","flags","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","task","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","promise","resolve","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","reject","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","Promise","capability","$$reject","all","remaining","$index","alreadyCalled","race","PromiseCapability","$$resolve","promiseCapability","$iterDefine","SIZE","getEntry","entry","_f","_l","prev","$has","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","splice","ufstore","number","Reflect","ownKeys","repeat","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","isEntries","_babelPolyfill","warn","$fails","wksDefine","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","replacer","$replacer","symbols","$getPrototypeOf","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","FProto","nameRE","HAS_INSTANCE","FunctionProto","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","aNumberValue","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$toPrecision","toPrecision","precision","EPSILON","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","sqrt","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","fround","EPSILON32","MAX32","MIN32","$abs","$sign","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","point","codePointAt","context","$endsWith","endsWith","endPosition","search","$startsWith","startsWith","color","size","url","Date","getTime","toJSON","toISOString","pv","$toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","hint","createProperty","upTo","cloned","$sort","$forEach","STRICT","original","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","define","advanceStringIndex","regExpExec","$match","maybeCallNative","rx","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","ch","capture","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","LENGTH","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","output","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","standalone","toggle","node","createTextNode","observe","characterData","strong","add","InternalMap","each","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","$WeakMap","$isView","isView","fin","viewS","viewT","init","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","V","existingDescriptor","ownDesc","setProto","$includes","padStart","$pad","WEBKIT_BUG","padEnd","getOwnPropertyDescriptors","getDesc","$values","onFinally","MSIE","time","boundArgs","setInterval","$task","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","regeneratorRuntime","ContinueSentinel","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","pop","Context","reset","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","stop","rootRecord","completion","rval","dispatchException","exception","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","Error","abrupt","finallyEntry","complete","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","state","doneResult","delegateResult","maybeInvokeDelegate","tryCatch","makeInvokeMethod","obj","previousPromise","callInvokeWithMethodAndArg","unwrapped","return","info","pushTryEntry","locs","iteratorMethod"],"mappings":"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Q,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,IACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAAQ,KACR,EAA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","file":"decidim-core/app/assets/javascripts/decidim/core/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 133);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = false;\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","module.exports = {};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","exports.f = require('./_wks');\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n","var getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n","import \"@babel/polyfill\";\n","\"use strict\";\n\nrequire(\"core-js/es6\");\n\nrequire(\"core-js/fn/array/includes\");\n\nrequire(\"core-js/fn/string/pad-start\");\n\nrequire(\"core-js/fn/string/pad-end\");\n\nrequire(\"core-js/fn/symbol/async-iterator\");\n\nrequire(\"core-js/fn/object/get-own-property-descriptors\");\n\nrequire(\"core-js/fn/object/values\");\n\nrequire(\"core-js/fn/object/entries\");\n\nrequire(\"core-js/fn/promise/finally\");\n\nrequire(\"core-js/web\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nif (global._babelPolyfill && typeof console !== \"undefined\" && console.warn) {\n console.warn(\"@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended \" + \"and may have consequences if different versions of the polyfills are applied sequentially. \" + \"If you do need to load the polyfill more than once, use @babel/polyfill/noConflict \" + \"instead to bypass the warning.\");\n}\n\nglobal._babelPolyfill = true;","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","require('../../modules/es7.array.includes');\nmodule.exports = require('../../modules/_core').Array.includes;\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","require('../../modules/es7.string.pad-start');\nmodule.exports = require('../../modules/_core').String.padStart;\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n","require('../../modules/es7.string.pad-end');\nmodule.exports = require('../../modules/_core').String.padEnd;\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n","require('../../modules/es7.symbol.async-iterator');\nmodule.exports = require('../../modules/_wks-ext').f('asyncIterator');\n","require('./_wks-define')('asyncIterator');\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","'use strict';\nrequire('../../modules/es6.promise');\nrequire('../../modules/es7.promise.finally');\nmodule.exports = require('../../modules/_core').Promise['finally'];\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","require('../modules/web.timers');\nrequire('../modules/web.immediate');\nrequire('../modules/web.dom.iterable');\nmodule.exports = require('../modules/_core');\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() {\n return this || (typeof self === \"object\" && self);\n })() || Function(\"return this\")()\n);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss b/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss index 3d6dac02de10a..5cbcdda6cebee 100644 --- a/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss +++ b/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss @@ -30,12 +30,12 @@ .del strong{ font-weight: normal; - background: scale-color($color-removal, $lightness: -8%); + background: scale-color($color-removal, $lightness: -10%); } .ins strong{ font-weight: normal; - background: scale-color($color-addition, $lightness: -8%); + background: scale-color($color-addition, $lightness: -10%); } li{ @@ -54,12 +54,12 @@ } &.ins{ - background: $color-addition; + background: scale-color($color-addition, $lightness: 30%, $saturation: 30%); color: scale-color($color-addition, $lightness: -75%, $saturation: -75%); } &.del{ - background: $color-removal; + background: scale-color($color-removal, $lightness: 30%, $saturation: 30%); color: scale-color($color-removal, $lightness: -75%, $saturation: -75%); } diff --git a/decidim-core/app/cells/decidim/diff/diff_split.erb b/decidim-core/app/cells/decidim/diff/diff_split.erb index 8aae4c1bc0aaa..7fa0978ea5302 100644 --- a/decidim-core/app/cells/decidim/diff/diff_split.erb +++ b/decidim-core/app/cells/decidim/diff/diff_split.erb @@ -3,9 +3,15 @@ <%= t(direction, scope: "versions.directions") %> -
-
- <%= output_split_diff(data, direction, format) %> + <% available_locales_for(data).each do |locale, filled| %> + <% next unless filled %> + <% unless I18n.locale.to_s == locale %> +

<%= locale_name(locale) %>

+ <% end %> +
+
+ <%= output_split_diff(data, direction, format, locale) %> +
-
+ <% end %>
diff --git a/decidim-core/app/cells/decidim/diff/diff_unified.erb b/decidim-core/app/cells/decidim/diff/diff_unified.erb index 6b95eabe5b9ee..afbd8e3b8c1cb 100644 --- a/decidim-core/app/cells/decidim/diff/diff_unified.erb +++ b/decidim-core/app/cells/decidim/diff/diff_unified.erb @@ -1,7 +1,13 @@
-
-
- <%= output_unified_diff(data, format) %> + <% available_locales_for(data).each do |locale, filled| %> + <% next unless filled %> + <% unless I18n.locale.to_s == locale %> +

<%= locale_name(locale) %>

+ <% end %> +
+
+ <%= output_unified_diff(data, format, locale) %> +
-
+ <% end %>
diff --git a/decidim-core/app/cells/decidim/diff_cell.rb b/decidim-core/app/cells/decidim/diff_cell.rb index 3b8f9aa10dda0..80ad0e85b664a 100644 --- a/decidim-core/app/cells/decidim/diff_cell.rb +++ b/decidim-core/app/cells/decidim/diff_cell.rb @@ -6,6 +6,7 @@ module Decidim # This cell renders the diff between `:old_data` and `:new_data`. class DiffCell < Decidim::ViewModel include Cell::ViewModel::Partial + include LanguageChooserHelper include LayoutHelper def attribute(data) @@ -63,14 +64,22 @@ def diff_data diff_renderer.diff.values end + def available_locales_for(data) + locales = { I18n.locale.to_s => true } + + locales.merge!(data[:old_value].transform_values(&:present?)) if data[:old_value].is_a?(Hash) + + locales.merge!(data[:new_value].transform_values(&:present?)) if data[:new_value].is_a?(Hash) + end + # Outputs the diff as HTML with inline highlighting of the character # changes between lines. # # Returns an HTML-safe string. - def output_unified_diff(data, format) + def output_unified_diff(data, format, locale) Diffy::Diff.new( - data[:old_value]["en"].to_s, - data[:new_value]["en"].to_s, + value_from_locale(data[:old_value], locale).to_s, + value_from_locale(data[:new_value], locale).to_s, allow_empty_diff: false, include_plus_and_minus_in_html: true ).to_s(format) @@ -81,16 +90,22 @@ def output_unified_diff(data, format) # The left side represents deletions while the right side represents insertions. # # Returns an HTML-safe string. - def output_split_diff(data, direction, format) + def output_split_diff(data, direction, format, locale) Diffy::SplitDiff.new( - data[:old_value]["en"].to_s, - data[:new_value]["en"].to_s, + value_from_locale(data[:old_value], locale).to_s, + value_from_locale(data[:new_value], locale).to_s, allow_empty_diff: false, format: format, include_plus_and_minus_in_html: true ).send(direction) end + def value_from_locale(value, locale) + return value unless value.is_a? Hash + + value[locale] + end + # Gives the option to view HTML unescaped for better user experience. # Official means created from admin (where rich text editor is enabled). def show_html_view_dropdown? diff --git a/decidim-core/lib/decidim/diffy_extension.rb b/decidim-core/lib/decidim/diffy_extension.rb index c851bb38b0105..77862b013f006 100644 --- a/decidim-core/lib/decidim/diffy_extension.rb +++ b/decidim-core/lib/decidim/diffy_extension.rb @@ -5,49 +5,53 @@ module Decidim module DiffyExtension # HtmlFormatter that returns basic html output (no inline highlighting) # and does not escape HTML tags. + # + # Based on: + # https://github.com/samg/diffy/blob/main/lib/diffy/html_formatter.rb class UnescapedHtmlFormatter < Diffy::HtmlFormatter # We exclude the tags `del` and `ins` so the diffy styling does not apply. TAGS = (UserInputScrubber.new.tags.to_a - %w(del ins)).freeze def to_s - if @options[:highlight_words] - str = wrap_lines(highlighted_words) - else - str = wrap_lines(@diff.map { |line| wrap_line(line) }) - end + str = if @options[:highlight_words] + wrap_lines(highlighted_words) + else + wrap_lines(@diff.map { |line| wrap_line(line) }) + end ActionView::Base.new.sanitize(str, tags: TAGS) end + # same as the original but removing html escaping + # rubocop:disable Metrics/CyclomaticComplexity + # rubocop:disable Metrics/PerceivedComplexity def highlighted_words - chunks = @diff.each_chunk. - reject{|c| c == '\ No newline at end of file'"\n"} + chunks = @diff.each_chunk + .reject { |c| c == "\\ No newline at end of file\n" } processed = [] lines = chunks.each_with_index.map do |chunk1, index| next if processed.include? index + processed << index - chunk1 = chunk1 chunk2 = chunks[index + 1] - if not chunk2 - next chunk1 - end + next chunk1 unless chunk2 dir1 = chunk1.each_char.first dir2 = chunk2.each_char.first case [dir1, dir2] - when ['-', '+'] - if chunk1.each_char.take(3).join("") =~ /^(---|\+\+\+|\\\\)/ and - chunk2.each_char.take(3).join("") =~ /^(---|\+\+\+|\\\\)/ + when ["-", "+"] + if chunk1.each_char.take(3).join("") =~ (/^(---|\+\+\+|\\\\)/) && + chunk2.each_char.take(3).join("") =~ (/^(---|\+\+\+|\\\\)/) chunk1 else line_diff = Diffy::Diff.new( - split_characters(chunk1), - split_characters(chunk2), - Diffy::Diff::ORIGINAL_DEFAULT_OPTIONS - ) - hi1 = reconstruct_characters(line_diff, '-') - hi2 = reconstruct_characters(line_diff, '+') + split_characters(chunk1), + split_characters(chunk2), + Diffy::Diff::ORIGINAL_DEFAULT_OPTIONS + ) + hi1 = reconstruct_characters(line_diff, "-") + hi2 = reconstruct_characters(line_diff, "+") processed << (index + 1) [hi1, hi2] end @@ -55,28 +59,33 @@ def highlighted_words chunk1 end end.flatten - lines.map{|line| line.each_line.map(&:chomp).to_a if line }.flatten.compact. - map{|line|wrap_line(line) }.compact + lines.map { |line| line.each_line.map(&:chomp).to_a if line }.flatten.compact + .map { |line| wrap_line(line) }.compact end + # rubocop:enable Metrics/CyclomaticComplexity + # rubocop:enable Metrics/PerceivedComplexity + # same as the original but removing html escaping + # rubocop:disable Style/StringConcatenation def split_characters(chunk) - chunk.gsub(/^./, '').each_line.map do |line| + chunk.gsub(/^./, "").each_line.map do |line| if @options[:ignore_crlf] - (line.chomp.split('') + ['\n']).map{|chr| chr } + (line.chomp.split("") + ['\n']).map { |chr| chr } else - chars = line.sub(/([\r\n]$)/, '').split('') + chars = line.sub(/([\r\n]$)/, "").split("") # add escaped newlines chars << '\n' end end.flatten.join("\n") + "\n" end end + # rubocop:enable Style/StringConcatenation # Adding a new method to Diffy::Format so we can pass the # `:unescaped_html` option when calling Diffy::Diff#to_s. Diffy::Format.module_eval do def unescaped_html - UnescapedHtmlFormatter.new(self, options.merge(:highlight_words => true)).to_s + UnescapedHtmlFormatter.new(self, options.merge(highlight_words: true)).to_s end end From 8851e320b955bbfc11dd0b67546749fc167e2774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Thu, 13 May 2021 13:58:05 +0200 Subject: [PATCH 03/71] fix return --- decidim-core/app/cells/decidim/diff_cell.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/decidim-core/app/cells/decidim/diff_cell.rb b/decidim-core/app/cells/decidim/diff_cell.rb index 80ad0e85b664a..a8fb5e783dbd6 100644 --- a/decidim-core/app/cells/decidim/diff_cell.rb +++ b/decidim-core/app/cells/decidim/diff_cell.rb @@ -68,8 +68,9 @@ def available_locales_for(data) locales = { I18n.locale.to_s => true } locales.merge!(data[:old_value].transform_values(&:present?)) if data[:old_value].is_a?(Hash) - locales.merge!(data[:new_value].transform_values(&:present?)) if data[:new_value].is_a?(Hash) + + locales end # Outputs the diff as HTML with inline highlighting of the character From 832d91e8809d852ca3cb66bc05e18dba20ce303e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Fri, 14 May 2021 00:28:18 +0200 Subject: [PATCH 04/71] ensure html blocks are separated by lines --- .../app/assets/stylesheets/decidim/modules/_versions.scss | 6 ++++-- decidim-core/app/cells/decidim/diff_cell.rb | 6 ++++-- decidim-core/lib/decidim/diffy_extension.rb | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss b/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss index 5cbcdda6cebee..90d80740f4c42 100644 --- a/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss +++ b/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss @@ -28,14 +28,16 @@ text-decoration: none; } - .del strong{ + .del strong, .del strong *{ font-weight: normal; background: scale-color($color-removal, $lightness: -10%); + display: inline; } - .ins strong{ + .ins strong, .ins strong *{ font-weight: normal; background: scale-color($color-addition, $lightness: -10%); + display: inline; } li{ diff --git a/decidim-core/app/cells/decidim/diff_cell.rb b/decidim-core/app/cells/decidim/diff_cell.rb index a8fb5e783dbd6..787033c3351e4 100644 --- a/decidim-core/app/cells/decidim/diff_cell.rb +++ b/decidim-core/app/cells/decidim/diff_cell.rb @@ -102,9 +102,11 @@ def output_split_diff(data, direction, format, locale) end def value_from_locale(value, locale) - return value unless value.is_a? Hash + value = value[locale] if value.is_a? Hash - value[locale] + # Ensure two consecutive html tags are treated as different lines + # this also enhances the visualization of the escaped view + value.to_s.gsub("><", ">\n<") end # Gives the option to view HTML unescaped for better user experience. diff --git a/decidim-core/lib/decidim/diffy_extension.rb b/decidim-core/lib/decidim/diffy_extension.rb index 77862b013f006..d042a0bdc3fea 100644 --- a/decidim-core/lib/decidim/diffy_extension.rb +++ b/decidim-core/lib/decidim/diffy_extension.rb @@ -70,7 +70,7 @@ def highlighted_words def split_characters(chunk) chunk.gsub(/^./, "").each_line.map do |line| if @options[:ignore_crlf] - (line.chomp.split("") + ['\n']).map { |chr| chr } + (line.chomp.split("") + ['\n']) else chars = line.sub(/([\r\n]$)/, "").split("") # add escaped newlines From 859b8872567605721886d020e90e350f5f609caf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Fri, 14 May 2021 09:25:35 +0200 Subject: [PATCH 05/71] break only

--- decidim-core/app/cells/decidim/diff_cell.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/decidim-core/app/cells/decidim/diff_cell.rb b/decidim-core/app/cells/decidim/diff_cell.rb index 787033c3351e4..ef3b2a756a16a 100644 --- a/decidim-core/app/cells/decidim/diff_cell.rb +++ b/decidim-core/app/cells/decidim/diff_cell.rb @@ -106,7 +106,7 @@ def value_from_locale(value, locale) # Ensure two consecutive html tags are treated as different lines # this also enhances the visualization of the escaped view - value.to_s.gsub("><", ">\n<") + value.to_s.gsub("

<", "

\n<") end # Gives the option to view HTML unescaped for better user experience. From b43ff2a27c9b58dc678887945d99b6986c2c11a5 Mon Sep 17 00:00:00 2001 From: leio10 Date: Mon, 24 May 2021 11:12:14 +0200 Subject: [PATCH 06/71] Remove proposals filters cache (#8032) (#8038) --- .../app/helpers/decidim/filters_helper.rb | 9 --- .../helpers/decidim/filters_helper_spec.rb | 31 --------- .../proposals/proposals/_filters.html.erb | 66 +++++++++---------- .../proposals/_filters_small_view.html.erb | 2 +- 4 files changed, 33 insertions(+), 75 deletions(-) diff --git a/decidim-core/app/helpers/decidim/filters_helper.rb b/decidim-core/app/helpers/decidim/filters_helper.rb index f65d4cea043ed..ac180a826a89f 100644 --- a/decidim-core/app/helpers/decidim/filters_helper.rb +++ b/decidim-core/app/helpers/decidim/filters_helper.rb @@ -29,15 +29,6 @@ def filter_form_for(filter, url = url_for, html_options = {}) end end - def filter_cache_hash(filter, type = nil) - hash = [] - hash << "decidim/proposals/filters" - hash << type.to_s if type.present? - hash << Digest::MD5.hexdigest(filter.to_json) - - hash.join("/") - end - private # Creates a unique namespace for a filter form to prevent dupliacte IDs in diff --git a/decidim-core/spec/helpers/decidim/filters_helper_spec.rb b/decidim-core/spec/helpers/decidim/filters_helper_spec.rb index cba03d63d862a..fdaab32624a09 100644 --- a/decidim-core/spec/helpers/decidim/filters_helper_spec.rb +++ b/decidim-core/spec/helpers/decidim/filters_helper_spec.rb @@ -76,36 +76,5 @@ def self.model_name end end end - - describe "#filter_cache_hash" do - let(:type) { :test } - - it "generate a unique hash" do - old_hash = helper.filter_cache_hash(filter, type) - - expect(helper.filter_cache_hash(filter, type)).to eq(old_hash) - end - - it "stores filter type" do - expect(helper.filter_cache_hash(filter, type)).to start_with("decidim/proposals/filters/test") - end - - context "when no type is provided" do - let(:type) { nil } - - it "doesn't stores filter type" do - expect(helper.filter_cache_hash(filter)).to start_with("decidim/proposals/filters") - end - end - - context "when filter is different" do - it "generate a different hash" do - old_hash = helper.filter_cache_hash(filter, type) - filter.test_attribute = "dummy-filter" - - expect(helper.filter_cache_hash(filter, type)).not_to eq(old_hash) - end - end - end end end diff --git a/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb b/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb index 15e6b5506d03a..e764236e8e06e 100644 --- a/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb +++ b/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb @@ -1,48 +1,46 @@ <%= render partial: "decidim/shared/filter_form_help", locals: { skip_to_id: "proposals" } %> -<% cache filter_cache_hash(filter, defined?(type) ? type : nil) do %> - <%= filter_form_for filter do |form| %> -
- From 5545dc26f4ff1da414df1e74b4811d746fd8f6b4 Mon Sep 17 00:00:00 2001 From: leio10 Date: Mon, 24 May 2021 11:26:51 +0200 Subject: [PATCH 07/71] Include resources on maps only when the geocoding got valid coords (#8037) (#8039) --- decidim-core/app/helpers/decidim/map_helper.rb | 2 +- decidim-core/lib/decidim/geocodable.rb | 4 ++++ decidim-core/spec/lib/geocodable_spec.rb | 18 ++++++++++++++++++ .../decidim/meetings/meetings_map_cell.rb | 2 +- .../app/helpers/decidim/meetings/map_helper.rb | 2 +- .../decidim/meetings/meetings/index.js.erb | 2 +- .../collaborative_drafts_controller.rb | 2 +- 7 files changed, 27 insertions(+), 5 deletions(-) diff --git a/decidim-core/app/helpers/decidim/map_helper.rb b/decidim-core/app/helpers/decidim/map_helper.rb index 3a93be05ebad1..604a81b5c3c21 100644 --- a/decidim-core/app/helpers/decidim/map_helper.rb +++ b/decidim-core/app/helpers/decidim/map_helper.rb @@ -10,7 +10,7 @@ module MapHelper # options - An optional hash of options (default: { zoom: 17 }) # * zoom: A number to represent the zoom value of the map def static_map_link(resource, options = {}, map_html_options = {}, &block) - return unless resource.geocoded? + return unless resource.geocoded_and_valid? return unless map_utility_static || map_utility_dynamic address_text = resource.try(:address) diff --git a/decidim-core/lib/decidim/geocodable.rb b/decidim-core/lib/decidim/geocodable.rb index 11fca576ae7e2..1ef65351311cb 100644 --- a/decidim-core/lib/decidim/geocodable.rb +++ b/decidim-core/lib/decidim/geocodable.rb @@ -27,6 +27,10 @@ def geocoder_init(options) included do include Geocoder::Store::ActiveRecord + def geocoded_and_valid? + geocoded? && to_coordinates.none?(&:nan?) + end + private # rubocop:disable Style/OptionalBooleanParameter diff --git a/decidim-core/spec/lib/geocodable_spec.rb b/decidim-core/spec/lib/geocodable_spec.rb index 532dc76235666..aac5d19bcdb8c 100644 --- a/decidim-core/spec/lib/geocodable_spec.rb +++ b/decidim-core/spec/lib/geocodable_spec.rb @@ -38,11 +38,29 @@ module Decidim expect(subject.latitude).to eq(latitude) expect(subject.longitude).to eq(longitude) + expect(subject).to be_geocoded + expect(subject).to be_geocoded_and_valid + # Check that the calculations are correctly passed to the # `Geocoder::Calculations` module. expect( subject.distance_to([60.169857, 24.938379], :km) ).to eq(2728.962159915394) end + + context "when the address is invalid" do + let(:address) { "aaa" } + let(:latitude) { Float::NAN } + let(:longitude) { Float::NAN } + + it "calls the Decidim geocoding utility and try to geocode the resource, but the result is [NaN,NaN]" do + subject.geocode + expect(subject.latitude).to be_nan + expect(subject.longitude).to be_nan + + expect(subject).to be_geocoded + expect(subject).not_to be_geocoded_and_valid + end + end end end diff --git a/decidim-meetings/app/cells/decidim/meetings/meetings_map_cell.rb b/decidim-meetings/app/cells/decidim/meetings/meetings_map_cell.rb index aafbe33e34816..4faa2a4ee63bd 100644 --- a/decidim-meetings/app/cells/decidim/meetings/meetings_map_cell.rb +++ b/decidim-meetings/app/cells/decidim/meetings/meetings_map_cell.rb @@ -15,7 +15,7 @@ def show end def geocoded_meetings - @geocoded_meetings ||= meetings.select(&:geocoded?) + @geocoded_meetings ||= meetings.select(&:geocoded_and_valid?) end def meetings diff --git a/decidim-meetings/app/helpers/decidim/meetings/map_helper.rb b/decidim-meetings/app/helpers/decidim/meetings/map_helper.rb index 89cab3edca64b..ca781102a3541 100644 --- a/decidim-meetings/app/helpers/decidim/meetings/map_helper.rb +++ b/decidim-meetings/app/helpers/decidim/meetings/map_helper.rb @@ -9,7 +9,7 @@ module MapHelper # # meetings - A collection of meetings def meetings_data_for_map(meetings) - geocoded_meetings = meetings.select(&:geocoded?) + geocoded_meetings = meetings.select(&:geocoded_and_valid?) geocoded_meetings.map do |meeting| meeting.slice(:latitude, :longitude, :address).merge(title: translated_attribute(meeting.title), description: html_truncate(translated_attribute(meeting.description), length: 200), diff --git a/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb b/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb index 62febfd7b2c74..f0a3a09e4a202 100644 --- a/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb +++ b/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb @@ -7,7 +7,7 @@ $meetingsCount.html('<%= j(render partial: "count").strip.html_safe %>'); var $dropdownMenu = $('.dropdown.menu', $meetings); $dropdownMenu.foundation(); -var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.results.select(&:geocoded?)).to_json.html_safe %>'); +var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.results.select(&:geocoded_and_valid?)).to_json.html_safe %>'); var $map = $("#map"); var controller = $map.data("map-controller"); diff --git a/decidim-proposals/app/controllers/decidim/proposals/collaborative_drafts_controller.rb b/decidim-proposals/app/controllers/decidim/proposals/collaborative_drafts_controller.rb index 8726356103854..169c4863360d8 100644 --- a/decidim-proposals/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +++ b/decidim-proposals/app/controllers/decidim/proposals/collaborative_drafts_controller.rb @@ -133,7 +133,7 @@ def retrieve_collaborative_draft end def geocoded_collaborative_draft - @geocoded_collaborative_draft ||= search.results.not_hidden.select(&:geocoded?) + @geocoded_collaborative_draft ||= search.results.not_hidden.select(&:geocoded_and_valid?) end def search_klass From 822d1f40a17af17607ee2a4b5c2dcd8a28039903 Mon Sep 17 00:00:00 2001 From: leio10 Date: Mon, 24 May 2021 12:40:29 +0200 Subject: [PATCH 08/71] Bump gems versions to fix dependendabot alerts (#8041) --- Gemfile | 2 +- Gemfile.lock | 17 +++++++++-------- decidim-dev/decidim-dev.gemspec | 2 +- decidim-generators/Gemfile.lock | 16 ++++++++-------- decidim_app-design/Gemfile.lock | 16 ++++++++-------- 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/Gemfile b/Gemfile index f3f6912737a53..f49195ae7d2c6 100644 --- a/Gemfile +++ b/Gemfile @@ -13,7 +13,7 @@ gem "decidim-templates", path: "." gem "bootsnap", "~> 1.4" -gem "puma", ">= 5.0.0" +gem "puma", ">= 5.3.1" gem "uglifier", "~> 4.1" gem "faker", "~> 2.14" diff --git a/Gemfile.lock b/Gemfile.lock index 845da1f0a38a9..1405bc1471ba7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -141,7 +141,7 @@ PATH factory_bot_rails (~> 4.8) i18n-tasks (~> 0.9.18) mdl (~> 0.5) - nokogiri (~> 1.11, >= 1.11.1) + nokogiri (~> 1.11, >= 1.11.4) puffing-billy (~> 2.4.0) puma (~> 5.0) rails-controller-testing (~> 1.0) @@ -337,7 +337,8 @@ GEM actionpack (>= 3.0) cells (>= 4.1.6, < 5.0.0) charlock_holmes (0.7.7) - chef-utils (16.12.3) + chef-utils (17.1.35) + concurrent-ruby childprocess (3.0.0) coercible (1.0.0) descendants_tracker (~> 0.0.1) @@ -570,7 +571,7 @@ GEM netrc (0.11.0) nio4r (2.5.7) nobspw (0.6.2) - nokogiri (1.11.3) + nokogiri (1.11.5) mini_portile2 (~> 2.5.0) racc (~> 1.4) oauth (0.5.6) @@ -631,7 +632,7 @@ GEM eventmachine_httpserver http_parser.rb (~> 0.6.0) multi_json - puma (5.0.0) + puma (5.3.2) nio4r (~> 2.0) racc (1.5.2) rack (2.2.3) @@ -809,8 +810,8 @@ GEM system_test_html_screenshots (0.1.2) actionpack (>= 5.2, < 6.0.a) temple (0.8.2) - terminal-table (3.0.0) - unicode-display_width (~> 1.1, >= 1.1.1) + terminal-table (3.0.1) + unicode-display_width (>= 1.1.1, < 3) thor (1.1.0) thread_safe (0.3.6) tilt (2.0.10) @@ -845,7 +846,7 @@ GEM activemodel (>= 5.0) bindex (>= 0.4.0) railties (>= 5.0) - webmock (3.12.2) + webmock (3.13.0) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) @@ -878,7 +879,7 @@ DEPENDENCIES faker (~> 2.14) letter_opener_web (~> 1.3) listen (~> 3.1) - puma (>= 5.0.0) + puma (>= 5.3.1) rubocop-faker simplecov (~> 0.19.0) spring (~> 2.0) diff --git a/decidim-dev/decidim-dev.gemspec b/decidim-dev/decidim-dev.gemspec index 21a92ffb04d75..182b5b306d076 100644 --- a/decidim-dev/decidim-dev.gemspec +++ b/decidim-dev/decidim-dev.gemspec @@ -29,7 +29,7 @@ Gem::Specification.new do |s| s.add_dependency "erb_lint", "~> 0.0.28" s.add_dependency "i18n-tasks", "~> 0.9.18" s.add_dependency "mdl", "~> 0.5" - s.add_dependency "nokogiri", "~> 1.11", ">= 1.11.1" + s.add_dependency "nokogiri", "~> 1.11", ">= 1.11.4" s.add_dependency "puffing-billy", "~> 2.4.0" s.add_dependency "puma", "~> 5.0" s.add_dependency "rails-controller-testing", "~> 1.0" diff --git a/decidim-generators/Gemfile.lock b/decidim-generators/Gemfile.lock index 12a8758adf0d4..f7db0711a9c68 100644 --- a/decidim-generators/Gemfile.lock +++ b/decidim-generators/Gemfile.lock @@ -141,7 +141,7 @@ PATH factory_bot_rails (~> 4.8) i18n-tasks (~> 0.9.18) mdl (~> 0.5) - nokogiri (~> 1.11, >= 1.11.1) + nokogiri (~> 1.11, >= 1.11.4) puffing-billy (~> 2.4.0) puma (~> 5.0) rails-controller-testing (~> 1.0) @@ -337,7 +337,7 @@ GEM actionpack (>= 3.0) cells (>= 4.1.6, < 5.0.0) charlock_holmes (0.7.7) - chef-utils (17.0.242) + chef-utils (17.1.35) concurrent-ruby childprocess (3.0.0) coercible (1.0.0) @@ -390,7 +390,7 @@ GEM doc2text (0.4.3) nokogiri (~> 1.11.1) rubyzip (~> 2.3.0) - docile (1.3.5) + docile (1.4.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) doorkeeper (5.5.1) @@ -575,7 +575,7 @@ GEM netrc (0.11.0) nio4r (2.5.7) nobspw (0.6.2) - nokogiri (1.11.3) + nokogiri (1.11.5) mini_portile2 (~> 2.5.0) racc (~> 1.4) oauth (0.5.6) @@ -636,7 +636,7 @@ GEM eventmachine_httpserver http_parser.rb (~> 0.6.0) multi_json - puma (5.1.1) + puma (5.3.2) nio4r (~> 2.0) racc (1.5.2) rack (2.2.3) @@ -810,8 +810,8 @@ GEM system_test_html_screenshots (0.1.2) actionpack (>= 5.2, < 6.0.a) temple (0.8.2) - terminal-table (3.0.0) - unicode-display_width (~> 1.1, >= 1.1.1) + terminal-table (3.0.1) + unicode-display_width (>= 1.1.1, < 3) thor (1.1.0) thread_safe (0.3.6) tilt (2.0.10) @@ -846,7 +846,7 @@ GEM activemodel (>= 5.0) bindex (>= 0.4.0) railties (>= 5.0) - webmock (3.12.2) + webmock (3.13.0) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) diff --git a/decidim_app-design/Gemfile.lock b/decidim_app-design/Gemfile.lock index 73dfc25434c6c..d874606ae36f3 100644 --- a/decidim_app-design/Gemfile.lock +++ b/decidim_app-design/Gemfile.lock @@ -141,7 +141,7 @@ PATH factory_bot_rails (~> 4.8) i18n-tasks (~> 0.9.18) mdl (~> 0.5) - nokogiri (~> 1.11, >= 1.11.1) + nokogiri (~> 1.11, >= 1.11.4) puffing-billy (~> 2.4.0) puma (~> 5.0) rails-controller-testing (~> 1.0) @@ -337,7 +337,7 @@ GEM actionpack (>= 3.0) cells (>= 4.1.6, < 5.0.0) charlock_holmes (0.7.7) - chef-utils (17.0.242) + chef-utils (17.1.35) concurrent-ruby childprocess (3.0.0) coercible (1.0.0) @@ -575,7 +575,7 @@ GEM netrc (0.11.0) nio4r (2.5.7) nobspw (0.6.2) - nokogiri (1.11.3) + nokogiri (1.11.5) mini_portile2 (~> 2.5.0) racc (~> 1.4) oauth (0.5.6) @@ -636,7 +636,7 @@ GEM eventmachine_httpserver http_parser.rb (~> 0.6.0) multi_json - puma (5.0.2) + puma (5.3.2) nio4r (~> 2.0) racc (1.5.2) rack (2.2.3) @@ -814,8 +814,8 @@ GEM system_test_html_screenshots (0.1.2) actionpack (>= 5.2, < 6.0.a) temple (0.8.2) - terminal-table (3.0.0) - unicode-display_width (~> 1.1, >= 1.1.1) + terminal-table (3.0.1) + unicode-display_width (>= 1.1.1, < 3) thor (1.1.0) thread_safe (0.3.6) tilt (2.0.10) @@ -850,7 +850,7 @@ GEM activemodel (>= 5.0) bindex (>= 0.4.0) railties (>= 5.0) - webmock (3.12.2) + webmock (3.13.0) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) @@ -883,7 +883,7 @@ DEPENDENCIES faker (~> 2.14) letter_opener_web (~> 1.3) listen (~> 3.1) - puma (>= 5.0.0) + puma (>= 5.3.1) rubocop-faker simplecov (~> 0.19.0) spring (~> 2.0) From b58b78a24ba8cc37ffdc7403aeba37d3d04759cf Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Mon, 24 May 2021 16:28:06 +0200 Subject: [PATCH 09/71] New Crowdin updates (#8009) * New translations en.yml (Polish) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Norwegian) * New translations en.yml (Norwegian) * New translations en.yml (Norwegian) * New translations en.yml (Norwegian) * New translations en.yml (Norwegian) * New translations en.yml (Norwegian) * New translations en.yml (Italian) * New translations en.yml (Italian) * New translations en.yml (Italian) * New translations en.yml (Italian) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Spanish) * New translations en.yml (Italian) * New translations en.yml (Italian) * New translations en.yml (Polish) --- decidim-admin/config/locales/it.yml | 11 +++ decidim-admin/config/locales/no.yml | 12 +++ decidim-admin/config/locales/pl.yml | 17 ++-- decidim-admin/config/locales/ro-RO.yml | 66 +++++++++++++ decidim-assemblies/config/locales/it.yml | 7 ++ decidim-assemblies/config/locales/no.yml | 7 ++ decidim-assemblies/config/locales/pl.yml | 4 +- decidim-budgets/config/locales/pl.yml | 2 +- decidim-conferences/config/locales/pl.yml | 7 +- decidim-consultations/config/locales/pl.yml | 2 +- decidim-core/config/locales/pl.yml | 10 +- decidim-core/config/locales/ro-RO.yml | 24 +++++ decidim-debates/config/locales/pl.yml | 5 +- decidim-elections/config/locales/no.yml | 38 ++++++++ decidim-elections/config/locales/pl.yml | 2 +- decidim-initiatives/config/locales/pl.yml | 2 +- decidim-initiatives/config/locales/ro-RO.yml | 72 ++++++++++++++ decidim-meetings/config/locales/pl.yml | 12 +-- .../config/locales/it.yml | 1 + .../config/locales/no.yml | 1 + .../config/locales/pl.yml | 2 +- decidim-proposals/config/locales/es.yml | 6 +- decidim-proposals/config/locales/pl.yml | 40 ++++---- decidim-system/config/locales/it.yml | 94 ++++++++++++++++++- decidim-system/config/locales/ro-RO.yml | 5 + 25 files changed, 389 insertions(+), 60 deletions(-) diff --git a/decidim-admin/config/locales/it.yml b/decidim-admin/config/locales/it.yml index 91bef7ad5dbf3..865b9c5c8b1a5 100644 --- a/decidim-admin/config/locales/it.yml +++ b/decidim-admin/config/locales/it.yml @@ -26,11 +26,15 @@ it: published_at: Pubblicato il weight: Peso id: ID + import: + user_group_id: Importa come newsletter: body: Testo subject: Oggetto organization: + admin_terms_of_use_body: Testo dei termini di utilizzo dell'admin alert_color: Notifica + available_authorizations: Autorizzazioni disponibili badges_enabled: Abilita badge comments_max_length: Lunghezza massima dei commenti (Lasciare 0 per il valore predefinito) cta_button_path: Percorso del pulsante Call To Action @@ -41,6 +45,8 @@ it: enable_omnipresent_banner: Mostra banner onnipresente facebook_handler: Gestore di Facebook favicon: Icona + force_authentication: Autenticazione obbligata + force_users_to_authenticate_before_access_organization: Autenticazione obbligata per l'accesso all'organizzazione from: '"Da" indirizzo email' github_handler: Gestore di GitHub header_snippets: Frammenti di intestazione @@ -53,6 +59,7 @@ it: highlighted_content_banner_image: Immagine highlighted_content_banner_short_description: Breve descrizione highlighted_content_banner_title: Titolo + host: Host instagram_handler: Gestore di Instagram logo: Logo machine_translation_display_priority: Priorità di visualizzazione della traduzione automatica @@ -65,10 +72,14 @@ it: omnipresent_banner_short_description: Breve descrizione omnipresent_banner_title: Titolo omnipresent_banner_url: URL + organization_admin_email: Email di amministrazione dell'organizzazione + organization_admin_name: Nome amministratore dell'organizzazione + organization_locales: Localizzazioni dell'organizzazione primary_color: Primario reference_prefix: Prefisso rich_text_editor_in_public_views: Abilita l'editor di testo esteso per i partecipanti secondary_color: Secondario + secondary_hosts: Host secondari send_welcome_notification: Invia notifica di benvenuto success_color: Successo time_zone: Fuso Orario diff --git a/decidim-admin/config/locales/no.yml b/decidim-admin/config/locales/no.yml index 6299ceaea6a3b..177ec645db1d3 100644 --- a/decidim-admin/config/locales/no.yml +++ b/decidim-admin/config/locales/no.yml @@ -32,6 +32,7 @@ body: Tekst subject: Emne organization: + admin_terms_of_use_body: Innholdet i de administrative vilkårene for bruk av plattformen alert_color: Varsel available_authorizations: Tilgjengelige autorisasjoner badges_enabled: Aktiver utmerkelse @@ -45,6 +46,7 @@ facebook_handler: Facebook brukernavn favicon: Ikon force_authentication: Tving godkjenning + force_users_to_authenticate_before_access_organization: Pålegg brukere å godkjenne før tilgang til organisasjonen from: Fra e-postadresse github_handler: GitHub brukernavn header_snippets: Utdrag topptekst @@ -70,6 +72,8 @@ omnipresent_banner_short_description: Kort beskrivelse omnipresent_banner_title: Tittel omnipresent_banner_url: URL + organization_admin_email: Epost for organisasjonsadministrator + organization_admin_name: Navn på organisasjonen primary_color: Primært reference_prefix: Referanse prefiks rich_text_editor_in_public_views: Aktiver rik-tekst-redigering for deltakere @@ -322,6 +326,10 @@ title_cont: Søk %{collection} etter tittel. state_eq: label: Tilstand + forms: + file_help: + import: + message_1: CSV, JSON og Excel (.xls)-filer støttes help_sections: error: Det oppsto et problem med å oppdatere hjelpeseksjonene form: @@ -360,6 +368,10 @@ impersonate_existing_managed_user: Administrer deltaker "%{name}" impersonate_existing_user: Administrer deltaker "%{name}" impersonate_new_managed_user: Administrer ny deltaker + imports: + new: + accepted_mime_types: + xls: xls logs: logs_list: no_logs_yet: Det er ingen logger ennå diff --git a/decidim-admin/config/locales/pl.yml b/decidim-admin/config/locales/pl.yml index 78745c03d5e69..5f89fa91e9227 100644 --- a/decidim-admin/config/locales/pl.yml +++ b/decidim-admin/config/locales/pl.yml @@ -32,6 +32,7 @@ pl: body: Treść subject: Temat organization: + admin_terms_of_use_body: Warunki korzystania z serwisu dla administratora alert_color: Powiadomienie available_authorizations: Dostępne formy uwierzytelniania badges_enabled: Włącz odznaki @@ -169,7 +170,7 @@ pl: reject: Odrzuć share: Udostępnij user: - new: Nowy użytkownik + new: Nowy administrator verify: Zweryfikuj admin_terms_of_use: accept: @@ -576,7 +577,7 @@ pl: report: reasons: does_not_belong: Nie należy - offensive: Ofensywa + offensive: Ofensywna spam: Spam reports: index: @@ -587,12 +588,12 @@ pl: reported_content: Zgłoszona zawartość see_current: Zobacz bieżący see_original: Zobacz oryginał - title: Raporty moderacyjne + title: Zgłoszenia moderacyjne show: report_details: Szczegóły przyczyny report_language: Zgłoś język report_reason: Powód - title: Szczegóły raportu + title: Szczegóły zgłoszenia newsletter_templates: index: preview_template: Podgląd @@ -676,7 +677,7 @@ pl: officialize: Oficjalizuj officialized: Oficjalny reofficialize: Reoficjalizuj - reports: Raporty + reports: Zgłoszenia show_email: Pokaż adres e-mail status: Status unblock: Odblokuj użytkownika @@ -872,7 +873,7 @@ pl: static_pages: Strony statistics: Działania user_groups: Grupy użytkowników - users: Użytkownicy + users: Administratorzy user_group: csv_verify: invalid: Wystąpił błąd podczas odczytu pliku CSV. @@ -968,8 +969,8 @@ pl: report_count: Liczba reportable_id: Id reportable_type: Typ - reported_content_url: Zgłoszony URL treści - reports: Raporty + reported_content_url: URL zgłoszonej treści + reports: Zgłoszenia visit_url: Odwiedź adres URL report: fields: diff --git a/decidim-admin/config/locales/ro-RO.yml b/decidim-admin/config/locales/ro-RO.yml index 5bbc51d4a6f79..358fb1c5b7212 100644 --- a/decidim-admin/config/locales/ro-RO.yml +++ b/decidim-admin/config/locales/ro-RO.yml @@ -32,6 +32,7 @@ ro: body: Corp subject: Subiect organization: + admin_terms_of_use_body: Text pentru termenii de utilizare ai administratorului alert_color: Alertă available_authorizations: Autorizații disponibile badges_enabled: Activează insigne @@ -516,6 +517,14 @@ ro: fields: name: Nume plural: Plural + share_token: + fields: + created_at: Creată la + expires_at: Expiră la + last_used_at: Ultima utilizare + times_used: Număr utilizări + token: Token + user: Creat de static_page: fields: created_at: Creat la @@ -540,6 +549,26 @@ ro: phone: Telefon state: Județ users_count: Numărul de participanți + moderated_users: + index: + actions: + block: Blochează utilizator + title: Acţiuni + unblock: Deblocare utilizator + unreport: Anulează raportarea + name: Nume + nickname: Poreclă + reason: Motiv + reports: Număr rapoarte + title: Listare utilizatori raportați + report: + reasons: + does_not_belong: Nu aparține + offensive: Ofensator + spam: Spam + tabs: + blocked: Blocat + unblocked: Nu este blocat moderations: index: title: Moderări @@ -548,6 +577,18 @@ ro: does_not_belong: Nu aparține offensive: Ofensiv spam: Spam + reports: + index: + author: Autor(i) + callout_html: Un conținut apare în panoul de moderare atunci când a fost semnalat de un utilizator (poate fi oricine cu un cont înregistrat) făcând clic pe steagul %{icon} de lângă element. + content_original_language: Limba originală a conținutului + participatory_space: Spațiu participativ + reported_content: Conținutul raportat + see_current: Vezi curent + see_original: Vezi originalul + title: Rapoarte de moderare + show: + report_details: Detalii motiv newsletter_templates: index: preview_template: Previzualizare @@ -613,6 +654,9 @@ ro: error: A apărut o eroare la actualizarea acestui buletin informativ. success: Buletin informativ actualizat cu succes. Vă rugăm să îl revizuiți înainte de a trimite. officializations: + block: + error: A intervenit o eroare în încărcarea istoricului activității + success: Participantul a fost blocat create: success: Participantul a fost verificat cu succes destroy: @@ -620,6 +664,7 @@ ro: index: actions: Acțiuni badge: Insignă + block: Blochează utilizator created_at: Creat la name: Nume nickname: Porecla @@ -627,8 +672,10 @@ ro: officialize: Verificare officialized: Verificat reofficialize: Reverificare + reports: Rapoarte show_email: Arată adresa de e-mail status: Stare + unblock: Deblocare utilizator unofficialize: Retrageți verificarea new: badge: Ecuson de verificare @@ -642,6 +689,9 @@ ro: hidden: ascuns show: Arată title: Arată adresa de e-mail a participantului + unblock: + error: A intervenit o eroare în încărcarea istoricului activității + success: Participantul a fost deblocat organization: edit: title: Editează organizația @@ -653,6 +703,7 @@ ro: rich_text_editor_in_public_views_help: În unele zone de text, participanţii vor putea insera unele tag-uri HTML folosind bogatul editor de text. social_handlers: Social twitter: Twitter + url: Adresă youtube: YouTube update: error: A apărut o eroare la actualizarea acestei organizații. @@ -661,11 +712,15 @@ ro: edit: update: Actualizare form: + colors: + colors_title: Culori pentru organizații + header_snippets_help: 'Utilizați acest câmp pentru a adăuga element în antetul HTML. Cea mai frecventă utilizare este integrarea de servicii terțe care necesită JavaScript sau CSS suplimentare. De asemenea, puteți adăuga metataguri suplimentare la HTML. Notă: acest lucru va avea efect doar în paginile publice, nu în secțiunea administrativă.' cta_button_path_help: 'Puteţi suprascrie unde butonul Apel la Acţiune din pagina de pornire. Utilizaţi căi parţiale, nu adrese URL complete aici. Acceptă litere, numere, cratime și tăieturi, și trebuie să înceapă cu o literă. Butonul Apel la Acțiune este afișat în pagina de start dintre textul de bun venit și descriere. Exemplu: %{url}' cta_button_text_help: Puteţi suprascrie textul butonului Apel la Acţiune din pagina de start pentru fiecare limbă disponibilă din organizaţie. Dacă nu este setată, va fi folosită valoarea implicită. Butonul Apel la Acțiune este afișat în pagina de start dintre textul de bun venit și descriere. homepage_appearance_title: Editează aspectul paginii de start homepage_highlighted_content_banner_title: Banner pentru conținut evidențiat images: + layout_appearance_title: Editarea aspectului formatului preview: Previzualizare omnipresent_banner_appearance_title: Editare banner omniprezent organization_homepage: @@ -683,6 +738,7 @@ ro: error: A apărut o eroare la ștergerea unui participant privat pentru acest spațiu participativ. success: Accesul participanților privați la spațiul participativ a fost eliminat cu succes. index: + import_via_csv: Import din fișier CSV title: Participant privat la spațiu new: create: Crează @@ -692,6 +748,7 @@ ro: invalid: A apărut o problemă la citirea fișierului CSV. success: Fișier CSV încărcat cu succes, trimitem un e-mail de invitație participanților. Acest lucru ar putea dura un timp. new: + explanation: 'Încărcaţi fişierul CSV. Trebuie să aibă două coloane cu e-mail în prima coloană a fișierului și numele în ultima coloană a fișierului (email, numele utilizatorilor pe care doriţi să îi adăugaţi în spaţiul participativ, fără antete. Evită folosirea caracterelor invalide, cum ar fi `<>?%&^*#@()[]=+:;"{}\ ` în numele utilizatorului.' title: Încarcă fișierul tău CSV upload: Incarca resource_permissions: @@ -700,6 +757,10 @@ ro: title: Editare permisiuni update: success: Permisiuni actualizate cu succes. + resources: + index: + headers: + scope: Domeniu scope_types: create: error: A apărut o problemă la crearea unui nou tip de domeniu de aplicare. @@ -732,7 +793,12 @@ ro: error: A apărut o eroare la actualizarea acestui domeniu de aplicare. success: Domeniu de aplicare actualizat cu succes share_tokens: + actions: + confirm_destroy: Sigur doriți să ștergeți acest token? + destroy: Șterge + share: Distribuie destroy: + error: A apărut o problemă la distrugerea tokenului. success: Jetonul a fost eliminat. share_tokens: empty: Nu există jetoane active diff --git a/decidim-assemblies/config/locales/it.yml b/decidim-assemblies/config/locales/it.yml index a6a1bce48b094..c0a7be5e2f0b9 100644 --- a/decidim-assemblies/config/locales/it.yml +++ b/decidim-assemblies/config/locales/it.yml @@ -52,6 +52,7 @@ it: target: A chi è destinato il processo title: Titolo twitter: Twitter + weight: Peso youtube: Youtube assembly_member: birthday: Data di nascita @@ -385,11 +386,15 @@ it: comments_count: Commenti debates_count: Discussioni endorsements_count: Mi piace + followers_count: Follower + headline: Statistiche meetings_count: Riunioni + no_stats: Non ci sono ancora statistiche. orders_count: Supporti pages_count: Pagine participants_count: Partecipanti posts_count: Messaggi + processes_count: Processi projects_count: Progetti proposals_count: Proposte results_count: Risultati @@ -443,6 +448,8 @@ it: home: hero: participate_title: Partecipa ai processi della piattaforma + sub_hero: + register_title: Registrati e crea un account participatory_processes: pages: home: diff --git a/decidim-assemblies/config/locales/no.yml b/decidim-assemblies/config/locales/no.yml index aaa5f809ed161..90b03b1621fa8 100644 --- a/decidim-assemblies/config/locales/no.yml +++ b/decidim-assemblies/config/locales/no.yml @@ -50,6 +50,7 @@ target: Hvem deltar title: Tittel twitter: Twitter + weight: Vekting youtube: YouTube assembly_member: birthday: Fødselsdag @@ -382,11 +383,15 @@ comments_count: Kommentarer debates_count: Debatter endorsements_count: Påtegnelser + followers_count: Følgere + headline: Statistikk meetings_count: Møter + no_stats: Det finnes ingen statistikk enda. orders_count: Støtter pages_count: Sider participants_count: Deltakere posts_count: Innlegg + processes_count: Prosesser projects_count: Prosjekter proposals_count: Forslag results_count: Resultater @@ -440,6 +445,8 @@ home: hero: participate_title: Delta i plattformens prosesser + sub_hero: + register_title: Registrer deg for å opprette en konto participatory_processes: pages: home: diff --git a/decidim-assemblies/config/locales/pl.yml b/decidim-assemblies/config/locales/pl.yml index 5047c4f8c656d..db7fa4c1cfe93 100644 --- a/decidim-assemblies/config/locales/pl.yml +++ b/decidim-assemblies/config/locales/pl.yml @@ -238,7 +238,7 @@ pl: admin: Administrator collaborator: Współpracownik moderator: Moderator - valuator: Taksator + valuator: Weryfikator titles: assemblies: Zespoły assemblies_types: Typy zespołów @@ -385,7 +385,7 @@ pl: related_participatory_processes: Powiązane procesy partycypacyjne scope: Zakres social_networks: Portale społecznościowe - social_networks_title: Udostępnij zespół na + social_networks_title: Odwiedź zespół na target: Do kogo kierowane statistics: answers_count: Odpowiedzi diff --git a/decidim-budgets/config/locales/pl.yml b/decidim-budgets/config/locales/pl.yml index 6e940a1b533c3..32c3656203f41 100644 --- a/decidim-budgets/config/locales/pl.yml +++ b/decidim-budgets/config/locales/pl.yml @@ -238,7 +238,7 @@ pl: components: budgets: actions: - vote: Głosuj + vote: Wspieranie name: Budżety settings: global: diff --git a/decidim-conferences/config/locales/pl.yml b/decidim-conferences/config/locales/pl.yml index ccd6ae0443346..57d0f567fb6d2 100644 --- a/decidim-conferences/config/locales/pl.yml +++ b/decidim-conferences/config/locales/pl.yml @@ -29,6 +29,7 @@ pl: conference_registration_type: weight: Kolejność na stronie conference_speaker: + avatar: Awatar full_name: Pełne imię i nazwisko conference_user_role: email: E-mail @@ -195,7 +196,7 @@ pl: admin: Administrator collaborator: Współpracownik moderator: Moderator - valuator: Taksator + valuator: Weryfikator media_link: fields: date: Data @@ -320,7 +321,7 @@ pl: sent: Wysłano filter_by: Filtruj według invite_attendee: Zaproś użytkownika - invites: Zaprasza + invites: Zaproszeni search: Szukaj new: explanation: Użytkownik zostanie zaproszony do udziału w konferencji. Jeśli e-mail nie został wcześniej zarejestrowany, zostanie również zaproszony do organizacji. @@ -454,7 +455,7 @@ pl: conference_invite: fields: email: E-mail - name: Nazwa + name: Imię registration_type: Typ rejestracji sent_at: Wysłano status: Status diff --git a/decidim-consultations/config/locales/pl.yml b/decidim-consultations/config/locales/pl.yml index 765195dab6377..5b5ddacd3363a 100644 --- a/decidim-consultations/config/locales/pl.yml +++ b/decidim-consultations/config/locales/pl.yml @@ -381,7 +381,7 @@ pl: resources: consultations: actions: - vote: Głosuj + vote: Wspieranie layouts: decidim: admin: diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index add76157730fe..019dfacb2510d 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -383,7 +383,7 @@ pl: dummy_global_attribute_1: Przykładowy atrybut 1 dummy_global_attribute_2: Przykładowy atrybut 2 dummy_global_translatable_text: Przykładowy tekst do tłumaczenia - enable_pads_creation: Włącz tworzenie klocków + enable_pads_creation: Włącz tworzenie padów resources_permissions_enabled: Włączono uprawnienia do zasobów scope_id: Zakres scopes_enabled: Zakresy włączone @@ -658,7 +658,7 @@ pl: email_outro: Otrzymałeś to powiadomienie, ponieważ jesteś autorem usuniętego zasobu. email_subject: '%{resource_type} został usunięty' notification_title: |- - Administrator usunął %{resource_type}, ponieważ zasób został zgłoszony jako %{report_reasons}.
+ Administrator usunął %{resource_type}, ponieważ treść została zgłoszona jako %{report_reasons}.
%{resource_content} resource_endorsed: email_intro: '%{endorser_name} %{endorser_nickname}, którego śledzisz, właśnie zarekomendował(a) „%{resource_title}” i uważamy, że może Cię to zainteresować. Sprawdź i zadecyduj:' @@ -1191,8 +1191,8 @@ pl: subject: Zasób został zgłoszony reports: create: - error: Wystąpił błąd podczas tworzenia raportu. Proszę spróbować ponownie. - success: Raport został utworzony z powodzeniem i zostanie zweryfikowany przez administratora. + error: Wystąpił błąd podczas tworzenia zgłoszenia. Proszę spróbować ponownie. + success: Zgłoszenie zostało utworzone z powodzeniem i zostanie zweryfikowane przez administratora. resource_endorsements: create: error: Wystąpił błąd podczas udzielania rekomendacji. @@ -1259,7 +1259,7 @@ pl: description: Czy ta treść jest nieodpowiednia? does_not_belong: Promuje nielegalną działalność, groźby samobójcze, informacje osobiste lub coś innego, co według Ciebie nie powinno pojawić się w %{organization_name}. offensive: Promuje rasizm, seksizm, nienawiść, ataki osobiste, groźby śmierci, groźby samobójcze jakąkolwiek formę mowy nienawiści. - report: Raport + report: Zgłoś spam: Zawiera clickbaity, reklamy, oszustwa lub wrogie skrypty. title: Zgłoś nieodpowiednią zawartość flag_user_modal: diff --git a/decidim-core/config/locales/ro-RO.yml b/decidim-core/config/locales/ro-RO.yml index cd84077e01368..a8e746bca43bb 100644 --- a/decidim-core/config/locales/ro-RO.yml +++ b/decidim-core/config/locales/ro-RO.yml @@ -1265,6 +1265,8 @@ ro: does_not_belong: Conține activitate ilegală, amenințări de sinucidere, informații personale sau altceva care credeți că nu aparțin de %{organization_name}. offensive: Conține rasism, sexism, insulte, atacuri personale, amenințări cu moartea, cereri de sinucidere sau orice formă de discurs de incitare la ură. report: Raportează + spam: Conține clickbait, publicitate, escrocherii sau roboți script. + title: Raportează un utilizator nepotrivit floating_help: close: Închide Ajutor help: Ajutor @@ -1293,6 +1295,10 @@ ro: tags: filter_results_for_category: 'Filtrează rezultatele pentru categoria: %{resource}' filter_results_for_scope: 'Filtrează rezultatele pentru scope: %{resource}' + translation_bar: + help_text: "Avertisment: Conținutul poate fi tradus automat și nu este 100% exact." + show_original: Afișați textul original + show_translated: Arată textul tradus automat user_activity: index: no_activities_warning: Acest participant nu a avut încă nicio activitate. @@ -1336,6 +1342,13 @@ ro: update: error: A apărut o eroare la actualizarea intereselor tale. success: Interesele tale au fost actualizate cu succes. + user_report_mailer: + notify: + body_1: Utilizatorul %{user} a fost raportat de %{token} + body_2: 'Motiv: %{reason}' + greetings: Salutări,
%{organization_name}
%{organization_url} + hello: Bună ziua %{admin}, + subject: Un nou utilizator a fost raportat în %{organization_name} version: show: back_to_resource: Mergi înapoi @@ -1346,9 +1359,13 @@ ro: version_created_at: Versiune creată la version_number: Număr versiune version_number_out_of_total: "%{current_version} din %{total_count}" + version_author: + show: + deleted: Participant șters versions: resource_version: of_versions: "(din %{number})" + see_other_versions: afișați alte versiuni version: Versiunea %{number} versions_list: show: @@ -1360,6 +1377,7 @@ ro: show: version_index: Versiunea %{index} welcome_notification: + default_body:

Bună ziua {{name}}, vă mulțumin că v-ați alăturat {{organization}} și bine ați venit!

  • Dacă doriți să aveți o idee despre ceea ce puteți face aici, examinați secțiunea de Ajutor.
  • După citirea acesteia veți primi primul ecuson. Aici este lista tuturor ecusoanelor pe care le puteți obține pe măsură ce participați în cadrul {{organization}}
  • Nu în ultimul rând, puteți să vă alăturați altor persoane, să împărtășiți cu acestea experiența dvs. de implicare și participare în cadrul {{organization}}. Formulați propuneri și comentarii, dezbateți, reflectați asupra modului de a contribui la binele comun, oferiți argumente pentru a convinge, ascultați și citiți pentru a vă lăsa convinși, exprimați-vă ideile în mod concret și direct, răspundeți ferm și cu răbdare, apărați-vă ideile și mențineți o atitudine deschisă pentru a colabora și a participa la ideile altora.
default_subject: Îți mulțumim că te-ai alăturat {{organization}}! wizard_step_form: wizard_aside: @@ -1574,6 +1592,11 @@ ro: instagram: "%{organization} la Instagram" twitter: "%{organization} pe Twitter" youtube: "%{organization} pe YouTube" + timeout_modal: + body: Ai fost inactiv de %{minutes} minute. Dacă continui să fii inactiv, vei fi deconectat automat pentru propria ta securitate. + continue_session: Continuă sesiunea + sign_out: Ieșiți + title: Vreți să continuați sesiunea? user_menu: account: 'Cont de utilizator: %{name}' admin_dashboard: Panou de administrare @@ -1595,6 +1618,7 @@ ro: see_more: Vezi mai multe locale: name: Română + name_with_error: Română (eroare!) password_validator: domain_included_in_password: este prea similar cu acest nume de domeniu email_included_in_password: este prea asemănător cu adresa de e-mail diff --git a/decidim-debates/config/locales/pl.yml b/decidim-debates/config/locales/pl.yml index 53a7ab1ad28df..79663fde0f14c 100644 --- a/decidim-debates/config/locales/pl.yml +++ b/decidim-debates/config/locales/pl.yml @@ -29,8 +29,8 @@ pl: components: debates: actions: - create: Utwórz - endorse: Rekomenduj + create: Tworzenie + endorse: Rekomendacje name: Debaty settings: global: @@ -189,7 +189,6 @@ pl: create_debate_event: space_followers: email_intro: |- - Cześć, Nowa debata "%{resource_title}" została utworzona w przestrzeni partycypacyjnej %{space_title}, sprawdź ją i przyłącz się: email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz przestrzeń partycypacyjną %{space_title}. Możesz przestać otrzymywać powiadomienia po kliknięciu w poprzedni link. email_subject: Nowa debata "%{resource_title}" w %{space_title} diff --git a/decidim-elections/config/locales/no.yml b/decidim-elections/config/locales/no.yml index f4739f2389b3d..189c3e9893ecf 100644 --- a/decidim-elections/config/locales/no.yml +++ b/decidim-elections/config/locales/no.yml @@ -17,16 +17,42 @@ proposals_imports: create: invalid: Det oppstod et problem under importen av forslag til svar + steps: + tally_ended: + title: Beregnet resultat elections: count: elections_count: one: "%{count} valg" other: "%{count} valg" + preview: + available_answers: Tilgjengelige svar + description: Dette er spørsmål du finner i avstemningsprosessen + results: + description: Dette er resultater av avstemningen, for hvert spørsmål + votes: + one: "%{count} stemmer" + other: "%{count} stemmer" + zero: "%{count} stemmer" show: + action-button: + change-vote: Endre stemmen din + vote: Start avstemning + vote-again: Stem på nytt + callout: + already-voted: Du har allerede gitt din stemme i denne prosessen. Du kan endre stemmen din eller verifisere den. + vote-rejected: Det var ikke mulig å bekrefte stemmen din. Vennligst avgi den igjen. preview: Forhåndsvisning + verify: + already-voted: Stemt allerede? + verify-here: Sjekk hva du har stemt på her. + will-verify: Du vil kunne bekrefte stemmen din når avstemningen starter. voting_period_status: finished: Stemmegivningen startet %{start_time} og opphørte %{end_time} upcoming: Avstemming begynner %{start_time} + feedback: + answer: + invalid: Det oppsto et problem med å sende inn din tilbakemelding. votes: confirm: answer: Svar @@ -38,6 +64,7 @@ question: Spørsmål %{count} confirmed: back: Tilbake til valg + error: Beklager, det oppstod en feil under bekreftelsen av stemmen. Vennligst stem på nytt. experience: Hvordan var opplevelsen din? feedback: Gi oss en tilbakemelding header: Avstemning bekreftet @@ -60,9 +87,20 @@ preview_alert: Dette er en forhåndsvisning av stemmebåsen. question_steps: Spørsmål %{current_step} av %{total_steps} selections: "%{selected} av %{max_selections}
valg" + processing: + header: Behandler avstemning... + text: Din stemme er mottatt og den er under behandling. Vennligst vent. + update: + error: Det oppstod et problem under oppdatering av avstemnings-status + success: Avstemnings-status oppdatert voting_step: back: Tilbake continue: Neste + votings: + admin: + menu: + votings_submenu: + monitoring_committee_members: Kontrollgruppe layouts: decidim: election_votes_header: diff --git a/decidim-elections/config/locales/pl.yml b/decidim-elections/config/locales/pl.yml index 8df7159dad9bd..1b46a3f58fcc0 100644 --- a/decidim-elections/config/locales/pl.yml +++ b/decidim-elections/config/locales/pl.yml @@ -100,7 +100,7 @@ pl: components: elections: actions: - vote: Głosuj + vote: Wspieranie name: Wybory settings: global: diff --git a/decidim-initiatives/config/locales/pl.yml b/decidim-initiatives/config/locales/pl.yml index 566ef965fe183..a515ee914110b 100644 --- a/decidim-initiatives/config/locales/pl.yml +++ b/decidim-initiatives/config/locales/pl.yml @@ -593,7 +593,7 @@ pl: initiatives_type: actions: title: Działania - vote: Podpisz + vote: Wspieranie layouts: decidim: admin: diff --git a/decidim-initiatives/config/locales/ro-RO.yml b/decidim-initiatives/config/locales/ro-RO.yml index 50a9be47601c9..57197bfc7e36b 100644 --- a/decidim-initiatives/config/locales/ro-RO.yml +++ b/decidim-initiatives/config/locales/ro-RO.yml @@ -5,6 +5,7 @@ ro: decidim_user_group_id: Autor description: Descriere offline_votes: Semnături interpersonale + offline_votes_for_scope: Semnături personale pentru %{scope_name} scope_id: Domeniu signature_end_date: Sfârșitul perioadei de colectare a semnăturilor signature_start_date: Începutul perioadei de colectare a semnăturilor @@ -21,6 +22,7 @@ ro: area_enabled: Permite autorilor să aleagă zona pentru inițiativa lor attachments_enabled: Activare atașamente banner_image: Imagine banner + child_scope_threshold_enabled: Activează semnăturile pentru domeniul de aplicare, copil collect_user_extra_fields: Colectarea datelor cu caracter personal ale participantului la semnătură custom_signature_end_date_enabled: Permite autorilor să aleagă sfârșitul perioadei de colectare a semnăturilor description: Descriere @@ -28,6 +30,7 @@ ro: extra_fields_legal_information: Informații juridice privind colectarea datelor cu caracter personal minimum_committee_members: Numărul minim de membri ai comitetului online_signature_enabled: Semnătură online activată + only_global_scope_enabled: Permiteți numai crearea de inițiative la nivel global promoting_committee_enabled: Activați comitetul de promovare title: Titlu undo_online_signatures_enabled: Permite participanților să își anuleze semnăturile online @@ -67,6 +70,23 @@ ro: admin: actions: new_initiative_type: Noul tip de inițiativă + filters: + initiatives: + decidim_area_id_eq: + label: Zonă + state_eq: + label: Județ + values: + accepted: Insuficiente semnături + created: Creat + discarded: Renunță + published: Publicat + rejected: Semnături insuficiente + validating: Validarea tehnică + type_id_eq: + label: Tip + search_placeholder: + title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Căutați în %{collection} după titlu, descriere, ID sau numele autorului. menu: initiatives: Inițiative initiatives_types: Tipuri de inițiative @@ -101,6 +121,7 @@ ro: initiative_title: Titlul inițiativei name_and_surname: Nume și prenume postal_code: Cod poștal + scope: Domeniu time_and_date: Ora și data timestamp: Ora titles: @@ -119,6 +140,11 @@ ro: email_outro: Ați primit această notificare deoarece urmăriți %{resource_title}. Puteți înceta să primiți notificări urmând linkul anterior. email_subject: Semnăturile inițiativei au fost prelungite! notification_title: Data de încheiere a semnăturilor pentru inițiativa %{resource_title} a fost extinsă. + initiative_sent_to_technical_validation: + email_intro: Inițiativa "%{resource_title}" a fost trimisă pentru validare tehnică. Puteți verifica pe panoul de administrare + email_outro: Ați primit această notificare deoarece sunteți administrator al platformei. + email_subject: Inițiativa "%{resource_title}" a fost trimisă pentru validare tehnică. + notification_title: Inițiativa "%{resource_title}" a fost trimisă pentru validare tehnică. Puteți verifica pe panoul de administrare milestone_completed: affected_user: email_intro: Inițiativa ta %{resource_title} a obținut %{percentage}% semnături! @@ -131,7 +157,10 @@ ro: email_subject: Piatră nouă finalizată! notification_title: Inițiativa %{resource_title} a obținut %{percentage}% de semnături. support_threshold_reached: + email_intro: Inițiativa %{resource_title} a atins pragul de semnături email_outro: Ați primit această notificare deoarece sunteți un administrator al platformei. + email_subject: Pragul de semnături atins + notification_title: Inițiativa %{resource_title} a atins pragul de semnături gamification: badges: initiatives: @@ -176,12 +205,17 @@ ro: content_blocks: highlighted_initiatives: max_results: Cantitatea maximă de elemente de afișat + order: + default: Implicit (recent) + label: 'Ordonare element după:' + most_recent: Cele mai recente exports: initiatives: Inițiative initiatives: edit: accept: Acceptați inițiativa confirm: Ești sigur? + confirm_send_to_technical_validation: Sunteţi sigur(-ă)? discard: Renunțați la inițiativă export_pdf_signatures: Exportă fișierul PDF al semnăturilor export_votes: Exportă semnăturile @@ -190,6 +224,8 @@ ro: success: Inițiativa a fost trimisă validării tehnice update: Actualizare form: + attachments: Atașamente + settings: Setări title: Informaţii generale index: actions_title: Acțiune @@ -235,6 +271,10 @@ ro: destroy: Ștergere update: Actualizare form: + authorizations: Setări de autorizare + child_scope_threshold_enabled_help: 'Acest steag de configurare nu acceptă voturi offline, permite sub-scopurilor și funcționează cu un handler de autorizare care asociază un domeniu utilizatorului, asigură-te că ai ales acea autorizație, mai jos în setările de autorizare. Pentru ca acesta să funcţioneze domeniile de aplicare trebuie configurate în mod ierarhic: 1 părinte - N Child. Pentru mai multe informații despre cum funcționează această configurație, vedeți linkul .' + only_global_scope_enabled_help: Bifați acest steag dacă ați activat "Semnătura Child scope sigure" și ați configurat domeniul global ca domeniu părinte. Prin acest lucru, selecția de tip de inițiativă va fi omisă în asistentul pentru crearea de inițiative. Pentru mai multe informații despre cum funcționează această configurație, vedeți linkul . + options: Opţiuni title: Informaţii generale initiative_type_scopes: title: Domeniul de aplicare al tipului de inițiativă @@ -266,13 +306,19 @@ ro: accepted: Destinatar semnături all: Toate answered: Răspuns + closed: Închis + open: Deschis rejected: Semnături insuficiente filter_type_values: all: Toate committee_requests: + approve: + success: Cererea a fost aprobată. new: continue: Continuă help_text: Sunteți pe cale să deveniți membru al comitetului de promotori al acestei inițiative + revoke: + success: Cererea a fost revocată. spawn: success: Solicitarea dvs. a fost trimisă autorului de inițiativă. content_blocks: @@ -282,6 +328,7 @@ ro: fill_data: back: Înapoi continue: Continuă + fill_data_help: "
  • Examinați conținutul inițiativei dvs. Este ușor de înțeles titlul dvs.? Este obiectivul inițiativei dvs.?
  • Trebuie să alegeți tipul de semnătură. Persoană, online sau o combinație a ambelor
  • Care este aria geografică a inițiativei?
" initiative_type: Tip de inițiativă more_information: "(Informaţii principale)" select_area: Selectează o zonă @@ -289,8 +336,15 @@ ro: finish: back: Înapoi back_to_initiatives: Înapoi la inițiative + callout_text: Felicitări! Inițiativa dvs. a fost creată cu succes. + confirm: Veți trimite inițiativa unui administrator pentru a o revizui și a o publica. Odată publicat, nu o vei putea edita. Ești sigur? + edit_my_initiative: Editează inițiativa mea go_to_my_initiatives: Mergeți la inițiativele mele more_information: "(Informaţii principale)" + send_my_initiative: Trimite inițiativa mea la validarea tehnică + finish_help: + access_reminder: Poți accesa inițiativele tale prin filtrul %{link} de pe pagina de inițiative. + publish_helper_text: Reţineţi că pentru ca iniţiativa dvs. să fie publicată, trebuie să completaţi informaţiile necesare şi să le trimiteţi la validarea tehnică pentru ca un administrator să le revizuiască. previous_form: back: Înapoi continue: Continuă @@ -298,12 +352,14 @@ ro: more_information: "(Informaţii principale)" promotal_committee: back: Înapoi + individual_help_text: Acest tip de inițiativă necesită o Comisie de promovare formată din cel puțin %{committee_size} de persoane (atestatori). Trebuie să împărtășiți următorul link cu celelalte persoane care fac parte din această inițiativă. Când persoanele de contact primesc acest link vor trebui să urmeze pașii indicați. more_information: "(Informaţii principale)" select_initiative_type: back: Înapoi choose_html: Vreau să creez un %{title} more_information: "(Informaţii principale)" select: Doresc să promovez această iniţiativă + select_initiative_type_help: Inițiativele reprezintă un mijloc prin care participanții pot interveni astfel încât organizația să poată întreprinde acțiuni de apărare a interesului general. Ce inițiativă doriți să lansați? share_committee_link: continue: Continuă invite_to_committee_help: Link pentru a invita persoane care vor face parte din comitetul promotor @@ -312,7 +368,22 @@ ro: compare_help: Dacă oricare dintre următoarele inițiative este similară cu a dumneavoastră, vă încurajăm să o semnați. Propunerea dvs. va avea mai multe posibilități de a se realiza. continue: Iniţiativa mea este diferită more_information: "(Informaţii principale)" + edit: + accept: Acceptați inițiativa + back: Înapoi + confirm: Sunteţi sigur(-ă)? + discard: Renunțați la inițiativă + export_pdf_signatures: Exportă fișierul PDF al semnăturilor + export_votes: Exportă semnăturile + reject: Refuză inițiativă + title: Editare inițiativă + update: Actualizare events: + approve_membership_request: + email_intro: "%{author_nickname} a acceptat cererea ta de a face parte din comitetul promotorilor pentru inițiativa %{resource_title}." + email_outro: 'Ați primit această notificare deoarece ați aplicat la această inițiativă: %{resource_title}' + email_subject: "%{author_nickname} a acceptat cererea dvs. la comitetul promotorului" + notification_title: %{author_nickname} a acceptat cererea dvs. de a face parte din comitetul promotorului pentru următoarea inițiativă %{resource_title}. create_initiative_event: email_intro: "%{author_name} %{author_nickname}, pe care îl urmărești, a creat o nouă inițiativă, verifică și contribuește:" email_outro: Ați primit această notificare deoarece urmăriți %{author_nickname}. Puteți înceta să primiți notificări urmând linkul anterior. @@ -466,6 +537,7 @@ ro: decidim: admin: initiative: + attachments: Atașamente committee_members: Membrii Comitetului components: Componente information: Informare diff --git a/decidim-meetings/config/locales/pl.yml b/decidim-meetings/config/locales/pl.yml index acf450940cea4..c1da4b23a0310 100644 --- a/decidim-meetings/config/locales/pl.yml +++ b/decidim-meetings/config/locales/pl.yml @@ -8,7 +8,7 @@ pl: close_meeting: attendees_count: Liczba osób biorących udział attending_organizations: Lista organizacji biorących udział - closing_report: Zgłoś + closing_report: Raport z zamknięcia contributions_count: Liczba wsparć proposal_ids: Propozycje stworzone na spotkaniu meeting: @@ -95,8 +95,8 @@ pl: comments_max_length: Maksymalna długość komentarzy (Pozostaw 0 dla wartości domyślnej) creation_enabled_for_participants: Uczestnicy mogą tworzyć spotkania default_registration_terms: Domyślne warunki rejestracji - enable_pads_creation: Włącz tworzenie klocków - registration_code_enabled: Włączono formularz rejestracyjny + enable_pads_creation: Włącz tworzenie padów + registration_code_enabled: Włączono kod rejestracyjny resources_permissions_enabled: Uprawnienia działań można ustawić dla każdego spotkania scope_id: Zakres scopes_enabled: Zakresy włączone @@ -231,7 +231,7 @@ pl: attendee_type: Typ uczestnika existing_user: Istniejący użytkownik invite: Zaproś - invite_explanation: Użytkownik zostanie zaproszony do udziału w spotkaniu spotkaniu i do organizacji. + invite_explanation: Użytkownik zostanie zaproszony do udziału w spotkaniu i do organizacji. non_user: Nieistniejący użytkownik select_user: Wybierz użytkownika index: @@ -242,7 +242,7 @@ pl: sent: Wysłane filter_by: Filtruj według invite_attendee: Zaproś uczestnika - invites: Zaprasza + invites: Zaproszeni registrations_disabled: Nie możesz zaprosić uczestnika, ponieważ rejestracje są wyłączone. search: Szukaj meeting_closes: @@ -490,7 +490,7 @@ pl: invite: fields: email: E-mail - name: Nazwa + name: Imię sent_at: Wysłano status: Status status: diff --git a/decidim-participatory_processes/config/locales/it.yml b/decidim-participatory_processes/config/locales/it.yml index 40920296e43af..f517e2492168b 100644 --- a/decidim-participatory_processes/config/locales/it.yml +++ b/decidim-participatory_processes/config/locales/it.yml @@ -34,6 +34,7 @@ it: subtitle: Sottotitolo target: Chi partecipa title: Titolo + weight: Peso participatory_process_group: description: Descrizione hero_image: Immagine diff --git a/decidim-participatory_processes/config/locales/no.yml b/decidim-participatory_processes/config/locales/no.yml index c3b4197113952..78aae62bcb9ba 100644 --- a/decidim-participatory_processes/config/locales/no.yml +++ b/decidim-participatory_processes/config/locales/no.yml @@ -34,6 +34,7 @@ subtitle: Undertittel target: Hvem som deltar title: Tittel + weight: Vekting participatory_process_group: description: Beskrivelse hero_image: Bilde diff --git a/decidim-participatory_processes/config/locales/pl.yml b/decidim-participatory_processes/config/locales/pl.yml index ab7a8687ab649..9b512641fa321 100644 --- a/decidim-participatory_processes/config/locales/pl.yml +++ b/decidim-participatory_processes/config/locales/pl.yml @@ -153,7 +153,7 @@ pl: admin: Administrator collaborator: Współpracownik moderator: Moderator - valuator: Taksator + valuator: Weryfikator user: fields: invitation_accepted_at: Zaproszenie przyjęli w diff --git a/decidim-proposals/config/locales/es.yml b/decidim-proposals/config/locales/es.yml index 8dd3761818bf4..4227050fc57ca 100644 --- a/decidim-proposals/config/locales/es.yml +++ b/decidim-proposals/config/locales/es.yml @@ -189,10 +189,10 @@ es: email_subject: Alguien dejó una nota en la propuesta %{resource_title}. notification_title: Alguien ha dejado una nota en la propuesta %{resource_title}. Revísala ahora a través del panel de administración collaborative_draft_access_accepted: - email_intro: '%{requester_name} ha sido aceptado para acceder como contribuidora del borrador colaborativo de %{resource_title}.' + email_intro: '%{requester_name} ha sido aceptada para acceder como contribuidora del borrador colaborativo de %{resource_title}.' email_outro: Has recibido esta notificación porque eres contribuidora de %{resource_title}. - email_subject: "%{requester_name} ha sido aceptado para acceder como contribuidora de %{resource_title}." - notification_title: %{requester_name} %{requester_nickname} ha sido aceptado para acceder como colaboradora del borrador colaborativo %{resource_title}. + email_subject: "%{requester_name} ha sido aceptada para acceder como contribuidora de %{resource_title}." + notification_title: %{requester_name} %{requester_nickname} ha sido aceptada para acceder como contribuidora del borrador colaborativo %{resource_title}. collaborative_draft_access_rejected: email_intro: '%{requester_name} ha sido rechazado para acceder como contribuidora del borrador colaborativo de %{resource_title}.' email_outro: Has recibido esta notificación porque eres contribuidora de %{resource_title}. diff --git a/decidim-proposals/config/locales/pl.yml b/decidim-proposals/config/locales/pl.yml index 377d46d3bfc5b..ae89cf700133b 100644 --- a/decidim-proposals/config/locales/pl.yml +++ b/decidim-proposals/config/locales/pl.yml @@ -38,7 +38,7 @@ pl: keep_authors: Zachowaj oryginalnych autorów valuation_assignment: admin_log: - valuator_role_id: Imię taksatora + valuator_role_id: Imię weryfikatora errors: models: participatory_text: @@ -114,17 +114,17 @@ pl: values: 'true': Bez odpowiedzi valuator_role_ids_has: - label: Przypisano do taksatora + label: Przypisano do weryfikatora search_placeholder: id_string_or_title_cont: Wyszukaj %{collection} według ID lub tytułu. components: proposals: actions: amend: Popraw - create: Utwórz - endorse: Rekomenduj - vote: Wspieraj - withdraw: Wycofać + create: Tworzenie + endorse: Rekomendacje + vote: Wspieranie + withdraw: Wycofywanie name: Propozycje settings: global: @@ -161,7 +161,7 @@ pl: resources_permissions_enabled: Uprawnienia działań można ustawić dla każdej propozycji scope_id: Zakres scopes_enabled: Zakresy włączone - threshold_per_proposal: Prób poparcia dla propozycji + threshold_per_proposal: Próg poparcia dla propozycji vote_limit: Limit możliwych wsparć na użytkownika step: amendment_creation_enabled: Można tworzyć poprawki @@ -439,7 +439,7 @@ pl: select_a_meeting: Wybierz spotkanie index: actions: Działania - assign_to_valuator: Przypisz do taksatora + assign_to_valuator: Przypisz do weryfikatora assign_to_valuator_button: Przypisz cancel: Anuluj change_category: Zmień kategorię @@ -453,7 +453,7 @@ pl: split: Podziel propozycje split_button: Podziel title: Propozycje - unassign_from_valuator: Anuluj przypisanie do taksatora + unassign_from_valuator: Anuluj przypisanie do weryfikatora unassign_from_valuator_button: Anuluj przypisanie update: Aktualizuj update_scope_button: Aktualizuj zakres @@ -465,7 +465,7 @@ pl: select_a_proposal: Wybierz propozycję show: amendments_count: Liczba poprawek - assigned_valuators: Przypisani taksatorzy + assigned_valuators: Przypisani weryfikatorzy authors: Autorzy body: Treść comments_count: Liczba komentarzy @@ -488,8 +488,8 @@ pl: ranking: "%{ranking} z %{total}" related_meetings: Powiązane spotkania remove_assignment: Usuń zadanie - remove_assignment_confirmation: Czy na pewno chcesz usunąć taksatora z tej propozycji? - valuators: Taksatorzy + remove_assignment_confirmation: Czy na pewno chcesz usunąć przypisanie weryfikatora z tej propozycji? + valuators: Weryfikatorzy votes_count: Liczba wsparć votes_ranking: Ranking wg wsparć update_category: @@ -522,11 +522,11 @@ pl: success: Pomyślnie podzielono propozycje. valuation_assignments: create: - invalid: Wystąpił błąd podczas przypisywania propozycji do taksatora - success: Przypisano propozycje do taksatora + invalid: Wystąpił błąd podczas przypisywania propozycji do weryfikatora + success: Przypisano propozycje do weryfikatora delete: - invalid: Wystąpił błąd podczas anulowania przypisania propozycji do taksatora - success: Anulowano przypisanie taksatora do propozycji + invalid: Wystąpił błąd podczas usuwania przypisania propozycji do weryfikatora + success: Anulowano przypisanie weryfikatora do propozycji admin_log: proposal: answer: "%{user_name} odpowiedział(a) na propozycję %{resource_name} w przestrzeni %{space_name}" @@ -536,7 +536,7 @@ pl: proposal_note: create: "%{user_name} zostawił(a) prywatną notatkę do propozycji %{resource_name} w przestrzeni %{space_name}" valuation_assignment: - create: "%{user_name} przypisał(a) propozycję %{resource_name} do taksatora" + create: "%{user_name} przypisał(a) propozycję %{resource_name} do weryfikatora" delete: "%{user_name} anulował(a) przypisanie taksatora do propozycji %{proposal_title}" answers: accepted: Zaakceptowano @@ -698,8 +698,8 @@ pl: scope: Zakres state: Status title: Tytuł - valuator: Taksator - valuators: Taksatorzy + valuator: Weryfikator + valuators: Weryfikatorzy votes: Głosy new: limit_reached: Nie możesz tworzyć nowych propozycji, ponieważ przekroczyłeś limit. @@ -835,7 +835,7 @@ pl: proposal_rejected_reason: 'Ta propozycja została odrzucona, ponieważ:' read_less: Pokaż mniej read_more: Pokaż więcej - report: Raport + report: Zgłoś withdraw_btn_hint: Możesz wycofać swoją propozycję, jeśli zmienisz zdanie, o ile nie otrzymałeś żadnego wsparcia. Propozycja nie zostanie usunięta, pojawi się na liście wycofanych propozycji. withdraw_confirmation_html: Czy na pewno chcesz wycofać tę propozycję?

Tej akcji nie można anulować! withdraw_proposal: Wycofaj propozycję diff --git a/decidim-system/config/locales/it.yml b/decidim-system/config/locales/it.yml index 75620fc22631d..448aa82baeeac 100644 --- a/decidim-system/config/locales/it.yml +++ b/decidim-system/config/locales/it.yml @@ -1,9 +1,41 @@ it: + activemodel: + attributes: + oauth_application: + name: Nome dell'applicazione OAuth + organization_logo: Logo dell'organizzazione (quadrato) + organization_name: Organizzazione + organization_url: URL dell'organizzazione + redirect_uri: URI di Reindirizzamento + organization: + address: Server SMTP + from_email: Indirizzo email + from_label: Etichetta + password: Password + port: Porta + user_name: Pseudonimo + organization_file_uploads: + allowed_content_types: + admin: Tipi MIME di amministrazione + default: Tipi MIME predefiniti + allowed_file_extensions: + admin: Estensioni file amministratore + default: Estensioni di file predefinite + image: Estensioni file immagine + maximum_file_size: + avatar: Dimensioni dell'immagine avatar + default: Dimensione predefinita del file + errors: + models: + oauth_application: + attributes: + redirect_uri: + must_be_ssl: L'URI di reindirizzamento deve essere un URI SSL decidim: system: actions: confirm_destroy: Sei sicuro di voler cancellare? - destroy: Cancella + destroy: Elimina edit: Modifica new: Nuovo save: Salva @@ -27,11 +59,12 @@ it: success: Admin modificato con successo default_pages: placeholders: - content: Si prega di aggiungere contenuto significativo alla pagina statica %{page} sul pannello di amministrazione. + content: Si prega di aggiungere contenuto significativo alla pagina statica %{page} il pannello di amministrazione. title: Titolo predefinito per %{page} menu: admins: Amministratori dashboard: Cruscotto + oauth_applications: Applicazioni OAuth organizations: Organizzazioni models: admin: @@ -41,21 +74,67 @@ it: name: Amministratore validations: email_uniqueness: Esiste già un utente Admin con l'email che hai indicato. + oauth_application: + fields: + created_at: Data/ora di creazione + name: Nome dell'applicazione OAuth + organization_name: Organizzazione + name: Applicazione OAuth organization: actions: save_and_invite: Crea una nuova organizzazione e invita un utente Admin fields: created_at: Data/ora di creazione + file_upload_settings: Impostazioni di caricamento file name: Nome omniauth_settings: Impostazioni Omniauth smtp_settings: Impostazioni SMTP name: Organizzazione + oauth_applications: + create: + error: Si è verificato un errore durante la creazione di questa applicazione. + success: Applicazione creata correttamente. + destroy: + error: C'è stato un errore nella distruzione di questa applicazione. + success: Applicazione eliminata correttamente. + edit: + save: Salva + title: Modifica l'applicazione + form: + select_organization: Seleziona un'organizzazione + index: + confirm_delete: Sei sicuro di voler cancellare questa applicazione? + title: Applicazioni OAuth + new: + save: Salva + title: Nuova applicazione + update: + error: Si è verificato un errore durante l'aggiornamento di questa applicazione. + success: Applicazione aggiornata correttamente. organizations: create: error: C'è stato un errore durante la creazione di una nuova organizzazione. success: OK, è stata aggiunta la nuova organizzazione. edit: secondary_hosts_hint: Inserisci ciascun elemento in una nuova linea + file_upload_settings: + content_types: + admin_hint: Questi tipi MIME sono consentiti per i caricamenti della sezione Admin. Gli utenti di amministrazione dovrebbero essere consapevoli dei rischi con il caricamento di alcuni formati di documento, così puoi aspettarti che siano più cauti con i file caricati. + default_hint: Questi tipi MIME sono consentiti per tutti gli utenti come impostazione predefinita. + intro_html: Si aggiungono caratteri jolly con il carattere asterisco per i tipi MIME, ad esempio immagine/*. + title: Tipi MIME consentiti + file_extensions: + admin_hint: Questi tipi MIME sono consentiti per il caricamento nella sezione Admin. Gli utenti amministratori dovrebbero essere consapevoli dei rischi nel caricamento di alcuni formati particolari di documenti, così puoi aspettarti che siano più cauti con il caricamento di file. + default_hint: Queste estensioni di file sono consentite per tutti gli utenti come impostazione predefinita. + image_hint: Queste estensioni di file sono consentite per il caricamento delle immagini. + title: Estensioni di file consentite + file_sizes: + avatar_hint: Megabyte (MB). Questo è il limite di dimensione del file per il caricamento dell'immagine avatar. + default_hint: Megabyte (MB). Questo è il limite di dimensione del file predefinito per tutti i file da caricare se non diversamente specificato. + title: Dimensioni massime dei file + intro: | + Modificare con cautela. Meno estensioni sono ammesse, meglio è. + Consentire estensioni di file o tipi MIME specifici può esporre gli utenti del sistema a rischi per la sicurezza e può anche influenzare l'accessibilità del sito web. index: title: Organizzazioni new: @@ -64,8 +143,8 @@ it: title: Nuova Organizzazione omniauth_settings: decidim: - client_id: ID Cliente - client_secret: Segreto client + client_id: Client ID + client_secret: Client secret site_url: URL del sito enabled: Abilitato enabled_by_default: Questo provider è abilitato di default. Può essere modificato ma non disabilitato. @@ -73,7 +152,7 @@ it: app_id: ID App app_secret: App secret google_oauth2: - client_id: ID Cliente + client_id: Client ID client_secret: Client secret icon: Icona icon_path: Percorso icona @@ -81,7 +160,12 @@ it: api_key: API Key api_secret: API secret smtp_settings: + fieldsets: + sender: Mittente + instructions: + from_label: 'Il mittente email sarà: "nome-della-tua-organizzazione ". Lascia vuoto per usare ''Indirizzo email'' come etichetta' placeholder: + from_email: your-organization@example.org from_label: nome-della-tua-organizzazione update: error: C'è stato un errore durante l'aggiornamento di questa organizzazione. diff --git a/decidim-system/config/locales/ro-RO.yml b/decidim-system/config/locales/ro-RO.yml index 90290a4d92dea..e87e8e8434280 100644 --- a/decidim-system/config/locales/ro-RO.yml +++ b/decidim-system/config/locales/ro-RO.yml @@ -160,7 +160,12 @@ ro: api_key: Cheie API api_secret: API secret smtp_settings: + fieldsets: + sender: Expeditor + instructions: + from_label: 'Expeditorul de e-mail va fi: "organizația-nume ". Lăsați necompletat pentru a utiliza ''Adresa de e-mail'' ca etichetă' placeholder: + from_email: organizație@exemplu.org from_label: numele tău de organizatorie update: error: A apărut o eroare la actualizarea acestei organizații. From a971270d38a8df50616d10513c5ebcbd76ebc6cf Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 24 May 2021 17:30:01 +0300 Subject: [PATCH 10/71] Fix attachment title migration generating possibly invalid values (#8044) --- .../20201006072346_fix_attachments_titles.rb | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/decidim-participatory_processes/db/migrate/20201006072346_fix_attachments_titles.rb b/decidim-participatory_processes/db/migrate/20201006072346_fix_attachments_titles.rb index bb9aaa3b7e377..08ccb879f5794 100644 --- a/decidim-participatory_processes/db/migrate/20201006072346_fix_attachments_titles.rb +++ b/decidim-participatory_processes/db/migrate/20201006072346_fix_attachments_titles.rb @@ -15,14 +15,11 @@ def up Decidim.default_locale # rubocop:disable Rails/SkipsModelValidations - attachment.update_columns( - title: { - locale => attachment.title - }, - description: { - locale => attachment.description - } - ) + values = {} + values[:title] = { locale => attachment.title } unless attachment.title.is_a?(Hash) + values[:description] = { locale => attachment.description } unless attachment.description.is_a?(Hash) + + attachment.update_columns(values) # rubocop:enable Rails/SkipsModelValidations end end From 30bd6daf5b3ae954d4a433136d1d4f458d0a1a58 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Tue, 25 May 2021 09:40:33 +0200 Subject: [PATCH 11/71] New Crowdin updates (#8046) * New translations en.yml (Galician) * New translations en.yml (Galician) * New translations en.yml (Galician) * New translations en.yml (Galician) * New translations en.yml (Galician) * New translations en.yml (Galician) --- decidim-admin/config/locales/gl.yml | 32 +++++++++++++++++++++++ decidim-assemblies/config/locales/gl.yml | 10 +++++++ decidim-budgets/config/locales/gl.yml | 10 +++++++ decidim-conferences/config/locales/gl.yml | 19 ++++++++++++++ decidim-elections/config/locales/gl.yml | 15 +++++++++++ 5 files changed, 86 insertions(+) diff --git a/decidim-admin/config/locales/gl.yml b/decidim-admin/config/locales/gl.yml index b53c392f25f4c..cb26660cca6e1 100644 --- a/decidim-admin/config/locales/gl.yml +++ b/decidim-admin/config/locales/gl.yml @@ -26,10 +26,13 @@ gl: published_at: Publicado en weight: Peso id: ID + import: + user_group_id: Importar como newsletter: body: Corpo subject: Asunto organization: + admin_terms_of_use_body: Corpo para o texto das condicións de uso do administrador/a alert_color: Alerta available_authorizations: Autorizacións dispoñíbeis badges_enabled: Activar emblemas @@ -69,6 +72,9 @@ gl: omnipresent_banner_short_description: Descrición curta omnipresent_banner_title: Título omnipresent_banner_url: URL + organization_admin_email: Correo electrónico do administrador/a da organización + organization_admin_name: Nome do administrador/a da organización + organization_locales: Idiomas da organización primary_color: Primaria reference_prefix: Prefijo de referencia rich_text_editor_in_public_views: Habilitar o editor de texto avanzado para os participantes @@ -80,6 +86,7 @@ gl: tos_version: Versión de condicións de servizo twitter_handler: Xestor de Twitter user_groups_enabled: Activar grupos de usuarios + users_registration_mode: Modo rexistro de usuarios/as warning_color: Aviso welcome_notification_body: Corpo da notificación de benvida welcome_notification_subject: Asunto da notificación de benvida @@ -156,6 +163,8 @@ gl: new: Novo %{name} newsletter: new: Novo boletín + participatory_space_private_user: + new: Novo usuario privado do espazo participativo per_page: Por páxina permissions: Permisos reject: Rexeitar @@ -309,12 +318,14 @@ gl: error: Houbo un erro ao actualizar este compoñente. success: O compoñente foi actualizado correctamente. conflicts: + attempts: Tentativas 'false': 'Non' managed_user_name: Usuario xestionado solved: Resolto title: Conflitos de verificación transfer: email: Correo electrónico + error: Produciuse un problema ao transferir el participante actual a un participante xestionado. name: Nome reason: Motivo success: A transferencia actual completouse con éxito. @@ -360,12 +371,14 @@ gl: search_label: Busca search_placeholder: name_or_nickname_or_email_cont: Procurar %{collection} por correo electrónico, nome ou alcume. + reported_id_string_or_reported_content_cont: Procurar %{collection} por contido ou Id reportábel. title_cont: Procurar %{collection} por título. state_eq: label: Estado forms: file_help: import: + explanation: 'Instrucións para o ficheiro:' message_1: Están soportados os ficheiros CSV, JSON e Excel (.xls) message_2: Para os ficheiros CSV, o separador entre columnas ten de ser o punto e coa (";") help_sections: @@ -407,10 +420,13 @@ gl: impersonate_existing_user: Substitúe o usuario "%{name}" impersonate_new_managed_user: Substituír o novo usuario xestor imports: + creators: + proposalcreator: Creador da proposta error: Produciuse un problema durante a importación help: proposalcreator: O ficheiro ten de incluír os nomes de columna title/en e body/en (ou outro idioma da túa preferencia, por exemplo title/gl e body/gl). Admítense tamén as columnas scope/id e category/id. import_from_file: Importar dende o ficheiro + invalid_lines: Atopouse un erro no recurso número %{invalid_lines} new: accepted_mime_types: csv: csv @@ -418,6 +434,7 @@ gl: xls: xls actions: back: Volver + file_legend: Engadir un ficheiro de importación para o análise. import: Importar notice: "%{number}%{resource_name} importados con éxito" logs: @@ -540,14 +557,20 @@ gl: block: Bloquear usuario title: Accións unblock: Desbloquear usuario + unreport: Desfacer denuncia name: Nome nickname: Alcume reason: Motivo + reports: Número de denuncias title: Listando os usuarios reportados report: reasons: + does_not_belong: Non pertence offensive: Ofensivo spam: Lixo + tabs: + blocked: Bloqueados + unblocked: Sen bloquear moderations: index: title: Moderacións @@ -565,6 +588,7 @@ gl: reported_content: Contido reportado see_current: Ver actual see_original: Ver orixinal + title: Informes de moderación show: report_details: Detalles do motivo report_language: Idioma do informe @@ -899,6 +923,7 @@ gl: last_day: Último día last_month: O mes pasado last_week: A semana pasada + no_users_count_statistics_yet: Aínda non hai estatísticas do reconto de usuario/as participants: Participantes view_public_page: Ver páxina pública forms: @@ -909,6 +934,12 @@ gl: blocked_users: object: usuarias bloqueadas title: Usuarias bloqueadas + reported_users: + object: usuario/as reportado/as + title: Usuario/as reportado/as + user_reports: + object: informe de usuarios + title: Informe de usuarios moderations: actions: expand: Expandir @@ -934,6 +965,7 @@ gl: fields: created_at: Data de creación hidden_at: Oculto en + participatory_space: Espazo participativo report_count: Conde reportable_id: Id reportable_type: Tipo diff --git a/decidim-assemblies/config/locales/gl.yml b/decidim-assemblies/config/locales/gl.yml index c2585ed63d31f..ea0f969174694 100644 --- a/decidim-assemblies/config/locales/gl.yml +++ b/decidim-assemblies/config/locales/gl.yml @@ -434,7 +434,17 @@ gl: description: Número de xuntanzas creadas object: xuntanzas title: Xuntanzas + pages: + home: + hero: + participate_title: Participar nos procesos da plataforma + sub_hero: + register_title: Rexistrarse para crear unha conta participatory_processes: + pages: + home: + highlighted_processes: + processes_button_title: Ligazón á páxina de Procesos que amosa todas as procesos show: related_assemblies: Xuntanzas relacionadas errors: diff --git a/decidim-budgets/config/locales/gl.yml b/decidim-budgets/config/locales/gl.yml index e55f642748a10..0596f6e063e25 100644 --- a/decidim-budgets/config/locales/gl.yml +++ b/decidim-budgets/config/locales/gl.yml @@ -91,6 +91,7 @@ gl: delete: "%{user_name} eliminou o %{resource_name} proxecto no espazo %{space_name}" update: "%{user_name} actualizou o proxecto %{resource_name} no espazo %{space_name}" budget_information_modal: + back_to: Volver a %{component_name} close_modal: Pechar modal continue: Continuar more_information: Máis información @@ -130,7 +131,10 @@ gl: checked_out: description: Xa votou polo orzamento. Se mudou de idea, pode %{cancel_link}. title: A votación do orzamento completada + rules: + title: Regras do orzamento title: Vostede decide o orzamento + total_budget: Orzamento total total_projects: Votos totais count: projects_count: @@ -159,7 +163,9 @@ gl: other: proxectos seleccionados view: Ver orders: + highest_cost: Maior custo label: Ordenar proxectos por + lowest_cost: Menor custo most_voted: Máis votado random: Orde ao chou selected: Seleccionado @@ -210,6 +216,10 @@ gl: disabled: Votación deshabilitada enabled: Votación habilitada finished: Votación finalizada + events: + budgets: + budget_published: + notification_title: O orzamento %{resource_title} para %{participatory_space_title} xa está aberto. orders: checkout: error: Produciuse un erro ao procesar o teu voto diff --git a/decidim-conferences/config/locales/gl.yml b/decidim-conferences/config/locales/gl.yml index 2f8d907f48da4..2508747ccb9cf 100644 --- a/decidim-conferences/config/locales/gl.yml +++ b/decidim-conferences/config/locales/gl.yml @@ -3,6 +3,7 @@ gl: attributes: conference: assemblies_ids: Asembleas relacionadas + available_slots: Prazas dispoñíbeis banner_image: Imaxe do banner consultations_ids: Consultas relacionadas copy_categories: Copiar categorías @@ -19,12 +20,15 @@ gl: participatory_processes_ids: Procesos participativos relacionados promoted: Promocionado published_at: Publicado en + registration_terms: Condicións do rexistro + registrations_enabled: Rexistro habilitado scope_id: Alcance scopes_enabled: Ámbitos habilitados short_description: Descrición curta show_statistics: Amosar estatísticas sign_date: Data de sinatura signature: Sinatura + signature_name: nome da sinatura slogan: Eslogan slug: URL slug start_date: Data de inicio @@ -58,6 +62,7 @@ gl: personal_url: Url persoal position: Posición short_bio: Pequena biografía + twitter_handle: Conta do Twitter user_id: Usuario conference_user_role: email: Correo electrónico @@ -218,6 +223,7 @@ gl: admin: Administrador collaborator: Colaborador moderator: Moderador + valuator: Avaliador/a media_link: fields: date: Data @@ -432,6 +438,7 @@ gl: personal_website: Sitio web persoal show: more_info: máis información + speaking_at: Intervén en conference_speaker_cell: personal_url: personal_website: Sitio web persoal @@ -492,6 +499,9 @@ gl: active_conferences: Conferencias activas see_all_conferences: Ver todas as conferencias photo: + image: + attributes: + alt: Imaxe show: close_modal: Pechar modal photo: Foto @@ -502,6 +512,7 @@ gl: index: choose_an_option: 'Elixe a túa opción de rexistro:' login_as: Estás conectado como %{name} <%{email}> + no_registrations: Sen rexistros register: Rexistrarse title: Tipos de rexistro shared: @@ -555,11 +566,19 @@ gl: email_outro: Recibiches esta notificación porque estás seguindo a conferencia "%{resource_title}". Podes deixar de seguir desde a ligazón anterior. email_subject: A conferencia "%{resource_title}" habilitou as inscricións. notification_title: A conferencia %{resource_title} habilitou as inscricións. + role_assigned: + email_intro: Fuches asignado ao rol %{role} na conferencia "%{resource_title}". + email_outro: Recibiches esta notificación porque tes o rol %{role} na conferencia "%{resource_title}". + email_subject: Fuches asignado ao rol %{role} de "%{resource_title}". upcoming_conference: email_intro: 'A conferencia "%{resource_title}" ten lugar en 2 días. Podes ler a descrición da súa páxina:' email_outro: Recibiches esta notificación porque estás seguindo a conferencia "%{resource_title}". Podes deixar de seguir desde a ligazón anterior. email_subject: A conferencia "%{resource_title}" está chegando! notification_title: A conferencia %{resource_title} chegará en 2 días. + help: + participatory_spaces: + conferences: + title: Que son as conferencias? log: value_types: conference_presenter: diff --git a/decidim-elections/config/locales/gl.yml b/decidim-elections/config/locales/gl.yml index f41aecdefba53..fc583243d8d23 100644 --- a/decidim-elections/config/locales/gl.yml +++ b/decidim-elections/config/locales/gl.yml @@ -117,6 +117,9 @@ gl: already-voted: Xa votaches? verify-here: Verifica o teu voto aquí. will-verify: Poderás verificar o teu voto unha vez comece a elección. + feedback: + answer: + invalid: Produciuse un problema ao enviar os teu comentario. models: answer: fields: @@ -158,6 +161,10 @@ gl: experience: Como valoras a túa experiencia? feedback: Dános a túa opinión header: Voto confirmado + lead: O teu voto foi emitido! + encrypting: + header: Codificando o voto... + text: O teu voto está ser cifrado para garantir que pode ser emitido de xeito anónimo. header: confirm: Confirma o teu voto confirmed: Voto confirmado @@ -183,6 +190,7 @@ gl: menu: votings_submenu: components: Compoñentes + monitoring_committee_members: Comité de seguimento votings: form: select_a_voting_type: Por favor, selecciona un tipo de votación @@ -193,6 +201,13 @@ gl: polling_officer_zone: polling_officers: show: + actions: + count_votes: Contar os votos das furnas + identify_person: Identificar e verificar unha persoa + polling_officer_role_description: Fuches asignado para actuar como xestor de mesa (Presidente ou Administrador) nalgunhas das eleccións celebradas nesta plataforma. polling_stations: list: actions: Accións + role: O teu rol + voting: Votacións + no_polling_stations: Aínda non fuches asignado/a a ningún punto de votación. From 13a0d861ab59a65895b54d7fd50f3a8cc91e4f33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eero=20Lahdenper=C3=A4?= Date: Tue, 25 May 2021 10:42:59 +0300 Subject: [PATCH 12/71] Backport #7999 to 0.24 (#8024) * Cherry pick and fix merge conflict * Delete duplicate * Remove unnecessary semicolon --- .../system/admin_manages_organization_spec.rb | 28 ++++++ .../decidim/editor/linebreak_module.js.es6 | 97 +++++++++++++++++++ 2 files changed, 125 insertions(+) diff --git a/decidim-admin/spec/system/admin_manages_organization_spec.rb b/decidim-admin/spec/system/admin_manages_organization_spec.rb index aa4994811015f..5f8ec0c500f1b 100644 --- a/decidim-admin/spec/system/admin_manages_organization_spec.rb +++ b/decidim-admin/spec/system/admin_manages_organization_spec.rb @@ -171,6 +171,34 @@ end end + context "when the admin terms of use content has linebreaks inside different formattings" do + let(:terms_content) do + <<~HTML +

foo

+


+


+


+


+ HTML + end + + let(:organization) do + create( + :organization, + admin_terms_of_use_body: Decidim::Faker::Localized.localized { terms_content } + ) + end + + it "is still editable" do + find('div[contenteditable="true"].ql-editor').send_keys(Array.new(15) { :backspace }, "bar baz") + click_button "Update" + expect(page).to have_content("Organization updated successfully") + expect(find( + "#organization-admin_terms_of_use_body-tabs-admin_terms_of_use_body-panel-0 .editor .ql-editor" + )["innerHTML"]).to eq("

bar baz

") + end + end + context "when adding br tags to terms of use content" do let(:another_organization) { create(:organization) } let(:image) { create(:attachment, attached_to: another_organization) } diff --git a/decidim-core/app/assets/javascripts/decidim/editor/linebreak_module.js.es6 b/decidim-core/app/assets/javascripts/decidim/editor/linebreak_module.js.es6 index c31abc0cd8371..0e9bf1edaeaca 100644 --- a/decidim-core/app/assets/javascripts/decidim/editor/linebreak_module.js.es6 +++ b/decidim-core/app/assets/javascripts/decidim/editor/linebreak_module.js.es6 @@ -10,6 +10,8 @@ const Delta = Quill.import("delta"); const Break = Quill.import("blots/break"); const Embed = Quill.import("blots/embed"); + const Scroll = Quill.import("blots/scroll"); + const Parchment = Quill.import("parchment"); const { HistoryOverride } = exports.Decidim.Editor Quill.register({"modules/history": HistoryOverride}, true) let icons = Quill.import("ui/icons"); @@ -31,6 +33,101 @@ } Quill.register(SmartBreak); + // Override quill/blots/scroll.js + class ScrollOvderride extends Scroll { + optimize(mutations = [], context = {}) { + if (this.batch === true) { + return; + } + + this.parchmentOptimize(mutations, context); + + if (mutations.length > 0) { + // quill/core/emitter.js, Emitter.events.SCROLL_OPTIMIZE = "scroll-optimize" + this.emitter.emit("scroll-optimize", mutations, context); + } + } + + // Override parchment/src/blot/scroll.ts + parchmentOptimize(mutations = [], context = {}) { + // super.optimize(context); + Reflect.apply(Parchment.Container.prototype.optimize, this, [context]); + + // We must modify mutations directly, cannot make copy and then modify + // let records = [].slice.call(this.observer.takeRecords()); + let records = [...this.observer.takeRecords()]; + // Array.push currently seems to be implemented by a non-tail recursive function + // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords()); + while (records.length > 0) { + mutations.push(records.pop()); + } + let mark = (blot, markParent) => { + if (!blot || blot === this) { + return; + } + if (!blot.domNode.parentNode) { + return; + } + if (blot.domNode.__blot && blot.domNode.__blot.mutations === null) { + blot.domNode.__blot.mutations = []; + } + if (markParent) { + mark(blot.parent); + } + }; + let optimize = (blot) => { + // Post-order traversal + if (!blot.domNode.__blot) { + return; + } + + if (blot instanceof Parchment.Container) { + blot.children.forEach(optimize); + } + blot.optimize(context); + }; + let remaining = mutations; + for (let ind = 0; remaining.length > 0; ind += 1) { + // MAX_OPTIMIZE_ITERATIONS = 100 + if (ind >= 100) { + throw new Error("[Parchment] Maximum optimize iterations reached"); + } + remaining.forEach((mutation) => { + let blot = Parchment.find(mutation.target, true); + if (!blot) { + return; + } + if (blot.domNode === mutation.target) { + if (mutation.type === "childList") { + mark(Parchment.find(mutation.previousSibling, false)); + + mutation.addedNodes.forEach((node) => { + let child = Parchment.find(node, false); + mark(child, false); + if (child instanceof Parchment.Container) { + child.children.forEach(function(grandChild) { + mark(grandChild, false); + }); + } + }); + } else if (mutation.type === "attributes") { + mark(blot.prev); + } + } + mark(blot); + }); + this.children.forEach(optimize); + remaining = [...this.observer.takeRecords()]; + records = remaining.slice(); + while (records.length > 0) { + mutations.push(records.pop()); + } + } + } + } + Quill.register("blots/scroll", ScrollOvderride, true); + Parchment.register(ScrollOvderride); + const lineBreakButtonHandler = (quill) => { let range = quill.selection.getRange()[0]; let currentLeaf = quill.getLeaf(range.index)[0]; From 659c628ce5212a3ebba48442520dcc876625d990 Mon Sep 17 00:00:00 2001 From: leio10 Date: Thu, 27 May 2021 12:21:24 +0200 Subject: [PATCH 13/71] Avoid failing when adding a comment for a consultation question (#8062) --- .../app/controllers/decidim/comments/comments_controller.rb | 2 +- decidim-comments/app/forms/decidim/comments/comment_form.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/decidim-comments/app/controllers/decidim/comments/comments_controller.rb b/decidim-comments/app/controllers/decidim/comments/comments_controller.rb index 8e3fb995b3ad7..bf0ba00161fb3 100644 --- a/decidim-comments/app/controllers/decidim/comments/comments_controller.rb +++ b/decidim-comments/app/controllers/decidim/comments/comments_controller.rb @@ -44,7 +44,7 @@ def create params.merge(commentable: commentable) ).with_context( current_organization: current_organization, - current_component: commentable.component + current_component: commentable.try(:component) || commentable.participatory_space ) Decidim::Comments::CreateComment.call(form, current_user) do on(:ok) do |comment| diff --git a/decidim-comments/app/forms/decidim/comments/comment_form.rb b/decidim-comments/app/forms/decidim/comments/comment_form.rb index 8d77b84212a87..53bc053171612 100644 --- a/decidim-comments/app/forms/decidim/comments/comment_form.rb +++ b/decidim-comments/app/forms/decidim/comments/comment_form.rb @@ -19,7 +19,7 @@ class CommentForm < Form validate :max_depth def max_length - if current_component&.settings.respond_to?(:comments_max_length) + if current_component.try(:settings).respond_to?(:comments_max_length) component_length = current_component.try { settings.comments_max_length.positive? } return current_component.settings.comments_max_length if component_length end From 9ceb157b1c48eea346044e09cbd64eecec79fe76 Mon Sep 17 00:00:00 2001 From: Oliver Valls <199462+tramuntanal@users.noreply.github.com> Date: Thu, 27 May 2021 16:30:27 +0200 Subject: [PATCH 14/71] Use symbols for polymorphic route arguments (#8060) --- .../app/views/decidim/admin/scope_types/index.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/decidim-admin/app/views/decidim/admin/scope_types/index.html.erb b/decidim-admin/app/views/decidim/admin/scope_types/index.html.erb index bdfd2d3d98f4c..c4c9e141adddb 100644 --- a/decidim-admin/app/views/decidim/admin/scope_types/index.html.erb +++ b/decidim-admin/app/views/decidim/admin/scope_types/index.html.erb @@ -1,7 +1,7 @@
<% if allowed_to? :creste, :scope_type %> -

<%= t "decidim.admin.titles.scope_types" %> <%= link_to t("actions.add", scope: "decidim.admin"), ["new", "scope_type"], class: "button tiny button--title" %>

+

<%= t "decidim.admin.titles.scope_types" %> <%= link_to t("actions.add", scope: "decidim.admin"), [:new, :scope_type], class: "button tiny button--title" %>

<% end %>
@@ -26,7 +26,7 @@ <% if allowed_to? :update, :scope_type, scope_type: scope_type %> - <%= icon_link_to "pencil", ["edit", scope_type], t("actions.edit", scope: "decidim.admin"), class: "action-icon--edit", method: :get, data: {} %> + <%= icon_link_to "pencil", [:edit, scope_type], t("actions.edit", scope: "decidim.admin"), class: "action-icon--edit", method: :get, data: {} %> <% end %> <% if allowed_to? :destroy, :scope_type, scope_type: scope_type %> From f51dd8183ac73d9884ab438917bfe5a5dd4fa7e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Fri, 28 May 2021 01:30:38 +0200 Subject: [PATCH 15/71] refactor diff cell --- .../decidim/diff_mode_dropdown.js.es6 | 43 ++----- .../decidim/modules/_versions.scss | 56 ++++++++- .../app/cells/decidim/diff/attribute.erb | 19 +-- .../cells/decidim/diff/diff_mode_dropdown.erb | 4 +- .../app/cells/decidim/diff/diff_mode_html.erb | 31 ----- decidim-core/app/cells/decidim/diff/show.erb | 55 ++++++++- decidim-core/app/cells/decidim/diff_cell.rb | 40 +++---- .../services/decidim/base_diff_renderer.rb | 5 + decidim-core/config/locales/en.yml | 4 + decidim-core/lib/decidim/diffy_extension.rb | 113 ------------------ .../decidim/proposals/application_helper.rb | 27 +---- .../proposals/proposal_presenter_helper.rb | 38 ++++++ .../decidim/proposals/diff_renderer.rb | 11 ++ 13 files changed, 198 insertions(+), 248 deletions(-) delete mode 100644 decidim-core/app/cells/decidim/diff/diff_mode_html.erb delete mode 100644 decidim-core/lib/decidim/diffy_extension.rb create mode 100644 decidim-proposals/app/helpers/decidim/proposals/proposal_presenter_helper.rb diff --git a/decidim-core/app/assets/javascripts/decidim/diff_mode_dropdown.js.es6 b/decidim-core/app/assets/javascripts/decidim/diff_mode_dropdown.js.es6 index 5fffe98b4094f..7500631c6f65f 100644 --- a/decidim-core/app/assets/javascripts/decidim/diff_mode_dropdown.js.es6 +++ b/decidim-core/app/assets/javascripts/decidim/diff_mode_dropdown.js.es6 @@ -3,8 +3,10 @@ $(() => { $(document).on("click", ".diff-view-by a.diff-view-mode", (event) => { event.preventDefault(); - const $target = $(event.target) - let type = "escaped"; + const $target = $(event.target); + const $container = $target.closest(".tabs-panel"); + const $unified = $container.find(".diff_view_unified") + const $split = $container.find(".diff_view_split") const $selected = $target.parents(".is-dropdown-submenu-parent").find("#diff-view-selected"); if ($selected.text().trim() === $target.text().trim()) { return; @@ -12,38 +14,13 @@ $(() => { $selected.text($target.text()); - if ($target.attr("id") === "diff-view-unified") { - if ($(".row.diff_view_split_escaped").hasClass("hide")) { - type = "unescaped"; - } - - $allDiffViews.addClass("hide"); - $(`.row.diff_view_unified_${type}`).removeClass("hide"); - } - if ($target.attr("id") === "diff-view-split") { - if ($(".row.diff_view_unified_escaped").hasClass("hide")) { - type = "unescaped"; - } - - $allDiffViews.addClass("hide"); - $(`.row.diff_view_split_${type}`).removeClass("hide"); - } - }) - - $(document).on("click", ".diff-view-by a.diff-view-html", (event) => { - event.preventDefault(); - const $target = $(event.target); - $target.parents(".is-dropdown-submenu-parent").find("#diff-view-selected").text($target.text()); - const $visibleDiffViewsId = $allDiffViews.not(".hide").first().attr("id").split("_").slice(1, -1).join("_"); - const $visibleDiffViews = $allDiffViews.filter(`[id*=${$visibleDiffViewsId}]`) - - if ($target.attr("id") === "escaped-html") { - $visibleDiffViews.filter("[id$=_unescaped]").addClass("hide"); - $visibleDiffViews.filter("[id$=_escaped]").removeClass("hide"); + if ($target.hasClass("diff-view-unified")) { + $split.addClass("hide"); + $unified.removeClass("hide"); } - if ($target.attr("id") === "unescaped-html") { - $visibleDiffViews.filter("[id$=_escaped]").addClass("hide"); - $visibleDiffViews.filter("[id$=_unescaped]").removeClass("hide"); + if ($target.hasClass("diff-view-split")) { + $unified.addClass("hide"); + $split.removeClass("hide"); } }) }); diff --git a/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss b/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss index 90d80740f4c42..25bf8b05c4664 100644 --- a/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss +++ b/decidim-core/app/assets/stylesheets/decidim/modules/_versions.scss @@ -1,3 +1,54 @@ +.versions-diff { + .versions-selector { + border-bottom: $border; + padding-bottom: $global-margin * .5; + color: $muted; + font-size: rem-calc(19); + display: flex; + align-items: center; + + //Override foundation + .tabs{ + width: 100%; + @include flexgap(.5rem); + } + } + + //Override foundation + .tabs, + .tabs-content{ + background: transparent; + } + + //Override foundation + .tabs-title{ + > a{ + padding: 0; + + &:hover{ + background: transparent; + } + } + + > a[aria-selected='true']{ + background: transparent; + } + + &:not(.is-active) .button{ + opacity: .4; + } + } + + .diff-preview { + margin: 1em 0; + + .heading3 { + font-size: 1.5em; + margin-bottom: 1em; + } + } +} + .diff-direction-label{ display: block; font-size: 85%; @@ -13,7 +64,6 @@ padding: 0; width: 100%; background: transparent; - min-height: 2.7rem; } del, @@ -42,7 +92,7 @@ li{ position: relative; - padding: .5rem 1rem .5rem 1.5rem; + padding: .1rem 1rem .1rem 1.5rem; margin: 0; &.ins, @@ -50,7 +100,7 @@ .symbol{ position: absolute; left: .5rem; - top: .5rem; + top: .1rem; width: 1rem; } } diff --git a/decidim-core/app/cells/decidim/diff/attribute.erb b/decidim-core/app/cells/decidim/diff/attribute.erb index cb2f4040a9fc2..016f9dffe5cc4 100644 --- a/decidim-core/app/cells/decidim/diff/attribute.erb +++ b/decidim-core/app/cells/decidim/diff/attribute.erb @@ -5,23 +5,14 @@
-
" id="<%= attribute_diff_id("diff_view_unified_unescaped") %>"> - <%= diff_unified(data, :unescaped_html) %> +
+ <%= diff_unified(data, format) %>
-
" id="<%= attribute_diff_id("diff_view_unified_escaped") %>"> - <%= diff_unified(data, :html) %> -
- -
"> - <%= diff_split(data, "left", :unescaped_html) %> +
+ <%= diff_split(data, "left", format) %> - <%= diff_split(data, "right", :unescaped_html) %> + <%= diff_split(data, "right", format) %>
-
"> - <%= diff_split(data, "left", :html) %> - - <%= diff_split(data, "right", :html) %> -
diff --git a/decidim-core/app/cells/decidim/diff/diff_mode_dropdown.erb b/decidim-core/app/cells/decidim/diff/diff_mode_dropdown.erb index 855b51fb9b648..43819589fbe07 100644 --- a/decidim-core/app/cells/decidim/diff/diff_mode_dropdown.erb +++ b/decidim-core/app/cells/decidim/diff/diff_mode_dropdown.erb @@ -12,13 +12,13 @@
- <% console %>
From a2a747cd4dd7255e07d4b1c1c0a849b819741420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Mon, 31 May 2021 13:16:41 +0200 Subject: [PATCH 18/71] prevent comparison on nil objects --- decidim-core/app/cells/decidim/diff_cell.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/decidim-core/app/cells/decidim/diff_cell.rb b/decidim-core/app/cells/decidim/diff_cell.rb index 74e49d51b91a0..7ebcb26f799ec 100644 --- a/decidim-core/app/cells/decidim/diff_cell.rb +++ b/decidim-core/app/cells/decidim/diff_cell.rb @@ -102,7 +102,7 @@ def output_split_diff(data, direction, format, locale) def value_from_locale(value, format, locale) text = value.is_a?(Hash) ? value[locale].dup : value.dup - return text.to_s if format == :html + return text.to_s if format == :html || text.blank? convert_to_text(text, 100) end From bfe66aa21f4f0e80d2119690f1c8aef10debcfa7 Mon Sep 17 00:00:00 2001 From: leio10 Date: Mon, 31 May 2021 17:30:10 +0200 Subject: [PATCH 19/71] Fix boolean fields for .reported? and .hidden? which is nil if no report exists (#7990) (#8082) Co-authored-by: Alexandru Emil Lupu --- decidim-core/lib/decidim/reportable.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/decidim-core/lib/decidim/reportable.rb b/decidim-core/lib/decidim/reportable.rb index e1a509a60ce9a..84a48d52d2bf5 100644 --- a/decidim-core/lib/decidim/reportable.rb +++ b/decidim-core/lib/decidim/reportable.rb @@ -26,14 +26,14 @@ def reported_by?(user) # # Returns Boolean. def hidden? - moderation&.hidden_at&.present? + moderation&.hidden_at&.present? || false end # Public: Checks if the reportable has been reported or not. # # Returns Boolean. def reported? - moderation&.report_count&.positive? + moderation&.report_count&.positive? || false end # Public: The reported content url From 250c92fd2cde79780e20d1f5f41486f51548f092 Mon Sep 17 00:00:00 2001 From: leio10 Date: Mon, 31 May 2021 17:54:07 +0200 Subject: [PATCH 20/71] Fix redirects broken by Terms and Conditions redirect (#8083) * Fix redirects broken by Terms and Conditions redirect * Fix redirects broken by Terms and Conditions redirect - improvements Co-authored-by: Alexandru Emil Lupu --- .../concerns/decidim/has_stored_path.rb | 40 +++++++++++++++++++ .../decidim/application_controller.rb | 31 +------------- 2 files changed, 41 insertions(+), 30 deletions(-) create mode 100644 decidim-core/app/controllers/concerns/decidim/has_stored_path.rb diff --git a/decidim-core/app/controllers/concerns/decidim/has_stored_path.rb b/decidim-core/app/controllers/concerns/decidim/has_stored_path.rb new file mode 100644 index 0000000000000..f9923b7ee31b9 --- /dev/null +++ b/decidim-core/app/controllers/concerns/decidim/has_stored_path.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +module Decidim + # Shared behaviour for signed_in users that require the latest TOS accepted + module HasStoredPath + extend ActiveSupport::Concern + + included do + # Saves the location before loading each page so we can return to the + # right page. + before_action :store_current_location + end + + # Stores the url where the user will be redirected after login. + # + # Uses the `redirect_url` param or the current url if there's no param. + # In Devise controllers we only store the URL if it's from the params, we don't + # want to overwrite the stored URL for a Devise one. + def store_current_location + return if skip_store_location? + + value = redirect_url || request.url + store_location_for(:user, value) + end + + def skip_store_location? + # Skip if Devise already handles the redirection + return true if devise_controller? && redirect_url.blank? + # Skip for all non-HTML requests" + return true unless request.format.html? + # Skip if a signed in user requests the TOS page without having agreed to + # the TOS. Most of the times this is because of a redirect to the TOS + # page (in which case the desired location is somewhere else after the + # TOS is agreed). + return true if current_user && !current_user.tos_accepted? && request.path == URI(tos_path).path + + false + end + end +end diff --git a/decidim-core/app/controllers/decidim/application_controller.rb b/decidim-core/app/controllers/decidim/application_controller.rb index 9be676dd3b09c..063e4da6614ac 100644 --- a/decidim-core/app/controllers/decidim/application_controller.rb +++ b/decidim-core/app/controllers/decidim/application_controller.rb @@ -11,6 +11,7 @@ class ApplicationController < ::DecidimController include NeedsPermission include PayloadInfo include ImpersonateUsers + include HasStoredPath include NeedsTosAccepted include HttpCachingDisabler include ActionAuthorization @@ -36,10 +37,6 @@ class ApplicationController < ::DecidimController ::Decidim::Admin::Permissions, ::Decidim::Permissions) - # Saves the location before loading each page so we can return to the - # right page. - before_action :store_current_location - before_action :store_machine_translations_toggle helper_method :machine_translations_toggled? @@ -52,18 +49,6 @@ class ApplicationController < ::DecidimController private - # Stores the url where the user will be redirected after login. - # - # Uses the `redirect_url` param or the current url if there's no param. - # In Devise controllers we only store the URL if it's from the params, we don't - # want to overwrite the stored URL for a Devise one. - def store_current_location - return if skip_store_location? - - value = redirect_url || request.url - store_location_for(:user, value) - end - # This overrides Devise's method for extracting the path from the URL. We # want to ensure the path to be stored in the cookie is not too long in # order to avoid ActionDispatch::Cookies::CookieOverflow exception. If the @@ -97,20 +82,6 @@ def machine_translations_toggled? RequestStore.store[:toggle_machine_translations] end - def skip_store_location? - # Skip if Devise already handles the redirection - return true if devise_controller? && redirect_url.blank? - # Skip for all non-HTML requests" - return true unless request.format.html? - # Skip if a signed in user requests the TOS page without having agreed to - # the TOS. Most of the times this is because of a redirect to the TOS - # page (in which case the desired location is somewhere else after the - # TOS is agreed). - return true if current_user && !current_user.tos_accepted? && request.path == tos_path - - false - end - def user_has_no_permission_path decidim.root_path end From a3f129ba83bb0805ace9e247700092aeec3da5b6 Mon Sep 17 00:00:00 2001 From: leio10 Date: Tue, 1 Jun 2021 10:03:04 +0200 Subject: [PATCH 21/71] Use correct newsletter cell for web view (#8081) * Use correct newsletter cell for web view (#8025) * Use correct newsletter cell for web view * Add spec * Fix rubocop offenses * fix: downgrade Rails 6 method used Co-authored-by: Vera Rojman --- .../views/decidim/newsletters/show.html.erb | 2 +- decidim-core/spec/system/newsletter_spec.rb | 42 +++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 decidim-core/spec/system/newsletter_spec.rb diff --git a/decidim-core/app/views/decidim/newsletters/show.html.erb b/decidim-core/app/views/decidim/newsletters/show.html.erb index 7cb54477023ba..a69f6e032d893 100644 --- a/decidim-core/app/views/decidim/newsletters/show.html.erb +++ b/decidim-core/app/views/decidim/newsletters/show.html.erb @@ -1,5 +1,5 @@ <% @cell = cell( - "decidim/newsletter_templates/basic_only_text", + "decidim/newsletter_templates/#{newsletter.template.manifest_name}", newsletter.template, organization: @organization, newsletter: newsletter, diff --git a/decidim-core/spec/system/newsletter_spec.rb b/decidim-core/spec/system/newsletter_spec.rb new file mode 100644 index 0000000000000..fac19c93fa90f --- /dev/null +++ b/decidim-core/spec/system/newsletter_spec.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe "Newsletters (view in web)", type: :system do + let(:organization) { newsletter.organization } + let!(:newsletter) { create :newsletter, :sent } + let!(:content_block) do + content_block = Decidim::ContentBlock.find_by(organization: organization, scope_name: :newsletter_template, scoped_resource_id: newsletter.id) + content_block.destroy! + content_block = create( + :content_block, + :newsletter_template, + organization: organization, + scoped_resource_id: newsletter.id, + manifest_name: "image_text_cta", + settings: { + body: Decidim::Faker::Localized.wrapped("

", "

") { generate_localized_title }, + introduction: Decidim::Faker::Localized.wrapped("

", "

") { generate_localized_title }, + cta_text: Decidim::Faker::Localized.word, + cta_url: I18n.available_locales.map { |locale| [locale, Faker::Internet.url] }.to_h + } + ) + content_block + end + + before do + switch_to_host organization.host + end + + describe "accessing the newsletter page" do + before do + page.visit decidim.newsletter_path(newsletter) + end + + it "renders the correct template" do + within ".content" do + expect(page).to have_link(translated(content_block.settings.cta_text), href: translated(content_block.settings.cta_url)) + end + end + end +end From 76ed5c734a47b473ad44e3ddbbd035383b2d89aa Mon Sep 17 00:00:00 2001 From: leio10 Date: Tue, 1 Jun 2021 10:03:53 +0200 Subject: [PATCH 22/71] Bump bundle version for security reasons (#8084) Check https://bundler.io/blog/2021/02/15/a-more-secure-bundler-we-fixed-our-source-priorities.html --- Dockerfile.design | 2 +- Gemfile.lock | 2 +- decidim-generators/Gemfile.lock | 2 +- decidim.gemspec | 2 +- decidim_app-design/Gemfile.lock | 2 +- docs/modules/install/pages/update.adoc | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile.design b/Dockerfile.design index 9243e42423a71..be47c1e76932f 100644 --- a/Dockerfile.design +++ b/Dockerfile.design @@ -17,7 +17,7 @@ RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ RUN npm install -g npm@6.3.0 -RUN gem install bundler --version '>= 2.1.4' +RUN gem install bundler --version '>= 2.2.18' WORKDIR /code COPY . . diff --git a/Gemfile.lock b/Gemfile.lock index 1405bc1471ba7..f9df90b5d3408 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -891,4 +891,4 @@ RUBY VERSION ruby 2.7.1p83 BUNDLED WITH - 2.1.4 + 2.2.18 diff --git a/decidim-generators/Gemfile.lock b/decidim-generators/Gemfile.lock index f7db0711a9c68..2086b27f41cc1 100644 --- a/decidim-generators/Gemfile.lock +++ b/decidim-generators/Gemfile.lock @@ -890,4 +890,4 @@ RUBY VERSION ruby 2.7.1p83 BUNDLED WITH - 2.1.4 + 2.2.18 diff --git a/decidim.gemspec b/decidim.gemspec index fa2c18ad0f670..d3dba94689ab8 100644 --- a/decidim.gemspec +++ b/decidim.gemspec @@ -48,7 +48,7 @@ Gem::Specification.new do |s| s.add_dependency "decidim-templates", Decidim.version s.add_dependency "decidim-verifications", Decidim.version - s.add_development_dependency "bundler", "~> 2.1.2" + s.add_development_dependency "bundler", "~> 2.2", ">= 2.2.18" s.add_development_dependency "rake", "~> 12.0" s.add_development_dependency "rspec", "~> 3.0" end diff --git a/decidim_app-design/Gemfile.lock b/decidim_app-design/Gemfile.lock index d874606ae36f3..05b712fd67ee1 100644 --- a/decidim_app-design/Gemfile.lock +++ b/decidim_app-design/Gemfile.lock @@ -895,4 +895,4 @@ RUBY VERSION ruby 2.7.1p83 BUNDLED WITH - 2.1.4 + 2.2.18 diff --git a/docs/modules/install/pages/update.adoc b/docs/modules/install/pages/update.adoc index cd40a8eff0304..e544f70a34d6f 100644 --- a/docs/modules/install/pages/update.adoc +++ b/docs/modules/install/pages/update.adoc @@ -43,7 +43,7 @@ In theory, that would be all. However, you need to be careful in certain situati == From git repositories -For managing the gems we use the standard Rails gem called Bundler, where you can also point to https://bundler.io/v2.1/guides/git.html[git repositories and branches]. This is specially useful if you want to try an unreleased version, then you can do so by pointing to the release branch. +For managing the gems we use the standard Rails gem called Bundler, where you can also point to https://bundler.io/v2.2/guides/git.html[git repositories and branches]. This is specially useful if you want to try an unreleased version, then you can do so by pointing to the release branch. [source,ruby] ---- From eceae9e9ee459b01117f19f375020d9d4dd8697f Mon Sep 17 00:00:00 2001 From: Leonardo Diez Date: Tue, 1 Jun 2021 11:18:19 +0200 Subject: [PATCH 23/71] Prepare 0.24.3 release --- .decidim-version | 2 +- CHANGELOG.md | 31 +++ Gemfile.lock | 208 +++++++++--------- .../lib/decidim/accountability/version.rb | 2 +- decidim-admin/lib/decidim/admin/version.rb | 2 +- decidim-api/lib/decidim/api/version.rb | 2 +- .../lib/decidim/assemblies/version.rb | 2 +- decidim-blogs/lib/decidim/blogs/version.rb | 2 +- .../lib/decidim/budgets/version.rb | 2 +- .../lib/decidim/comments/version.rb | 2 +- .../lib/decidim/conferences/version.rb | 2 +- .../lib/decidim/consultations/version.rb | 2 +- decidim-core/lib/decidim/core/version.rb | 2 +- .../lib/decidim/debates/version.rb | 2 +- decidim-dev/lib/decidim/dev/version.rb | 2 +- .../lib/decidim/elections/version.rb | 2 +- decidim-forms/lib/decidim/forms/version.rb | 2 +- decidim-generators/Gemfile.lock | 202 ++++++++--------- .../lib/decidim/generators/version.rb | 2 +- .../lib/decidim/initiatives/version.rb | 2 +- .../lib/decidim/meetings/version.rb | 2 +- decidim-pages/lib/decidim/pages/version.rb | 2 +- .../participatory_processes/version.rb | 2 +- .../lib/decidim/proposals/version.rb | 2 +- .../lib/decidim/sortitions/version.rb | 2 +- .../lib/decidim/surveys/version.rb | 2 +- decidim-system/lib/decidim/system/version.rb | 2 +- .../lib/decidim/templates/version.rb | 2 +- .../lib/decidim/verifications/version.rb | 2 +- decidim_app-design/Gemfile.lock | 200 ++++++++--------- lib/decidim/version.rb | 2 +- package-lock.json | 12 +- package.json | 6 +- 33 files changed, 378 insertions(+), 335 deletions(-) diff --git a/.decidim-version b/.decidim-version index 8b95abd9483e5..63082344eb335 100644 --- a/.decidim-version +++ b/.decidim-version @@ -1 +1 @@ -0.24.2 +0.24.3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a99e2675be1b..e94e21d2137d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,36 @@ # Change Log +## [v0.24.3](https://github.com/decidim/decidim/releases/tag/v0.24.3) + +### Added + +Nothing. + +### Changed + +Nothing. + +### Fixed + +- **decidim-participatory processes**: Fix attachment title migration generating possibly invalid values [\#8044](https://github.com/decidim/decidim/pull/8044) +- **decidim-comments**, **decidim-consultations**: Fix for commenting in consultation questions [\#8062](https://github.com/decidim/decidim/pull/8062) +- **decidim-core**: Fix boolean fields for .reported? and .hidden? which is nil if no report exists [\#8082](https://github.com/decidim/decidim/pull/8082) +- **decidim-core**: Fix redirects broken by Terms and Conditions redirect [\#8083](https://github.com/decidim/decidim/pull/8083) +- **decidim-core**: Use correct newsletter cell for web view [\#8081](https://github.com/decidim/decidim/pull/8081) +- **decidim-core**, **decidim-proposals**: Remove proposals filters cache [\#8038](https://github.com/decidim/decidim/pull/8038) +- **decidim-core**, **decidim-meetings**: Include resources on maps only when the geocoding got valid coords [\#8039](https://github.com/decidim/decidim/pull/8039) +- **decidim-core**: Fix editor when formatting starts with a linebreak [\#8024](https://github.com/decidim/decidim/pull/8024) +- **decidim-admin**: Use symbols for polymorphic route arguments [\#8060](https://github.com/decidim/decidim/pull/8060) + +### Removed + +Nothing. + +### Developer improvements + +- Bump gems versions to fix dependendabot alerts [\#8041](https://github.com/decidim/decidim/pull/8041) +- Bump bundle version for security reasons [\#8084](https://github.com/decidim/decidim/pull/8084) + ## [v0.24.2](https://github.com/decidim/decidim/releases/tag/v0.24.2) ### Added diff --git a/Gemfile.lock b/Gemfile.lock index f9df90b5d3408..bbc2ccec043f0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,74 +1,74 @@ PATH remote: . specs: - decidim (0.24.2) - decidim-accountability (= 0.24.2) - decidim-admin (= 0.24.2) - decidim-api (= 0.24.2) - decidim-assemblies (= 0.24.2) - decidim-blogs (= 0.24.2) - decidim-budgets (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-debates (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-generators (= 0.24.2) - decidim-meetings (= 0.24.2) - decidim-pages (= 0.24.2) - decidim-participatory_processes (= 0.24.2) - decidim-proposals (= 0.24.2) - decidim-sortitions (= 0.24.2) - decidim-surveys (= 0.24.2) - decidim-system (= 0.24.2) - decidim-templates (= 0.24.2) - decidim-verifications (= 0.24.2) - decidim-accountability (0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim (0.24.3) + decidim-accountability (= 0.24.3) + decidim-admin (= 0.24.3) + decidim-api (= 0.24.3) + decidim-assemblies (= 0.24.3) + decidim-blogs (= 0.24.3) + decidim-budgets (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-debates (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-generators (= 0.24.3) + decidim-meetings (= 0.24.3) + decidim-pages (= 0.24.3) + decidim-participatory_processes (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-sortitions (= 0.24.3) + decidim-surveys (= 0.24.3) + decidim-system (= 0.24.3) + decidim-templates (= 0.24.3) + decidim-verifications (= 0.24.3) + decidim-accountability (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-admin (0.24.2) + decidim-admin (0.24.3) active_link_to (~> 1.0) - decidim-core (= 0.24.2) + decidim-core (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 1.7) jquery-rails (~> 4.4) sassc (~> 2.4.0) sassc-rails (~> 2.1.2) - decidim-api (0.24.2) + decidim-api (0.24.3) graphiql-rails (~> 1.4, < 1.5) graphql (~> 1.12, >= 1.12.3) rack-cors (~> 1.0) redcarpet (~> 3.5, >= 3.5.1) sprockets-es6 (~> 0.9.2) - decidim-assemblies (0.24.2) - decidim-core (= 0.24.2) - decidim-blogs (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-assemblies (0.24.3) + decidim-core (= 0.24.3) + decidim-blogs (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) jquery-tmpl-rails (~> 1.1) kaminari (~> 1.2, >= 1.2.1) - decidim-budgets (0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-budgets (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-comments (0.24.2) - decidim-core (= 0.24.2) + decidim-comments (0.24.3) + decidim-core (= 0.24.3) jquery-rails (~> 4.4) redcarpet (~> 3.5, >= 3.5.1) - decidim-conferences (0.24.2) - decidim-core (= 0.24.2) - decidim-meetings (= 0.24.2) + decidim-conferences (0.24.3) + decidim-core (= 0.24.3) + decidim-meetings (= 0.24.3) wicked_pdf (~> 1.4) wkhtmltopdf-binary (~> 0.12) - decidim-consultations (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-core (0.24.2) + decidim-consultations (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-core (0.24.3) active_link_to (~> 1.0) anchored (~> 1.1) autoprefixer-rails (~> 8.0) @@ -79,7 +79,7 @@ PATH cells-rails (~> 0.0.9) charlock_holmes (~> 0.7) date_validator (~> 0.9.0) - decidim-api (= 0.24.2) + decidim-api (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) diffy (~> 3.3) @@ -127,16 +127,16 @@ PATH uglifier (~> 4.1) valid_email2 (~> 2.1) wisper (~> 2.0) - decidim-debates (0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-debates (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-dev (0.24.2) + decidim-dev (0.24.3) byebug (~> 11.0) capybara (~> 3.24) db-query-matchers (~> 0.9.0) - decidim (= 0.24.2) + decidim (= 0.24.3) erb_lint (~> 0.0.28) factory_bot_rails (~> 4.8) i18n-tasks (~> 0.9.18) @@ -160,74 +160,74 @@ PATH vcr (~> 6.0) webmock (~> 3.6) wisper-rspec (~> 1.0) - decidim-elections (0.24.2) + decidim-elections (0.24.3) decidim-bulletin_board (= 0.9.2) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-proposals (= 0.24.2) - decidim-forms (0.24.2) - decidim-core (= 0.24.2) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-forms (0.24.3) + decidim-core (= 0.24.3) wicked_pdf (~> 1.4) wkhtmltopdf-binary (~> 0.12) - decidim-generators (0.24.2) - decidim-core (= 0.24.2) - decidim-initiatives (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-verifications (= 0.24.2) + decidim-generators (0.24.3) + decidim-core (= 0.24.3) + decidim-initiatives (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-verifications (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) origami (~> 2.1) virtus-multiparams (~> 0.1) wicked (~> 1.3) wicked_pdf (~> 1.4) wkhtmltopdf-binary (~> 0.12) - decidim-meetings (0.24.2) + decidim-meetings (0.24.3) cells-erb (~> 0.1.0) cells-rails (~> 0.0.9) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) icalendar (~> 2.5) jquery-tmpl-rails (~> 1.1) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-pages (0.24.2) - decidim-core (= 0.24.2) - decidim-participatory_processes (0.24.2) - decidim-core (= 0.24.2) - decidim-proposals (0.24.2) + decidim-pages (0.24.3) + decidim-core (= 0.24.3) + decidim-participatory_processes (0.24.3) + decidim-core (= 0.24.3) + decidim-proposals (0.24.3) acts_as_list (~> 0.9) cells-erb (~> 0.1.0) cells-rails (~> 0.0.9) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) doc2text (~> 0.4.3) kaminari (~> 1.2, >= 1.2.1) ransack (~> 2.1.1) redcarpet (~> 3.5, >= 3.5.1) - decidim-sortitions (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-proposals (= 0.24.2) - decidim-surveys (0.24.2) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-templates (= 0.24.2) - decidim-system (0.24.2) + decidim-sortitions (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-surveys (0.24.3) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-templates (= 0.24.3) + decidim-system (0.24.3) active_link_to (~> 1.0) - decidim-core (= 0.24.2) + decidim-core (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 1.7) jquery-rails (~> 4.4) sassc (~> 2.4.0) sassc-rails (~> 2.1.2) - decidim-templates (0.24.2) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-verifications (0.24.2) - decidim-core (= 0.24.2) + decidim-templates (0.24.3) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-verifications (0.24.3) + decidim-core (= 0.24.3) GEM remote: https://rubygems.org/ @@ -374,13 +374,13 @@ GEM declarative-option (0.1.0) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) - devise (4.7.3) + devise (4.8.0) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-i18n (1.9.3) + devise-i18n (1.9.4) devise (>= 4.7.1) devise_invitable (1.7.5) actionmailer (>= 4.1.0) @@ -431,11 +431,19 @@ GEM railties (>= 3.0.0) faker (2.14.0) i18n (>= 1.6, < 2) - faraday (1.3.0) + faraday (1.4.2) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) multipart-post (>= 1.2, < 3) - ruby2_keywords + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) faraday-net_http (1.0.1) + faraday-net_http_persistent (1.1.0) faraday_middleware (1.0.0) faraday (~> 1.0) ffi (1.13.1) @@ -470,7 +478,7 @@ GEM faraday (>= 1.0) faraday_middleware graphql-client - graphql (1.12.7) + graphql (1.12.10) graphql-client (0.16.0) activesupport (>= 3.0) graphql (~> 1.8) @@ -510,7 +518,7 @@ GEM thor (>= 0.14, < 2.0) jquery-tmpl-rails (1.1.0) rails (>= 3.1.0) - jwt (2.2.2) + jwt (2.2.3) kaminari (1.2.1) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.1) @@ -616,7 +624,7 @@ GEM pg_search (2.3.5) activerecord (>= 5.2) activesupport (>= 5.2) - premailer (1.14.3) + premailer (1.15.0) addressable css_parser (>= 1.6.0) htmlentities (>= 4.0.0) @@ -788,7 +796,7 @@ GEM smart_properties (1.15.0) social-share-button (1.2.4) coffee-rails - spreadsheet (1.2.8) + spreadsheet (1.2.9) ruby-ole spring (2.1.1) spring-watcher-listen (2.0.1) @@ -850,7 +858,7 @@ GEM addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket-driver (0.7.3) + websocket-driver (0.7.4) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) wicked (1.3.4) diff --git a/decidim-accountability/lib/decidim/accountability/version.rb b/decidim-accountability/lib/decidim/accountability/version.rb index 3a58fc8eff924..63b2cb0597e56 100644 --- a/decidim-accountability/lib/decidim/accountability/version.rb +++ b/decidim-accountability/lib/decidim/accountability/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds decidim-accountability version. module Accountability def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-admin/lib/decidim/admin/version.rb b/decidim-admin/lib/decidim/admin/version.rb index ae54b4d983936..9f01cb1bdf88f 100644 --- a/decidim-admin/lib/decidim/admin/version.rb +++ b/decidim-admin/lib/decidim/admin/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-admin version. module Admin def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-api/lib/decidim/api/version.rb b/decidim-api/lib/decidim/api/version.rb index 3db6b3fef463f..33a6cab1b74b2 100644 --- a/decidim-api/lib/decidim/api/version.rb +++ b/decidim-api/lib/decidim/api/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-api version. module Api def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-assemblies/lib/decidim/assemblies/version.rb b/decidim-assemblies/lib/decidim/assemblies/version.rb index 1c123ad267b6f..033c38f0c6729 100644 --- a/decidim-assemblies/lib/decidim/assemblies/version.rb +++ b/decidim-assemblies/lib/decidim/assemblies/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-assemblies version. module Assemblies def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-blogs/lib/decidim/blogs/version.rb b/decidim-blogs/lib/decidim/blogs/version.rb index ca834cd143f1a..23ec6ccbe83ec 100644 --- a/decidim-blogs/lib/decidim/blogs/version.rb +++ b/decidim-blogs/lib/decidim/blogs/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-pages version. module Blogs def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-budgets/lib/decidim/budgets/version.rb b/decidim-budgets/lib/decidim/budgets/version.rb index 542d93a3ccf4d..df32acbfe181a 100644 --- a/decidim-budgets/lib/decidim/budgets/version.rb +++ b/decidim-budgets/lib/decidim/budgets/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-budgets version. module Budgets def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-comments/lib/decidim/comments/version.rb b/decidim-comments/lib/decidim/comments/version.rb index 8da4ebe759d6f..3b1ccae61c5df 100644 --- a/decidim-comments/lib/decidim/comments/version.rb +++ b/decidim-comments/lib/decidim/comments/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-comments version. module Comments def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-conferences/lib/decidim/conferences/version.rb b/decidim-conferences/lib/decidim/conferences/version.rb index df689a7894283..a9a22281317b0 100644 --- a/decidim-conferences/lib/decidim/conferences/version.rb +++ b/decidim-conferences/lib/decidim/conferences/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-conferences version. module Conferences def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-consultations/lib/decidim/consultations/version.rb b/decidim-consultations/lib/decidim/consultations/version.rb index b8cfbbd36b213..c9c4b369cc2d8 100644 --- a/decidim-consultations/lib/decidim/consultations/version.rb +++ b/decidim-consultations/lib/decidim/consultations/version.rb @@ -3,7 +3,7 @@ module Decidim module Consultations def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-core/lib/decidim/core/version.rb b/decidim-core/lib/decidim/core/version.rb index aa67129e436f3..3295a926d5d4e 100644 --- a/decidim-core/lib/decidim/core/version.rb +++ b/decidim-core/lib/decidim/core/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-core version. module Core def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-debates/lib/decidim/debates/version.rb b/decidim-debates/lib/decidim/debates/version.rb index e8a84372bb233..b601ec98c2f53 100644 --- a/decidim-debates/lib/decidim/debates/version.rb +++ b/decidim-debates/lib/decidim/debates/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-debates version. module Debates def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-dev/lib/decidim/dev/version.rb b/decidim-dev/lib/decidim/dev/version.rb index d4676359990ec..62059a0a494d0 100644 --- a/decidim-dev/lib/decidim/dev/version.rb +++ b/decidim-dev/lib/decidim/dev/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-dev version. module Dev def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-elections/lib/decidim/elections/version.rb b/decidim-elections/lib/decidim/elections/version.rb index f41f4c2b2d960..7930aa3bd0e03 100644 --- a/decidim-elections/lib/decidim/elections/version.rb +++ b/decidim-elections/lib/decidim/elections/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-meetings version. module Elections def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-forms/lib/decidim/forms/version.rb b/decidim-forms/lib/decidim/forms/version.rb index 1a6fe355eda44..26eaca6871ea6 100644 --- a/decidim-forms/lib/decidim/forms/version.rb +++ b/decidim-forms/lib/decidim/forms/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-forms version. module Forms def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-generators/Gemfile.lock b/decidim-generators/Gemfile.lock index 2086b27f41cc1..34ecbbb76ed68 100644 --- a/decidim-generators/Gemfile.lock +++ b/decidim-generators/Gemfile.lock @@ -1,74 +1,74 @@ PATH remote: .. specs: - decidim (0.24.2) - decidim-accountability (= 0.24.2) - decidim-admin (= 0.24.2) - decidim-api (= 0.24.2) - decidim-assemblies (= 0.24.2) - decidim-blogs (= 0.24.2) - decidim-budgets (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-debates (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-generators (= 0.24.2) - decidim-meetings (= 0.24.2) - decidim-pages (= 0.24.2) - decidim-participatory_processes (= 0.24.2) - decidim-proposals (= 0.24.2) - decidim-sortitions (= 0.24.2) - decidim-surveys (= 0.24.2) - decidim-system (= 0.24.2) - decidim-templates (= 0.24.2) - decidim-verifications (= 0.24.2) - decidim-accountability (0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim (0.24.3) + decidim-accountability (= 0.24.3) + decidim-admin (= 0.24.3) + decidim-api (= 0.24.3) + decidim-assemblies (= 0.24.3) + decidim-blogs (= 0.24.3) + decidim-budgets (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-debates (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-generators (= 0.24.3) + decidim-meetings (= 0.24.3) + decidim-pages (= 0.24.3) + decidim-participatory_processes (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-sortitions (= 0.24.3) + decidim-surveys (= 0.24.3) + decidim-system (= 0.24.3) + decidim-templates (= 0.24.3) + decidim-verifications (= 0.24.3) + decidim-accountability (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-admin (0.24.2) + decidim-admin (0.24.3) active_link_to (~> 1.0) - decidim-core (= 0.24.2) + decidim-core (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 1.7) jquery-rails (~> 4.4) sassc (~> 2.4.0) sassc-rails (~> 2.1.2) - decidim-api (0.24.2) + decidim-api (0.24.3) graphiql-rails (~> 1.4, < 1.5) graphql (~> 1.12, >= 1.12.3) rack-cors (~> 1.0) redcarpet (~> 3.5, >= 3.5.1) sprockets-es6 (~> 0.9.2) - decidim-assemblies (0.24.2) - decidim-core (= 0.24.2) - decidim-blogs (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-assemblies (0.24.3) + decidim-core (= 0.24.3) + decidim-blogs (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) jquery-tmpl-rails (~> 1.1) kaminari (~> 1.2, >= 1.2.1) - decidim-budgets (0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-budgets (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-comments (0.24.2) - decidim-core (= 0.24.2) + decidim-comments (0.24.3) + decidim-core (= 0.24.3) jquery-rails (~> 4.4) redcarpet (~> 3.5, >= 3.5.1) - decidim-conferences (0.24.2) - decidim-core (= 0.24.2) - decidim-meetings (= 0.24.2) + decidim-conferences (0.24.3) + decidim-core (= 0.24.3) + decidim-meetings (= 0.24.3) wicked_pdf (~> 1.4) wkhtmltopdf-binary (~> 0.12) - decidim-consultations (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-core (0.24.2) + decidim-consultations (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-core (0.24.3) active_link_to (~> 1.0) anchored (~> 1.1) autoprefixer-rails (~> 8.0) @@ -79,7 +79,7 @@ PATH cells-rails (~> 0.0.9) charlock_holmes (~> 0.7) date_validator (~> 0.9.0) - decidim-api (= 0.24.2) + decidim-api (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) diffy (~> 3.3) @@ -127,16 +127,16 @@ PATH uglifier (~> 4.1) valid_email2 (~> 2.1) wisper (~> 2.0) - decidim-debates (0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-debates (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-dev (0.24.2) + decidim-dev (0.24.3) byebug (~> 11.0) capybara (~> 3.24) db-query-matchers (~> 0.9.0) - decidim (= 0.24.2) + decidim (= 0.24.3) erb_lint (~> 0.0.28) factory_bot_rails (~> 4.8) i18n-tasks (~> 0.9.18) @@ -160,74 +160,74 @@ PATH vcr (~> 6.0) webmock (~> 3.6) wisper-rspec (~> 1.0) - decidim-elections (0.24.2) + decidim-elections (0.24.3) decidim-bulletin_board (= 0.9.2) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-proposals (= 0.24.2) - decidim-forms (0.24.2) - decidim-core (= 0.24.2) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-forms (0.24.3) + decidim-core (= 0.24.3) wicked_pdf (~> 1.4) wkhtmltopdf-binary (~> 0.12) - decidim-generators (0.24.2) - decidim-core (= 0.24.2) - decidim-initiatives (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-verifications (= 0.24.2) + decidim-generators (0.24.3) + decidim-core (= 0.24.3) + decidim-initiatives (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-verifications (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) origami (~> 2.1) virtus-multiparams (~> 0.1) wicked (~> 1.3) wicked_pdf (~> 1.4) wkhtmltopdf-binary (~> 0.12) - decidim-meetings (0.24.2) + decidim-meetings (0.24.3) cells-erb (~> 0.1.0) cells-rails (~> 0.0.9) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) icalendar (~> 2.5) jquery-tmpl-rails (~> 1.1) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-pages (0.24.2) - decidim-core (= 0.24.2) - decidim-participatory_processes (0.24.2) - decidim-core (= 0.24.2) - decidim-proposals (0.24.2) + decidim-pages (0.24.3) + decidim-core (= 0.24.3) + decidim-participatory_processes (0.24.3) + decidim-core (= 0.24.3) + decidim-proposals (0.24.3) acts_as_list (~> 0.9) cells-erb (~> 0.1.0) cells-rails (~> 0.0.9) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) doc2text (~> 0.4.3) kaminari (~> 1.2, >= 1.2.1) ransack (~> 2.1.1) redcarpet (~> 3.5, >= 3.5.1) - decidim-sortitions (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-proposals (= 0.24.2) - decidim-surveys (0.24.2) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-templates (= 0.24.2) - decidim-system (0.24.2) + decidim-sortitions (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-surveys (0.24.3) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-templates (= 0.24.3) + decidim-system (0.24.3) active_link_to (~> 1.0) - decidim-core (= 0.24.2) + decidim-core (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 1.7) jquery-rails (~> 4.4) sassc (~> 2.4.0) sassc-rails (~> 2.1.2) - decidim-templates (0.24.2) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-verifications (0.24.2) - decidim-core (= 0.24.2) + decidim-templates (0.24.3) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-verifications (0.24.3) + decidim-core (= 0.24.3) GEM remote: https://rubygems.org/ @@ -317,7 +317,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (2.2.1) + carrierwave (2.2.2) activemodel (>= 5.0.0) activesupport (>= 5.0.0) addressable (~> 2.6) @@ -422,7 +422,7 @@ GEM rest-client (>= 1.6) eventmachine (1.2.7) eventmachine_httpserver (0.2.1) - excon (0.81.0) + excon (0.82.0) execjs (2.7.0) factory_bot (4.11.1) activesupport (>= 3.0.0) @@ -431,12 +431,16 @@ GEM railties (>= 3.0.0) faker (2.14.0) i18n (>= 1.6, < 2) - faraday (1.4.1) + faraday (1.4.2) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) faraday-net_http (~> 1.0) faraday-net_http_persistent (~> 1.1) multipart-post (>= 1.2, < 3) ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-net_http (1.0.1) faraday-net_http_persistent (1.1.0) @@ -474,7 +478,7 @@ GEM faraday (>= 1.0) faraday_middleware graphql-client - graphql (1.12.8) + graphql (1.12.12) graphql-client (0.16.0) activesupport (>= 3.0) graphql (~> 1.8) @@ -620,7 +624,7 @@ GEM pg_search (2.3.5) activerecord (>= 5.2) activesupport (>= 5.2) - premailer (1.14.3) + premailer (1.15.0) addressable css_parser (>= 1.6.0) htmlentities (>= 4.0.0) @@ -747,7 +751,7 @@ GEM rubocop-ast (>= 0.5.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (1.5.0) + rubocop-ast (1.7.0) parser (>= 3.0.1.1) rubocop-rails (2.9.1) activesupport (>= 4.2.0) @@ -789,7 +793,7 @@ GEM smart_properties (1.15.0) social-share-button (1.2.4) coffee-rails - spreadsheet (1.2.8) + spreadsheet (1.2.9) ruby-ole spring (2.1.0) spring-watcher-listen (2.0.1) @@ -850,7 +854,7 @@ GEM addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket-driver (0.7.3) + websocket-driver (0.7.4) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) wicked (1.3.4) diff --git a/decidim-generators/lib/decidim/generators/version.rb b/decidim-generators/lib/decidim/generators/version.rb index 99ffa62603268..e5657dffd0f95 100644 --- a/decidim-generators/lib/decidim/generators/version.rb +++ b/decidim-generators/lib/decidim/generators/version.rb @@ -4,7 +4,7 @@ module Decidim module Generators def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-initiatives/lib/decidim/initiatives/version.rb b/decidim-initiatives/lib/decidim/initiatives/version.rb index 2c8044c7d92ce..73e1985ba5ebe 100644 --- a/decidim-initiatives/lib/decidim/initiatives/version.rb +++ b/decidim-initiatives/lib/decidim/initiatives/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-initiatives version. module Initiatives def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-meetings/lib/decidim/meetings/version.rb b/decidim-meetings/lib/decidim/meetings/version.rb index 7625633ee9c18..29767f3ca9f34 100644 --- a/decidim-meetings/lib/decidim/meetings/version.rb +++ b/decidim-meetings/lib/decidim/meetings/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-meetings version. module Meetings def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-pages/lib/decidim/pages/version.rb b/decidim-pages/lib/decidim/pages/version.rb index 03a428f8b2b4a..6253f9b908aac 100644 --- a/decidim-pages/lib/decidim/pages/version.rb +++ b/decidim-pages/lib/decidim/pages/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-pages version. module Pages def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb b/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb index f9352492bae97..9547e0fa89f87 100644 --- a/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb +++ b/decidim-participatory_processes/lib/decidim/participatory_processes/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-participatory_processes version. module ParticipatoryProcesses def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-proposals/lib/decidim/proposals/version.rb b/decidim-proposals/lib/decidim/proposals/version.rb index 5dcf1fa698efb..fa41f135dd355 100644 --- a/decidim-proposals/lib/decidim/proposals/version.rb +++ b/decidim-proposals/lib/decidim/proposals/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds decidim-proposals version. module Proposals def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-sortitions/lib/decidim/sortitions/version.rb b/decidim-sortitions/lib/decidim/sortitions/version.rb index 4b90372280e50..e31c9fbb3ffc9 100644 --- a/decidim-sortitions/lib/decidim/sortitions/version.rb +++ b/decidim-sortitions/lib/decidim/sortitions/version.rb @@ -3,7 +3,7 @@ module Decidim module Sortitions def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-surveys/lib/decidim/surveys/version.rb b/decidim-surveys/lib/decidim/surveys/version.rb index 2bf85479d5d0d..83f89b3f87626 100644 --- a/decidim-surveys/lib/decidim/surveys/version.rb +++ b/decidim-surveys/lib/decidim/surveys/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-surveys version. module Surveys def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-system/lib/decidim/system/version.rb b/decidim-system/lib/decidim/system/version.rb index 593254474f835..0bdbc6273cd86 100644 --- a/decidim-system/lib/decidim/system/version.rb +++ b/decidim-system/lib/decidim/system/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-system version. module System def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-templates/lib/decidim/templates/version.rb b/decidim-templates/lib/decidim/templates/version.rb index 5d7e79f1ff811..5719f1ce5eae3 100644 --- a/decidim-templates/lib/decidim/templates/version.rb +++ b/decidim-templates/lib/decidim/templates/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-templates version. module Templates def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim-verifications/lib/decidim/verifications/version.rb b/decidim-verifications/lib/decidim/verifications/version.rb index 4999f36f775b2..db8452fa657b3 100644 --- a/decidim-verifications/lib/decidim/verifications/version.rb +++ b/decidim-verifications/lib/decidim/verifications/version.rb @@ -4,7 +4,7 @@ module Decidim # This holds the decidim-verifications version. module Verifications def self.version - "0.24.2" + "0.24.3" end end end diff --git a/decidim_app-design/Gemfile.lock b/decidim_app-design/Gemfile.lock index 05b712fd67ee1..4cbab856ae28f 100644 --- a/decidim_app-design/Gemfile.lock +++ b/decidim_app-design/Gemfile.lock @@ -1,74 +1,74 @@ PATH remote: .. specs: - decidim (0.24.2) - decidim-accountability (= 0.24.2) - decidim-admin (= 0.24.2) - decidim-api (= 0.24.2) - decidim-assemblies (= 0.24.2) - decidim-blogs (= 0.24.2) - decidim-budgets (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-debates (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-generators (= 0.24.2) - decidim-meetings (= 0.24.2) - decidim-pages (= 0.24.2) - decidim-participatory_processes (= 0.24.2) - decidim-proposals (= 0.24.2) - decidim-sortitions (= 0.24.2) - decidim-surveys (= 0.24.2) - decidim-system (= 0.24.2) - decidim-templates (= 0.24.2) - decidim-verifications (= 0.24.2) - decidim-accountability (0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim (0.24.3) + decidim-accountability (= 0.24.3) + decidim-admin (= 0.24.3) + decidim-api (= 0.24.3) + decidim-assemblies (= 0.24.3) + decidim-blogs (= 0.24.3) + decidim-budgets (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-debates (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-generators (= 0.24.3) + decidim-meetings (= 0.24.3) + decidim-pages (= 0.24.3) + decidim-participatory_processes (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-sortitions (= 0.24.3) + decidim-surveys (= 0.24.3) + decidim-system (= 0.24.3) + decidim-templates (= 0.24.3) + decidim-verifications (= 0.24.3) + decidim-accountability (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-admin (0.24.2) + decidim-admin (0.24.3) active_link_to (~> 1.0) - decidim-core (= 0.24.2) + decidim-core (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 1.7) jquery-rails (~> 4.4) sassc (~> 2.4.0) sassc-rails (~> 2.1.2) - decidim-api (0.24.2) + decidim-api (0.24.3) graphiql-rails (~> 1.4, < 1.5) graphql (~> 1.12, >= 1.12.3) rack-cors (~> 1.0) redcarpet (~> 3.5, >= 3.5.1) sprockets-es6 (~> 0.9.2) - decidim-assemblies (0.24.2) - decidim-core (= 0.24.2) - decidim-blogs (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-assemblies (0.24.3) + decidim-core (= 0.24.3) + decidim-blogs (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) jquery-tmpl-rails (~> 1.1) kaminari (~> 1.2, >= 1.2.1) - decidim-budgets (0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-budgets (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-comments (0.24.2) - decidim-core (= 0.24.2) + decidim-comments (0.24.3) + decidim-core (= 0.24.3) jquery-rails (~> 4.4) redcarpet (~> 3.5, >= 3.5.1) - decidim-conferences (0.24.2) - decidim-core (= 0.24.2) - decidim-meetings (= 0.24.2) + decidim-conferences (0.24.3) + decidim-core (= 0.24.3) + decidim-meetings (= 0.24.3) wicked_pdf (~> 1.4) wkhtmltopdf-binary (~> 0.12) - decidim-consultations (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-core (0.24.2) + decidim-consultations (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-core (0.24.3) active_link_to (~> 1.0) anchored (~> 1.1) autoprefixer-rails (~> 8.0) @@ -79,7 +79,7 @@ PATH cells-rails (~> 0.0.9) charlock_holmes (~> 0.7) date_validator (~> 0.9.0) - decidim-api (= 0.24.2) + decidim-api (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) diffy (~> 3.3) @@ -127,16 +127,16 @@ PATH uglifier (~> 4.1) valid_email2 (~> 2.1) wisper (~> 2.0) - decidim-debates (0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-debates (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-dev (0.24.2) + decidim-dev (0.24.3) byebug (~> 11.0) capybara (~> 3.24) db-query-matchers (~> 0.9.0) - decidim (= 0.24.2) + decidim (= 0.24.3) erb_lint (~> 0.0.28) factory_bot_rails (~> 4.8) i18n-tasks (~> 0.9.18) @@ -160,74 +160,74 @@ PATH vcr (~> 6.0) webmock (~> 3.6) wisper-rspec (~> 1.0) - decidim-elections (0.24.2) + decidim-elections (0.24.3) decidim-bulletin_board (= 0.9.2) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-proposals (= 0.24.2) - decidim-forms (0.24.2) - decidim-core (= 0.24.2) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-forms (0.24.3) + decidim-core (= 0.24.3) wicked_pdf (~> 1.4) wkhtmltopdf-binary (~> 0.12) - decidim-generators (0.24.2) - decidim-core (= 0.24.2) - decidim-initiatives (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-verifications (= 0.24.2) + decidim-generators (0.24.3) + decidim-core (= 0.24.3) + decidim-initiatives (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-verifications (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) origami (~> 2.1) virtus-multiparams (~> 0.1) wicked (~> 1.3) wicked_pdf (~> 1.4) wkhtmltopdf-binary (~> 0.12) - decidim-meetings (0.24.2) + decidim-meetings (0.24.3) cells-erb (~> 0.1.0) cells-rails (~> 0.0.9) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) icalendar (~> 2.5) jquery-tmpl-rails (~> 1.1) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-pages (0.24.2) - decidim-core (= 0.24.2) - decidim-participatory_processes (0.24.2) - decidim-core (= 0.24.2) - decidim-proposals (0.24.2) + decidim-pages (0.24.3) + decidim-core (= 0.24.3) + decidim-participatory_processes (0.24.3) + decidim-core (= 0.24.3) + decidim-proposals (0.24.3) acts_as_list (~> 0.9) cells-erb (~> 0.1.0) cells-rails (~> 0.0.9) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) doc2text (~> 0.4.3) kaminari (~> 1.2, >= 1.2.1) ransack (~> 2.1.1) redcarpet (~> 3.5, >= 3.5.1) - decidim-sortitions (0.24.2) - decidim-admin (= 0.24.2) - decidim-comments (= 0.24.2) - decidim-core (= 0.24.2) - decidim-proposals (= 0.24.2) - decidim-surveys (0.24.2) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-templates (= 0.24.2) - decidim-system (0.24.2) + decidim-sortitions (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-surveys (0.24.3) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-templates (= 0.24.3) + decidim-system (0.24.3) active_link_to (~> 1.0) - decidim-core (= 0.24.2) + decidim-core (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 1.7) jquery-rails (~> 4.4) sassc (~> 2.4.0) sassc-rails (~> 2.1.2) - decidim-templates (0.24.2) - decidim-core (= 0.24.2) - decidim-forms (= 0.24.2) - decidim-verifications (0.24.2) - decidim-core (= 0.24.2) + decidim-templates (0.24.3) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-verifications (0.24.3) + decidim-core (= 0.24.3) GEM remote: https://rubygems.org/ @@ -317,7 +317,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (2.2.1) + carrierwave (2.2.2) activemodel (>= 5.0.0) activesupport (>= 5.0.0) addressable (~> 2.6) @@ -422,7 +422,7 @@ GEM rest-client (>= 1.6) eventmachine (1.2.7) eventmachine_httpserver (0.2.1) - excon (0.81.0) + excon (0.82.0) execjs (2.7.0) factory_bot (4.11.1) activesupport (>= 3.0.0) @@ -431,12 +431,16 @@ GEM railties (>= 3.0.0) faker (2.14.0) i18n (>= 1.6, < 2) - faraday (1.4.1) + faraday (1.4.2) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) faraday-net_http (~> 1.0) faraday-net_http_persistent (~> 1.1) multipart-post (>= 1.2, < 3) ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-net_http (1.0.1) faraday-net_http_persistent (1.1.0) @@ -474,7 +478,7 @@ GEM faraday (>= 1.0) faraday_middleware graphql-client - graphql (1.12.8) + graphql (1.12.12) graphql-client (0.16.0) activesupport (>= 3.0) graphql (~> 1.8) @@ -620,7 +624,7 @@ GEM pg_search (2.3.5) activerecord (>= 5.2) activesupport (>= 5.2) - premailer (1.14.3) + premailer (1.15.0) addressable css_parser (>= 1.6.0) htmlentities (>= 4.0.0) @@ -792,7 +796,7 @@ GEM smart_properties (1.15.0) social-share-button (1.2.4) coffee-rails - spreadsheet (1.2.8) + spreadsheet (1.2.9) ruby-ole spring (2.1.1) spring-watcher-listen (2.0.1) @@ -854,7 +858,7 @@ GEM addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket-driver (0.7.3) + websocket-driver (0.7.4) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) wicked (1.3.4) diff --git a/lib/decidim/version.rb b/lib/decidim/version.rb index 70cc8190521a6..0353ee90d3d89 100644 --- a/lib/decidim/version.rb +++ b/lib/decidim/version.rb @@ -3,6 +3,6 @@ # This holds the decidim version and the faker version it uses. module Decidim def self.version - "0.24.2" + "0.24.3" end end diff --git a/package-lock.json b/package-lock.json index 13d5dc54d054e..378838bc4ed1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "decidim", - "version": "0.24.2", + "version": "0.24.3", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "0.24.2", + "version": "0.24.3", "license": "AGPL-3.0", "dependencies": { "@babel/types": "^7.0.0-beta.40", @@ -87,8 +87,8 @@ "yaml-loader": "^0.5.0" }, "engines": { - "node": "^10.5.0", - "npm": "^6.2.0" + "node": "^14.16.1", + "npm": "^7.15.1" } }, "node_modules/@babel/code-frame": { @@ -18565,7 +18565,6 @@ }, "node_modules/webpack-config-utils/node_modules/qs": { "version": "6.5.2", - "resolved": "http://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "dev": true, "inBundle": true, "license": "BSD-3-Clause", @@ -18575,7 +18574,6 @@ }, "node_modules/webpack-config-utils/node_modules/webpack-combine-loaders": { "version": "2.0.4", - "resolved": "http://registry.npmjs.org/webpack-combine-loaders/-/webpack-combine-loaders-2.0.4.tgz", "dev": true, "inBundle": true, "license": "ISC", @@ -37311,13 +37309,11 @@ "dependencies": { "qs": { "version": "6.5.2", - "resolved": "http://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "bundled": true, "dev": true }, "webpack-combine-loaders": { "version": "2.0.4", - "resolved": "http://registry.npmjs.org/webpack-combine-loaders/-/webpack-combine-loaders-2.0.4.tgz", "bundled": true, "dev": true, "requires": { diff --git a/package.json b/package.json index eed646648553a..99d7b86fc3900 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "decidim", "description": "The participatory democracy framework", - "version": "0.24.2", + "version": "0.24.3", "repository": { "url": "git@github.com:decidim/decidim.git", "type": "git" @@ -9,8 +9,8 @@ "author": "Marc Riera ", "license": "AGPL-3.0", "engines": { - "node": "^10.5.0", - "npm": "^6.2.0" + "node": "^14.16.1", + "npm": "^7.15.1" }, "browserslist": [ "> 0.5%", From 85691fad7d4d5bcf2263675811e0c3f6dcd409e4 Mon Sep 17 00:00:00 2001 From: leio10 Date: Tue, 1 Jun 2021 14:53:29 +0200 Subject: [PATCH 24/71] Make surveys matrix tables to scroll when needed (#8086) --- decidim-forms/app/assets/stylesheets/decidim/forms/forms.scss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/decidim-forms/app/assets/stylesheets/decidim/forms/forms.scss b/decidim-forms/app/assets/stylesheets/decidim/forms/forms.scss index 3dd33379ddde0..e08cbc5fee586 100644 --- a/decidim-forms/app/assets/stylesheets/decidim/forms/forms.scss +++ b/decidim-forms/app/assets/stylesheets/decidim/forms/forms.scss @@ -37,6 +37,9 @@ } .questionnaire-question-matrix{ + display: block; + overflow-x: auto; + .collection-input{ display: flex; align-items: center; From 3593e3f1ddeb54b14c54d2dfe84dbc8f19e6d444 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Tue, 1 Jun 2021 15:06:11 +0200 Subject: [PATCH 25/71] New Crowdin updates (#8057) * New translations en.yml (Italian) * New translations en.yml (Italian) * New translations en.yml (Italian) * New translations en.yml (Italian) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Slovenian) * New translations en.yml (Catalan) * New translations en.yml (Bulgarian) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Ukrainian with many plural form) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) * New translations en.yml (French, Luxembourg) --- .../config/locales/fr-LU.yml | 246 +++ .../config/locales/pt-BR.yml | 8 +- decidim-admin/config/locales/fr-LU.yml | 989 ++++++++++ decidim-admin/config/locales/it.yml | 81 + decidim-admin/config/locales/ja.yml | 92 + decidim-admin/config/locales/pl.yml | 18 +- decidim-assemblies/config/locales/fr-LU.yml | 487 +++++ decidim-assemblies/config/locales/ja.yml | 5 + decidim-assemblies/config/locales/pl.yml | 2 +- decidim-blogs/config/locales/fr-LU.yml | 85 + decidim-budgets/config/locales/fr-LU.yml | 295 +++ decidim-budgets/config/locales/ja.yml | 33 + decidim-comments/config/locales/fr-LU.yml | 138 ++ decidim-comments/config/locales/ja.yml | 10 + decidim-conferences/config/locales/fr-LU.yml | 594 ++++++ decidim-conferences/config/locales/ja.yml | 39 + decidim-conferences/config/locales/pl.yml | 2 +- .../config/locales/fr-LU.yml | 378 ++++ decidim-core/config/locales/fr-LU.yml | 1674 +++++++++++++++++ decidim-core/config/locales/it.yml | 18 + decidim-core/config/locales/ja.yml | 99 +- decidim-core/config/locales/pl.yml | 10 +- decidim-debates/config/locales/fr-LU.yml | 237 +++ decidim-debates/config/locales/ja.yml | 8 + decidim-dev/config/locales/fr-LU.yml | 56 + decidim-elections/config/locales/fr-LU.yml | 688 +++++++ decidim-elections/config/locales/ja.yml | 46 + decidim-forms/config/locales/fr-LU.yml | 178 ++ decidim-forms/config/locales/ja.yml | 8 + decidim-forms/config/locales/pl.yml | 4 +- decidim-initiatives/config/locales/fr-LU.yml | 617 ++++++ decidim-initiatives/config/locales/ja.yml | 121 +- decidim-meetings/config/locales/bg.yml | 2 + decidim-meetings/config/locales/ca.yml | 4 +- decidim-meetings/config/locales/fr-LU.yml | 543 ++++++ decidim-meetings/config/locales/is-IS.yml | 4 - decidim-meetings/config/locales/ja.yml | 48 + decidim-meetings/config/locales/pl.yml | 4 +- decidim-meetings/config/locales/pt-BR.yml | 2 +- decidim-meetings/config/locales/sl.yml | 2 + decidim-meetings/config/locales/uk.yml | 2 +- decidim-pages/config/locales/fr-LU.yml | 30 + .../config/locales/fr-LU.yml | 503 +++++ .../config/locales/ja.yml | 52 + .../config/locales/pl.yml | 2 +- decidim-proposals/config/locales/fr-LU.yml | 898 +++++++++ decidim-proposals/config/locales/ja.yml | 28 + decidim-sortitions/config/locales/fr-LU.yml | 153 ++ decidim-surveys/config/locales/fr-LU.yml | 66 + decidim-surveys/config/locales/it.yml | 2 + decidim-surveys/config/locales/ja.yml | 4 + decidim-system/config/locales/fr-LU.yml | 182 ++ decidim-templates/config/locales/fr-LU.yml | 60 + decidim-templates/config/locales/it.yml | 1 + decidim-templates/config/locales/pl.yml | 2 +- .../config/locales/fr-LU.yml | 268 +++ decidim-verifications/config/locales/ja.yml | 16 + 57 files changed, 10088 insertions(+), 56 deletions(-) create mode 100644 decidim-accountability/config/locales/fr-LU.yml create mode 100644 decidim-admin/config/locales/fr-LU.yml create mode 100644 decidim-assemblies/config/locales/fr-LU.yml create mode 100644 decidim-blogs/config/locales/fr-LU.yml create mode 100644 decidim-budgets/config/locales/fr-LU.yml create mode 100644 decidim-comments/config/locales/fr-LU.yml create mode 100644 decidim-conferences/config/locales/fr-LU.yml create mode 100644 decidim-consultations/config/locales/fr-LU.yml create mode 100644 decidim-core/config/locales/fr-LU.yml create mode 100644 decidim-debates/config/locales/fr-LU.yml create mode 100644 decidim-dev/config/locales/fr-LU.yml create mode 100644 decidim-elections/config/locales/fr-LU.yml create mode 100644 decidim-forms/config/locales/fr-LU.yml create mode 100644 decidim-initiatives/config/locales/fr-LU.yml create mode 100644 decidim-meetings/config/locales/fr-LU.yml create mode 100644 decidim-pages/config/locales/fr-LU.yml create mode 100644 decidim-participatory_processes/config/locales/fr-LU.yml create mode 100644 decidim-proposals/config/locales/fr-LU.yml create mode 100644 decidim-sortitions/config/locales/fr-LU.yml create mode 100644 decidim-surveys/config/locales/fr-LU.yml create mode 100644 decidim-system/config/locales/fr-LU.yml create mode 100644 decidim-templates/config/locales/fr-LU.yml create mode 100644 decidim-verifications/config/locales/fr-LU.yml diff --git a/decidim-accountability/config/locales/fr-LU.yml b/decidim-accountability/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..ce58e959e7a61 --- /dev/null +++ b/decidim-accountability/config/locales/fr-LU.yml @@ -0,0 +1,246 @@ +fr-LU: + activemodel: + attributes: + result: + decidim_accountability_status_id: Progression + decidim_category_id: Catégorie + decidim_scope_id: Périmètre d'application + description: Description + end_date: Date de fin + progress: Avancement + project_ids: Projets inclus + proposals: Propositions incluses + start_date: Date de début + title: Titre + updated_at: Mise à jour à + status: + description: Description + key: Clé + name: Nom + progress: Avancement + timeline_entry: + description: Description + entry_date: Date + models: + decidim/accountability/proposal_linked_event: Proposition incluse dans une réalisation + decidim/accountability/result_progress_updated_event: Résultat du progrès mis à jour + activerecord: + models: + decidim/accountability/result: + one: Réalisation + other: Réalisations + decidim: + accountability: + actions: + attachment_collections: Dossiers + attachments: Pièces jointes + confirm_destroy: Êtes-vous sûr de vouloir supprimer ce %{name}? + destroy: Supprimer + edit: Modifier + import_csv: Importer un fichier CSV + new: Nouveau %{name} + preview: Aperçu + timeline_entries: Évolution de la réalisation + title: Actions + admin: + exports: + result_comments: Commentaires + results: Réalisations + import_results: + new: + import: Importer + info: "

Nous vous recommandons de suivre les étapes suivantes :

  1. Créez les statuts pour les résultats que vous souhaitez ajouter (lien)
  2. Créez au moins un résultat manuellement via ce panneau administrateur (lien) avant d'utiliser l'import, pour comprendre ce que vous aurez besoin de remplir.
  3. Téléchargez l'export en format CSV (%{link_export_csv})
  4. Faites les modifications nécessaires. Vous pouvez uniquement changer les colonnes suivantes du fichier CSV :
  • category/id: Identifiant de la catégorie
  • scope/id : Identifiant du secteur
  • parent/id : Identifiant du parent (pour les résultats liés). Optional
  • title/I18N: Titre en langue X
  • description/I18N: Description en langue X
  • start_date: date à laquelle le résultat commence (format AAAA-MM-JJ)
  • end_date: date à laquelle le résultat finit (format AAAA-MM-JJ)
  • status/id: Identifiant du statut du résultat
  • progress: Pourcentage (de 0 à 100) de l'exécution du résultat
  • proposals_ids: Identifiant interne des propositions liées (séparées avec une virgule). La conversion en URL de la proposition se fait automatiquement.
" + link: lien + title: Importer les résultats depuis un fichier CSV + imports: + create: + success: Le fichier a commencé à être importé. Vous recevrez un email dans les prochaines minutes avec le résultat de l'import + models: + result: + name: Réalisation + status: + name: Progression + timeline_entry: + name: Élément de chronologie + results: + create: + invalid: Un problème est survenu lors de la création de cette réalisation + success: Réalisation créée avec succès + destroy: + success: Réalisation supprimée avec succès + edit: + title: Modifier la réalisation + update: Mise à jour de la réalisation + index: + title: Réalisations + new: + create: Créer une réalisation + title: Nouvelle réalisation + update: + invalid: Un problème est survenu lors de la mise à jour de cette réalisation + success: Réalisation mise à jour avec succès + shared: + subnav: + statuses: Progrès + statuses: + create: + invalid: Un problème est survenu lors de la création de ce statut + success: Statut créé avec succès + destroy: + success: Statut supprimé avec succès + edit: + title: Modifier le statut + update: Mettre à jour le statut + index: + title: Statuts + new: + create: Créer un statut + title: Nouveau statut + update: + invalid: Un problème est survenu lors de la mise à jour de ce statut + success: Statut mis à jour avec succès + timeline_entries: + create: + invalid: Un problème est survenu lors de la création de cette élément de chronologie + success: Élément de chronologie créé avec succès + destroy: + success: Élément de chronologie supprimé avec succès + edit: + title: Modifier l'élément de chronologie + update: Mise à jour de l'élément de chronologie + index: + title: Étapes-clés de la réalisation + new: + create: Créer un élément de chronologie + title: Nouvel élément de chronologie + update: + invalid: Un problème est survenu lors de la mise à jour de cet élément de chronologie + success: Élément de chronologie mis à jour avec succès + admin_log: + result: + create: "%{user_name} a créé la réalisation %{resource_name} dans %{space_name}" + delete: "%{user_name} a supprimé la réalisation %{resource_name} dans %{space_name}" + update: "%{user_name} a mis à jour la réalisation %{resource_name} dans %{space_name}" + value_types: + parent_presenter: + not_found: 'Le parent n''a pas été trouvé dans la base de données (ID: %{id})' + content_blocks: + highlighted_results: + dates: Dates + results: Réalisations + unspecified: Non précisé + import_mailer: + import: + errors: Erreurs + errors_present: Un problème est survenu lors de l'import des résultats + row_number: Ligne + subject: Import des résultats réussi + success: Import des résultats réussi. Vous pouvez consulter les résultats dans l'interface d'administration. + last_activity: + new_result_at_html: "Nouvelle réalisation %{link}" + models: + result: + fields: + category: Catégorie + created_at: Créé le + end_date: Date de fin + id: ID + progress: Avancement + scope: Secteur + start_date: Date de début + status: Statut + title: Titre + status: + fields: + description: Description + key: Clé + name: Nom + progress: Avancement + timeline_entry: + fields: + description: Description + entry_date: Date + result_m: + executed: Exécuté + view: Voir + results: + count: + results_count: + one: 1 réalisation + other: "%{count} réalisations" + filters: + all: Tous + scopes: Périmètre d'application + home: + categories_label: Catégories + subcategories_label: Sous-catégories + home_header: + global_status: État d'exécution global + nav_breadcrumb: + global: Exécution globale + search: + search: Rechercher des réalisations + show: + stats: + attendees: Participants + back_to_resource: Revenir à la réalisation + comments: Commentaires + contributions: Contributions + last_edited_by: Dernière édition par + last_updated_at: Dernière mise à jour à + meetings: Réunions + proposals: Propositions + votes: Votes + timeline: + title: Évolution du projet + admin: + filters: + results: + category_id_eq: + label: Catégorie + scope_id_eq: + label: Secteur + status_id_eq: + label: Statut + components: + accountability: + name: Suivi + settings: + global: + categories_label: Nom pour "Catégories" + comments_enabled: Activer le module de commentaire + comments_max_length: Longueur max des commentaires (laisser 0 pour la valeur par défaut) + display_progress_enabled: Afficher les progrès + heading_leaf_level_results: Nom pour "Projets" + heading_parent_level_results: Nom pour "Réalisations" + intro: Introduction + scope_id: Secteur + scopes_enabled: Secteurs activés + subcategories_label: Nom pour "Sous-catégories" + step: + comments_blocked: Bloquer la création de nouveaux commentaires + events: + accountability: + proposal_linked: + email_intro: 'La proposition "%{proposal_title}" a été incluse dans une réalisation. Vous pouvez le voir sur cette page :' + email_outro: Vous avez reçu cette notification parce que vous suivez "%{proposal_title}". Vous pouvez arrêter de recevoir des notifications à partir du lien précédent. + email_subject: Une mise à jour de %{proposal_title} + notification_title: La proposition %{proposal_title} a été incluse dans la réalisation %{resource_title}. + result_progress_updated: + email_intro: 'Le résultat "%{resource_title}", qui inclut la proposition "%{proposal_title}", est maintenant terminé à %{progress}%. Vous pouvez le voir sur cette page:' + email_outro: Vous avez reçu cette notification car vous suivez "%{proposal_title}" et cette proposition est incluse dans le résultat "%{resource_title}". Vous pouvez cesser de recevoir des notifications en suivant le lien précédent. + email_subject: Une mise à jour à %{resource_title} progress + notification_title: Le résultat %{resource_title}, qui inclut la proposition %{proposal_title}, est désormais achevé à %{progress}%. + metrics: + results: + description: Nombre de résultats générés + object: résultats + title: Résultats + participatory_spaces: + highlighted_results: + see_all: Voir tous les résultats (%{count}) + resource_links: + included_projects: + result_project: Projets inclus dans cette réalisation + included_proposals: + result_proposal: Propositions incluses dans cette réalisation diff --git a/decidim-accountability/config/locales/pt-BR.yml b/decidim-accountability/config/locales/pt-BR.yml index 67a30324906e0..a0a6a4126883b 100644 --- a/decidim-accountability/config/locales/pt-BR.yml +++ b/decidim-accountability/config/locales/pt-BR.yml @@ -36,7 +36,7 @@ pt: destroy: Excluir edit: Editar new: Novo %{name} - preview: Visualização + preview: Pré-visualização timeline_entries: Evolução do projeto title: Ações admin: @@ -51,10 +51,10 @@ pt: name: Entrada da linha de tempo results: create: - invalid: Tem havido um problema ao criar esse resultado + invalid: Houve um problema ao criar esse resultado success: Resultado criado com sucesso destroy: - success: Resultado eliminado com êxito + success: Resultado excluído com sucesso edit: title: Editar resultado update: Atualizar resultado @@ -64,7 +64,7 @@ pt: create: Criar resultado title: Novo resultado update: - invalid: Ocorreu um problema ao atualizar este resultado + invalid: Houve um problema ao atualizar este resultado success: Resultado atualizado com sucesso shared: subnav: diff --git a/decidim-admin/config/locales/fr-LU.yml b/decidim-admin/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..e75821430a14b --- /dev/null +++ b/decidim-admin/config/locales/fr-LU.yml @@ -0,0 +1,989 @@ +fr-LU: + activemodel: + attributes: + area: + area_type: Périmètre d'assemblée + name: Titre + organization: Organisation + area_type: + name: Titre + organization: Organisation + plural: Pluriel + attachment: + attachment_collection_id: Dossier + description: Description + file: Fichier + title: Nom de la pièce jointe ou de l'image + attachment_collection: + description: Description + name: Titre + category: + description: Description + name: Titre + parent_id: Parent + component: + name: Titre + published_at: Publiée à + weight: Rang d'affichage + id: ID + import: + user_group_id: Créer des imports en tant que + newsletter: + body: Corps de texte + subject: Objet + organization: + alert_color: Alerte + available_authorizations: Autorisations disponibles + badges_enabled: Activer les badges + comments_max_length: Longueur max des commentaires (laisser 0 pour la valeur par défaut) + cta_button_path: Chemin du bouton d'action + cta_button_text: Texte du bouton d'action + customize_welcome_notification: Personnaliser le mail de bienvenue + default_locale: Langue par défaut + description: Description + enable_omnipresent_banner: Montrer une bannière d'actualités + facebook_handler: Gestionnaire Facebook + favicon: Icône + force_authentication: Forcer l'authentification + force_users_to_authenticate_before_access_organization: Forcer les utilisateurs à s'authentifier avant d'accéder à l'organisation + from: Adresse e-mail de l’expéditeur + github_handler: Gestionnaire GitHub + header_snippets: Éléments à ajouter entre les balises HTML + highlight_alternative_color: Surbrillance alternative + highlight_color: Surbrillance + highlighted_content_banner_action_subtitle: Sous-titre du bouton d'action + highlighted_content_banner_action_title: Titre du bouton d'action + highlighted_content_banner_action_url: URL du bouton d'action + highlighted_content_banner_enabled: Afficher la bannière de contenu mis en valeur + highlighted_content_banner_image: Image + highlighted_content_banner_short_description: Brève description + highlighted_content_banner_title: Titre + host: Host + instagram_handler: Gestionnaire Instagram + logo: Logo + machine_translation_display_priority: Priorité de l'affichage de la traduction automatique + machine_translation_display_priority_original: Texte original en premier + machine_translation_display_priority_translation: Texte traduit en premier + name: Nom + official_img_footer: Logo officiel - pied de page + official_img_header: Logo officiel - barre de navigation + official_url: URL officielle de l'organisation + omnipresent_banner_short_description: Brève description + omnipresent_banner_title: Titre + omnipresent_banner_url: URL + organization_admin_email: E-mail de l'administrateur de l'organisation + organization_admin_name: Nom de l'administrateur de l'organisation + organization_locales: Langues de l'organisation + primary_color: Primaire + reference_prefix: Préfixe de référence + rich_text_editor_in_public_views: Activer l'éditeur de texte avancé pour les participants + secondary_color: Secondaire + secondary_hosts: Secondary hosts + send_welcome_notification: Envoyer un mail de bienvenue + success_color: Succès + time_zone: Fuseau horaire + tos_version: Version des conditions d'utilisation + twitter_handler: Gestionnaire Twitter + user_groups_enabled: Activer les groupes d'utilisateurs + users_registration_mode: Mode d'inscription des utilisateurs + warning_color: Attention + welcome_notification_body: Corps du mail de bienvenue + welcome_notification_subject: Objet du mail de bienvenue + youtube_handler: Gestionnaire YouTube + scope: + code: Code + name: Titre + organization: Organisation + parent_id: Parent + scope_type: Type de secteur + scope_type_id: Type de secteur + scope_type: + name: Titre + organization: Organisation + plural: Pluriel + settings: + scope_id: Secteur + static_page: + allow_public_access: Autoriser l'accès sans authentification + changed_notably: Il y a eu des changements notables. + content: Contenu + organization: Organisation + show_in_footer: Montrer dans le pied de page + slug: Identifiant + title: Titre + weight: Rang d'affichage + static_page_topic: + description: La description + show_in_footer: Montrer dans le pied de page + title: Titre + weight: Rang d'affichage + user_group_csv_verification: + file: Fichier + errors: + models: + organization: + attributes: + official_img_footer: + allowed_file_content_types: Fichier image invalide + official_img_header: + allowed_file_content_types: Fichier image invalide + new_import: + attributes: + file: + invalid_mime_type: Type MIME invalide + activerecord: + attributes: + decidim/static_page: + content: Contenu + slug: Identifiant + title: Titre + doorkeeper/application: + authorize_url: Autoriser l'URL + client_id: Identifiant client + client_secret: Secret client + organization_name: Nom de l'organisation + organization_url: URL de l'organisation + redirect_uri: Rediriger l'URI + site: Site Internet + decidim: + admin: + actions: + add: Ajouter + attachment: + new: Nouvelle pièce jointe + attachment_collection: + new: Nouveau dossier + browse: Parcourir + category: + new: Nouvelle catégorie + export: Exporter + import: Importer + manage: Gérer + new: + %{name} + newsletter: + new: Nouvelle newsletter + participatory_space_private_user: + new: Nouvel utilisateur privé de l'espace participatif + per_page: Par page + permissions: Autorisations + reject: Rejeter + share: Partager + user: + new: Nouvel utilisateur + verify: Vérifier + admin_terms_of_use: + accept: + error: Une erreur s'est produite lorsque vous avez accepté les conditions d'utilisation administrateur. + success: Super! Vous avez accepté les conditions d'utilisation administrateur. + actions: + accept: J'accepte les conditions d'utilisation suivantes + are_you_sure: Êtes-vous certain de vouloir refuser les conditions d'utilisation administrateur? + refuse: Refuser les conditions d'utilisation administrateur + title: Accepter les conditions d'utilisation + required_review: + alert: 'Obligatoire: Consultez nos conditions d''utilisation administrateur' + callout: Veuillez prendre un moment pour consulter les conditions d'utilisation administrateur. Sinon, vous ne pourrez pas utiliser la plateforme en tant qu'administrateur. + cta: Consultez les maintenant. + title: Conditions d'utilisation administrateur + area_types: + create: + error: Une erreur s'est produite lors de la création d'un nouveau périmètre d'assemblée. + success: Le type de périmètre d'assemblée a été créé avec succès. + destroy: + success: Le type de périmètre d'assemblée a bien été supprimé + edit: + title: Modifier le type de périmètre d'assemblée + update: Mettre à jour + new: + create: Créer un type de périmètre d'assemblée + title: Nouveau type de périmètre d'assemblée + update: + error: Une erreur s'est produite lors de la mise à jour de ce type de périmètre d'assemblée. + success: Le type de périmètre d'assemblée a été mis à jour avec succès + areas: + create: + error: Une erreur s'est produite lors de la création d'une nouvelle zone d'application. + success: Zone d'application créée avec succès. + destroy: + has_spaces: Le secteur a des sous-secteur dépendants, il ne doit pas avoir de dépendances pour être supprimé. + success: La zone d'application a bien été supprimée + edit: + title: Modifier la zone d'application + update: Mettre à jour + new: + create: Créer une zone d'application + title: Nouvelle zone d'application + no_areas: Aucune zone d'application + update: + error: Une erreur s'est produite lors de la mise à jour de cette zone d'application. + success: Zone d'application mise à jour avec succès + attachment_collections: + create: + error: Une erreur s'est produite lors de la création d'un nouveau dossier. + success: Le dossier a été créé avec succès. + destroy: + success: Dossier supprimé avec succès. + edit: + title: Modifier le dossier + update: Mettre à jour + index: + attachment_collection_used: Ce dossier ne peut pas être supprimé car il est en cours d'utilisation. + attachment_collections_title: Dossiers de pièces jointes + new: + create: Créer + title: Nouveau dossier + update: + error: Une erreur s'est produite lors de la mise à jour de ce dossier. + success: Dossier mis à jour avec succès. + attachments: + create: + error: Une erreur s'est produite lors de la création d'un nouveau document lié. + success: Document lié créé avec succès. + destroy: + success: Document lié supprimé avec succès. + edit: + title: Modifier le document lié + update: Mettre à jour + index: + attachments_title: Documents liés + new: + create: Lier un document + title: Nouveau document lié + update: + error: Une erreur s'est produite lors de la mise à jour de ce document lié. + success: Document lié mis à jour avec succès. + autocomplete: + no_results: Aucun résultat trouvé + search_prompt: Renseignez au moins trois caractères pour lancer la recherche + block_user: + new: + action: Bloquer le compte et envoyer la justification + description: Bloquer un utilisateur rendra son compte inutilisable, vous devriez fournir dans votre justification et vos directives les conditions de déblocage de l'utilisateur. + justification: Justification + title: Bloquer l'utilisateur %{name} + categories: + create: + error: Une erreur s'est produite lors de la création de cette catégorie. + success: Catégorie créée avec succès. + destroy: + error: Une erreur s'est produite lors de la suppression de cette catégorie. Supprimez d'abord toute sous-catégorie et assurez-vous qu'aucune autre entité n'appartient à cette catégorie avant de réessayer. + success: Catégorie supprimée avec succès. + edit: + title: Modifier la catégorie + update: Mettre à jour + index: + categories_title: Catégories + category_used: Cette catégorie ne peut pas être supprimée car elle est utilisée. + new: + create: Créer une catégorie + title: Nouvelle catégorie + update: + error: Une erreur s'est produite lors de la mise à jour de cette catégorie. + success: Catégorie mise à jour avec succès. + component_permissions: + update: + error: Un problème est survenu lors de la mise à jour des permissions de ce composant. + success: Autorisations mises à jour avec succès. + components: + create: + error: Une erreur s'est produite lors de la création de cette fonctionnalité. + success: Fonctionnalité créée avec succès. + destroy: + error: Une erreur s'est produite lors de la suppression de cette fonctionnalité. + success: La fonctionnalité a été supprimée avec succès. + edit: + title: Modifier la fonctionnalité + update: Mettre à jour + form: + default_step_settings: Paramètres d'étape par défaut + global_settings: Paramètres globaux + step_settings: Paramètres de l'étape + index: + add: Ajouter une fonctionnalité + headers: + actions: Actions + name: Nom de la fonctionnalité + scope: Secteur de la fonctionnalité + type: Type de fonctionnalité + new: + add: Ajouter une fonctionnalité + title: 'Ajouter une fonctionnalité : %{name}' + publish: + success: La fonctionnalité a été publiée avec succès. + title: Fonctionnalités + unpublish: + success: La fonctionnalité a été dépubliée avec succès. + update: + error: Une erreur est survenue lors de la mise à jour de cette fonctionnalité. + success: La fonctionnalité a été mise à jour avec succès. + conflicts: + attempts: Tentatives + 'false': 'Non' + managed_user_name: Utilisateur représenté + solved: Résolu + title: Conflits de vérification + transfer: + email: Email + error: Une erreur est survenue lors du transfert de l'utilisateur actuel en utilisateur représenté. + name: Nom + reason: Raison + success: Le transfert a bien été effectué. + title: Transfert + 'true': 'Oui' + user_name: Utilisateur + dashboard: + show: + view_more_logs: Afficher plus + welcome: Bienvenue dans l'espace d'administration de Decidim. + exports: + export_as: "%{name} en format %{export_format}" + formats: + CSV: CSV + Excel: Excel + FormPDF: PDF + JSON: JSON + notice: Votre exportation est en cours. Vous recevrez un e-mail quand elle sera terminée. + filters: + category_id_eq: + label: Catégorie + filter_label: Filtre + moderations: + reportable_type_string_eq: + label: Type + officialized_at_null: + label: État + values: + 'false': Validé + 'true': Non validé + private_space_eq: + label: Privé + values: + 'false': Public + 'true': Privé + published_at_null: + label: Publié + values: + 'false': Publié + 'true': Dépublié + scope_id_eq: + label: Secteur + search_label: Rechercher + search_placeholder: + name_or_nickname_or_email_cont: Rechercher les %{collection} par e-mail, nom ou pseudo. + reported_id_string_or_reported_content_cont: Rechercher %{collection} par Id ou par contenu. + title_cont: Rechercher %{collection} par titre. + state_eq: + label: État + forms: + file_help: + import: + explanation: 'Instructions concernant le fichier:' + message_1: Les fichiers CSV, JSON et Excel (.xls) sont supportés + message_2: Pour les fichiers CSV, le séparateur entre les colonnes doit être un point-virgule (";") + help_sections: + error: Une erreur s'est produite lors de la mise à jour des sections d'aide. + form: + save: Sauvegarder + success: Les sections d'aide ont été mises à jour avec succès + impersonatable_users: + index: + filter: + all: Tout + managed: Géré + not_managed: Non géré + filter_by: Filtrer par + impersonate: Représenter + impersonate_new_managed_user: Représenter un nouvel utilisateur + managed: Représenté + name: Nom + needs_authorization_warning: Vous avez besoin d'au moins une autorisation activée pour cette organisation. + not_managed: Non représenté + promote: Promouvoir + search: Rechercher + status: Statut + view_logs: Consultez les journaux d'activité + impersonations: + close_session: + error: Une erreur s'est produite lors de la fermeture de la session de l'utilisateur que vous représentez. + success: La session de l'utilisateur que vous représentiez a été fermée avec succès. + create: + error: Une erreur a été commise en représentant l'identité de l'utilisateur. + success: L'utilisateur à représenter a été créé avec succès. + form: + authorization_method: Méthode d'autorisation + name: Nom + reason: Raison + new: + impersonate: Représenter + impersonate_existing_managed_user: Représenter l'utilisateur "%{name}" + impersonate_existing_user: Représenter l'utilisateur standard "%{name}" + impersonate_new_managed_user: Représenter un nouvel utilisateur + imports: + creators: + proposalcreator: Créateur de proposition + error: Un problème est survenu lors de l'import + help: + proposalcreator: Le fichier doit comprendre les colonnes title/fr et body/fr (ou une autre locale de votre choix). Les colonnes scope/id et category/id sont également prises en charge. + import_from_file: Importer à partir d'un fichier + invalid_lines: Erreur trouvée dans la ressource aux lignes %{invalid_lines} + new: + accepted_mime_types: + csv: csv + json: json + xls: xls + actions: + back: Retour + file_legend: Ajouter un fichier d'import qui sera analysé. + import: Importer + notice: "%{number} %{resource_name} importées avec succès" + logs: + logs_list: + no_logs_yet: Il n'y a pas encore de journal d'activité + managed_users: + promotion: + error: Une erreur s'est produite lors de la promotion de l'utilisateur représenté. + success: L'utilisateur représenté a été promu avec succès. + promotions: + new: + explanation: Les utilisateurs représentés peuvent être promu utilisateurs standard. Cela signifie qu'ils seront invités à s'inscrire sur l'application et vous ne pourrez plus agir à leur place. L'utilisateur recevra un email pour accepter votre invitation. + new_managed_user_promotion: Promouvoir un utilisateur représenté en utilisateur standard + promote: Promouvoir + menu: + admin_log: Journal d'activité personnel + admins: Administrateurs + appearance: Apparence + area_types: Types de périmètre d'assemblée + areas: Zones d'application + configuration: Configuration + dashboard: Tableau de bord + help_sections: Sections d'aide + homepage: Page d'accueil + impersonations: Utilisateurs représentés + moderation: Modération globale + newsletters: Bulletins d'information (newsletter) + participants: Participants + reported_users: Utilisateurs signalés + scope_types: Types de secteur + scopes: Périmètres d’application + settings: Paramètres + static_pages: Pages + user_groups: Groupes d'utilisateurs + users: Utilisateurs + metrics: + metrics: + see_more_metrics: Voir plus d'indicateurs + models: + area: + fields: + area_type: Type de périmètre d'assemblée + name: Titre + area_type: + fields: + name: Titre + plural: Pluriel + attachment: + fields: + collection: Dossier + content_type: Type de contenu + file_size: Taille + title: Titre + name: Document lié + attachment_collection: + name: Dossier + category: + name: Catégorie + impersonation_log: + fields: + admin: Administrateur + ended_at: Terminé le + expired_at: Expiré le + reason: Raison + started_at: Commencé le + user: Utilisateur + newsletter: + fields: + created_at: Créée le + progress: Avancement + sent_at: Envoyé à + sent_to: Envoyé à + subject: Objet + name: Bulletin d'information (newsletter) + participatory_space_private_user: + name: Utilisateur de l'espace participatif + scope: + fields: + name: Titre + scope_type: Type de secteur + scope_type: + fields: + name: Titre + plural: Pluriel + share_token: + fields: + created_at: Créée le + expires_at: Expire le + last_used_at: Dernière utilisation + times_used: Nombre d'utilisations + token: Jeton + user: Créé par + static_page: + fields: + created_at: Créée le + title: Titre + user: + fields: + created_at: Date de création + email: Email + last_sign_in_at: Date de la dernière connexion + name: Nom + role: Rôle + roles: + admin: Administrateur + user_manager: Représentant de l'utilisateur + name: Utilisateur + user_group: + fields: + actions: Actions + created_at: Créé le + document_number: Numéro de document + name: Nom + phone: Téléphone + state: État + users_count: Nombre d'utilisateurs + moderated_users: + index: + actions: + block: Bloquer l'utilisateur + title: Actions + unblock: Débloquer l'utilisateur + unreport: Annuler le signalement + name: Nom + nickname: Pseudonyme + reason: Raison du signalement + reports: Nombre de signalements + title: Liste des utilisateurs signalés + report: + reasons: + does_not_belong: N'appartient pas + offensive: Offensant + spam: Spam + tabs: + blocked: Bloqué + unblocked: Non bloqué + moderations: + index: + title: Modérations + report: + reasons: + does_not_belong: N'appartient pas + offensive: Agressif + spam: Spam + reports: + index: + author: Auteur(s) + callout_html: Un contenu apparaît dans le panneau de modération quand il a été signalé par un utilisateur (personne ayant un compte enregistré) en cliquant sur le drapeau %{icon} à côté de l'élément. + content_original_language: Langue d'origine du contenu + participatory_space: Espace participatif + reported_content: Contenu signalé + see_current: Voir le contenu dans sa langue d'origine + see_original: Voir l'original + title: Signalements + show: + report_details: Motif du signalement + report_language: Langue d'origine du signalement + report_reason: Motif + title: Détails du signalement + newsletter_templates: + index: + preview_template: Aperçu + title: Modèles de newsletter + use_template: Utiliser ce modèle + show: + preview: 'Prévisualiser le modèle: %{template_name}' + use_template: Utiliser ce modèle + newsletters: + create: + error: Il y a eu une erreur lors de la création de cette newsletter. + success: Newsletter créée avec succès. Veuillez la vérifier avant de l'envoyer. + deliver: + error: Il y a eu une erreur lors de l'envoi de cette newsletter. + success: Newsletter envoyée avec succès. + destroy: + error_already_sent: 'Suppression impossible car la newsletter a déjà été envoyée.' + success: Newsletter supprimée avec succès. + edit: + save_and_preview: Enregistrer et prévisualiser + title: Modifier la newsletter + index: + all: tous + all_users: 'Tous les utilisateurs ' + and: 'et ' + confirm_delete: Êtes-vous sûr de vouloir supprimer cette newsletter ? + followers: 'abonnés ' + has_been_sent_to: 'A été envoyé à : ' + no_scopes: Aucun secteur + not_sent: Envoi non effectué + participants: 'participants ' + segmented_to: 'Segmenté à %{subject}: ' + subscribed_count: 'Abonné:' + title: Newsletters + new: + save: Enregistrer + title: Nouvelle newsletter + select_recipients_to_deliver: + all_spaces: Tous + all_users_help: Envoie la newsletter à tous les utilisateurs confirmés. + confirm_deliver: Êtes-vous sûr de vouloir envoyer cette newsletter ? Cette action ne peut pas être annulée. + deliver: Envoyer la newsletter + followers_help: Envoie la newsletter à tous les utilisateurs confirmés qui suivent les espaces participatifs sélectionnés dans la liste. + none: Aucun + participants_help: Envoie la newsletter à tous les utilisateurs confirmés qui ont participé à l'un des espaces participatifs sélectionnés dans la liste. + recipients_count: Cette newsletter sera envoyé à %{count} users. + scopes_help: Envoie la newsletter aux utilisateurs qui ont un secteur sélectionné dans les paramètres "Mes intérêts". + select_scopes: Filtrer pour les utilisateurs ayant activé un secteur dans les paramètres "Mes intérêts". + select_spaces: Sélectionnez les espaces pour segmenter la newsletter + select_users: Sélectionnez les utilisateurs à qui vous souhaitez envoyer la newsletter + send_to_all_users: Envoyer à tous + send_to_followers: Envoyer aux abonnés + send_to_participants: Envoyer aux participants + title: Sélectionner les destinataires + warning: "Attention : Cette newsletter ne sera envoyée qu'aux utilisateurs qui ont activé Je veux recevoir newsletters dans leurs paramètres de notifications." + send: + no_recipients: Aucun destinataire pour cette sélection + show: + preview: Aperçu + select_recipients_to_deliver: Sélectionner les destinataires + subject: Objet + update: + error: Erreur lors de la mise à jour de la newsletter. + success: Newsletter mise à jour avec succès. Veuillez la vérifier avant de l'envoyer. + officializations: + block: + error: Une erreur s'est produite lors du blocage du participant + success: Participant bloqué avec succès + create: + success: Utilisateur validé avec succès + destroy: + success: Validation de l'utilisateur supprimée avec succès + index: + actions: Actions + badge: Badge + block: Bloquer l'utilisateur + created_at: Créée le + name: Nom + nickname: Pseudonyme + not_officialized: Non validé + officialize: Valider + officialized: Validé + reofficialize: De nouveau validé + reports: Signalements + show_email: Montrer les adresses e-mail + status: Statut + unblock: Débloquer l'utilisateur + unofficialize: Invalider + new: + badge: Badge de validation + officialize: Valider + title: Valider l'utilisateur "%{name}" + show_email_modal: + close_modal: Fermer la fenêtre de dialogue + description: Si vous avez besoin de contacter directement un participant, vous pouvez cliquer sur le bouton Afficher pour voir l'adresse e-mail. Cette action sera enregistrée. + email_address: Adresse e-mail + full_name: Nom complet + hidden: masqués + show: Afficher + title: Afficher l'adresse e-mail des participants + unblock: + error: Une erreur s'est produite lors du déblocage du participant + success: Participant débloqué avec succès + organization: + edit: + title: Modifier l'organisation + update: Mettre à jour + form: + facebook: Facebook + github: GitHub + instagram: Instagram + rich_text_editor_in_public_views_help: Dans certains champs textuels, les participants pourront insérer des balises HTML en utilisant l'éditeur de texte avancé. + social_handlers: Liens des réseaux sociaux + twitter: Twitter + url: URL + youtube: YouTube + update: + error: Erreur lors de la mise à jour de cette organisation. + success: Organisation mise à jour avec succès. + organization_appearance: + edit: + update: Mettre à jour + form: + colors: + colors_title: Couleurs de l'organisation + header_snippets_help: Utilisez ce champ pour ajouter des éléments entre les balises HTML . L'utilisation la plus courante de champs consiste à intégrer des services tiers nécessitant du JavaScript ou du CSS supplémentaire. Vous pouvez aussi l'utiliser pour ajouter des méta-tags supplémentaires au code HTML. Notez que cela ne fonctionnera que dans sur les pages publiques, et non dans la section admin. + cta_button_path_help: 'Vous pouvez remplacer le lien vers lequel renvoie le bouton de la page d''accueil. Utilisez ici des chemins partiels et non des URL complets. Il accepte les lettres, les chiffres, les tirets et les barres obliques, et doit commencer par une lettre. Le bouton apparaît sur la page d''accueil entre le texte de bienvenue et la description. Exemple : %{url}' + cta_button_text_help: Vous pouvez remplacer le texte du bouton dans la page d'accueil pour chaque langue disponible dans votre organisation. Si elle n'est pas définie, la valeur par défaut sera utilisée. Le bouton apparaît sur la page d'accueil entre le texte de bienvenue et la description. + homepage_appearance_title: Modifier l'apparence de la page d'accueil + homepage_highlighted_content_banner_title: Bannière de contenu mis en valeur + images: + layout_appearance_title: Modifier l’aspect de la mise en page + preview: Aperçu + omnipresent_banner_appearance_title: Modifier la bannière permanente + organization_homepage: + edit: + active_content_blocks: Blocs de contenu actif + inactive_content_blocks: Blocs de contenu inactif + organization_homepage_content_blocks: + edit: + update: Mettre à jour + participatory_space_private_users: + create: + error: Une erreur s'est produite lors de l'ajout d'un utilisateur pour cet espace participatif. + success: L'accès utilisateur à l'espace participatif privé a été créé avec succès. + destroy: + error: Une erreur s'est produite lors de la suppression d'un utilisateur privé pour cet espace participatif. + success: L'accès utilisateur à l'espace participatif privé a été supprimé avec succès. + index: + import_via_csv: Importer via csv + title: Utilisateur privé de l'espace participatif + new: + create: Créer + title: Nouvel utilisateur privé de l'espace participatif. + participatory_space_private_users_csv_imports: + create: + invalid: Il y a eu un problème de lecture du fichier CSV. + success: Fichier CSV a été transféré avec succès, nous envoyons un courriel d'invitation aux participants. Cela peut prendre un certain temps. + new: + explanation: 'Téléchargez votre fichier CSV. Il doit avoir deux colonnes avec dans la première colonne les emails, et dans la deuxième colonne les noms (email, nom) des utilisateurs que vous souhaitez ajouter à l''espace participatif, sans en-tête. Évitez les caractères spéciaux comme `<>?%&^*#@()[]=+:;"{}\|` dans les noms des utilisateurs.' + title: Téléchargez votre fichier CSV + upload: Télécharger + resource_permissions: + edit: + submit: Soumettre + title: Modifier les autorisations + update: + success: Autorisations mises à jour avec succès. + resources: + index: + headers: + scope: Secteur + scope_types: + create: + error: Une erreur s'est produite lors de la création d'un nouveau type de secteur. + success: Type de secteur créé avec succès. + destroy: + success: Le type de secteur a été supprimé avec succès + edit: + title: Modifier le type de secteur + update: Mettre à jour + new: + create: Créer un type de secteur + title: Nouveau secteur + update: + error: Une erreur s'est produite lors de la mise à jour de ce type de secteur. + success: Type de secteur mis à jour avec succès + scopes: + create: + error: Une erreur s'est produite lors de la création d'un nouveau périmètre d’application. + success: Périmètre d'application créé avec succès. + destroy: + success: Périmètre d'application supprimé avec succès + edit: + title: Modifier le périmètre d'application + update: Mettre à jour + new: + create: Créer un périmètre d'application + title: Nouveau périmètre d'application + no_scopes: Pas de périmètre d'application à ce niveau. + update: + error: Une erreur s'est produite lors de la mise à jour de ce périmètre d'application. + success: Périmètre d'application mis à jour avec succès + share_tokens: + actions: + confirm_destroy: Souhaitez-vous vraiment supprimer ce jeton? + destroy: Supprimer + share: Partager + destroy: + error: Une erreur s'est produite lors de la destruction du jeton. + success: Jeton détruit avec succès. + share_tokens: + empty: Il n'y a pas de jeton actif + help: Ces jetons sont utilisés pour partager cette ressource non publiée à n'importe quel utilisateur. Ils seront cachés dès que la ressource sera publiée. Cliquez sur l'icône du jeton pour visiter l'URL partageable. + title: Partager les jetons + shared: + gallery: + add_images: Ajouter des images + delete_image: Supprimer l'image + gallery_legend: Ajouter une galerie d'images (facultatif) + static_page_topics: + create: + error: Une erreur s'est produite lors de la création d'un nouveau sujet. + success: Sujet créé avec succès. + destroy: + success: Sujet détruit avec succès + edit: + title: Modifier le sujet + update: Mettre à jour le sujet + new: + create: Créer un sujet + title: Nouveau sujet + update: + error: Une erreur s'est produite lors de la mise à jour de ce sujet. + success: Sujet mis à jour avec succès + static_pages: + actions: + view: Voir la page publique + create: + error: Une erreur s'est produite lors de la création d'une nouvelle page. + success: Page créée avec succès. + destroy: + success: La page a été détruite avec succès + edit: + changed_notably_help: Si cette case est cochée, les utilisateurs devront accepter les nouvelles conditions d'utilisation. + title: Modifier la page + update: Mettre à jour + form: + none: Aucun + slug_help: 'Utilisez des chemins partiels, pas des URL complètes ici. Accepte les lettres, les chiffres, les tirets et les barres obliques et doit commencer par une lettre. Si non défini, le bouton ne sera pas affiché. Exemple: %{url}' + index: + last_notable_change: Dernier changement notable + new: + create: Créer une page + title: Nouvelle page + topic: + destroy: Supprimer le sujet + edit: Modifier le sujet + empty: Il n'y a pas de page dans cette thématique + without_topic: Pages sans sujet + update: + error: Une erreur s'est produite lors de la mise à jour de cette page. + success: Page mise à jour avec succès + titles: + admin_log: Journal d'administration + area_types: Types de périmètre d'assemblée + areas: Zones d'application + authorization_workflows: Méthodes de vérification + dashboard: Tableau de bord + impersonatable_users: Utilisateurs pouvant être représentés + impersonations: Gestion des utilisateurs + metrics: Indicateurs + panel: Administrateur + participants: Utilisateurs + scope_types: Types de secteur + scopes: Périmètres d'application + static_pages: Pages + statistics: Activité + user_groups: Groupes d'utilisateurs + users: Utilisateurs + user_group: + csv_verify: + invalid: Une erreur s'est produite lors de la lecture du fichier CSV. + success: Le fichier CSV a été chargé avec succès, nous vérifions les groupes d'utilisateurs correspondant aux critères. Cela pourrait prendre un moment. + reject: + invalid: Une erreur s'est produite lors du refus de ce groupe d'utilisateurs. + success: Groupe d'utilisateurs refusé avec succès + verify: + invalid: Une erreur s'est produite lors de la vérification de ce groupe d'utilisateurs. + success: Groupe d'utilisateurs vérifié avec succès + user_groups: + index: + filter: + all: Tous + pending: En attente + rejected: Non validés + verified: Vérifié + filter_by: Filtrer par + search: Rechercher + state: + pending: En attente + rejected: Non validés + verified: Vérifié + verify_via_csv: Vérifier via CSV + user_groups_csv_verifications: + new: + explanation: Téléchargez votre fichier CSV. Les courriels officiels des groupes d'utilisateurs de votre organisation doivent figurer dans la première colonne du fichier, sans en-tête. Seuls les groupes d'utilisateurs ayant confirmé leur courrier électronique et ayant un courrier électronique dans le fichier CSV seront validés. + title: Téléchargez votre fichier CSV + upload: Télécharger + users: + create: + error: Une erreur s'est produite lors de l'invitation de cet utilisateur. + success: Utilisateur invité avec succès. + destroy: + error: Une erreur s'est produite lors de la tentative de suppression de cet utilisateur. + success: L'utilisateur n'est plus un administrateur. + form: + email: Email + name: Nom + role: Rôle + new: + create: Inviter + title: Inviter l'utilisateur en tant qu'administrateur + users_statistics: + users_count: + admins: Administrateurs + last_day: Hier + last_month: Le mois dernier + last_week: La semaine dernière + no_users_count_statistics_yet: Il n'y a pas encore de statistiques du nombre d'utilisateurs + participants: Participants + view_public_page: Voir la page publique + forms: + errors: + impersonate_user: + reason: Vous devez fournir une raison lors de l'emprunt d'identité d'un utilisateur standard + metrics: + blocked_users: + object: utilisateurs bloqués + title: Utilisateurs bloqués + reported_users: + object: utilisateurs signalés + title: Utilisateurs signalés + moderations: + actions: + expand: Agrandir + hidden: Masqués + hide: Masquer + not_hidden: Visibles + title: Actions + unhide: Afficher + unreport: Annuler le signalement + admin: + reportable: + hide: + invalid: Il y a eu un problème au moment de masquer le contenu. + success: Contenu masqué avec succès. + unhide: + invalid: Il y a eu un problème pour découvrir la ressource. + success: Ressource non cachée avec succès. + unreport: + invalid: Il y a eu un problème lors de l'annulation du signalement du contenu. + success: Le contenu n'est plus signalé. + models: + moderation: + fields: + created_at: Date de création + hidden_at: Masqué le + participatory_space: Espace participatif + report_count: Compteur + reportable_id: ID + reportable_type: Type + reported_content_url: URL + reports: Motif + visit_url: Visitez l'URL + report: + fields: + details: Détails du signalement + locale: Langue + reason: Motif + errors: + messages: + invalid_json: JSON non valide + layouts: + decidim: + admin: + global_moderations: + title: Modération globale + newsletters: + title: Newsletters + settings: + title: Paramètres + users: + title: Utilisateurs diff --git a/decidim-admin/config/locales/it.yml b/decidim-admin/config/locales/it.yml index 865b9c5c8b1a5..fd501ca882119 100644 --- a/decidim-admin/config/locales/it.yml +++ b/decidim-admin/config/locales/it.yml @@ -86,6 +86,7 @@ it: tos_version: Termini di versione del servizio twitter_handler: Gestore di Twitter user_groups_enabled: Abilita gruppi + users_registration_mode: Modalità di registrazione utenti warning_color: Attenzione welcome_notification_body: Testo del messaggio di Benvenuto welcome_notification_subject: Oggetto della mail con messaggio di Benvenuto @@ -127,6 +128,10 @@ it: allowed_file_content_types: File immagine non valido official_img_header: allowed_file_content_types: File immagine non valido + new_import: + attributes: + file: + invalid_mime_type: Tipo di MIME non valido activerecord: attributes: decidim/static_page: @@ -153,6 +158,7 @@ it: category: new: Nuova categoria export: Esporta + import: Importazione manage: Gestisci new: Nuovo %{name} newsletter: @@ -369,6 +375,11 @@ it: title_cont: Cerca %{collection} per titolo. state_eq: label: Stato + forms: + file_help: + import: + explanation: 'Guida per il file:' + message_2: I separatori delle colonne per il formato CSV devono essere punto e virgola (";") help_sections: error: Si è verificato un errore durante l'aggiornamento delle sezioni della guida form: @@ -407,6 +418,23 @@ it: impersonate_existing_managed_user: Gestisci partecipante %{name}" impersonate_existing_user: Gestisci partecipante %{name}" impersonate_new_managed_user: Gestisci nuovo partecipante + imports: + creators: + proposalcreator: Autore della proposta + error: Si è verificato un errore durante l'importazione + help: + proposalcreator: Il file deve avere nomi di colonna title/en e body/en (o un altro locale che preferisci, ad esempio title/it e body/it). Sono supportate anche le colonne scope/id e category/id. + import_from_file: Importare da un file + invalid_lines: Ci sono errori di importazione alle linee %{invalid_lines} + new: + accepted_mime_types: + csv: csv + json: json + actions: + back: Indietro + file_legend: Aggiungi un file da importare che verrà analizzato. + import: Importazione + notice: "%{number} %{resource_name} importati con successo" logs: logs_list: no_logs_yet: Non ci sono ancora i log @@ -524,17 +552,23 @@ it: moderated_users: index: actions: + block: Blocca Utente title: Azioni + unblock: Sblocca Utente unreport: Non inserire name: Nome nickname: Nickname reason: Motivazione + reports: Numero di segnalazioni title: Elencando gli utenti segnalati report: reasons: does_not_belong: Non appartiene offensive: Offensivo spam: Spam + tabs: + blocked: Bloccato + unblocked: Non Bloccato moderations: index: title: Moderazione @@ -547,6 +581,17 @@ it: index: author: Autore(i) callout_html: Un contenuto appare nel pannello di moderazione quando è stato segnalato da un utente (può essere chiunque abbia un account registrato) cliccando sul flag %{icon} accanto all'elemento. + content_original_language: Lingua originale del contenuto + participatory_space: Spazio partecipativo + reported_content: Contenuto segnalato + see_current: Vedi l'attuale + see_original: Vedi l'originale + title: Segnalazioni di moderazione + show: + report_details: Dettagli del motivo + report_language: Lingua del report + report_reason: Motivo + title: Dettagli del report newsletter_templates: index: preview_template: Anteprima @@ -612,6 +657,9 @@ it: error: Si è verificato un errore durante l'aggiornamento di questa newsletter. success: OK, la Newsletter è stata aggiornata. Conviene controllarla prima di inviarla. officializations: + block: + error: Si è verificato un errore durante il blocco del partecipante + success: Partecipante bloccato con successo create: success: Utente ufficializzato con successo destroy: @@ -619,6 +667,7 @@ it: index: actions: Azioni badge: Distintivo + block: Blocca Utente created_at: Creato a name: Nome nickname: Nickname @@ -626,8 +675,10 @@ it: officialize: ufficializzare officialized: ufficializzato reofficialize: Reofficialize + reports: Report show_email: Mostra indirizzo email status: Stato + unblock: Sblocca Utente unofficialize: Unofficialize new: badge: Distintivo di ufficializzazione @@ -641,6 +692,9 @@ it: hidden: nascosto show: Mostra title: Mostra l'indirizzo email dell'utente + unblock: + error: Si è verificato un errore durante lo sblocco del partecipante + success: Partecipante sbloccato con successo organization: edit: title: Modifica l'organizzazione @@ -652,6 +706,7 @@ it: rich_text_editor_in_public_views_help: In alcune aree di testo, i partecipanti saranno in grado di inserire alcuni tag HTML utilizzando l'editor di testo rich text. social_handlers: Social networks twitter: Twitter + url: URL youtube: Youtube update: error: Si è verificato un errore durante la modifica di questa organizzazione. @@ -686,6 +741,7 @@ it: error: Si è verificato un errore durante l'eliminazione di un utente privato per questo spazio partecipativo. success: Accesso utente privato spazio distruttivo distrutto con successo. index: + import_via_csv: Importa da CSV title: Utente privato dello spazio partecipativo new: create: Creare @@ -695,6 +751,7 @@ it: invalid: Si è verificato un errore durante la lettura del file CSV. success: File CSV caricato con successo, stiamo inviando un'email di invito ai partecipanti. Potrebbe richiedere un po' di tempo. new: + explanation: 'Carica il file CSV. Il file deve contenere due colonne (e-mail e nome) senza intestazioni: nella prima sono elencati gli indirizzi e-mail degli utenti che si desidera aggiungere allo spazio partecipativo, nella seconda i loro nomi. Evita di usare caratteri non validi come `<>?%&^*#@()[]=+:;"{}\|` nella colonna dei nomi.' title: Carica il tuo file CSV upload: Carica File resource_permissions: @@ -703,6 +760,10 @@ it: title: Modifica permessi update: success: Autorizzazioni aggiornate correttamente. + resources: + index: + headers: + scope: Ambito scope_types: create: error: Si è verificato un errore durante la creazione di un nuovo tipo di ambito. @@ -734,6 +795,18 @@ it: update: error: Si è verificato un errore durante l'aggiornamento di questo àmbito. success: OK, l'àmbito è stato aggiornato. + share_tokens: + actions: + confirm_destroy: Sei sicuro di voler eliminare questo token? + destroy: Elimina + share: Condividi + destroy: + error: Si è verificato un problema durante la distruzione del token. + success: Token eliminato correttamente. + share_tokens: + empty: Non esistono token attivi + help: Questi token sono utilizzati per condividere pubblicamente questa risorsa non pubblicata con qualsiasi utente. Saranno nascosti al momento della pubblicazione della risorsa. Clicca sull'icona di condivisione del token per visitare l'URL condivisibile. + title: Condividi token shared: gallery: add_images: Aggiungi immagini @@ -791,6 +864,7 @@ it: impersonatable_users: Partecipanti gestibili impersonations: Gestione dei partecipanti metrics: Partecipazione in cifre + panel: Amministratore participants: Partecipanti scope_types: Tipi di ambito scopes: Ambiti @@ -854,6 +928,13 @@ it: errors: impersonate_user: reason: È necessario fornire un motivo durante la rappresentazione di un utente non gestito + metrics: + blocked_users: + object: utenti bloccati + title: Utenti bloccati + reported_users: + object: utenti segnalati + title: Utenti segnalati moderations: actions: hidden: Nascosto diff --git a/decidim-admin/config/locales/ja.yml b/decidim-admin/config/locales/ja.yml index ac374520f42ba..df1affb5d84fa 100644 --- a/decidim-admin/config/locales/ja.yml +++ b/decidim-admin/config/locales/ja.yml @@ -150,6 +150,10 @@ ja: admin: actions: add: 追加 + attachment: + new: 新しい添付ファイル + attachment_collection: + new: 新しい添付ファイルのコレクション browse: 検索 category: new: 新しいカテゴリ @@ -254,6 +258,8 @@ ja: search_prompt: 検索するには少なくとも3文字を入力してください block_user: new: + action: アカウントをブロックして理由を送信 + description: ユーザーをブロックすると、そのユーザーのアカウントは使用できなくなりますが、ブロック解除を検討する方法については、正当な理由とガイドラインを提示することができます。 justification: 判定理由 title: ユーザー %{name} をブロックする categories: @@ -312,7 +318,20 @@ ja: error: このコンポーネントの更新中に問題が発生しました。 success: コンポーネントは正常に更新されました。 conflicts: + attempts: 試行回数 'false': 'いいえ' + managed_user_name: 管理ユーザー + solved: 解決済み + title: 確認の競合 + transfer: + email: Eメールアドレス + error: 参加者から管理参加者への移転中に問題が発生しました。 + name: 名前 + reason: 理由 + success: 現在の移転が正常に完了しました。 + title: 移行 + 'true': 'はい' + user_name: ユーザー dashboard: show: view_more_logs: もっとログを見る @@ -329,6 +348,9 @@ ja: category_id_eq: label: カテゴリ filter_label: フィルター + moderations: + reportable_type_string_eq: + label: タイプ officialized_at_null: label: 都道府県: values: @@ -349,9 +371,16 @@ ja: search_label: 検索 search_placeholder: name_or_nickname_or_email_cont: '%{collection} をメール、表示名、アカウントIDで検索します。' + reported_id_string_or_reported_content_cont: 報告可能なIDまたはコンテンツで %{collection} を検索します。 title_cont: '%{collection} をタイトルで検索します。' state_eq: label: 都道府県: + forms: + file_help: + import: + explanation: 'ファイルのガイダンス:' + message_1: CSV、JSON、Excel (.xls) ファイルがサポートされています + message_2: CSV ファイルの場合、列間の区切り文字はセミコロン(";") でなければなりません。 help_sections: error: ヘルプセクションの更新中に問題が発生しました form: @@ -391,6 +420,13 @@ ja: impersonate_existing_user: 参加者を管理 "%{name}" impersonate_new_managed_user: 新規参加者の管理 imports: + creators: + proposalcreator: 提案クリエイター + error: インポート中に問題が発生しました + help: + proposalcreator: 'ファイルには、カラム名「title/en」と「body/en」(または、あなたが好む別のロケール、例: 「title/ja」と「body/ja」) が必要です。また、カラム名「scope/id」と「category/id」にも対応しています。' + import_from_file: ファイルからインポート + invalid_lines: リソース番号 %{invalid_lines} にエラーが見つかりました new: accepted_mime_types: csv: csv @@ -398,6 +434,7 @@ ja: xls: xls actions: back: 戻る + file_legend: 解析されるインポート ファイルを追加します。 import: インポート notice: "%{number} %{resource_name} を正常にインポートしました" logs: @@ -517,13 +554,22 @@ ja: moderated_users: index: actions: + block: ユーザーをブロック title: アクション + unblock: ユーザーのブロックを解除 unreport: 報告解除 + name: 名前 nickname: ニックネーム + reason: 理由 + reports: レポート数 + title: 報告されたユーザー一覧 report: reasons: + does_not_belong: 所属していない + offensive: 攻撃的 spam: スパム tabs: + blocked: ブロック済 unblocked: 未ブロック moderations: index: @@ -536,6 +582,18 @@ ja: reports: index: author: 投稿者 + callout_html: コンテンツは、そのアイテムの横にある %{icon} フラグをクリックすることによって、ユーザー(登録済みアカウントを持っている人であれば誰でも)によって通知されたときに、モデレーションパネルに表示されます。 + content_original_language: コンテンツのオリジナル言語 + participatory_space: 参加型スペース + reported_content: 報告されたコンテンツ + see_current: 現状を見る + see_original: オリジナルを見る + title: モデレーションレポート + show: + report_details: 理由の詳細 + report_language: 報告の言語 + report_reason: '理由:' + title: 報告の詳細 newsletter_templates: index: preview_template: プレビュー @@ -601,6 +659,9 @@ ja: error: このニュースレターの更新中に問題が発生しました。 success: ニュースレターは正常に更新されました。送信する前に確認してください。 officializations: + block: + error: 参加者のブロック中にエラーが発生しました + success: 参加者が正常にブロックされました create: success: 参加者が正常に公式化されました destroy: @@ -608,6 +669,7 @@ ja: index: actions: アクション badge: バッジ + block: ユーザーをブロック created_at: 作成日時 name: 名前 nickname: アカウントID @@ -615,8 +677,10 @@ ja: officialize: 公式化 officialized: 公式化済み reofficialize: Reofficize + reports: 報告 show_email: メールアドレスを表示 status: ステータス + unblock: ユーザーのブロックを解除 unofficialize: 非公式化 new: badge: 公式バッジ @@ -630,6 +694,9 @@ ja: hidden: hidden show: 表示 title: 参加者のメールアドレスを表示 + unblock: + error: 参加者のブロック解除中にエラーが発生しました + success: 参加者のブロックを解除しました organization: edit: title: 組織を編集 @@ -641,6 +708,7 @@ ja: rich_text_editor_in_public_views_help: 一部のテキストエリアでは、参加者はリッチテキストエディタを使用してHTMLタグを挿入することができます。 social_handlers: ソーシャル twitter: Twitter + url: URL youtube: YouTube update: error: この組織の更新に問題がありました。 @@ -675,6 +743,7 @@ ja: error: この参加スペースのプライベート参加者を削除する際に問題が発生しました。 success: 参加スペースのプライベート参加者アクセスが正常に破棄されました。 index: + import_via_csv: CSV形式でインポート title: 参加スペースプライベート参加者 new: create: 作成 @@ -797,6 +866,7 @@ ja: impersonatable_users: 管理可能な参加者 impersonations: 参加者管理 metrics: 指標 + panel: 管理者 participants: 参加者 scope_types: スコープの種類 scopes: スコープ @@ -860,8 +930,19 @@ ja: errors: impersonate_user: reason: 管理対象外の参加者を管理する場合は理由を入力する必要があります + metrics: + blocked_users: + object: ブロックされたユーザー + title: ブロックされたユーザー + reported_users: + object: 報告されたユーザー + title: 報告したユーザー + user_reports: + object: ユーザーの報告 + title: ユーザーの報告 moderations: actions: + expand: 展開 hidden: Hidden hide: 非表示 not_hidden: 非表示にしない @@ -882,17 +963,28 @@ ja: models: moderation: fields: + created_at: 作成日 hidden_at: '非表示:' + participatory_space: 参加型スペース report_count: カウント + reportable_id: Id + reportable_type: 種別 reported_content_url: 報告されたコンテンツ URL reports: レポート visit_url: URL を参照 + report: + fields: + details: 理由の詳細 + locale: 言語 + reason: 理由 errors: messages: invalid_json: 無効なJSON layouts: decidim: admin: + global_moderations: + title: グローバルモデレーション newsletters: title: ニュースレター settings: diff --git a/decidim-admin/config/locales/pl.yml b/decidim-admin/config/locales/pl.yml index 5f89fa91e9227..985f52dbec6f8 100644 --- a/decidim-admin/config/locales/pl.yml +++ b/decidim-admin/config/locales/pl.yml @@ -83,7 +83,7 @@ pl: send_welcome_notification: Wyślij komunikat powitalny success_color: Powodzenie time_zone: Strefa czasowa - tos_version: Warunki korzystania z usługi + tos_version: Warunki korzystania z Platformy twitter_handler: Handler Twittera user_groups_enabled: Włącz grupy użytkowników users_registration_mode: Tryb rejestracji użytkowników @@ -326,7 +326,7 @@ pl: transfer: email: Adres e-mail error: Podczas transferu bieżącego użytkownika do zarządzanego użytkownika wystąpił błąd. - name: Nazwa + name: Imię reason: Powód success: Bieżący transfer został pomyślnie zakończony. title: Transfer @@ -371,7 +371,7 @@ pl: search_label: Szukaj search_placeholder: name_or_nickname_or_email_cont: Przeszukaj %{collection} według adresu e-mail, nazwiska lub nazwy użytkownika. - reported_id_string_or_reported_content_cont: Szukaj %{collection} według identyfikatora lub treści raportu. + reported_id_string_or_reported_content_cont: Szukaj %{collection} według identyfikatora lub treści zgłoszenia. title_cont: Przeszukaj %{collection} według tytułu. state_eq: label: Stan @@ -396,7 +396,7 @@ pl: impersonate: Podszywać się impersonate_new_managed_user: Zarządzaj nowym uczestnikiem managed: Zamknięte - name: Nazwa + name: Imię needs_authorization_warning: Do tej organizacji potrzebna jest co najmniej jedna autoryzacja. not_managed: Niezamknięte promote: Awansuj @@ -412,7 +412,7 @@ pl: success: Zarządzany użytkownik został pomyślnie utworzony. form: authorization_method: Metoda autoryzacji - name: Nazwa + name: Imię reason: Powód new: impersonate: Podszywać się @@ -536,7 +536,7 @@ pl: created_at: Data utworzenia email: E-mail last_sign_in_at: Ostatni dzień rejestracji - name: Nazwa + name: Imię role: Rola roles: admin: Admin @@ -663,15 +663,15 @@ pl: error: Wystąpił błąd blokowania użytkownika success: Użytkownik został zablokowany create: - success: Użytkownik oficjalnie z powodzeniem + success: Użytkownik został zweryfikowany destroy: - success: Użytkownik nieoficjalizowany pomyślnie + success: Cofnięto weryfikację użytkownika index: actions: Działania badge: Odznaka block: Zablokuj użytkownika created_at: Utworzono - name: Nazwa + name: Imię nickname: Pseudonim not_officialized: Nieoficjalny officialize: Oficjalizuj diff --git a/decidim-assemblies/config/locales/fr-LU.yml b/decidim-assemblies/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..2a6e2ec2787fb --- /dev/null +++ b/decidim-assemblies/config/locales/fr-LU.yml @@ -0,0 +1,487 @@ +fr-LU: + activemodel: + attributes: + assemblies_setting: + enable_organization_chart: Activer le schéma d'assemblée + assembly: + area_id: Zone d'application + assembly_type: Type d'assemblée + assembly_type_other: Autre type d'assemblée + banner_image: Image d'en-tête + closing_date: Date de clôture + closing_date_reason: Raison de la date de clôture + composition: Composition + copy_categories: Copier les catégories + copy_components: Copier les fonctionnalités + copy_features: Copier les fonctionnalités + created_by: Créé par + created_by_other: Si "autres", précisez + creation_date: Date de création + decidim_area_id: Zone d'application + decidim_assemblies_type_id: Type d'assemblée + decidim_scope_id: Périmètre d'application + description: Description + developer_group: Organisateur + domain: Domaine + duration: Durée + facebook: Facebook + github: GitHub + hashtag: Hashtag + hero_image: Image de la page d'accueil + included_at: Intégrée à cette plateforme le + instagram: Instagram + internal_organisation: Organisation interne + is_transparent: Visible par les non-membres + local_area: Espace d'organisation + meta_scope: Échelle + parent_id: Assemblée parente + participatory_processes_ids: Concertations associées + participatory_scope: Objectifs + participatory_structure: Modalités de décision + private_space: Espace privé + promoted: Mise en avant + published_at: Publiée à + purpose_of_action: But de l'action + scope_id: Périmètre d'application + scopes_enabled: Périmètres d'application activés + short_description: Résumé + show_statistics: Afficher les statistiques + slug: Identifiant + special_features: Particularités + subtitle: Sous-titre + target: Participants + title: Titre + twitter: Twitter + weight: Rang d'affichage + youtube: Youtube + assembly_member: + birthday: Date de naissance + birthplace: Lieu de naissance + ceased_date: Date de radiation + designation_date: Date de désignation + designation_mode: Mode de désignation + full_name: Nom et prénom + gender: Genre + position: Statut + user_id: Utilisateur + assembly_user_role: + email: E-mail + name: "Nom\n" + role: Fonction + errors: + models: + assembly: + attributes: + document: + invalid_document_type: 'Type de document invalide. Les formats acceptés sont : %{valid_mime_types}' + activerecord: + models: + decidim/assembly: + one: Assemblée + other: Assemblées + decidim/assembly_member: + one: Membre de l'assemblée + other: Membres de l'assemblée + decidim/assembly_user_role: + one: Fonction du membre dans l'assemblée + other: Fonctions du membre dans l'assemblée + decidim: + admin: + actions: + import_assembly: Importer + new_assembly: Nouvelle assemblée + new_assembly_type: Nouveau type d'assemblée + assemblies: + create: + error: Une erreur s'est produite lors de la création d'une nouvelle assemblée. + success: Assemblée créée avec succès. + edit: + update: Mettre à jour + index: + not_published: Non publié + private: Privée + public: Publique + published: Publiée + new: + create: Créer + title: Nouvelle assemblée + update: + error: Une erreur s'est produite lors de la mise à jour de cette assemblée. + success: Assemblée mise à jour avec succès. + assemblies_copies: + create: + error: Une erreur s'est produite lors de la duplication de cette assemblée. + success: L'assemblée a été dupliquée avec succès. + assemblies_settings: + update: + error: Il y a eu un problème lors de la mise à jour des paramètres. + success: Paramètres mis à jour avec succès. + assemblies_types: + create: + error: Une erreur s'est produite lors de la création d'un nouveau type d'assemblée. + success: Type d'assemblée créé avec succès. + destroy: + success: Type d'assemblée supprimé avec succès. + new: + create: Créer + title: Nouveau type d'assemblée + update: + error: Une erreur s'est produite lors de la mise à jour de ce type d'assemblée. + success: Type d'assemblée mis à jour avec succès. + assembly_copies: + new: + copy: Copier + select: Sélectionnez les données que vous souhaitez dupliquer + title: Dupliquer l'assemblée + assembly_imports: + create: + error: Un problème est survenu lors de l'import de cette assemblée. + success: L'assemblée a été importée avec succès. + new: + import: Importer + select: Sélectionnez les données que vous souhaitez importer + title: Importer l'assemblée + assembly_members: + create: + error: Une erreur s'est produite lors de l'ajout d'un membre pour cette assemblée. + success: Membre créé avec succès pour cette assemblée. + destroy: + success: Membre supprimé avec succès pour cette assemblée. + edit: + title: Mettre à jour le membre de l'assemblée. + update: Mettre à jour + index: + assembly_members_title: Membres de l'assemblée + new: + create: Créer + title: Nouveau membre de l'assemblée. + update: + error: Une erreur s'est produite lors de la mise à jour du membre de cette assemblée. + success: Membre mis à jour avec succès pour cette assemblée. + assembly_publications: + create: + error: Une erreur s'est produite lors de la publication de cette assemblée. + success: Assemblée publiée avec succès. + destroy: + error: Une erreur s'est produite lors de la dépublication de cette assemblée. + success: Assemblée dépubliée avec succès. + assembly_user_roles: + create: + error: Une erreur s'est produite lors de l'ajout d'un utilisateur pour cette assemblée. + success: Utilisateur ajouté avec succès à cette assemblée. + destroy: + success: Utilisateur supprimé avec succès de cette assemblée. + edit: + title: Mettre à jour l'utilisateur de l'assemblée. + update: Mettre à jour + index: + assembly_admins_title: Administrateurs de l'assemblée + new: + create: Créer + title: Nouvel administrateur de l'assemblée. + update: + error: Une erreur s'est produite lors de la mise à jour d'un utilisateur pour cette assemblée. + success: Utilisateur mis à jour avec succès pour cette assemblée. + menu: + assemblies: Assemblées + assemblies_settings: Paramètres + assemblies_submenu: + assembly_admins: Administrateurs de l'assemblée + assembly_members: Membres + attachment_collections: Dossiers + attachment_files: Fichiers + attachments: Documents liés + categories: Catégories + components: Composants + info: Information + moderations: Modérations + private_users: Utilisateurs privés + assemblies_types: Types d'assemblée + models: + assemblies_types: + fields: + created_at: Créée le + title: Titre + assembly: + fields: + created_at: Créée le + private: Privée + promoted: Mise en avant + published: Publiée + title: Titre + name: Assemblée + assembly_member: + fields: + ceased_date: Date de radiation + designation_date: Date de désignation + full_name: Nom et prénom + position: Statut + name: Membre + positions: + other: Autre + president: Président + secretary: Secrétaire + vice_president: Vice président + assembly_user_role: + fields: + email: Email + name: Nom + role: Fonction + name: Utilisateur de l'assemblée + roles: + admin: Administrateur + collaborator: Collaborateur + moderator: Modérateur + valuator: Évaluateur + titles: + assemblies: Assemblées + assemblies_types: Types d'assemblée + admin_log: + assembly: + create: "%{user_name} a créé l'assemblée %{resource_name}" + publish: "%{user_name} a publié l'assemblée %{resource_name}" + unpublish: "%{user_name} a dépublié l'assemblée %{resource_name}" + update: "%{user_name} a mis à jour l'assemblée %{resource_name}" + assembly_member: + create: "%{user_name} a créé le membre %{resource_name} membre dans l'assemblée %{space_name}" + delete: "%{user_name} enlevé le membre %{resource_name} de l'assemblée %{space_name}" + update: "%{user_name} a mis à jour le membre %{resource_name} de l'assemblée %{space_name}" + assembly_setting: + update: "%{user_name} a mis à jour les paramètres des assemblées" + assembly_type: + create: "%{user_name} a créé le type d'assemblée %{resource_name}" + delete: "%{user_name} a supprimé le type d'assemblée %{resource_name}" + publish: "%{user_name} a publié le type d'assemblée %{resource_name}" + unpublish: "%{user_name} a dépublié le type d'assemblée %{resource_name}" + update: "%{user_name} a mis à jour le type d'assemblée %{resource_name}" + assembly_user_role: + create: "%{user_name} a invité %{resource_name} à l'assemblée %{space_name}" + delete: "%{user_name} a supprimé l'utilisateur %{resource_name} de l'assemblée%{space_name}" + update: "%{user_name} a changé le rôle de %{resource_name} dans l'assemblée %{space_name}" + assemblies: + admin: + assemblies: + form: + duration: Durée + duration_help: Si la durée de cette assemblée est limitée, sélectionnez la date de fin. Sinon sa durée ne sera pas limitée. + filters: Filtres + images: Images + included_at_help: Sélectionnez la date à laquelle cet assemblée a été ajoutée à Decidim. Elle ne doit pas nécessairement être identique à la date de création. + metadata: Métadonnées + other: Autre + select_a_created_by: Sélectionnez un créateur + select_an_area: Sélectionnez une zone d'application + select_an_assembly_type: Sélectionnez un type d'assemblée + select_parent_assembly: Sélectionnez l'assemblée parente + slug_help: 'Les identifiants d''URL sont utilisés pour générer les liens qui renvoient vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}' + social_handlers: Réseaux sociaux + title: Informations générales + visbility: Visibilité + assemblies_settings: + edit: + update: Mettre à jour + form: + title: Paramètres pour les assemblées + assemblies_types: + form: + title: Titre + assembly_copies: + form: + slug_help: 'Les identifiants d''URL sont utilisés pour générer les liens qui envoient vers cette agora. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}' + assembly_imports: + form: + document_legend: Ajouter un document + slug_help: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}' + assembly_members: + form: + existing_user: Utilisateur existant + non_user: Utilisateur inconnu + select_a_position: Sélectionnez un statut + select_user: Sélectionnez un utilisateur + user_type: Type d'utilisateur + index: + filter: + all: Tout + ceased: Validité terminée + not_ceased: Validité en cours + filter_by: Filtrer par + search: Rechercher + content_blocks: + highlighted_assemblies: + max_results: Quantité maximale d'éléments à afficher + new_import: + accepted_types: + json: JSON + assembly_members: + index: + members: Membres + assembly_types: + commission: Commission + consultative_advisory: Organe consultatif + executive: Organe exécutif + government: Comité de pilotage + others: Autres + participatory: Organe participatif + working_group: Groupe de travail + content_blocks: + highlighted_assemblies: + name: Assemblées mises en avant + created_by: + city_council: Conseil municipal + others: Autres + public: Public + filter: + all: Tous les types + commission: Commission + consultative_advisory: Consultatif + executive: Exécutif + government: Gouvernement + help: 'Spectacle:' + others: Autres + participatory: Participatif + working_group: Groupe de travail + index: + title: Assemblées + last_activity: + new_assembly: Nouvelle assemblée + pages: + home: + highlighted_assemblies: + active_assemblies: Assemblées actives + assemblies_button_title: Lien vers la page Assemblées où toutes les assemblées sont affichées + see_all_assemblies: Voir toutes les assemblées + user_profile: + member_of: + member_of: Membre de + show: + area: Zone d'application + assembly_type: Type d'assemblée + children: Sous-assemblées + closing_date: Date de clôture + composition: Composition + created_by: Créé par + creation_date: Date de création + developer_group: Organisateur + duration: Durée + included_at: Inclus à + indefinite_duration: Indéfinie + internal_organisation: Organisation interne + is_transparent: + 'false': non-visible par les non-membres + 'true': visible par les non-membres + local_area: Périmètre d'assemblée + participatory_scope: Objectifs + participatory_structure: Modalités de décision + private_space: Ceci est une assemblée privée + purpose_of_action: But de l'action + read_less: Voir moins + read_more: Voir la suite + related_participatory_processes: Concertations associées + scope: Périmètre d'application + social_networks: Réseaux sociaux + social_networks_title: Partager cette assemblée sur + target: Participants + statistics: + answers_count: Réponses + assemblies_count: Assemblées + comments_count: Commentaires + debates_count: Débats + endorsements_count: Soutiens + followers_count: Abonnés + headline: Statistiques + meetings_count: Rencontres + no_stats: Il n'y a pas encore de statistiques. + orders_count: Votes + pages_count: Pages + participants_count: Participants + posts_count: Publications + processes_count: Concertations + projects_count: Projets + proposals_count: Propositions + results_count: Réalisations + supports_count: Votes + surveys_count: Enquêtes + users_count: Participants + votes_count: Votes + assembly_members: + assembly_member: + designated_on: Désigné le + index: + title: Membres + conferences: + pages: + home: + highlighted_conferences: + conferences_button_title: Lien vers la page Conférences où toutes les conférences sont affichées + events: + assemblies: + create_assembly_member: + email_intro: Un administrateur de l'assemblée %{resource_name} vous y a ajouté en tant que membre. + email_outro: Vous avez reçu cette notification parce que vous avez été invité à rejoindre une assemblée. Consultez la page de l'assemblée pour y contribuer ! + email_subject: Vous avez été invité à être membre de l'assemblée %{resource_name}! + notification_title: Vous avez été inscrit en tant que membre de l'assemblée %{resource_name}. Consultez la page de l'assemblée pour contribuer ! + assembly: + role_assigned: + email_intro: Vous avez été assigné le rôle de %{role} de l'assemblée "%{resource_title}". + email_outro: Vous avez reçu cette notification parce que vous êtes %{role} de l'assemblée "%{resource_title}". + email_subject: Vous avez été assigné le rôle de %{role} pour l'assemblée "%{resource_title}". + notification_title: Vous avez été assigné le rôle de %{role} pour l'assemblée %{resource_title}. + help: + participatory_spaces: + assemblies: + contextual: "

Une assemblée est un groupe de membres d'une organisation qui se réunissent périodiquement pour prendre des décisions concernant un domaine spécifique ou la portée de l'organisation.

Les assemblées tiennent des réunions, certaines sont privées et d'autres sont ouvertes. Si elles sont ouvertes, il est possible d'y participer (par exemple: participer si la capacité le permet, ajouter des points à l'ordre du jour ou commenter les propositions et décisions prises par cet organe).

Exemples: Une assemblée générale (qui se réunit une fois par an pour définir les principaux axes d'action de l'organisation ainsi que ses organes exécutifs par vote), un conseil consultatif sur l'égalité (qui se réunit tous les deux mois pour formuler des propositions sur la manière d'améliorer les relations entre les hommes et les femmes). dans l’organisation), une commission d’évaluation (qui se réunit tous les mois pour contrôler un processus) ou un organisme de garantie (qui collecte des incidents, des abus ou des propositions pour améliorer les processus décisionnels) sont tous des exemples de réunions.

\n" + page: "

Une assemblée est un groupe de membres d'une organisation qui se réunissent périodiquement pour prendre des décisions concernant un domaine spécifique ou la portée de l'organisation.

assemblées tiennent des réunions, certaines sont privées et d'autres sont ouvertes. S'ils sont ouverts, il est possible d'y participer (par exemple: participer si la capacité le permet, ajouter des points à l'ordre du jour ou commenter les propositions et décisions prises par cet organe).

Exemples: Une assemblée générale (qui se réunit une fois par an pour définir les principaux axes d'action de l'organisation ainsi que ses organes exécutifs par vote), un conseil consultatif sur l'égalité (qui se réunit tous les deux mois pour formuler des propositions sur la manière d'améliorer les relations entre les hommes et les femmes). dans l’organisation), une commission d’évaluation (qui se réunit tous les mois pour contrôler un processus) ou un organisme de garantie (qui collecte des incidents, des abus ou des propositions pour améliorer les processus décisionnels) sont tous des exemples de réunions.

\n" + title: Qu'est-ce qu'une assemblée ? + log: + value_types: + assembly_presenter: + not_found: 'L''assemblée n''a pas été trouvée sur la base de données (ID: %{id})' + assembly_type_presenter: + not_found: 'Le type d''assemblée n''a pas été trouvé sur la base de données (ID: %{id})' + menu: + assemblies: Assemblées + metrics: + assemblies: + description: Nombre d'assemblées créées + object: assemblées + title: Assemblées + pages: + home: + hero: + participate_title: Participer aux processus de la plateforme + sub_hero: + register_title: Inscrivez-vous pour créer un compte + participatory_processes: + pages: + home: + highlighted_processes: + processes_button_title: Lien vers la page Concertation où toutes les concertations sont affichées + show: + related_assemblies: Assemblées associées + errors: + messages: + cannot_be_blank: ne peut être vide + layouts: + decidim: + assemblies: + assembly: + more_info: Plus d'informations + take_part: Participer + index: + children: 'Assemblées : ' + organizational_chart: Organigramme + promoted_assemblies: Assemblées mises en avant + reset_chart: Réinitialiser + order_by_assemblies: + assemblies: + one: "%{count} assemblée" + other: "%{count} assemblées" + promoted_assembly: + more_info: Plus d'informations + take_part: Participer + assembly_navigation: + assembly_member_menu_item: Membres + assembly_menu_item: Présentation + assembly_widgets: + show: + take_part: Participer diff --git a/decidim-assemblies/config/locales/ja.yml b/decidim-assemblies/config/locales/ja.yml index 0ad476730db49..8640e05e8e176 100644 --- a/decidim-assemblies/config/locales/ja.yml +++ b/decidim-assemblies/config/locales/ja.yml @@ -52,6 +52,7 @@ ja: target: 参加者 title: タイトル twitter: Twitter + weight: 重みづけ youtube: YouTube assembly_member: birthday: 誕生日 @@ -383,11 +384,15 @@ ja: comments_count: コメント debates_count: ディベート endorsements_count: 支持 + followers_count: フォロワー + headline: 統計情報 meetings_count: ミーティング + no_stats: 統計情報はまだありません。 orders_count: サポート pages_count: ページ participants_count: 参加者 posts_count: 投稿 + processes_count: プロセス projects_count: プロジェクト proposals_count: 提案 results_count: 結果 diff --git a/decidim-assemblies/config/locales/pl.yml b/decidim-assemblies/config/locales/pl.yml index db7fa4c1cfe93..85b703cd8ef16 100644 --- a/decidim-assemblies/config/locales/pl.yml +++ b/decidim-assemblies/config/locales/pl.yml @@ -231,7 +231,7 @@ pl: assembly_user_role: fields: email: E-mail - name: Nazwa + name: Imię role: Rola name: Administrator zespołu roles: diff --git a/decidim-blogs/config/locales/fr-LU.yml b/decidim-blogs/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..54c301cb7e42d --- /dev/null +++ b/decidim-blogs/config/locales/fr-LU.yml @@ -0,0 +1,85 @@ +fr-LU: + activemodel: + models: + decidim/blogs/create_post_event: Nouvel article + activerecord: + models: + decidim/blogs/post: + one: Article + other: Articles + decidim: + blogs: + actions: + confirm_destroy: Êtes-vous certain de vouloir supprimer cet article ? + destroy: Supprimer + edit: Modifier + new: Nouvel article + title: Actions + admin: + models: + components: + body: Corps du texte + post: + name: Publier + posts: + create: + invalid: Un problème est survenu lors de la création de cet article + success: Article créé avec succès + destroy: + success: Article supprimé avec succès + edit: + save: Mettre à jour + title: Éditer le post + index: + title: Articles + new: + create: Créer + title: Créer un article + update: + invalid: Il y a eu des erreurs lors de l'enregistrement de l'article. + success: Article enregistré avec succès + last_activity: + new_post_at_html: "Nouvel article à %{link}" + models: + post: + fields: + author: Auteur + body: Corps du texte + created_at: Créé à + title: titre + posts: + show: + back: Retour à la liste + comments: Commentaires + view: Voir + sidebar_blog: + comments: commentaires + most_commented_posts: Articles les plus commentés + read_more: Voir la suite + components: + blogs: + name: Actualités + settings: + global: + announcement: Annonce + comments_enabled: Activer le module de commentaire + comments_max_length: Longueur max des commentaires (laisser 0 pour la valeur par défaut) + step: + announcement: Annonce + comments_blocked: Commentaires désactivés + endorsements_blocked: Soutiens bloqués + endorsements_enabled: Soutiens activés + events: + blogs: + post_created: + email_intro: L'article "%{resource_title}" a été publié dans "%{participatory_space_title}" que vous suivez. + email_outro: Vous avez reçu cette notification parce que vous suivez "%{participatory_space_title}". Vous pouvez le retirer du lien précédent. + email_subject: Nouvel article publié dans %{participatory_space_title} + notification_title: L'article %{resource_title} a été publié dans %{participatory_space_title} + pages: + home: + statistics: + posts_count: Articles + participatory_processes: + statistics: + posts_count: Articles diff --git a/decidim-budgets/config/locales/fr-LU.yml b/decidim-budgets/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..f1ecda96f3709 --- /dev/null +++ b/decidim-budgets/config/locales/fr-LU.yml @@ -0,0 +1,295 @@ +fr-LU: + activemodel: + attributes: + budget: + decidim_scope_id: Secteur + description: Description + title: Titre + total_budget: Budget total + weight: Rang d'affichage + project: + budget_amount: Montant du budget + decidim_category_id: Catégorie + decidim_scope_id: Périmètre d'application + description: Description + proposal_ids: Propositions liées + selected: Sélectionné pour l'implémentation + title: Titre + activerecord: + models: + decidim/budgets/project: + one: Projet + other: Projets + decidim: + budgets: + actions: + attachment_collections: Dossiers + attachments: Documents liés + confirm_destroy: Êtes-vous certain de vouloir supprimer ce projet? + destroy: Supprimer + edit: Modifier + edit_projects: Gérer les projets + import: Importer des propositions dans des projets + new: Nouveau %{name} + preview: Aperçu + title: Actions + admin: + budgets: + create: + invalid: Un problème est survenu lors de la création de ce budget + success: Budget créé avec succès + destroy: + invalid: Un problème est survenu lors de la suppression de ce budget + success: Budget supprimé avec succès + edit: + title: Modifier le budget + update: Mettre à jour le budget + index: + finished_orders: Votes terminés + pending_orders: Votes en cours + title: Budgets + users_with_finished_orders: Utilisateurs ayant fini leur vote + users_with_pending_orders: Utilisateurs ayant des votes en attente + new: + create: Créer un budget + title: Nouveau budget + update: + invalid: Un problème est survenu lors de la mise à jour de ce budget + success: Budget mis à jour avec succès + exports: + projects: Projets + models: + budget: + name: Budget + project: + name: Projet + projects: + create: + invalid: Il y a eu un problème lors de la création de ce projet + success: Projet créé avec succès + destroy: + success: Projet supprimé avec succès + edit: + title: Éditer un projet + update: Mettre à jour + index: + finished_orders: Votes terminés + pending_orders: Votes en cours + selected: Sélectionné + title: Projets + new: + create: Créer + title: Nouveau projet + update: + invalid: Il y a eu un problème lors de la mise à jour de ce projet + success: Projet mis à jour avec succès + proposals_imports: + create: + invalid: Un problème est survenu lors de l'importation des propositions dans des projets + success: "%{number} propositions importées avec succès dans des projets" + new: + create: Importer des propositions dans des projets + no_components: Il n'y a pas d'autres modules de proposition dans cet espace participatif pour importer les propositions dans des projets. + select_component: Veuillez sélectionner un module + title: Importer des propositions + admin_log: + budget: + create: "%{user_name} a créé le budget %{resource_name} dans l'espace %{space_name}" + delete: "%{user_name} a supprimé le budget %{resource_name} dans l'espace %{space_name}" + update: "%{user_name} a mis à jour le budget %{resource_name} dans l'espace %{space_name}" + project: + create: "%{user_name} a créé le projet %{resource_name} dans l'espace %{space_name}" + delete: "%{user_name} a supprimé le projet %{resource_name} dans l'espace %{space_name}" + update: "%{user_name} a mis à jour le projet %{resource_name} dans l'espace %{space_name}" + budget: + view: Voir tous les projets + budget_information_modal: + back_to: Retour à %{component_name} + close_modal: Fermer la fenêtre de dialogue + continue: Continuer + more_information: Plus d'information + budgets_list: + cancel_order: + more_than_one: supprimer votre vote sur %{name} et recommencer + only_one: supprimer votre vote et recommencez. + finished_message: Vous avez terminé le processus de vote. Merci de votre participation ! + highlighted_cta: Voter pour %{name} + if_change_opinion: Si vous avez changé d'avis, vous pouvez + my_budgets: Mes Budgets + voted_on: Vous avez voté sur %{links} + limit_announcement: + cant_vote: Vous ne pouvez pas voter sur ce budget. Essayez sur un autre budget. + limit_reached: Vous avez des votes actifs dans %{links}. Pour voter sur ce budget, vous devez supprimer votre vote et recommencer. + models: + budget: + fields: + name: Nom + projects_count: Nombre de projets + total_budget: Budget total + project: + fields: + title: Titre + order_summary_mailer: + order_summary: + selected_projects: 'Les projets que vous avez sélectionnés sont :' + subject: Vous avez voté sur l'espace participatif %{space_name} + voted_on_space: Vous avez voté sur le budget %{budget_name} pour l'espace participatif %{space_name}. + voted_on_space_with_scope: Vous avez voté sur le budget %{budget_name} pour l'espace participatif %{space_name} sur %{scope_name} (%{scope_type}). + projects: + budget_confirm: + are_you_sure: Si vous changez d'avis, vous pourrez modifier votre vote plus tard. + cancel: Annuler + confirm: Confirmer + description: Voici les projets que vous avez choisis pour le budget. + title: Confirmez votre vote + budget_excess: + budget_excess: + description: Ce projet dépasse le budget maximum et ne peut pas être ajouté. Si vous le souhaitez, vous pouvez supprimer un projet que vous avez déjà sélectionné puis voter de nouveau selon vos préférences. + title: Budget maximum dépassé + close: Fermer + description: Ce projet dépasse le budget maximum et ne peut pas être ajouté. Si vous le souhaitez, vous pouvez supprimer un projet que vous avez déjà sélectionné puis voter de nouveau selon vos préférences. + ok: D'accord + projects_excess: + description: Vous avez dépassé le nombre maximum de projets à sélectionner, ce projet ne peut donc être ajouté. Si vous le souhaitez, vous pouvez supprimer un projet que vous avez déjà sélectionné puis voter de nouveau selon vos préférences. + title: Nombre maximum de projets dépassé + budget_summary: + are_you_sure: Êtes-vous certain de vouloir annuler votre vote ? + assigned: 'Affecté à :' + cancel_order: supprimer votre vote et recommencer + checked_out: + description: Vous avez déjà voté pour le budget. Si vous avez changé d'avis, vous pouvez %{cancel_link}. + title: Vote du budget terminé + minimum_projects_rule: + description: A quels projets pensez-vous que nous devrions allouer un budget ? Sélectionnez au moins %{minimum_number} projets que vous soutenez et votez selon vos préférences pour définir le budget. + instruction: "
  • Sélectionnez au moins %{minimum_number} projets que vous souhaitez voir se réaliser et votez selon vos préférences pour définir le budget.
  • " + projects_rule: + description: A quels projets pensez-vous que nous devrions allouer un budget ? Sélectionnez entre %{minimum_number} et %{maximum_number} projets que vous soutenez et votez selon vos préférences pour définir le budget. + instruction: "
  • Sélectionnez entre %{minimum_number} et %{maximum_number} projets que vous souhaitez et votez selon vos préférences pour définir le budget.
  • " + projects_rule_maximum_only: + description: A quels projets pensez-vous que nous devrions allouer un budget ? Sélectionnez au maximum %{maximum_number} projets que vous soutenez et votez selon vos préférences pour définir le budget. + instruction: "
  • Sélectionnez au maximum %{maximum_number} projets que vous souhaitez et votez selon vos préférences pour définir le budget.
  • " + rules: + title: Règles du vote + title: Vous décidez du budget + total_budget: Budget total + total_projects: Nombre total de votes + vote_threshold_percent_rule: + description: À quels projets pensez-vous que nous devrions allouer un budget ? Assignez au moins %{minimum_budget} aux projets que vous soutenez et votez selon vos préférences pour définir le budget. + instruction: "
  • Assignez au moins %{minimum_budget} aux projets que vous soutenez et votez selon vos préférences pour définir le budget.
  • " + count: + projects_count: + one: 1 projet + other: "%{count} projets" + filters: + category: Catégorie + scope: Périmètre d'application + search: Rechercher + status: Statut + status_values: + all: Tous + not_selected: Non sélectionné + selected: Sélectionné + filters_small_view: + close_modal: Fermez la fenêtre + filter: Filtrer + filter_by: Filtrer par + unfold: Voir la suite + order_progress: + vote: Voter + order_selected_projects: + remove: Supprimer + selected_projects: + one: projet sélectionné + other: projets sélectionnés + view: Voir + orders: + highest_cost: Prix décroissant + label: Trier les projets par + lowest_cost: Prix croissant + most_voted: Le plus populaire + random: Ordre aléatoire + selected: Sélectionné + project: + add: Ajouter le projet %{resource_name} à votre vote + remove: Retirer le projet %{resource_name} de votre vote + selected: Sélectionné + view: Voir + votes: + one: vote + other: votes + you_voted: Vous avez voté pour + project_budget_button: + add: Ajouter à votre vote + add_descriptive: Ajouter le projet %{resource_name} à votre vote + added: Ajouté à votre vote + added_descriptive: Projet %{resource_name} ajouté à votre vote + projects_for: Projets pour %{name} + show: + budget: Budget + view_all_projects: Voir tous les projets + components: + budgets: + actions: + vote: Voter + name: Budgets + settings: + global: + announcement: Annonce + comments_enabled: Activer le module de commentaire + comments_max_length: Longueur max des commentaires (laisser 0 pour la valeur par défaut) + form: + errors: + budget_voting_rule_only_one: Une seule règle de vote doit être activée + budget_voting_rule_required: Une règle de vote est requise + landing_page_content: Page d'accueil des budgets + more_information_modal: Plus d’informations + projects_per_page: Projets par page + resources_permissions_enabled: Les autorisations d'actions peuvent être définies pour chaque projet + scope_id: Secteur + scopes_enabled: Secteurs activés + title: Titre + total_budget: Budget total + vote_minimum_budget_projects_number: Nombre minimum de projets à voter + vote_rule_minimum_budget_projects_enabled: 'Activer la règle : Nombre minimum de projets à voter' + vote_rule_selected_projects_enabled: 'Activer la règle : Nombre minimum et maximum de projets à voter' + vote_rule_threshold_percent_enabled: 'Activer la règle : Pourcentage de budget minimum' + vote_selected_projects_maximum: Nombre maximum de projets à sélectionner + vote_selected_projects_minimum: Nombre minimum de projets à sélectionner + vote_threshold_percent: Pourcentage du budget à atteindre pour voter + workflow: Processus + workflow_choices: + all: 'Voter sur tous les budgets : autorise les participants à voter sur tous les budgets.' + one: 'Voter sur un seul budget : autorise les participants à voter sur un seul budget parmi les budgets proposés.' + step: + announcement: Annonce + comments_blocked: Commentaires bloqués + highlighted_heading: En-tête en surbrillance + landing_page_content: Page d'accueil des budgets + list_heading: En-tête de la liste des budgets + more_information_modal: Plus d’informations + show_votes: Afficher les votes + title: Titre + votes: Vote + votes_choices: + disabled: Vote désactivé + enabled: Votes activés + finished: Vote terminé + events: + budgets: + budget_published: + email_intro: 'Le budget %{resource_title} est maintenant actif pour %{participatory_space_title}. Vous pouvez le voir sur cette page :' + email_outro: Vous recevez cette notification car vous suivez « %{participatory_space_title} ». Vous pouvez cesser de le suivre en allant sur le lien précédent. + email_subject: Le budget %{resource_title} est maintenant actif pour %{participatory_space_title}. + notification_title: Le budget %{resource_title} est maintenant actif pour %{participatory_space_title}. + orders: + checkout: + error: Une erreur s'est produite lors du traitement de votre vote + success: Votre vote a été enregistré avec succès + destroy: + error: Une erreur s'est produite lors de l'annulation de votre vote + success: Votre vote a été annulé avec succès + resource_links: + included_proposals: + project_proposal: 'Propositions incluses dans ce projet:' + index: + confirmed_orders_count: Nombre de votes diff --git a/decidim-budgets/config/locales/ja.yml b/decidim-budgets/config/locales/ja.yml index 9766d6cf35550..aeb480763b93c 100644 --- a/decidim-budgets/config/locales/ja.yml +++ b/decidim-budgets/config/locales/ja.yml @@ -13,6 +13,7 @@ ja: decidim_scope_id: スコープ description: 説明 proposal_ids: 関連する提案 + selected: 実装の選択 title: タイトル activerecord: models: @@ -43,13 +44,19 @@ ja: title: 予算の編集 update: 予算を更新 index: + finished_orders: 完了した投票 + pending_orders: 保留中の投票 title: 予算 + users_with_finished_orders: 投票済みのユーザー + users_with_pending_orders: 投票保留中のユーザー new: create: 予算を作成する title: 新しい予算 update: invalid: 予算の更新中に問題が発生しました。 success: 予算が正常に更新されました。 + exports: + projects: プロジェクト models: budget: name: 予算 @@ -83,6 +90,7 @@ ja: create: プロジェクトへの提案をインポート no_components: この参加スペースには、プロジェクトにインポートするための他の提案コンポーネントはありません。 select_component: コンポーネントを選択してください + title: 提案のインポート admin_log: budget: create: "%{user_name} が予算 %{resource_name} を %{space_name} に作成しました。" @@ -135,9 +143,14 @@ ja: title: 投票の確認 budget_excess: budget_excess: + description: 予算上限を超えてしまうため、このプロジェクトは追加できません。 追加したい場合、すでに選択済みのプロジェクトを削除すると、改めて選択できるようになります。 title: 最大予算を超えました close: 閉じる + description: 予算上限を超えてしまうため、このプロジェクトは追加できません。 追加したい場合、すでに選択済みのプロジェクトを削除すると、改めて選択できるようになります。 ok: OK + projects_excess: + description: プロジェクト数の上限を超えてしまうため、このプロジェクトは追加できません。 追加したい場合、すでに選択済みのプロジェクトを削除すると、改めて選択できるようになります。 + title: プロジェクト数の上限を超えました budget_summary: are_you_sure: 投票をキャンセルしてもよろしいですか? assigned: 'アサイン済み:' @@ -145,7 +158,23 @@ ja: checked_out: description: すでに予算に投票しています。気が変わった場合は、 %{cancel_link} することができます。 title: 予算投票が完了しました + minimum_projects_rule: + description: どのプロジェクトに予算を割り当てるべきだと思いますか? 希望するプロジェクトを %{minimum_number} 件以上選択し、好ましいと思う予算を決めて投票します。 + instruction: "
  • 希望するプロジェクトを %{minimum_number} 件以上選択し、好ましいと思う予算を決めて投票します。
  • " + projects_rule: + description: どのプロジェクトに予算を割り当てるべきだと思いますか? 希望するプロジェクトを最小 %{minimum_number} 件、最大 %{maximum_number} 件選択し、好ましいと思う予算を決めて投票します。 + instruction: "
  • 希望するプロジェクトを最小 %{minimum_number} 件、最大 %{maximum_number} 件選択し、好ましいと思う予算を決めて投票します。
  • " + projects_rule_maximum_only: + description: どのプロジェクトに予算を割り当てるべきだと思いますか? 希望するプロジェクトを %{maximum_number} 件まで選択し、好ましいと思う予算を決めて投票します。 + instruction: "
  • 希望するプロジェクトを %{maximum_number} 件まで選択し、好ましいと思う予算を決めて投票します。
  • " + rules: + title: 予算ルール title: 予算を決める + total_budget: 予算の合計 + total_projects: 投票の合計 + vote_threshold_percent_rule: + description: どのプロジェクトに予算を割り当てるべきだと思いますか? 希望するプロジェクトに予算を %{minimum_budget} 以上割り当てて、好ましいと思う予算を決めて投票します。 + instruction: "
  • 希望するプロジェクトに %{minimum_budget} 以上の予算を割り当てて、好ましいと思う予算を決めて投票します。
  • " count: projects_count: other: "%{count} プロジェクト" @@ -184,6 +213,7 @@ ja: view: 表示 votes: other: 投票 + you_voted: 投票済 project_budget_button: add: 投票に追加 add_descriptive: プロジェクト %{resource_name} をあなたの投票に追加 @@ -217,7 +247,10 @@ ja: total_budget: 予算の合計 vote_minimum_budget_projects_number: 投票するプロジェクトの最小数 vote_rule_minimum_budget_projects_enabled: 'ルールを有効にします: 投票するプロジェクトの最小数' + vote_rule_selected_projects_enabled: 'ルールの有効化: 投票するプロジェクトの最小数と最大数' vote_rule_threshold_percent_enabled: 'ルールを有効にします:予算の最小割合' + vote_selected_projects_maximum: 選択するプロジェクトの上限 + vote_selected_projects_minimum: 選択するプロジェクトの下限 vote_threshold_percent: 投票しきい値パーセント workflow: ワークフロー workflow_choices: diff --git a/decidim-comments/config/locales/fr-LU.yml b/decidim-comments/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..2c6ea110d9d7a --- /dev/null +++ b/decidim-comments/config/locales/fr-LU.yml @@ -0,0 +1,138 @@ +fr-LU: + activemodel: + models: + decidim/comments/comment_by_followed_user_event: Commentaire + decidim/comments/comment_created_event: Commentaire + decidim/comments/reply_created_event: Réponse à un commentaire + decidim/comments/user_group_mentioned_event: Mention + decidim/comments/user_mentioned_event: Mention + activerecord: + models: + decidim/comments/comment: + one: Commentaire + other: Commentaires + decidim/comments/comment_vote: + one: Vote + other: Votes + decidim: + comments: + comments: + create: + error: Une erreur s'est produite lors de la création du commentaire. + comments_count: Nombre de commentaires + comments_title: Commentaires + last_activity: + new_comment_at_html: "Nouveau commentaire à %{link}" + view: Voir + votes: + create: + error: Une erreur s'est produite lors du vote sur le commentaire. + components: + add_comment_form: + account_message: Pour ajouter votre commentaire connectez-vous avec votre compte ou inscrivez-vous. + form: + body: + label: Commentaire + placeholder: Que pensez-vous de cela ? + form_error: Le texte est requis et ne peut pas dépasser %{length} caractères. + submit: Publier + user_group_id: + label: Commenter en tant que + opinion: + neutral: Neutre + remaining_characters: "%{count} caractères restants" + remaining_characters_1: "%{count} caractère restant" + title: Ajoutez votre commentaire + comment: + alignment: + against: Contre + in_favor: Pour + deleted_user: Utilisateur supprimé + hide_replies: Cacher les réponses + reply: Répondre + report: + action: Signaler + already_reported: Ce contenu a déjà été signalé et il sera examiné par un administrateur. + close: Fermer + description: Ce contenu est-il inapproprié ? + details: Commentaires additionnels + reasons: + does_not_belong: Contient d’autres types de contenus qui vous semblent inappropriés à %{organization_name} (activités illégales, menaces suicidaires, informations personnelles,...). + offensive: Contient des propos contraires à la loi (propos racistes, sexistes, insultes, attaques personnelles, menaces de mort, incitations au suicide ou toute forme de discours de haine,...). + spam: Contient des publicités, des escroqueries, des pièges à clic (clickbait) ou des robots fonctionnant au script (script bots). + title: Signaler un contenu inapproprié + show_replies: Afficher %{replies_count} réponses + single_comment_link_title: Obtenir un lien vers un seul commentaire + comment_order_selector: + order: + best_rated: Les mieux notés + most_discussed: Les plus débattus + older: Les plus anciens + recent: Les plus récents + title: 'Classement par :' + comment_thread: + title: Conversation avec %{authorName} + comments: + blocked_comments_for_user_warning: Vous n'êtes pas en mesure de commenter pour le moment, mais vous pouvez lire les précédents. + blocked_comments_warning: Les commentaires sont actuellement désactivés, mais vous pouvez lire ceux déjà saisis. + comment_details_title: Détails du commentaire + loading: Chargement des commentaires ... + single_comment_warning: Vous pouvez accéder au reste des commentaires ici. + single_comment_warning_title: Vous ne voyez qu'un seul commentaire + title: + one: "%{count} commentaire" + other: "%{count} commentaires" + down_vote_button: + text: Je ne suis pas d'accord avec ce commentaire + up_vote_button: + text: Je suis d'accord avec ce commentaire + events: + comments: + comment_by_followed_user: + email_intro: "%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :" + email_outro: Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil. + email_subject: Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title} + notification_title: Un nouveau commentaire a été publié par %{author_name} %{author_nickname} dans %{resource_title}. + comment_by_followed_user_group: + email_intro: '%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :' + email_outro: Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil. + email_subject: Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title} + notification_title: Un nouveau commentaire a été publié par %{author_name} %{author_nickname} dans %{resource_title}. + comment_created: + email_intro: "%{resource_title} a été commenté. Vous pouvez lire le commentaire sur cette page :" + email_outro: Vous venez de recevoir cette notification parce que vous suivez "%{resource_title}" ou son auteur. Vous pouvez vous désabonner à partir du lien précédant. + email_subject: Un nouveau commentaire vient d'être publié par %{author_name} dans %{resource_title} + notification_title: Un nouveau commentaire de %{author_name} %{author_nickname} vient d'être publié dans %{resource_title} + comment_downvoted: + email_intro: Votre commentaire sur "%{resource_title}" a reçu un vote défavorable. Il a maintenant un total de %{upvotes} votes positifs et %{downvotes} votes négatifs. + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de ce commentaire. + email_subject: Votre commentaire sur "%{resource_title}" a reçu un vote défavorable. + notification_title: Votre commentaire sur "%{resource_title}" a reçu un vote défavorable. Il a maintenant un total de %{upvotes} votes positifs et de %{downvotes} votes négatifs. + comment_upvoted: + email_intro: Votre commentaire dans "%{resource_title}" a reçu un vote favorable. Il a maintenant un total de %{upvotes} votes positifs et %{downvotes} votes négatifs. + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de ce commentaire. + email_subject: Votre commentaire sur "%{resource_title}" a reçu un vote favorable. + notification_title: Votre commentaire sur "%{resource_title}" a reçu un vote favorable. Il a maintenant un total de %{upvotes} votes positifs et de %{downvotes} votes négatifs. + reply_created: + email_intro: "%{author_name} a répondu à votre commentaire dans %{resource_title}. Vous pouvez le lire depuis la page suivante :" + email_outro: Vous venez de recevoir une notification à votre commentaire. + email_subject: "%{author_name} a répondu à votre commentaire dans %{resource_title}" + notification_title: %{author_name} %{author_nickname} a réagi à votre commentaire sur %{resource_title} + user_group_mentioned: + email_intro: Un groupe auquel vous appartenez a été mentionné + email_outro: Vous avez reçu cette notification parce que vous êtes membre du groupe %{group_name} qui a été mentionné dans %{resource_title}. + email_subject: Vous avez été mentionné dans %{resource_title} en tant que membre de %{group_name} + notification_title: Vous avez été mentionné dans %{resource_title} par %{author_name} %{author_nickname} en tant que membre de %{group_name} %{group_nickname} + user_mentioned: + email_intro: Vous avez été mentionné + email_outro: Vous avez reçu cette notification parce que vous avez été mentionné dans %{resource_title}. + email_subject: Vous avez été mentionné dans %{resource_title} + notification_title: Vous avez été mentionné dans %{resource_title} par %{author_name} %{author_nickname} + metrics: + comments: + description: Nombre de commentaires générés par les utilisateurs + object: commentaires + title: commentaires + errors: + messages: + cannot_have_comments: ne peut pas être commenté diff --git a/decidim-comments/config/locales/ja.yml b/decidim-comments/config/locales/ja.yml index 95e7de378eae2..ce1ec7320cb03 100644 --- a/decidim-comments/config/locales/ja.yml +++ b/decidim-comments/config/locales/ja.yml @@ -100,6 +100,16 @@ ja: email_outro: '"%{resource_title}" 、またはその参加者をフォローしているためこの通知を受け取りました。前のリンクからフォローを解除することができます。' email_subject: '%{author_name} から %{resource_title} に対して新しいコメントがあります' notification_title: %{author_name} %{author_nickname} から %{resource_title} に対して新しいコメントがあります + comment_downvoted: + email_intro: '"%{resource_title}" でのあなたの意見への反対票がありました。現在の合計は、賛成票が %{upvotes} 件、反対票が %{downvotes} 件です。' + email_outro: このコメントの作成者であるため、この通知を受け取りました。 + email_subject: '"%{resource_title}" のコメントに反対票がありました。' + notification_title: '"%{resource_title}"についてのあなたの コメント に反対票がありました。現在の合計は、賛成票が %{upvotes} 件、反対票が %{downvotes} 件です。' + comment_upvoted: + email_intro: '"%{resource_title}" でのあなたの意見への賛成票がありました。現在の合計は、賛成票が %{upvotes} 件、反対票が %{downvotes} 件です。' + email_outro: このコメントの作成者であるため、この通知を受け取りました。 + email_subject: '"%{resource_title}" のコメントに賛成票がありました。' + notification_title: '"%{resource_title}"についてのあなたの コメント に賛成票がありました。現在の合計は、賛成票が %{upvotes} 件、反対票が %{downvotes} 件です。' reply_created: email_intro: "%{author_name} は %{resource_title}であなたのコメントを返信しました。このページで読むことができます:" email_outro: コメントが返信されたため、この通知を受信しました。 diff --git a/decidim-conferences/config/locales/fr-LU.yml b/decidim-conferences/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..1557c1923321c --- /dev/null +++ b/decidim-conferences/config/locales/fr-LU.yml @@ -0,0 +1,594 @@ +fr-LU: + activemodel: + attributes: + conference: + assemblies_ids: Assemblées associées + banner_image: Image d'en-tête + consultations_ids: Votations associées + copy_categories: Copier les catégories + copy_components: Copier les fonctionnalités + copy_features: Copier les fonctionnalités + decidim_scope_id: Périmètre + description: Description + hashtag: Hashtag + hero_image: Image de la page d'accueil + participatory_processes_ids: Concertations associées + promoted: Mise en avant + published_at: Publié à + scope_id: Périmètre + scopes_enabled: Périmètres d'application activés + short_description: Brève description + show_statistics: Montrer les statistiques + slogan: Slogan + slug: Slug URL + title: Titre + conference_media_link: + weight: Rang d'affichage + conference_partner: + weight: Rang d'affichage + conference_registration_type: + weight: Rang d'affichage + conference_speaker: + full_name: Nom complet + conference_user_role: + email: Email + name: Nom + role: Rôle + errors: + models: + conference_registration_invite: + attributes: + email: + already_invited: Cet email a déjà été invité + activerecord: + models: + decidim/conference: + one: Conférence + other: Conférences + decidim/conference_speaker: + one: Conférencier + other: Conférenciers + decidim/conference_user_role: + one: Rôle d'utilisateur de la conférence + other: Rôles d'utilisateur de la conférence + decidim: + admin: + actions: + confirm: Confirmer + new_conference: Nouvelle conférence + send_diplomas: Envoyer des certificats de présence + conference_copies: + new: + copy: Copier + select: Sélectionnez les données que vous souhaitez dupliquer + title: Dupliquer la conférence + conference_publications: + create: + error: Une erreur s'est produite lors de la publication de cette conférence. + success: Conférence publiée avec succès. + destroy: + error: Une erreur s'est produite lors de la publication de cette conférence. + success: Conférence dépubliée avec succès. + conference_registration: + confirm: + error: Une erreur s'est produite lors de la confirmation de cette inscription à la conférence. + success: Inscription à la conférence confirmée avec succès. + conference_speakers: + create: + error: Une erreur s'est produite lors de l'ajout d'un conférencier pour cette conférence. + success: Conférencier créé avec succès pour cette conférence. + destroy: + success: Conférencier supprimé avec succès pour cette conférence. + edit: + title: Mettre à jour le conférencier. + update: Mettre à jour + index: + conference_speakers_title: Conférenciers + new: + create: Créer + title: Nouveau conférencier + update: + error: Une erreur s'est produite lors de la mise à jour du conférencier pour cette conférence. + success: Conférencier mis à jour avec succès pour cette conférence. + conference_user_roles: + create: + error: Une erreur s'est produite lors de l'ajout d'un administrateur pour cette conférence. + success: Administrateur ajouté avec succès à cette conférence. + destroy: + success: Administrateur supprimé de cette conférence. + edit: + title: Mettre à jour l'administrateur de la conférence. + update: Mettre à jour + index: + conference_admins_title: administrateurs de la conférence + new: + create: Créer + title: Nouvel administrateur de conférence. + update: + error: Il y avait une erreur mise à jour d'un administrateur pour cette conférence. + success: Administrateur mis à jour avec succès pour cette conférence. + conferences: + create: + error: Une erreur s'est produite lors de la création d'une nouvelle conférence. + success: Conférence créée avec succès. + edit: + update: Mettre à jour + exports: + registrations: Inscriptions + form: + title: Informations générales + index: + not_published: Non publié + published: Publié + new: + create: Créer + title: Conférence + update: + error: Une erreur s'est produite lors de la mise à jour de cette conférence. + success: Conférence mise à jour avec succès. + conferences_copies: + create: + error: Une erreur s'est produite lors de la duplication de cette conférence. + success: Conférence dupliquée avec succès. + media_links: + create: + error: Une erreur s'est produite lors de la création d'un nouveau lien multimédia. + success: Lien média créé avec succès. + destroy: + success: Lien média supprimé avec succès. + edit: + title: Mettre à jour le lien média. + update: Mettre à jour + index: + media_links_title: Liens médias + new: + create: Créer + title: Lien média + update: + error: Une erreur s'est produite lors de la mise à jour de ce lien multimédia. + success: Lien média mis à jour avec succès. + menu: + conferences: Conférences + conferences_submenu: + attachment_collections: Dossiers + attachment_files: Fichiers + attachments: Pièces jointes + categories: Catégories + components: Composants + conference_admins: Administrateurs de conférence + conference_invites: Invitations + conference_speakers: Conférenciers + diploma: Certificat de participation + info: Info + media_links: Liens médias + moderations: Modération + partners: Partenaires + registration_types: Types d'inscription + registrations: Inscriptions + user_registrations: Utilisateurs inscrits + models: + conference: + fields: + created_at: Créé à + promoted: Mise en avant + published: Publié + title: Titre + conference_speaker: + fields: + affiliation: Organisme + full_name: Nom complet + position: Profession + name: Conférencier + conference_user_role: + fields: + email: Email + name: Nom + role: Rôle + name: Administrateur de la conférence + roles: + admin: Administrateur + collaborator: Collaborateur + moderator: Modérateur + valuator: Évaluateur + media_link: + fields: + date: Date + link: Lien + title: Titre + name: Lien média + partner: + fields: + link: Lien + logo: Logo + name: Nom + partner_type: Type + name: Partenaire + types: + collaborator: Collaborateur + main_promotor: Promoteur principal + registration_type: + fields: + conference_meetings: Rencontres de la conférence + price: Prix + registrations_count: Nombre d'inscriptions + title: Titre + weight: Rang d'affichage + name: Type d'inscription + partners: + create: + error: Une erreur s'est produite lors de l'ajout d'un partenaire pour cette conférence. + success: Le partenaire a été ajouté avec succès à cette conférence. + destroy: + success: Le partenaire a été supprimé avec succès de cette conférence. + edit: + title: Mettre à jour le partenaire. + update: Mettre à jour + new: + create: Créer + title: Nouveau partenaire + update: + error: Une erreur s'est produite lors de la mise à jour d'un partenaire pour cette conférence. + success: Le partenaire a été mis à jour avec succès pour cette conférence. + registration_type_publications: + create: + error: Une erreur s'est produite lors de la publication de ce type d'enregistrement. + success: Type d'enregistrement publié avec succès. + destroy: + error: Une erreur s'est produite lors de la publication de ce type d'enregistrement. + success: Type d'enregistrement non publié avec succès. + registration_types: + create: + error: Une erreur s'est produite lors de l'ajout d'un type d'inscription pour cette conférence. + success: Type d'inscription ajouté avec succès à cette conférence. + destroy: + success: Le type d'inscription a bien été supprimé de cette conférence. + edit: + title: Mettre à jour le type d'inscription. + update: Mettre à jour + new: + create: Créer + title: Nouveau type d'inscription + update: + error: Une erreur s'est produite lors de la mise à jour d'un type d'inscription pour cette conférence. + success: Le type d'inscription a été mis à jour avec succès pour cette conférence. + titles: + conferences: Conférences + admin_log: + conference: + create: "%{user_name} créé la %{resource_name} conférence" + publish: "%{user_name} publication la %{resource_name} conférence" + send_conference_diplomas: "%{user_name} certificats de présence envoyés aux %{resource_name} participants à la conférence" + unpublish: "%{user_name} non publié la %{resource_name} conférence" + update: "%{user_name} mis à jour le %{resource_name} conférence" + update_diploma: "%{user_name} mis à jour la configuration des certificats de participation pour %{resource_name} conférence" + conference_speaker: + create: "%{user_name} créé le %{resource_name} orateur dans la %{space_name} conférence" + delete: "%{user_name} enlevé le %{resource_name} orateur de la %{space_name} conférence" + update: "%{user_name} mis à jour le %{resource_name} orateur de la %{space_name} conférence" + conference_user_role: + create: "%{user_name} invité %{resource_name} à la conférence %{space_name}" + delete: "%{user_name} retiré l'utilisateur %{resource_name} de la conférence %{space_name}" + update: "%{user_name} changé le rôle de %{resource_name} dans la conférence %{space_name}" + conferences: + conference_registration: + confirm: "%{user_name} confirmé une inscription à %{resource_name} conférence" + partner: + create: "%{user_name} a créé le partenaire %{resource_name} dans la conférence %{space_name}" + delete: "%{user_name} a retiré le partenaire %{resource_name} de la conférence %{space_name}" + update: "%{user_name} a mis à jour le partenaire %{resource_name} dans la conférence %{space_name}" + registration_type: + create: "%{user_name} créé le type d'inscription %{resource_name} dans la conférence %{space_name}" + publish: "%{user_name} publié le %{resource_name} type d'inscription dans la %{space_name} conférence" + unpublish: "%{user_name} non publié le type d'inscription %{resource_name} dans la conférence %{space_name}" + update: "%{user_name} mis à jour le type d'inscription %{resource_name} dans la conférence %{space_name}" + media_link: + create: "%{user_name} créé le %{resource_name} lien média dans la %{space_name} conférence" + delete: "%{user_name} supprimé le %{resource_name} lien multimédia de la %{space_name} conférence" + update: "%{user_name} mis à jour le %{resource_name} lien de média dans la %{space_name} conférence" + conference_program: + index: + title: Programme + conference_speakers: + index: + title: Conférenciers + conferences: + admin: + conference_copies: + form: + slug_help: 'Les slugs d''URL sont utilisés pour générer les URL qui pointent vers cette conférence. N''accepte que les lettres, les chiffres et les tirets et doit commencer par une lettre. Exemple: %{url}' + conference_invites: + create: + error: Un problème est survenu lors de l'invitation de l'utilisateur à rejoindre la conférence. + success: Utilisateur invité à rejoindre la conférence. + form: + attendee_type: Type de participant + existing_user: Utilisateur existant + invite_explanation: L'utilisateur sera invité à se joindre à la conférence et à l'organisation. + non_user: Utilisateur non existant + select_user: Sélectionnez l'utilisateur + index: + filter: + accepted: Accepté + all: Tout + rejected: Rejeté + sent: Envoyé + filter_by: Filtrer par + invite_attendee: Inviter un participant + invites: Invite + search: Chercher + new: + explanation: L'utilisateur sera invité à participer à une conférence. Si l'e-mail n'est pas enregistré, ils seront également invités à l'organisation. + invite: Inviter + new_invite: Inviter un utilisateur + conference_registrations: + index: + registrations: Inscriptions + conference_speakers: + form: + existing_user: Utilisateur existant + non_user: Non utilisateur + select_user: Sélectionnez l'utilisateur + user_type: Type d'utilisateur + index: + search: Chercher + conferences: + form: + available_slots_help: Laissez à 0 si vous avez un nombre illimité de places disponibles. + registrations_count: + one: Il y a eu une inscription. + other: Il y a eu %{count} inscriptions. + slug_help: 'Les slugs d''URL sont utilisés pour générer les URL qui pointent vers cette conférence. N''accepte que les lettres, les chiffres et les tirets et doit commencer par une lettre. Exemple: %{url}' + diplomas: + edit: + save: sauvegarder + title: Certificat de participation + invite_join_conference_mailer: + invite: + decline: Refuser l'invitation '%{conference_title}' + invited_you_to_join_a_conference: "%{invited_by} a invité à participer à une conférence à %{application}. Vous pouvez refuser ou l'accepter via les liens ci-dessous." + registration: Inscription pour '%{conference_title}' + partners: + index: + title: Partenaires + registration_types: + form: + select_conference_meetings: Sélectionner des rencontres + index: + title: Types d'inscription + send_conference_diploma_mailer: + diploma: + diploma_html: Vous trouverez le certificat de participation à la conférence %{title} dans les pièces jointes. + diploma_user: + attendance_verified_by: Présence vérifiée par + certificate_of_attendance: Certificat de participation + certificate_of_attendance_description: Ceci certifie que %{user} a assisté et participé aux %{title} tenus au %{location} sur %{start} - %{end} + send_diploma: + error: Il y a eu un problème lors de l'envoi des certificats de participation à la conférence. + success: Certificats de participation envoyés correctement + conference: + registration_confirm: + cancel: Annuler + confirm: Confirmer + show: + free: Libre + going: Participe + no_slots_available: Il ne reste plus de place + registration: Inscription + conference_program: + program_meeting: + content: Contenu + location: Lieu + speakers: Conférenciers + streaming: Diffusion + show: + day: Jour + program: Programme + conference_registration_mailer: + confirmation: + confirmed_html: Votre inscription à la conférence %{title} a été confirmée. + details_1: 'Vous êtes inscrit à la conférence avec le type %{registration_type} . Il en coûte %{price} et vous pouvez assister aux événements suivants:' + details_2: Vous trouverez les détails de la conférence dans la pièce jointe. + pending_validation: + confirmation_pending: Vous recevrez la confirmation sous peu + details: 'Vous êtes inscrit à %{registration_type} type avec un coût de %{price} et vous pouvez assister aux événements suivants:' + pending_html: Votre inscription à la conférence %{title} est en attente de confirmation. + conference_registrations: + create: + invalid: Il y a eu un problème pour rejoindre cette conférence. + success: Vous avez rejoint la conférence avec succès. + decline_invitation: + invalid: Il y a eu un problème pour refuser l'invitation. + success: Vous avez refusé l'invitation avec succès. + destroy: + invalid: Il y a eu un problème pour quitter cette conférence. + success: Vous avez quitté la conférence avec succès. + conference_speaker: + go_to_twitter: Aller sur Twitter + more_info: Plus d'informations + personal_website: Site Web personnel + show: + more_info: Plus d'informations + speaking_at: Intervient dans les rencontres + conference_speaker_cell: + personal_url: + personal_website: Site Web personnel + twitter_handle: + go_to_twitter: Aller sur Twitter + conference_speakers: + index: + speakers: Conférenciers + conferences: + partners: + collaborators: Partenaires + main_promotors: Organisateurs + show: + login_as: Vous êtes connecté en tant que %{name} <%{email}> + make_conference_registration: 'Inscrivez-vous à la conférence:' + register: S'inscrire + content_blocks: + highlighted_conferences: + name: Conférences mises en avant + index: + title: Conférences + mailer: + conference_registration_mailer: + confirmation: + subject: Votre inscription à la conférence a été confirmée + pending_validation: + subject: Votre inscription à la conférence est en attente de confirmation + invite_join_conference_mailer: + invite: + subject: Invitation à participer à une conférence + send_conference_diploma_mailer: + diploma: + subject: Votre certificat de participation à la conférence a été envoyé. + models: + conference_invite: + fields: + email: Email + name: Nom + registration_type: Type d'inscription + sent_at: Envoyé à + status: Statut + status: + accepted: Accepté (%{at}) + rejected: Rejeté (%{at}) + sent: Envoyé + conference_registration: + fields: + email: Email + name: Nom + registration_type: Type d'inscription + state: Etat + states: + confirmed: Confirmé + pending: En attente + pages: + home: + highlighted_conferences: + active_conferences: Conférences actives + see_all_conferences: Voir toutes les conférences + photo: + image: + attributes: + alt: Image média + show: + close_modal: Fermer la fenêtre + photo: Photo + photos_list: + show: + related_photos: Photos + registration_types: + index: + choose_an_option: 'Choisissez votre option d''inscription:' + login_as: Vous êtes connecté en tant que %{name} <%{email}> + no_registrations: Pas d'inscriptions + register: S'inscrire + title: Types d'inscription + shared: + conference_user_login: + already_account: Avez-vous déjà un compte dans decidim? + new_user: Nouvel utilisateur ? + sign_in: Connectez-vous pour vous inscrire à la conférence + sign_up: Créez un compte dans decidim pour vous inscrire à la conférence + show: + details: Détails + introduction: introduction + objectives: Objectifs + related_assemblies: Assemblées connexes + related_consultations: Votations connexes + related_participatory_processes: Concertations associées + statistics: + answers_count: Réponses + comments_count: Commentaires + conference_count: Conférences + debates_count: Débats + endorsements_count: Soutiens + headline: Activité + meetings_count: Rencontres + orders_count: Votes + pages_count: Pages + posts_count: Articles + projects_count: Projets + proposals_count: Propositions + results_count: Réalisations + surveys_count: Enquêtes + users_count: Participants + votes_count: Votes + events: + conferences: + conference_registration_confirmed: + notification_title: Votre inscription à la conférence %{resource_title} a été confirmée. + conference_registration_validation_pending: + notification_title: Votre inscription à la conférence %{resource_title} est en attente de confirmation. + conference_registrations_over_percentage: + email_intro: Les places réservées pour la conférence "%{resource_title}" dépassent %{percentage}%. + email_outro: Vous avez reçu cette notification car vous êtes administrateur de l'espace participatif de la conférence. + email_subject: Les places réservées pour la conférence "%{resource_title}" dépassent %{percentage}% + notification_title: Les places réservées pour la conférence %{resource_title} dépassent %{percentage}%. + conference_updated: + email_intro: 'La conférence "%{resource_title}" a été mise à jour. Vous pouvez lire la nouvelle version depuis sa page:' + email_outro: Vous avez reçu cette notification car vous suivez la conférence "%{resource_title}". Vous pouvez le retirer du lien précédent. + email_subject: La conférence "%{resource_title}" a été mise à jour + notification_title: La conférence %{resource_title} été mise à jour. + registrations_enabled: + email_intro: 'La conférence "%{resource_title}" a autorisé les inscriptions. Vous pouvez vous inscrire sur sa page:' + email_outro: Vous avez reçu cette notification car vous suivez la conférence "%{resource_title}". Vous pouvez le retirer du lien précédent. + email_subject: La conférence "%{resource_title}" a permis les enregistrements. + notification_title: La conférence %{resource_title} a permis les enregistrements. + role_assigned: + email_intro: Vous avez été assigné au rôle de %{role} de la conférence "%{resource_title}". + email_outro: Vous avez reçu cette notification parce que vous êtes %{role} de la conférence "%{resource_title}". + email_subject: Vous avez été assigné au rôle de %{role} pour la conférence "%{resource_title}". + notification_title: Vous avez été assigné au rôle de %{role} pour la conférence %{resource_title}. + upcoming_conference: + email_intro: 'La conférence "%{resource_title}" se déroule dans 2 jours. Vous pouvez lire la description de sa page:' + email_outro: Vous avez reçu cette notification parce que vous suivez la conférence "%{resource_title}". Vous pouvez le désabonner du lien précédent. + email_subject: La conférence "%{resource_title}" arrive! + notification_title: La conférence %{resource_title} arrive dans 2 jours. + help: + participatory_spaces: + conferences: + contextual: "

    Une conférence est un ensemble de rencontres organisées dans un programme, avec un certain nombre de personnes invitées en tant qu'orateurs, et d'autres informations typiques des grands congrès ou événements (inscription, liste des organisations qui soutiennent ou parrainent l'événement, etc.).

    Exemples : Une conférence peut être un événement pertinent pour une organisation et ses membres, ou se dérouler dans le cadre d'un processus participatif ou faire suite à une consultation.

    \n" + page: "

    Une conférence est un ensemble de rencontres organisées dans un programme, avec un certain nombre de personnes invitées en tant qu'orateurs, et d'autres informations typiques des grands congrès ou événements (inscription, liste des organisations qui soutiennent ou parrainent l'événement, etc.).

    Exemples : Une conférence peut être un événement pertinent pour une organisation et ses membres, ou se dérouler dans le cadre d'un processus participatif ou faire suite à une consultation.

    \n" + title: Que sont les conférences? + log: + value_types: + conference_presenter: + not_found: 'La conférence n''a pas été trouvée sur la base de données (ID: %{id})' + media: + index: + description: Liens sur cette conférence + title: Médias et liens + menu: + conferences: Conférences + devise: + mailer: + join_conference: + subject: Invitation à participer à une conférence + layouts: + decidim: + conference_hero: + register: S'inscrire + conference_widgets: + show: + take_part: Participer + conferences: + conference: + more_info: Plus d'informations + take_part: Participer + index: + promoted_conferences: Conférences mises en avant + order_by_conferences: + conferences: + one: "%{count} conférence" + other: "%{count} conférences" + promoted_conference: + more_info: Plus d'informations + take_part: Participer + conferences_nav: + conference_menu_item: Information + conference_partners_menu_item: Partenaires + conference_speaker_menu_item: Conférenciers + media: Médias + venues: Lieux diff --git a/decidim-conferences/config/locales/ja.yml b/decidim-conferences/config/locales/ja.yml index 847f5a27161d5..f2bffcba77bd5 100644 --- a/decidim-conferences/config/locales/ja.yml +++ b/decidim-conferences/config/locales/ja.yml @@ -3,6 +3,7 @@ ja: attributes: conference: assemblies_ids: 関連する参加スペース + available_slots: 利用可能なスロット banner_image: バナー画像 consultations_ids: 関連する議案 copy_categories: カテゴリをコピー @@ -10,26 +11,59 @@ ja: copy_features: 機能をコピー decidim_scope_id: スコープ description: 説明 + end_date: 終了日 hashtag: ハッシュタグ hero_image: ホーム画像 + location: 場所 + main_logo: メインロゴ + objectives: 目的 participatory_processes_ids: 関連する参加型プロセス promoted: 強調表示 published_at: 公開日時 + registration_terms: 参加規約 + registrations_enabled: 登録可能 scope_id: スコープ scopes_enabled: スコープは有効です short_description: 短い説明 show_statistics: 統計情報を表示 + sign_date: 署名日 + signature: 署名 + signature_name: 署名の名前 slogan: Slogan slug: URL スラグ + start_date: 開始日 title: タイトル conference_media_link: + date: 日付 + link: リンク + title: タイトル weight: 重量 conference_partner: + link: リンク + logo: ロゴ + name: 名前 + partner_type: パートナータイプ weight: 重量 + conference_registration_invite: + email: Eメールアドレス + name: 名前 + registration_type_id: 登録種別 + user_id: ユーザー conference_registration_type: + description: 説明 + price: 価格 + title: タイトル weight: 重量 conference_speaker: + affiliation: 所属 + avatar: アバター + conference_meeting_ids: 関連するミーティング full_name: フルネーム + personal_url: 個人URL + position: 位置 + short_bio: 略歴 + twitter_handle: Twitterアカウント + user_id: ユーザー conference_user_role: email: Eメールアドレス name: 名前 @@ -269,6 +303,10 @@ ja: conferences: conference_registration: confirm: "%{user_name} が %{resource_name} カンファレンスへの登録を確認しました" + partner: + create: "%{user_name} が %{space_name} カンファレンスでパートナー %{resource_name} を作成しました" + delete: "%{user_name} がパートナー %{resource_name} を %{space_name} カンファレンスから削除しました" + update: "%{user_name} が %{space_name} カンファレンスのパートナー %{resource_name} を更新しました" registration_type: create: "%{user_name} が %{resource_name} カンファレンスで %{space_name} の登録タイプを作成しました" publish: "%{user_name} が %{resource_name} カンファレンスで %{space_name} 登録タイプを公開しました" @@ -400,6 +438,7 @@ ja: personal_website: 個人のウェブサイト show: more_info: 詳細情報 + speaking_at: 発表場所 conference_speaker_cell: personal_url: personal_website: 個人のウェブサイト diff --git a/decidim-conferences/config/locales/pl.yml b/decidim-conferences/config/locales/pl.yml index 57d0f567fb6d2..065d3cedd45e9 100644 --- a/decidim-conferences/config/locales/pl.yml +++ b/decidim-conferences/config/locales/pl.yml @@ -189,7 +189,7 @@ pl: conference_user_role: fields: email: E-mail - name: Nazwa + name: Imię role: Rola name: Administrator konferencji roles: diff --git a/decidim-consultations/config/locales/fr-LU.yml b/decidim-consultations/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..0751da15e252a --- /dev/null +++ b/decidim-consultations/config/locales/fr-LU.yml @@ -0,0 +1,378 @@ +fr-LU: + activemodel: + attributes: + consultation: + banner_image: Image de la bannière + decidim_highlighted_scope_id: Périmètre d'application mis en avant + description: Description + end_voting_date: Le vote prend fin le + introductory_image: Image d'introduction + introductory_video_url: URL de la vidéo d'introduction + questions: Questions + slug: Identifiant + start_voting_date: Le vote commence le + subtitle: Sous-titre + title: Titre + question: + banner_image: Image de la bannière + decidim_scope_id: Périmètre d'application + hashtag: Hashtag + hero_image: Image de la page d'accueil + i_frame_url: URL du système de vote externe + instructions: Instructions supplémentaires pour le vote + max_votes: Nombre maximal de votes + min_votes: Nombre minimal de votes + origin_scope: Périmètre + origin_title: Origine + origin_url: URL d'origine + participatory_scope: Objectif + promoter_group: Organisateur + question_context: Contexte + reference: Référence + scope: Périmètre d'application + slug: Identifiant + subtitle: Sous-titre + vote: Système de vote externe + what_is_decided: Objectifs + response: + decidim_consultations_response_group_id: Groupe + errors: + models: + question: + attributes: + max_votes: + lower_than_min: Le nombre maximum de voix doit être supérieur ou égal au minimum. + vote: + decidim_consultations_response_id: + not_found: Réponse introuvable. + activerecord: + errors: + models: + decidim/consultations/vote: + attributes: + question: + invalid_num_votes: Nombre de voix invalide + models: + decidim/consultation: + one: Consultation + other: Consultations + decidim/consultations/question: + one: Question + other: Questions + decidim/consultations/response: + one: Réponse + other: Réponses + decidim/consultations/vote: + one: Vote + other: Votes + decidim: + admin: + actions: + back_to_responses: Retour aux résultats + new_consultation: Nouvelle votation + new_question: Nouvelle question + new_response: Nouvelle réponse + new_response_group: Nouveau groupe + publish_results: Publier les résultats + response_groups: Gérer les groupes de réponses + unpublish_results: Dépublier des résultats + consultation_publications: + create: + error: Une erreur s'est produite lors de la publication de cette votation. + success: La votation a été publiée avec succès. + destroy: + error: Il y a eu une erreur lors de la dépublication de cette votation. + success: La votation a été dépubliée avec succès. + consultation_results_publications: + create: + error: Une erreur s'est produite lors de la publication des résultats de cette votation. + success: Les résultats de la votation ont été publiés avec succès. + destroy: + error: Une erreur s'est produite lors de la dépublication des résultats de cette votation. + success: Les résultats de la votation ont été dépubliés avec succès. + consultations: + create: + error: Une erreur s'est produite lors de la création d'une nouvelle votation. + success: La votation a été créée avec succès. + deprecation_warning: Le module de consultation sera obsolète dans un avenir proche. Nous travaillons sur la prochaine version cryptographique sécurisée appelée Votes. + edit: + update: Mettre à jour + form: + slug_help: 'Les identifiants d''URL sont utilisés pour générer les URL qui amènent à cette votation. Ils n''acceptent que les lettres, les chiffres et les tirets et doivent commencer par une lettre. Exemple : %{url}' + title: Informations générales + index: + not_published: Non publiée + published: Publiée + new: + create: Créer + title: Nouvelle votation + results: + not_visible: Les résultats seront disponibles lorsque la consultation sera close + participants: "%{count} participant·e·s" + total_votes: 'Total : %{count} votes' + update: + error: Une erreur s'est produite lors de la mise à jour de cette votation. + success: Votation mise à jour avec succès. + menu: + consultations: Votations + consultations_submenu: + info: Informations + questions: Questions + results: Résultats + questions_submenu: + components: Fonctionnalités + configuration: Configuration + consultation: Votation + info: Informations + responses: Réponses + models: + consultation: + fields: + created_at: Créée le + published: Publiée + title: Titre + name: + one: Votation + other: Votations + question: + fields: + created_at: Créée le + published: Publiée + title: Titre + name: + one: Question + other: Questions + response: + fields: + created_at: Créée le + response_group: Groupe + title: Titre + name: + one: Réponse + other: Réponses + question_configuration: + disable_external_voting: Veuillez désactiver le vote externe pour les configurations avancées + form: + help: Configurez plusieurs choix de questions en augmentant le nombre maximum de réponses qu'un participant peut sélectionner. La valeur maximale par défaut est 1, ce qui signifie qu'une seule réponse peut être sélectionnée. + title: Configuration avancée + question_publications: + create: + error: Une erreur s'est produite lors de la publication de cette question. + success: Question publiée avec succès. + destroy: + error: Une erreur s'est produite lors de la suppression de cette question. + success: Question dépubliée avec succès. + questions: + create: + error: Une erreur s'est produite lors de la création d'une nouvelle question. + success: Question créée avec succès. + destroy: + success: Question supprimée avec succès. + edit: + update: Mettre à jour + form: + title: Informations générales + index: + not_published: Non publiée + published: Publiée + new: + create: Créer + title: Nouvelle question + update: + error: Une erreur s'est produite lors de la mise à jour de cette question. + success: Question mise à jour avec succès. + response_groups: + create: + error: Une erreur s'est produite lors de la création d'un nouveau groupe de réponses. + success: Le groupe de réponses a été créé avec succès. + destroy: + error: Il y a eu un problème lors de la suppression du groupe de réponse. Vérifiez qu'aucune réponse ne dépend d'elle. + success: Le groupe de réponses a bien été supprimé. + edit: + update: Mettre à jour + form: + title: Informations générales + help: Utiliser des groupes pour organiser des questions à choix multiples dans des blocs. + new: + create: Créer + title: Nouveau groupe de réponse + update: + error: Il y a eu un problème lors de la mise à jour de cette réponse. + success: Réponse mise à jour avec succès. + responses: + create: + error: Une erreur s'est produite lors de la création d'une nouvelle réponse. + success: Réponse créée avec succès. + destroy: + error: Une erreur s'est produite lors de la suppression de la réponse. + success: Réponse supprimée avec succès. + edit: + update: Mettre à jour + form: + title: Informations générales + new: + create: Créer + title: Nouvelle réponse + update: + error: Une erreur s'est produite lors de la mise à jour de cette réponse. + success: Réponse mise à jour avec succès. + titles: + consultations: Votations + questions: Questions + response_groups: Groupes de réponses + responses: Réponses + results: Résultats + consultations: + admin: + content_blocks: + highlighted_consultations: + max_results: Quantité maximale d'éléments à afficher + consultation: + start_voting_date: Le vote commence le + view_results: Voir les résultats + consultation_card: + view_results: Voir les résultats + consultations: + orders: + label: 'Trier les votations par :' + random: Aléatoire + recent: Les plus récentes + show: + dates: Dates + content_blocks: + highlighted_consultations: + name: Votations mises en avant + count: + title: + one: "%{count} votation" + other: "%{count} votations" + filters: + active: Actives + all: Tout + finished: Passées + search: Rechercher + state: État + upcoming: À venir + filters_small_view: + close_modal: Fermer la fenêtre + filter: Filtre + filter_by: Filtrer par + unfold: Voir la suite + highlighted_questions: + title: Questions de %{scope_name} + index: + title: Votations + last_activity: + new_consultation: Nouvelle consultation + new_question_at_html: "Nouvelle question à %{link}" + pages: + home: + highlighted_consultations: + active_consultations: Votations actives + see_all_consultations: Voir toutes les votations + voting_ends_in: + one: Le vote se termine demain + other: Le vote prend fin à %{count} jour + voting_ends_today: Fin du vote aujourd'hui + question: + take_part: Participer + view_results: Voir les résultats + votes_out_of: + one: vote sur + other: votes sur + question_multiple_votes: + results_rules: + minimum_votes_per_user: + description: Les participants pourraient distribuer un minimum de %{votes} votes parmi différentes options. + title: Dans cette question plusieurs choix sont permis + total_participants: Un total de %{count} personnes ont participé au vote. + vote_limit: + description: Les participants peuvent voter jusqu'à %{limit} options. + voting_rules: + minimum_votes_per_user: + description: Vous devez répartir un minimum de %{votes} voix entre différentes questions. + title: 'Les votes sont soumis aux règles suivantes :' + vote_limit: + description: Vous pouvez voter jusqu'à %{limit} options. + left: Restant + votes: Votes + question_votes: + create: + error: Il y a eu des erreurs lors du vote sur la question + success: Vous pouvez le modifier jusqu'à la fin de la consultation. Seul le dernier vote sera accepté. + title_error: Erreur de vote ! + title_success: Vote enregistré avec succès + regular_questions: + title: Questions pour cette votation + show: + badge_name: + finished: Terminées + open: Ouverte + open_votes: Votes ouverts + published_results: Résultats publiés + footer_button_text: + debate: Débat + view: Voir + view_results: Voir les résultats + vote: Voter + unspecified: Non précisé + help: + participatory_spaces: + consultations: + contextual: "

    Une votation est un espace qui vous permet de poser une question claire à toutes les personnes qui forment une organisation, appeler à participer à la consultation, à faire décoller et à ordonner le débat. Lorsque la date de la votation arrive, vous pouvez voter et publier les résultats des votes.

    Exemples : Les votations peuvent porter sur presque tous les aspects qui affectent une organisation : changer le nom ou le logo de l'organisation en offrant plusieurs alternatives, décider ou non de faire partie d'une organisation plus grande, valider ou rejeter un nouveau plan stratégique ou le résultat d'un groupe de travail, etc.

    \n" + page: "

    Une consultation est un espace qui vous permet de poser une question claire à toutes les personnes qui forment une organisation, appeler à participer à la consultation, à faire décoller et à ordonner le débat. Lorsque la date de la consultation arrive, vous pouvez voter et publier les résultats des votes.

    Exemples : Les consultations peuvent porter sur presque tous les aspects qui affectent une organisation : changer le nom ou le logo de l'organisation en offrant plusieurs alternatives, décider ou non de faire partie d'une organisation plus grande, valider ou rejeter un nouveau plan stratégique ou le résultat d'un groupe de travail, etc.

    \n" + title: Que sont les consultations? + menu: + consultations: Votations + pages: + home: + statistics: + consultations_count: Votations + questions: + next_button: Question suivante + previous_button: Question précédente + results: + title: Résultats + show: + read_more: Voir la suite + statistics: + assistants_count_title: Assistants + comments_count_title: Commentaires + meetings_count_title: Rencontres + supports_count_title: Soutiens + technical_info: + technical_data: Données techniques + vote_button: + already_voted: Déjà voté + already_voted_hover: Retirer le vote + starting_from: À partir de %{date} + verification_required: Vérifier votre compte pour voter + vote: Voter + vote_modal: + close_modal: Fermer la fenêtre de dialogue + contextual_help: Veuillez sélectionner une option. + title: 'Votation : soutien aux questions' + vote_modal_confirm: + change: Modifier + close_modal: Fermer la fenêtre de dialogue + confirm: Confirmer + contextual_help: Veuillez confirmer l'option sélectionnée. + title: 'Consultation : confirmer le soutien' + resources: + consultations: + actions: + vote: Voter + layouts: + decidim: + admin: + question: + attachments: Documents liés + categories: Catégories + consultation_voting_data: + start_voting_date: Le vote commence le + question_components: + question_menu_item: La question + unfold: Voir la suite + question_header: + back_to_consultation: Voir toutes les votations + back_to_question: Retour à la question diff --git a/decidim-core/config/locales/fr-LU.yml b/decidim-core/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..7b07aa0d1b6c3 --- /dev/null +++ b/decidim-core/config/locales/fr-LU.yml @@ -0,0 +1,1674 @@ +fr-LU: + activemodel: + attributes: + account: + delete_reason: Pour quelle(s) raison(s) supprimez-vous votre compte ? + common: + created_at: Créé le + group: + about: A propos + avatar: Avatar + document_number: Numéro de document + email: Courriel + name: Nom + nickname: Nom d'utilisateur + phone: Téléphone + report: + details: Commentaires supplémentaires + user: + about: A propos de moi + email: Votre email + name: Votre nom + nickname: Surnom + password: Mot de passe + password_confirmation: Confirmez votre mot de passe + personal_url: Site internet personnel + remove_avatar: Supprimer l'avatar + models: + decidim/attachment_created_event: Document lié + decidim/component_published_event: Fonctionnalité active + decidim/demoted_membership: N'est plus un administrateur de groupe + decidim/gamification/badge_earned_event: Badge gagné + decidim/gamification/level_up_event: Vous avez progressé d'un niveau + decidim/join_request_accepted_event: Demande de participation acceptée + decidim/join_request_rejected_event: Demande de participation rejetée + decidim/profile_updated_event: Profil mis à jour + decidim/promote_to_admin: Promu au groupe admin + decidim/removed_from_group: Retiré du groupe + decidim/resource_endorsed_event: Ressource soutenue + activerecord: + attributes: + decidim/user: + current_password: Mot de passe actuel + email: Email + name: Surnom + password: Mot de passe + password_confirmation: Confirmation du mot de passe + remember_me: Retenir le mot de passe + models: + decidim/amendment: + one: Amendement + other: Amendements + decidim/endorsement: + one: Soutien + other: Soutiens + decidim/user: + one: Participant + other: Participants + decidim/user_group: + one: Groupe d'utilisateurs + other: Groupes d'utilisateurs + booleans: + 'false': 'Non' + 'true': 'Oui' + carrierwave: + errors: + general: Erreur de traitement de l'image + image_too_big: L'image est trop grande + not_inside_organization: Le fichier n'est relié à aucune organisation + date: + formats: + decidim_short: "%d/%m/%Y" + decidim_short_with_month_name_short: "%d %b %Y" + decidim_with_day_and_month_name: "%A %d %b %Y" + decidim_with_month_name: "%d %B %Y" + decidim_with_month_name_short: "%d %b" + decidim: + accessibility: + external_link: Lien externe + logo: "Logo officiel de %{organization}" + skip_button: Passer au contenu principal + account: + blocked: Ce compte a été bloqué en raison d'une violation des Conditions Générales d'Utilisation + data_portability_export: + file_no_exists: Le fichier n'existe pas + notice: Votre export est actuellement en cours. Vous recevrez un email quand il sera complet. + delete: + alert: Cette action ne peut être annulée. Si vous supprimez votre compte, vous ne pourrez pas vous connecter avec vos identifiants. La suppression de votre compte entraînera l'anonymisation de vos contributions. Vous serez toujours en mesure de créer un nouveau compte, mais vos anciennes contributions n'y seront plus associées. + confirm: + close: Fermer la fenêtre + ok: Oui, je souhaite supprimer mon compte + question: Êtes-vous sûr de vouloir supprimer votre compte ? + title: Supprimer mon compte + explanation: Veuillez indiquer la raison pour laquelle vous souhaitez supprimer votre compte (facultatif). + destroy: + error: Une erreur s'est produite lors de la suppression de votre compte. + success: Votre compte a été supprimé avec succès. + show: + change_password: Changer de mot de passe + update_account: Mettre à jour votre compte + update: + error: Une erreur s'est produite lors de la mise à jour de votre compte. + success: Votre compte a été mis à jour avec succès. + success_with_email_confirmation: Votre compte a été mis à jour avec succès. Vous recevrez un email pour confirmer votre nouvelle adresse email. + admin: + actions: + cancel: Annuler + admin_log: + area: + create: "%{user_name} a créé la zone d'application %{resource_name}" + delete: "%{user_name} a supprimé la zone d'application %{resource_name}" + update: "%{user_name} a mis à jour la zone d'application %{resource_name}" + component: + create: "%{user_name} a ajouté la fonctionnalité %{resource_name} à l'espace %{space_name}" + delete: "%{user_name} a supprimé la fonctionnalité %{resource_name} de l'espace %{space_name}" + publish: "%{user_name} a publié la fonctionnalité %{resource_name} dans l'espace %{space_name}" + unpublish: "%{user_name} a dépublié la fonctionnalité %{resource_name} de l'espace %{space_name}" + impersonation_log: + manage: "%{user_name} a représenté %{resource_name} parce que %{reason}" + moderation: + hide: "%{user_name} a caché une ressource de type %{resource_type} dans l'espace %{space_name}" + unreport: "%{user_name} a annulé le signalement d'une ressource de type %{resource_type} dans l'espace %{space_name}" + newsletter: + create: "%{user_name} a créé la newsletter %{resource_name}" + delete: "%{user_name} a supprimé la newsletter %{resource_name}" + deliver: "%{user_name} a envoyé la newsletter %{resource_name}" + update: "%{user_name} a mis à jour la newsletter %{resource_name}" + oauth_application: + create: "%{user_name} a créé l'application OAuth %{resource_name}" + delete: "%{user_name} a supprimé l'application OAuth %{resource_name}" + update: "%{user_name} a mis à jour l'application OAuth %{resource_name}" + organization: + update: "%{user_name} a mis à jour les paramètres de l'organisation" + participatory_space_private_user: + create: "%{user_name} invité %{resource_name} pour être un utilisateur privé" + create_via_csv: "%{user_name} a invité %{resource_name} via CSV à être un utilisateur privé" + delete: "%{user_name} supprimé l'utilisateur %{resource_name} tant qu'utilisateur privé" + scope: + create: "%{user_name} a créé le périmètre d'application %{resource_name}" + create_with_parent: "%{user_name} a créé le périmètre d'application %{resource_name} à l'intérieur du périmètre %{parent_scope}" + delete: "%{user_name} a supprimé le périmètre d'application %{resource_name}" + delete_with_parent: "%{user_name} a supprimé le périmètre d'application %{resource_name} à l'intérieur du périmètre d'application %{parent_scope}" + update: "%{user_name} a mis à jour le périmètre d'application %{resource_name}" + update_with_parent: "%{user_name} a mis à jour le périmètre d'application %{resource_name} à l'intérieur du périmètre d'application %{parent_scope}" + static_page: + create: "%{user_name} a créé la page statique %{resource_name}" + delete: "%{user_name} a supprimé la page statique %{resource_name}" + update: "%{user_name} a mis à jour la page statique %{resource_name}" + user: + block: "%{user_name} a bloqué l'utilisateur %{resource_name}" + invite: "%{user_name} a invité l'utilisateur %{resource_name} avec le rôle : %{role}" + officialize: "%{user_name} a officialisé l'utilisateur %{resource_name}" + promote: "%{user_name} a promu %{resource_name}" + remove_from_admin: "%{user_name} a retiré le rôle : %{role} de l'utilisateur %{resource_name}" + show_email: "%{user_name} est allé chercher l'email de l'utilisateur %{resource_name}" + transfer: "%{user_name} a transféré l'utilisateur %{resource_name}" + unblock: "%{user_name} a débloqué l'utilisateur %{resource_name}" + unofficialize: "%{user_name} a retiré l'officialisation de l'utilisateur %{resource_name}" + user_group: + reject: "%{user_name} a rejeté la vérification du groupe d'utilisateurs %{resource_name}" + verify: "%{user_name} a vérifié le groupe d'utilisateurs %{resource_name}" + verify_via_csv: "%{user_name} vérifié le groupe %{resource_name} utilisateur via un fichier CSV" + user_moderation: + unreport: "%{user_name} a annulé le signalement de %{resource_type} - %{unreported_user_name}" + admin_terms_of_use: + default_body: "

    CONDITIONS D'UTILISATION ADMINISTRATEUR

    Nous espérons que vous avez reçu les instructions de l'administrateur système de la plateforme. Ils se résument généralement à ces trois choses :

    1. Respecter la vie privée des autres.
    2. Réfléchissez avant de cliquer.
    3. Un grand pouvoir implique de grandes responsabilités.
    " + alert: + dismiss: Rejeter la notification + amendments: + accepted: + error: Une erreur s'est produite lors de l'acceptation de l'amendement. + success: L'amendement a été accepté avec succès. + amendable: + amended_by: Modifié par + button: Modifier %{model_name} + error: Une erreur s'est produite lors de la modification de cette ressource. + help_text: Améliorer ce %{model_name} en modifiant son %{amendable_fields} + promote_button: Promouvoir à %{model_name} + promote_confirm_text: Êtes-vous sûr de vouloir promouvoir cette modification? + promote_help_text: Vous pouvez promouvoir cette modification et la publier en tant qu'indépendant. %{model_name} + section_heading: Amendements (%{count}) + compare_draft: + continue: Continuer + no_similars_found: Aucune modification similaire trouvé. + title: Modifications similaires + created: + error: Une erreur s’est produite lors de la création du projet d'amendement. + success: Le projet d'amendement a été créé avec succès. + destroy_draft: + error: Il y a eu un problème de suppression du projet d'amendement. + success: Le projet d'amendement a été créé avec succès. + edit_draft: + discard: Supprimer ce brouillon + discard_confirmation: Êtes-vous sûr de vouloir supprimer ce projet d'amendement ? + send: Aperçu + title: Modifier le projet d'amendement + emendation: + actions: + button_accept: Accepter + button_reject: Rejeter + help_text: Passez en revue les modifications et acceptez ou refusez cet amendement. Une notification sera envoyée à son (ses) auteur (s). + announcement: + accepted: |- + L'amendement pour %{amendable_type} %{proposal_link} a été accepté + le %{date}. + evaluating: |- + Cet amendement pour le %{amendable_type} %{proposal_link} + est en cours d’évaluation. + promoted: Promu comme %{amendable_type}. + rejected: "Cet amendement pour la proposition %{amendable_type}\n%{proposal_link}\na été rejeté le %{date}." + withdrawn: |- + L'amendement pour le %{amendable_type} %{proposal_link} + a été retiré par l'auteur. + new: + amendment_author: Auteur de l'amendement + send: Créer + title: Créer un projet d'amendement + preview_draft: + modify: Modifier + publish: Publier + title: Publier le projet d'amendement + promoted: + error: Un problème est survenu lors de la publication de l'amendement en tant que nouvelle proposition + success: L'amendement a été publié avec succès en tant que nouvelle proposition + publish_draft: + error: Une erreur s'est produite lors de la publication de cet amendement. + success: Amendement publié avec succès. + rejected: + error: Un problème est survenu lors du rejet de cet amendement. Veuillez réessayer ultérieurement. + success: L'amendement a été rejeté avec succès + review: + back: Retour + heading: Examiner l'amendement + help_text: Vous examinez un amendement au %{model_name} + send: Accepter l'amendement + update_draft: + error: Une erreur s'est produite lors de la modification de ce projet d'amendement. + success: Le projet d'amendement a été mis à jour avec succès. + withdraw: + error: Une erreur s'est produite lors du retrait de l'amendement + success: L'amendement a été retiré avec succès + wizard_step_form: + steps: + '1': Créez votre amendement + '2': Comparez votre amendement + '3': Complétez votre amendement + '4': Publier votre amendement + anonymous_user: Anonyme + application: + collection: + documents: + one: Document + other: Documents + document: + download: Télécharger le fichier + documents: + related_documents: Documents à consulter + photos: + related_photos: Photos associées + author: + avatar: Avatar + comments: + one: commentaire + other: commentaires + endorsements: + one: soutien + other: soutiens + authorization_handlers: + another_dummy_authorization_handler: + explanation: Obtenir une vérification en saisissant un numéro de passeport commençant par "A" + fields: + passport_number: Numéro de passeport + postal_code: Code postal + name: Un autre exemple d'autorisation + dummy_authorization_handler: + explanation: Obtenir une vérification en saisissant un numéro de document se terminant par "X" + fields: + allowed_postal_codes: Codes postaux autorisés (séparés par des virgules) + allowed_scope_id: Secteur autorisé + document_number: Numéro de document + postal_code: Code postal + scope_id: Secteur + name: Exemple d'autorisation + dummy_authorization_workflow: + name: Procédure d'autorisation factice + errors: + duplicate_authorization: Un participant est déjà autorisé avec ces mêmes données. Un administrateur vous contactera pour vérifier vos informations. + expired_at: Expiré à %{timestamp} + expires_at: Expire à %{timestamp} + foo_authorization: + fields: + bar: Machin + foo: Truc + name: Autorisation Truc + granted_at: Accordé à %{timestamp} + renew: Renouveler la vérification + sms: + explanation: Indiquez votre numéro de téléphone portable pour que nous puissions vérifier votre identité. + name: Code par SMS + started_at: Commencé à %{timestamp} + authorization_modals: + content: + expired: + authorize: Autoriser de nouveau avec "%{authorization}" + explanation: Votre autorisation a expiré. Pour effectuer cette action, vous devez renouveler votre autorisation avec "%{authorization}". + title: Autorisation expirée + incomplete: + cancel: Annuler + explanation: 'Même si vous êtes actuellement autorisé avec "%{authorization}", nous avons besoin de vous réautoriser car nous ne disposons pas des données suivantes :' + invalid_field: "%{field}" + reauthorize: Autoriser de nouveau + title: Veuillez autoriser de nouveau + missing: + authorize: Autoriser avec "%{authorization}" + explanation: Pour effectuer cette action, vous devez être autorisé avec "%{authorization}". + title: Autorisation requise + pending: + explanation: Pour effectuer cette action, vous devez être autorisé avec "%{authorization}", mais votre autorisation est toujours en cours de validation. + resume: Vérifiez votre progression d'autorisation "%{authorization}" + title: L'autorisation est toujours en cours de validation + unauthorized: + explanation: Désolé, vous ne pouvez pas effectuer cette action car certaines de vos données d'autorisation ne correspondent pas. + invalid_field: "%{field} valeur %{value} n'est pas valide." + ok: D'accord + title: Non autorisé + unconfirmed: + confirmation_instructions: 'Si vous n''avez pas reçu les instructions de confirmation, vous pouvez les demander à nouveau:' + explanation_html: Pour pouvoir effectuer cette action, vous devez être autorisé. Vous devez d'abord confirmer votre adresse électronique %{email}. + request_confirmation_instructions: Demander des instructions de confirmation + title: confirmez votre email + show: + close_modal: Fermer la fenêtre de dialogue + block_user_mailer: + notify: + body_1: Votre compte a été bloqué. + body_2: 'Motif : %{justification}' + greetings: Salutations,
    %{organization_name}
    %{organization_url} + hello: Bonjour, + subject: Votre compte a été bloqué par %{organization_name} + collapsible_list: + hidden_elements_count: + one: et %{count} plus + other: et %{count} plus + see_less: "(voir moins)" + see_more: "(voir plus)" + components: + component_order_selector: + no_content: Nous n'avons pas trouvé de contenu avec ce critère + order: + all_types: Tous types + collaborative_draft: Brouillon collaboratif + comment: Commentaire + debate: Débat + initiative: Pétition + meeting: Rencontre + post: Article + proposal: Proposition + question: Question + title: 'Afficher :' + dummy: + actions: + bar: Bar + foo: Foo + name: Composant factice + settings: + global: + amendments_enabled: Modifications activées + comments_enabled: Activer le module de commentaire + comments_max_length: Longueur maximale des commentaires + dummy_global_attribute_1: Attribut factice 1 + dummy_global_attribute_2: Attribut factice 2 + dummy_global_translatable_text: Texte traduisible factice + enable_pads_creation: Activer la création de pads + resources_permissions_enabled: Autorisations de ressources activées + scope_id: Secteur + scopes_enabled: Secteurs activés + step: + amendment_creation_enabled: Création d'amendement activée + amendment_promotion_enabled: Promotion d'amendement activée + amendment_reaction_enabled: Réaction d'amendement activée + amendments_visibility: Visibilité des amendements + comments_blocked: Bloquer la création de nouveaux commentaires + dummy_step_attribute_1: Attribut d'étape factice 1 + dummy_step_attribute_2: Attribut d'étape factice 2 + dummy_step_translatable_text: Texte traduisible de l'étape factice + contact: Contact + content_blocks: + cta: + name: Image, texte et bouton d'appel à l'action + cta_settings_form: + background_image: Image d'arrière-plan + button_text: Texte d'appel à l'action + button_url: URL du bouton d'appel à l’action + description: Description + footer_sub_hero: + name: Section "Bienvenue sur la plateforme" (. footer_sub_hero) + hero: + name: Image principale (hero) + hero_settings_form: + background_image: Image d'arrière-plan + welcome_text: Texte de bienvenue + highlighted_content_banner: + name: Bannière de contenu mis en valeur + highlighted_elements_settings_form: + orders: + label: 'Trier les éléments par:' + random: Aléatoire + recent: Les plus récents + how_to_participate: + name: Comment participer + html: + html_content: Contenu HTML + name: Bloc HTML + last_activity: + name: Dernière Activité + title: Dernière Activité + view_all: Voir tout + metrics: + name: Historique des statistiques de participation + stats: + name: Statistiques de l'organisation + sub_hero: + name: Bannière en dessous de l'image principale ("hero") + core: + actions: + login_before_access: Veuillez vous connecter avec votre compte avant de réaliser cette action + unauthorized: Vous n'êtes pas autorisé à effectuer cette action + data_portability: + export: + ready: Prêt + show: + download_data: Télécharger les données + download_data_description: Un fichier contenant toutes les informations associées à votre compte sera envoyé à %{user_email}. Cet e-mail contiendra un fichier .zip et un mot de passe pour l'ouvrir.

    Pour décompresser le fichier, vous aurez besoin de 7-Zip (pour Windows) ou Keka (pour MacOS). Si vous utilisez Linux, la plupart du temps, vous l'aurez installé par défaut. Sinon, vous pouvez utiliser File Roller ou PeaZip. + request_data: Demander les données + datepicker: + help_text: 'Format attendu : %{datepicker_format}' + devise: + omniauth_registrations: + create: + email_already_exists: Un autre compte utilise la même adresse email + new: + complete_profile: Complétez votre profil + nickname_help: Cet identifiant est public et unique sur %{organization} ; il permet aux autres utilisateurs de vous suivre, de vous contacter ou de vous mentionner dans leurs commentaires. Il s’affichera précédé d’un « @ » ; il ne doit pas contenir d’espace ni de caractère spécial. + sign_up: Veuillez compléter votre profil + subtitle: Remplissez le formulaire suivant pour compléter l'inscription + username_help: Le nom est public et apparaît dans votre profil et sur vos messages. Dans le but de garantir l'anonymat, vous pouvez choisir n'importe quel nom. + registrations: + new: + already_have_an_account?: Vous avez déjà un compte ? + newsletter: Recevoir une newsletter sur l'actualité de la plateforme + newsletter_title: Autorisation de contact + nickname_help: Cet identifiant est public et unique sur %{organization} ; il permet aux autres utilisateurs de vous suivre, de vous contacter ou de vous mentionner dans leurs commentaires. Il s’affichera précédé d’un « @ » ; il ne doit pas contenir d’espace ni de caractère spécial. + password_help: "%{minimun_characters} caractères minimum, ne doit pas être trop commun (par exemple 123456) et doit être différent de votre pseudo et de votre email." + sign_in: Se connecter + sign_up: S'inscrire + sign_up_as: + legend: S'inscrire en tant que + subtitle: Inscrivez-vous pour participer aux discussions et pour exprimer votre soutien aux propositions de votre choix. + terms: les termes et conditions d'utilisation + tos_agreement: En vous inscrivant, vous acceptez %{link}. + tos_title: Conditions d'utilisation + username_help: Le nom est public et apparaît dans votre profil et sur vos messages. Dans le but de garantir l'anonymat, vous pouvez choisir n'importe quel nom. + sessions: + new: + are_you_new?: Nouveau sur la plateforme ? + register: Créer un compte + sign_in_disabled: Vous pouvez accéder avec un compte externe + sign_up_disabled: L'inscription est désactivée, vous pouvez utiliser un utilisateur existant pour accéder + user: + timed_out: Vous avez été inactif pendant trop longtemps et vous avez été automatiquement déconnecté du service. Si vous souhaitez continuer à utiliser le service, veuillez vous reconnecter. + shared: + newsletter_modal: + buttons: + check: Oui, je souhaite m'inscrire à la newsletter + close_modal: Fermer la fenêtre + uncheck: Garder décoché + notice: |- + La newsletter vous permet de suivre tous les événements importants sur la plateforme (lancement de nouvelles concertations, annonce des résultats, etc.). Souhaitez-vous vous y inscrire ? + title: Inscription à la newsletter + omniauth_buttons: + or: Ou + doorkeeper: + authorizations: + new: + authorize: Autoriser l'application + by_organization_link_html: par %{link} + cancel: Annuler + connect_your_account_html: Associez votre compte en vous connectant sur %{organization} + publish_content: Publier du contenu pour vous + see_email: Voir votre email + see_name: Voir votre nom + see_username: Voir votre pseudonyme + this_application_will_be_able_to: 'Cette application sera capable de :' + this_application_will_not_be_able_to: 'Cette application ne sera pas capable de :' + update_profile: Mettre à jour votre profil + wants_to_use_your_account_html: "%{application_name} veut utiliser votre compte" + endorsable: + endorsements: Soutiens + endorsements_count: Nombre de soutiens + endorsement_buttons_cell: + already_endorsed: Soutenue + endorse: Soutenir + endorsements: + identities: + done: Terminé + select_identity: Sélectionner une identité + errors: + internal_server_error: + title: Il y a eu un problème avec notre serveur + try_later: Veuillez réessayer plus tard. + not_found: + back_home: Retour à l'accueil + content_doesnt_exist: Cette adresse web est incorrecte ou n'existe plus. + title: La page que vous recherchez ne peut être trouvée + events: + amendments: + amendment_accepted: + affected_user: + email_intro: 'Une modification a été acceptée pour %{amendable_title}. Vous pouvez le voir sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de %{amendable_title}. + email_subject: Un amendement accepté pour %{amendable_title} du %{emendation_author_nickname} + notification_title: Le amendement créé par %{emendation_author_nickname} a été accepté pour %{amendable_title}. + follower: + email_intro: 'Une modification a été acceptée pour %{amendable_title}. Vous pouvez le voir sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous suivez %{amendable_title}. Vous pouvez cesser de recevoir des notifications en suivant le lien précédent. + email_subject: Un amendement accepté pour %{amendable_title} du %{emendation_author_nickname} + notification_title: Le amendement créé par %{emendation_author_nickname} a été accepté pour %{amendable_title}. + amendment_created: + affected_user: + email_intro: 'Une nouvelle modification a été créée pour %{amendable_title}. Vous pouvez le voir sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de %{amendable_title}. + email_subject: Nouvel amendement pour %{amendable_title} + notification_title: Un nouvel amendement a été créé pour %{amendable_title}. + follower: + email_intro: 'Une nouvelle modification a été créée pour %{amendable_title}. Vous pouvez le voir sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous suivez %{amendable_title}. Vous pouvez cesser de recevoir des notifications en suivant le lien précédent. + email_subject: Nouvel amendement pour %{amendable_title} + notification_title: Un nouvel amendement a été créé pour %{amendable_title}. + amendment_promoted: + affected_user: + email_intro: 'Une modification rejetée pour %{amendable_title} a été promue en %{amendable_type}indépendante. Vous pouvez le voir sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de %{amendable_title}. + email_subject: Un amendement de %{emendation_author_nickname} a été publié en tant que nouveau %{amendable_type} + notification_title: A a rejeté l' amendement pour %{amendable_title} a été publiée en tant que nouveau %{amendable_type} par %{emendation_author_nickname}. + follower: + email_intro: 'Une modification rejetée pour %{amendable_title} a été promue en %{amendable_type}indépendante. Vous pouvez le voir sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous suivez %{amendable_title}. Vous pouvez cesser de recevoir des notifications en suivant le lien précédent. + email_subject: Un amendement de %{emendation_author_nickname} a été publié en tant que nouveau %{amendable_type} + notification_title: A a rejeté l' amendement pour %{amendable_title} a été publiée en tant que nouveau %{amendable_type} par %{emendation_author_nickname}. + amendment_rejected: + affected_user: + email_intro: 'Une modification a été rejetée pour %{amendable_title}. Vous pouvez le voir sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de %{amendable_title}. + email_subject: Un amendement rejeté pour %{amendable_title} à %{emendation_author_nickname} + notification_title: Le amendement créé par %{emendation_author_nickname} a été rejetée pour %{amendable_title}. + follower: + email_intro: 'Une modification a été rejetée pour %{amendable_title}. Vous pouvez le voir sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous suivez %{amendable_title}. Vous pouvez cesser de recevoir des notifications en suivant le lien précédent. + email_subject: Un amendement rejeté pour %{amendable_title} à %{emendation_author_nickname} + notification_title: Le amendement créé par %{emendation_author_nickname} a été rejetée pour %{amendable_title}. + attachments: + attachment_created: + email_intro: 'Un nouveau document a été ajouté à %{resource_title}. Vous pouvez le voir sur cette page :' + email_outro: Vous avez reçu cette notification, car vous suivez %{resource_title}. Vous pouvez arrêter de recevoir des notifications à partir du lien précédent. + email_subject: Une mise à jour de %{resource_title} + notification_title: Un nouveau document a été ajouté à %{resource_title} + components: + component_published: + email_intro: 'La fonctionnalité %{resource_title} est maintenant active dans %{participatory_space_title}. Vous pouvez y accéder ici :' + email_outro: Vous avez reçu cette notification, car vous suivez %{participatory_space_title}. Vous pouvez arrêter de recevoir des notifications en suivant le lien précédent. + email_subject: Une mise à jour de %{participatory_space_title} + notification_title: La fonctionnalité %{resource_title} est maintenant active pour %{participatory_space_title} + email_event: + email_greeting: Bonjour %{user_name}, + email_intro: '« %{resource_title} » a été mis à jour. Vous pouvez y accéder ici :' + email_outro: Vous recevez cet notification car vous suivez « %{resource_title} ». Vous pouvez cesser de le suivre en allant sur le lien précédent. + email_subject: Mise à jour de %{resource_title} + gamification: + badge_earned: + email_intro: Bravo ! Vous avez gagné le badge %{badge_name} (niveau %{current_level}). + email_outro: Vous avez reçu cette notification car vous avez été actif sur notre plateforme. + email_subject: 'Vous avez gagné un nouveau badge : %{badge_name} !' + notification_title: Bon travail ! Vous avez gagné le badge %{badge_name} (niveau %{current_level}). + level_up: + email_intro: Bravo ! Vous avez atteint le niveau %{current_level} sur le badge %{badge_name} ! + email_outro: Vous avez reçu cette notification car vous avez été actif sur notre plateforme. + email_subject: Vous avez atteint le niveau %{current_level} sur le badge %{badge_name} ! + notification_title: Bravo ! Vous avez atteint le niveau %{current_level} sur le badge %{badge_name} ! + groups: + demoted_membership: + email_intro: Un administrateur du groupe %{user_group_name} a supprimé vos droits d'administrateur sur ce groupe. + email_outro: Vous avez reçu cette notification parce que vous êtes membre de ce groupe. + email_subject: Vous n'êtes plus un administrateur du groupe %{user_group_name}! + notification_title: Vous n'êtes plus un administrateur du groupe %{user_group_name}. + invited_to_group: + email_intro: Un administrateur du groupe %{user_group_name} vous a invité à le rejoindre. + email_outro: Vous avez reçu cette notification parce que vous avez été invité à un groupe. Veuillez vérifier l'onglet Groupes dans votre profil pour l'approuver. + email_subject: Vous avez été invité à rejoindre le groupe %{user_group_name}! + notification_title: Vous avez été invité à rejoindre le groupe %{user_group_name} . Vérifiez les page Groupes dans votre profil pour l' approuver! + join_request_accepted: + email_intro: Toutes nos félicitations! Un administrateur du groupe %{user_group_name} a accepté votre demande d’adhésion. + email_outro: Vous avez reçu cette notification car votre demande de participation a été mise à jour. + email_subject: Vous avez été accepté dans le groupe %{user_group_name}! + notification_title: Vous avez été accepté dans le groupe %{user_group_name}. + join_request_created: + email_intro: Quelqu'un a demandé à rejoindre le groupe %{user_group_name} . Vous pouvez accepter ou rejeter de les membres du groupe la page. + email_outro: Vous avez reçu cette notification car vous pouvez gérer le groupe %{user_group_name}. + email_subject: Quelqu'un a demandé à rejoindre le groupe %{user_group_name}! + notification_title: Quelqu'un a demandé à rejoindre le groupe %{user_group_name} . Vous pouvez accepter ou rejeter de les membres du groupe la page. + join_request_rejected: + email_intro: Un administrateur du groupe %{user_group_name} a rejeté votre demande d'adhésion. + email_outro: Vous avez reçu cette notification car votre demande de participation a été mise à jour. + email_subject: Votre demande d'adhésion au groupe %{user_group_name} a été rejetée! + notification_title: Votre demande d'adhésion au groupe %{user_group_name} a été rejetée. + promoted_to_admin: + email_intro: Un administrateur du groupe %{user_group_name} vous a attribué les droits d’administrateur pour ce groupe. + email_outro: Vous avez reçu cette notification parce que vous êtes membre de ce groupe. + email_subject: Vous êtes maintenant un administrateur du groupe %{user_group_name}! + notification_title: Vous êtes maintenant un administrateur du groupe %{user_group_name}. + removed_from_group: + email_intro: Un administrateur du groupe %{user_group_name} vous a retiré de la liste. + email_outro: Vous avez reçu cette notification parce que vous étiez membre de ce groupe. + email_subject: Vous avez été retiré du groupe %{user_group_name}! + notification_title: Vous avez été supprimé du groupe %{user_group_name}. + user_group_created: + email_intro: Un nouveau groupe d'utilisateurs a été créé avec le nom %{user_group_name}. Vous pouvez maintenant le vérifier dans le panneau d'administration. + email_outro: Vous avez reçu cette notification parce que vous êtes un administrateur de la plateforme. + email_subject: Un nouveau groupe d'utilisateurs a été créé + notification_title: Le groupe d'utilisateurs %{user_group_name} a été créé. Vous pouvez maintenant le vérifier dans le panneau d'administration. + user_group_updated: + email_intro: Un groupe d'utilisateurs avec le nom %{user_group_name} a mis à jour son profil, le laissant non vérifié. Vous pouvez maintenant le vérifier dans le panneau d'administration. + email_outro: Vous avez reçu cette notification parce que vous êtes un administrateur de la plateforme. + email_subject: Un groupe d'utilisateurs viens de mettre à jour son profil + notification_title: Le groupe d'utilisateurs %{user_group_name} a mis à jour son profil, le laissant non vérifié. Vous pouvez maintenant le vérifier dans le panneau d'administration. + notification_event: + notification_title: Un événement a eu lieu à %{resource_title}. + reports: + resource_hidden: + email_intro: Un administrateur a modéré votre %{resource_type} car il a été signalé comme %{report_reasons}. + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur du contenu modéré. + email_subject: Votre %{resource_type} a été modérée + notification_title: |- + Un administrateur a modéré votre %{resource_type} car il a été signalé comme %{report_reasons}.
    + %{resource_content} + resource_endorsed: + email_intro: '%{endorser_name} %{endorser_nickname}, que vous suivez, vient de soutenir "%{resource_title}" et nous pensons que cela pourrait vous intéresser. Découvrez-le et contribuez :' + email_outro: Vous avez reçu cette notification parce que vous suivez %{endorser_nickname}. Vous pouvez arrêter de recevoir des notifications en suivant le lien précédent. + email_subject: "%{endorser_nickname} a soutenu un nouveau contenu" + notification_title: Le %{resource_title} %{resource_type} a été soutenu par %{endorser_name} %{endorser_nickname}. + users: + profile_updated: + email_intro: Le profil public de %{name} (%{nickname}), que vous suivez, a été mis à jour. + email_outro: Vous recevez cette notification car vous suivez « %{nickname} ». Vous pouvez cesser de le suivre à partir du lien précédent. + email_subject: "%{nickname} a mis à jour son profil public" + notification_title: Le profil public de %{name} (%{nickname}), que vous suivez, a été mis à jour. + export_mailer: + data_portability_export: + click_button: 'Cliquez sur le bouton suivant pour télécharger vos données.
    Le fichier sera disponible jusqu''au %{date}.
    Vous aurez besoin de 7-Zip (Windows), Keka (MacOS) ou PeaZip (Linux) pour l''ouvrir. Mot de passe : %{password}' + download: Télécharger + export: + ready: Vous trouverez ci-joint une version zippée de votre exportation. + subject: Votre export "%{name}" est prêt + filters: + linked_classes: + all: Tout + collaborative_draft: Projet de collaboration + dummy_resource: Exemple factice + meeting: Rencontres + project: Projets + proposal: Propositions + result: Réalisations + fingerprint: + check: Vérifiez l'empreinte numérique + explanation: Le texte ci-dessous est une représentation raccourcie et hachée de ce contenu. Il est utile de s'assurer que le contenu n'a pas été falsifié, car une seule modification entraînerait une valeur totalement différente. + online_calculator_name: calculateur de hash MD5 en ligne + replicate_help: Cette empreinte numérique est calculée à l'aide d'un algorithme de hachage SHA256. Pour le reproduire vous-même, vous pouvez utiliser un %{online_calculator_link} et copier-coller les données. + source: Source + title: Empreinte numérique + value: Valeur + followers: + followers_count: + one: "%{count} abonné" + other: "%{count} abonnés" + no_followers: Aucun abonné pour le moment. + following: + no_followings: Aucun abonnement + follows: + create: + button: Suivre + error: Une erreur s'est produite lors du traitement de votre demande de suivre ce contenu. + participatory_space: Suivre %{resource_name} + destroy: + button: Ne plus suivre + error: Une erreur s'est produite lors du traitement de votre demande de ne plus suivre ce contenu. + forms: + current_file: Fichier actuel + current_image: Image actuelle + default_image: Image par défaut + errors: + decidim/user: + password: Le mot de passe est trop court. + password_confirmation: La confirmation du mot de passe doit correspondre au mot de passe. + error: Ce champ contient une erreur. + file_help: + file: + explanation: 'Orientation pour le fichier :' + message_1: Doit être une image ou un document. + message_2: Pour les images, utilisez de préférence des formats paysage, car le service recadre l'image. Pour les fichiers CSV, le séparateur entre les colonnes doit être une virgule (","). Pour pouvoir choisir le type de séparateur il recommander d'utiliser le logiciel "Libre Office" + image: + explanation: 'Orientation pour l''image:' + message_1: De préférence une image au format paysage qui n'a pas de texte. + message_2: Le service recadre l'image. + file_validation: + allowed_file_extensions: 'Extensions de fichier autorisées : %{extensions}' + max_file_size: 'Taille maximale du fichier : %{megabytes}Mo' + remove_this_file: Supprimer ce fichier + gamification: + all_badges_link: Voir tous les badges disponibles. + badges: + followers: + conditions: + - Être actif et suivre les autres incitera sûrement les autres à vous suivre. + description: Ce badge est attribué lorsque vous atteignez un certain nombre d'adeptes. %{organization_name} est un réseau social et politique, tissez votre site Web pour communiquer avec les autres personnes de la plate-forme. + description_another: Cet utilisateur a %{score} abonnés. + description_own: "%{score} utilisateurs vous suivent." + name: Suiveurs + next_level_in: Obtenez %{score} autres utilisateurs à vous suivre pour atteindre le niveau suivant! + unearned_another: Cet utilisateur n'a pas encore de suiveurs. + unearned_own: Vous n'avez pas encore de followers. + index: + badge_title: "%{name} badge" + how: Comment l'obtenir + page_description: Les badges sont une reconnaissance des actions des participants et des progrès de la plate-forme. Lorsque vous commencerez à découvrir, à participer et à interagir avec la plateforme, vous obtiendrez différents badges. Voici la liste des badges et des moyens de les gagner. + title: Insignes + invitations: + conditions: + - Utilisez le lien "inviter des amis" sur votre page utilisateur pour inviter vos amis. + - Personnalisez, si vous le souhaitez, le message que vous envoyez + - Vous augmenterez votre niveau en envoyant des invitations et en les faisant enregistrer. + description: Ce badge est attribué lorsque vous avez invité des personnes qui ont passé un peu de temps à s’inscrire à %{organization_name} et devenir des participants. Merci de faire connaître %{organization_name} aux autres et d’aider à élargir la communauté! + description_another: Cet utilisateur a invité %{score} utilisateurs. + description_own: Vous avez invité %{score} utilisateurs. + name: Invitations + next_level_in: Invitez %{score} utilisateurs supplémentaires à atteindre le niveau suivant ! + unearned_another: Cet utilisateur n'a encore invité aucun utilisateur. + unearned_own: Vous n'avez encore invité aucun utilisateur. + description: Les badges sont une reconnaissance des actions des participants et des progrès dans la plateforme. Au fur et à mesure que vous commencez à découvrir, à participer et à interagir sur la plateforme, vous gagnez différents badges. + level: Niveau %{level} + reached_top: Vous avez atteint le plus haut niveau pour ce badge. + group_admins: + actions: + are_you_sure: Êtes-vous sûr? Cela ne supprimera pas l'utilisateur du groupe. + demote_admin: Supprimer admin + demote: + error: Une erreur s'est produite lors de la suppression de cet utilisateur de la liste des administrateurs. + success: Utilisateur retiré de l'administrateur avec succès + index: + current_admins: 'Administrateurs actuels:' + manage_admins: Gérer les administrateurs + group_invites: + accept: + error: Une erreur s'est produite lors de l'acceptation de cette invitation. + success: Invitation acceptée avec succès + accept_invitation: Acceptez + accept_or_reject_group_invitations: 'Les groupes suivants vous ont invité à les rejoindre. Accepter ou rejeter leurs demandes:' + index: + invite: Inviter + invite_user: Inviter un utilisateur + invite: + error: Une erreur s'est produite lors de l'invitation de cet utilisateur. + success: Utilisateur invité avec succès + reject: + error: Une erreur s'est produite lors du rejet de cette invitation. + success: Invitation rejetée avec succès + reject_invitation: Rejeter + group_members: + accept: + error: Une erreur s'est produite lors de l'acceptation de cette demande de participation. + success: Demande de participation acceptée avec succès + actions: + are_you_sure: Êtes-vous sûr? + promote_to_admin: Faire admin + remove_from_group: Supprimer l'utilisateur + index: + current_members_without_admins: 'Membres actuels (sans administrateurs):' + manage_members: Gérer les membres + promote: + error: Une erreur s'est produite lors de la promotion de cet utilisateur. + success: Utilisateur promu avec succès + reject: + error: Une erreur s'est produite lors du rejet de cette demande de participation. + success: Demande de participation rejetée avec succès + remove: + error: Une erreur s'est produite lors de la suppression de cet utilisateur du groupe. + success: Utilisateur supprimé du groupe avec succès + groups: + actions: + are_you_sure: Êtes-vous sûr? + create: + error: Il y a eu un problème pour créer le groupe + success: Groupe créé avec succès + edit: + edit_user_group: Éditer le groupe + update_user_group: Mettre à jour le groupe + form: + document_number_help: Ne pas utiliser de tirets ni d'espaces + email_help: Email de votre organisation, association, collectif, groupe, etc. + fill_in_for_verification: 'Remplissez ces champs si vous souhaitez que votre groupe soit vérifié:' + name_help: Nom de votre organisation, association, collectif, groupe, etc. + nickname_help: Nom d'utilisateur de votre organisation, association, collectif, groupe, etc. N'utilisez pas d'espaces ni d'accents. + phone_help: Ne pas utiliser de tirets ni d'espaces + join: + error: Il y a eu un problème pour rejoindre le groupe + success: Demande de jointure créée avec succès. Un administrateur examinera votre demande avant de vous accepter au groupe. + leave: + error: Il y a eu un problème pour quitter le groupe + success: Le groupe est parti avec succès. + members: + accept_or_reject_join_requests: 'Les utilisateurs suivants ont demandé à rejoindre ce groupe. Accepter ou rejeter leurs demandes:' + accept_request: Acceptez + reject_request: Rejeter + new: + create_user_group: Créer un groupe + new_user_group: Nouveau groupe + subtitle: Créez un groupe et invitez d'autres utilisateurs à se joindre pour participer à un niveau collectif. + no_user_groups: N'appartient à aucun groupe pour l'instant. + roles: + admin: Administrateur + creator: Créateur + member: Membre + update: + error: Un problème est survenu lors de la mise à jour du groupe. + success: Groupe mis à jour avec succès + help: + main_topic: + default_page: + content: "

    Sur %{organization} vous pouvez participer et décider sur différents sujets grâce aux espaces que vous voyez dans le menu principal: Processus, Assemblées, Initiatives, Consultations.

    Au sein de chacune d’elles, vous trouverez différentes options de participation: faites des propositions - individuellement ou avec d’autres personnes -, participez aux débats, accordez la priorité aux projets à mettre en œuvre, participez aux réunions en personne et autres actions.

    \n" + title: Que puis-je faire sur la plateforme %{organization} ? + description: En savoir plus sur %{organization} + title: Aide générale + last_activities: + activities: + no_activities_warning: Aucune activité + all: Tous les types d'activité + index: + last_activity: Dernière Activité + resource_type: Type + log: + base_presenter: + create: "%{user_name} a créé %{resource_name}" + create_with_space: "%{user_name} a créé %{resource_name} dans %{space_name}" + delete: "%{user_name} a supprimé %{resource_name}" + delete_with_space: "%{user_name} a supprimé %{resource_name} dans %{space_name}" + unknown_action: "%{user_name} a effectué une action sur %{resource_name}" + unknown_action_with_space: "%{user_name} a effectué une action sur %{resource_name} dans %{space_name}" + update: "%{user_name} a mis à jour %{resource_name}" + update_with_space: "%{user_name} a mis à jour %{resource_name} dans %{space_name}" + value_types: + area_presenter: + not_found: 'Le périmètre d''assemblée n''a pas été trouvée dans la base de données (ID: %{id})' + area_type_presenter: + not_found: 'Le type de périmètre d''assemblée n''a pas été trouvé dans la base de données (ID: %{id})' + scope_presenter: + not_found: 'Le secteur n''a pas été trouvé dans la base de données (ID: %{id})' + scope_type_presenter: + not_found: 'Le type de secteur n''a pas été trouvé dans la base de données (ID: %{id})' + managed_users: + expired_session: La session de représentation d'identité a expiré. + map: + dynamic: + screen_reader_explanation: L'élément suivant est une carte qui présente les éléments de cette page comme des points de carte. L'élément peut être utilisé avec un lecteur d'écran, mais il peut être difficile à comprendre. + skip_button: Passer la carte + static: + latlng_text: 'latitude : %{latitude}, longitude : %{longitude}' + map_service_brand: OpenStreetMap + members: + no_members: Ce groupe d'utilisateurs n'a encore aucun membre. + menu: + help: Aide + home: Accueil + messaging: + conversation_mailer: + comanagers_new_conversation: + admin_in_group: Vous recevez ceci parce que vous êtes un administrateur de %{group}. + greeting: Bonjour, %{recipient} ! + intro: "%{manager} a commencé une nouvelle conversation au nom de %{group}. Cliquez ici pour la voir :" + outro: Profitez de decidim ! + subject: "%{manager} a commencé une nouvelle conversation en tant que %{group}" + comanagers_new_message: + admin_in_group: Vous recevez ceci parce que vous êtes un administrateur de %{group}. + greeting: Bonjour %{recipient} ! + intro: "%{manager} a posté de nouveaux messages dans une conversation au nom de %{group}. Cliquez ici pour les voir:" + outro: Profitez de decidim ! + subject: "%{manager} a envoyé de nouveaux messages en tant que %{group}" + new_conversation: + greeting: Bonjour, %{recipient} ! + intro: "%{sender} a commencé une nouvelle conversation avec vous. Cliquez ici pour la voir :" + outro: Profitez de cette plateforme ! + subject: "%{sender} a commencé une conversation avec vous" + new_group_conversation: + admin_in_group: Vous recevez ceci parce que vous êtes un administrateur de %{group}. + greeting: Bonjour, %{recipient} ! + intro: "%{sender} a commencé une nouvelle conversation avec le groupe %{group}. Cliquez ici pour la voir :" + outro: Profitez de decidim ! + subject: "%{sender} a commencé une conversation avec %{group}" + new_group_message: + admin_in_group: Vous recevez ceci parce que vous êtes un administrateur de %{group}. + greeting: Bonjour, %{recipient} ! + intro: "%{sender} a posté de nouveaux messages dans une conversation avec le groupe %{group}. Cliquez ici pour le voir:" + outro: Profitez de decidim ! + subject: "%{group} a de nouveaux messages de %{sender}" + new_message: + greeting: Bonjour, %{recipient} ! + intro: "%{sender} a posté de nouveaux messages dans votre conversation. Cliquez ici pour les voir :" + outro: Profitez de cette plateforme ! + subject: Vous avez de nouveaux messages de %{sender} + conversations: + add_conversation_users: + add_max_users: 'Ajouter des utilisateurs à la conversation: 9 utilisateurs max' + add_users_placeholder: Chercher... + modal_title: Nouvelle conversation + no_results: Aucun résultat + participant_with_disabled_message_reception: Ce participant a désactivé la réception de message + conversation: + show: Afficher la conversation avec %{sender} + create: + error: La conversation n'a pas commencé. Réessayez plus tard + error_modal: + close: Fermer la fenêtre de dialogue + correct_errors: Veuillez corriger les erreurs et réessayer. + intro: 'Il y a eu les erreurs suivantes avec votre message :' + ok: Ok + index: + ago: il y a + close: Fermer la fenêtre + from: De + groups: Mes groupes + last_message: Dernier message + new_conversation: Nouvelle conversation + next: Suivant + no_conversations: Vous n'avez encore aucune conversation + title: Conversations + reply: + placeholder: Votre réponse... + send: Envoyer + title: Répondre + show: + back: Retour à toutes les conversations + chat_with: Conversation avec + not_allowed: Cet utilisateur ne souhaite pas recevoir de messages directs. + title: Conversation avec %{usernames} + start: + send: Envoyer + title: Commencer une conversation + update: + error: 'Erreur : votre message n''a pas pu être envoyé' + metrics: + download: + csv: Télécharger les données (CSV) + followers: + description: Nombre d'utilisateurs qui suivent cet espace de participation + object: suiveurs + title: Suiveurs + participants: + description: Nombre d'utilisateurs actifs dans l'organisation + object: les participants + title: Participants + users: + description: Nombre d'utilisateurs dans l'organisation + object: utilisateurs + title: Utilisateurs + newsletter_mailer: + newsletter: + note: Vous avez reçu cet email parce que vous êtes abonné aux newsletters de %{organization_name}. Vous pouvez modifier vos paramètres sur votre page de notifications. + see_on_website: Vous ne pouvez pas voir cet email correctement ? Consultez la version web. + unsubscribe: Pour ne plus recevoir ce type d'email, Désabonnez-vous. + newsletter_templates: + basic_only_text: + body_preview: 'Faux text pour le corps: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.' + name: Basique (seulement texte) + basic_only_text_settings_form: + body: Corps du texte + interpolations_hint: 'Astuce : Vous pouvez utiliser "%{name}" n''importe où dans le corps ou le sujet et il sera remplacé par le nom du destinataire.' + image_text_cta: + body_preview: 'Faux texte pour le corps: Maecenas ac nisl vitae lectus pretium facilisis. Etiam facilisis sem nibh, sit amet rutrum mi aliquam nec. Sed id urna at nisl pretium mollis eu vel velit. Proin vitae suscipit urna, sed faucibus urna. Pellentesque id libero vulputate ipsum scelerisque suscipit. Nam aliquam sodales mi sit amet cursus. Donec mattis faucibus purus. Aenean tincidunt porta lorem ac commodo. Vestibulum in mollis mi. Morbi eros erat, cursus ut tortor sit amet, imperdiet dapibus arcu. Suspendisse id egestas enim. In eget magna sed enim efficitur elementum sit amet aliquam quam. Donec fermentum metus eget urna luctus pulvinar.' + cta_text_preview: Texte d'appel à l'action + introduction_preview: 'Faux texte pour l''introduction: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.' + name: Image, texte et bouton d'appel à l'action + image_text_cta_settings_form: + body: Corps du texte + cta_text: Texte du bouton d'Appel à action + cta_url: URL du bouton d'appel à l'action + interpolations_hint: 'Astuce : Vous pouvez utiliser "%{name}" n''importe où dans l''introduction, le corps, le texte du bouton d''action ou le sujet et il sera remplacé par le nom du destinataire.' + introduction: Introduction + main_image: Image principale + newsletters: + unsubscribe: + check_subscription: Si vous souhaitez modifier vos préférences, vous pouvez le faire dans la page des paramètres des notifications + error: Un problème est survenu lors de la désinscription + success: Vous vous êtes désabonné avec succès. + token_error: Le lien a expiré. + unsubscribe: Se désabonner + newsletters_opt_in: + unathorized: Désolé, ce lien n'est plus disponible + update: + error: Désolé, un problème est survenu + success: Paramètres de newsletter mis à jour avec succès + newsletters_opt_in_mailer: + notify: + body_1: Le traitement des données personnelles et leur protection deviennent de plus en plus importants pour nous tous. Avec le nouveau règlement général sur la protection des données (RGPD) du 25 mai 2018, les individus contrôlent mieux leurs données personnelles. Pour cette raison, nous avons besoin de votre accord pour continuer à vous envoyer des informations pertinentes sur les activités de %{organization_name}. + body_2: 'Comment pouvez-vous nous donner votre consentement ? Cliquez simplement sur le bouton suivant :' + body_3: Avec votre consentement, vous serez en mesure de continuer à recevoir des informations sur les services de la plateforme. Si, au contraire, nous ne recevons pas une confirmation positive de votre part, nous cesserons de vous envoyer des messages. Si vous confirmez que vous souhaitez rester informé, vous aurez toujours la possibilité d'annuler ce choix par la suite. + button: Oui, je veux continuer à recevoir des informations pertinentes + greetings: Salutations,
    %{organization_name}
    %{organization_url} + hello: Bonjour, + subject: Voulez-vous continuer à recevoir des informations pertinentes sur %{organization_name} ? + notifications: + no_notifications: Il n'y a pas encore de notifications. + notifications_settings: + show: + administrators: Administrateurs + allow_public_contact: Permettre à n'importe quoi de m'envoyer un message direct, même si je ne les suis pas. + direct_messages: Recevoir des messages directs de n'importe qui + email_on_moderations: Je veux recevoir un email chaque fois que quelque chose est signalé pour modération. + email_on_notification: Je souhaite recevoir un email à chaque fois que je reçois une notification. + everything_followed: Tout ce que je suis + newsletter_notifications: Je souhaite recevoir une newsletter sur l'actualité de la plateforme + newsletters: Newsletters + own_activity: Ma propre activité, comme quand quelqu'un commente dans ma proposition ou me mentionne + receive_notifications_about: Je veux recevoir des notifications sur + send_notifications_by_email: Envoyer des notifications par email + update_notifications_settings: Enregistrer les modifications + update: + error: Une erreur s'est produite lors de la mise à jour des paramètres de vos notifications. + success: Vos paramètres de notifications ont été mis à jour avec succès. + open_data: + not_available_yet: Les fichiers Open Data ne sont pas encore disponibles. Veuillez réessayer dans quelques minutes. + own_user_groups: + index: + pending: En attente + rejected: Non retenue + verified: Vérifié + pad_iframe: + disclaimer: Le contenu de ce bloc-notes est écrit par les utilisateurs enregistrés et exprime leurs opinions. %{organization} ne peut être tenu responsable de son contenu. + explanation: Utilisez ce pavé numérique pour prendre des notes en collaboration pendant la réunion afin de faciliter la rédaction minute après minute. + pad: Pad + pages: + home: + extended: + debates: Débats + debates_explanation: Débattez, discutez et enrichissez les échanges de vos points de vue. + how_to_participate: Comment participer ? + meetings: Rencontres + meetings_explanation: Découvrez où et quand vous pouvez participer à des rencontres publiques. + more_info: En savoir plus + proposals: Propositions + proposals_explanation: Faites des propositions, appuyez les projets existants et soutenez les idées que vous souhaitez voir advenir. + footer_sub_hero: + footer_sub_hero_body: Construisons une société plus ouverte, transparente et collaborative.
    Rejoignez le mouvement, participez et décidez, ensemble. + footer_sub_hero_headline: Bienvenue sur la plate-forme participative de %{organization}. + register: S'inscrire + hero: + participate: Participez + welcome: Bienvenue sur %{organization} ! + metrics: + headline: Participation en chiffres + statistics: + answers_count: Enquêtes terminées + assemblies_count: Assemblées + comments_count: Commentaires + conferences_count: Conférences + debates_count: Débats + endorsements_count: Soutiens + headline: État actuel de %{organization} + meetings_count: Rencontres + orders_count: Votes + pages_count: Pages + processes_count: Processus participatifs + projects_count: Projets + proposals_accepted: Propositions acceptées + proposals_count: Propositions + results_count: Réalisations + surveys_count: Enquêtes + users_count: Participants + votes_count: Votes + sub_hero: + register: S'inscrire + index: + read_more: Lire la suite + standalone_pages: Pages + subheading: Naviguer à travers les pages d'aide de %{name} + title: Aidez-moi + topics: Thématiques + participatory_space: + metrics: + headline: Participation en chiffres + link: Afficher toutes les statistiques + terms_and_conditions: + accept: + error: Une erreur s'est produite lorsque vous avez accepté les conditions d'utilisation. + success: Génial ! Vous avez accepté les conditions d'utilisations. + form: + agreement: J'accepte ces conditions d'utilisation + legend: Accepter les conditions d'utilisation + refuse: + modal_body: Si vous refusez, vous ne pourrez pas utiliser la plateforme. Vous pouvez télécharger vos données et / ou supprimer votre compte. + modal_btn_continue: Accepter les conditions et continuer + modal_btn_exit: Je l'examinerai plus tard + modal_button: Refuser les conditions d'utilisation + modal_close: Fermer la fenêtre + modal_title: Refusez-vous vraiment les conditions d'utilisation mises à jour ? + required_review: + alert: Nous avons mis à jour nos conditions d'utilisation, veuillez les consulter. + body: Veuillez prendre un moment pour examiner nos conditions d'utilisation mises à jour. Sinon, vous ne pourrez pas utiliser la plateforme. + title: 'Obligatoire : consultez les conditions d''utilisation mises à jour' + participatory_space_private_users: + not_allowed: Vous n'êtes pas autorisé à voir ce contenu + profile: + deleted: Utilisateur ayant supprimé son compte + inaccessible_message: Ce profil est inaccessible en raison d'une violation des Conditions Générales d'Utilisation ! + view: Voir + profiles: + default_officialization_text_for_user_groups: Ce groupe d'utilisateurs est publiquement vérifié, son nom a été vérifié pour correspondre à son vrai nom. + default_officialization_text_for_users: L'identité de ce participant a été vérifiée. Son nom ou son rôle correspondent avec son vrai nom ou son vrai rôle dans le monde réel + show: + activity: Activité + badges: Badges + conversations: Conversations + followers: Abonnés + following: Est abonné à + groups: Groupes + members: Membres + officialized: Participant officiel + send_private_message: Envoyer un message privé + timeline: Chronologie + view_full_profile: Voir le profil complet + sidebar: + badges: + info: Les badges sont gagnés en effectuant des activités spécifiques sur la plateforme. + title: Badges + user: + confirmation_instructions_sent: Instructions de confirmation par courrier électronique envoyées + create_user_group: Créer un groupe + edit_profile: Mettre à jour le profil + edit_user_group: Modifier le profil du groupe + fill_in_email_to_confirm_it: S'il vous plaît, remplissez l'email de votre groupe pour le confirmer + invite_user: Inviter un utilisateur + join_user_group: Demander à rejoindre ce groupe + leave_user_group: Quitter le groupe + manage_user_group_admins: Gérer les administrateurs + manage_user_group_users: Gérer les membres + resend_email_confirmation_instructions: Renvoyer les instructions de confirmation par courrier électronique + reported_mailer: + hide: + hello: Bonjour %{name}, + manage_moderations: Gérer les modérations + report_html:

    Le contenu suivant a été masqué automatiquement.

    + subject: Une ressource a été cachée automatiquement + report: + authors: Auteurs + content: Contenu signalé + content_original_language: Langue d'origine du contenu + date: Signalé le + details: Détails + hello: Bonjour %{name}, + id: ID + participatory_space: Espace participatif + reason: Raison + report_html:

    Le contenu suivant a été signalé.

    + see_report: Voir le signalement + subject: Un contenu a été signalé + reports: + create: + error: Une erreur s'est produite lors de la création du rapport. Veuillez essayer à nouveau. + success: Le contenu a été signalé, il sera examiné par un administrateur. + resource_endorsements: + create: + error: Il y a eu un problème lors de l'action de soutien. + scopes: + global: Portée générale + picker: + cancel: Annuler + change: Changer le secteur sélectionné + choose: Sélectionner + currently_selected: Secteur actuellement sélectionné + title: Sélectionnez %{field} + prompt: Sélectionnez un périmètre d'application + scopes: Périmètre d'application + scopes_picker_input: + select_scope: 'Sélectionnez un secteur (actuellement: %{current})' + search: + results: Résultats de recherche + results_found_for_term: '%{count} résultats pour la recherche : "%{term}"' + term_input_placeholder: Rechercher + searches: + filters: + back: Retour aux résultats + jump_to: 'Aller à:' + state: + active: actif + all: Tous + future: Futur + past: Passé + filters_small_view: + close_modal: Fermer la fenêtre de dialogue + filter: Filtrer + filter_by: Filtrer par + unfold: Voir plus + results: + results: + one: "%{count} résultat" + other: "%{count} résultats" + view_all: Tout voir (%{count}) + security: + selfxss_warning: + description: Cette fonction de navigateur est destinée aux développeurs et vous ne devriez rien coller ici si vous n'avez pas avez été invité à le faire. Coller du contenu dans cette fenêtre peut compromettre votre vie privée et permettre aux hackers d'accéder à votre compte. + title: Arrêter ! + shared: + confirm_modal: + cancel: Annuler + close_modal: Fermer la fenêtre de dialogue + ok: Ok + title: Valider + embed_modal: + close_window: Fermer la fenêtre + embed: Veuillez coller ce code dans votre page + embed_link: Intégrer + extended_navigation_bar: + more: Plus + unfold: Afficher + filter_form_help: + help: Le formulaire ci-dessous filtre dynamiquement les résultats de la recherche lorsque les conditions de recherche sont modifiées. + skip: Passer aux résultats + flag_modal: + already_reported: Ce contenu a déjà été signalé et il sera examiné par un administrateur. + close: Fermer + description: Ce contenu est-il inapproprié ? + does_not_belong: Contient d’autres types de contenus qui vous semblent inappropriés à %{organization_name} (activités illégales, menaces suicidaires, informations personnelles,...). + offensive: Contient des propos contraires à la loi (propos racistes, sexistes, insultes, attaques personnelles, menaces de mort, incitations au suicide ou toute forme de discours de haine,...). + report: Signaler + spam: Contient des publicités, des escroqueries, des pièges à clic (clickbait) ou des robots fonctionnant au script (script bots). + title: Signaler un contenu inapproprié + flag_user_modal: + already_reported: Ce contenu a déjà été signalé et il sera examiné par un administrateur. + close: Fermer + description: Qu'est-ce qui est inapproprié à propos de cet utilisateur ? + does_not_belong: Rédige des contenus qui vous semblent inappropriés à %{organization_name} (activités illégales, menaces suicidaires, informations personnelles,...). + offensive: Rédige des contenus racistes, sexistes, contenant des insultes, attaques personnelles, menaces de mort, incitations au suicide ou toute forme de discours de haine. + report: Signaler + spam: Rédige des contenus de type publicités, des escroqueries, des pièges à clic (clickbait) ou des robots fonctionnant au script (script bots). + title: Signaler un utilisateur inapproprié + floating_help: + close: Fermer l'aide + help: Aidez-moi + follow_button: + sign_in_before_follow: Veuillez vous connecter avant d'effectuer cette action + login_modal: + close_modal: Fermer la fenêtre de dialogue + please_sign_in: Veuillez vous connecter + sign_up: S'inscrire + participatory_space_filters: + filters: + areas: Zones d'application + select_an_area: Sélectionnez une zone d'application + reference: + reference: 'Référence : %{reference}' + represent_user_group: + represent_user_group: Je représente un groupe + select_user_group: Sélectionner un groupe + results_per_page: + label: 'Résultats par page :' + title: Sélectionner le nombre de résultats par page + share_modal: + close_window: Fermer la fenêtre + share: Partager + share_link: Lien de partage + tags: + filter_results_for_category: 'Filtrer les résultats de la catégorie : %{resource}' + filter_results_for_scope: 'Filtrer les résultats pour le secteur : %{resource}' + translation_bar: + help_text: "Attention : Le contenu peut être automatiquement traduit et ne pas être exact à 100%." + show_original: Afficher le texte original + show_translated: Afficher le texte automatiquement traduit + user_activity: + index: + no_activities_warning: Cet utilisateur n'a pas encore eu d'activité. + user_contact_disabled: Cet utilisateur n'accepte pas les messages directs. + user_conversations: + create: + error: Le message n'a pas pu être créé. Réessayez plus tard + existing_error: Le message n'a pas pu être créé. La conversation existe déjà, veuillez réessayer. + success: La conversation a commencé avec succès ! + index: + add_max_users: 'Ajouter des utilisateurs à la conversation: 9 utilisateurs max' + add_users_placeholder: Rechercher... + close: Fermer + conversations_info: Les conversations sont privées. Personne d'autre ne peut les voir. Une conversation peut être lancée avec n'importe quel participant ou groupe enregistré sur la plateforme. + from: De + last_message: Dernier message + modal_title: Nouvelle conversation + new_conversation: Nouvelle conversation + next: Suivant + no_conversations_warning: Il n'y a pas encore de conversations. + no_results: Aucun résultat + participant_with_disabled_message_reception: Ce participant a désactivé la réception de message + time_ago: "il y a %{time}" + new: + title: Démarrer une conversation + reply: + placeholder: Votre réponse... + send: Envoyer + title_reply: Répondre + show: + not_allowed: Cet utilisateur n'accepte plus de messages directs. + title: Conversation avec %{usernames} + update: + error: Message non envoyé. Réessayez plus tard + user_interests: + show: + my_interests: Mes intérêts + no_scopes: Cette organisation n'a pas encore de secteurs ! + select_your_interests: Sélectionnez les sujets qui vous intéressent pour recevoir des événements les concernant dans l'onglet Profil de votre profil. + update_my_interests: Mettre à jour mes intérêts + update: + error: Une erreur s'est produite lors de la mise à jour de vos centres d'intérêt. + success: Vos intérêts ont été mis à jour avec succès. + user_report_mailer: + notify: + body_1: L'utilisateur %{user} a été signalé par %{token} + body_2: 'Motif : %{reason}' + greetings: Salutations,
    %{organization_name}
    %{organization_url} + hello: Bonjour %{admin}, + subject: Un nouvel utilisateur a été signalé dans %{organization_name} + version: + show: + back_to_resource: Revenir en arrière + changes_at_title: Changements à%{title}" + number_of_versions: Versions + show_all_versions: Afficher toutes les versions + version_author: Auteur de la version + version_created_at: Version créée le + version_number: Numéro de version + version_number_out_of_total: "%{current_version} sur %{total_count}" + version_author: + show: + deleted: Utilisateur ayant supprimé son compte + versions: + resource_version: + of_versions: "(sur %{number})" + see_other_versions: voir les autres versions + version: Numéro de version %{number} + versions_list: + show: + back_to_resource: Revenir en arrière + changes_at_title: Changements à%{title}" + number_of_versions: Versions + title: Versions + versions_list_item: + show: + version_index: Version %{index} + welcome_notification: + default_body:

    Bonjour {{name}}, merci d'avoir rejoins {{organization}} et bienvenue!

    • Si vous souhaitez avoir une idée rapide de ce que vous pouvez faire ici, consultez la section Aide .
    • Une fois que vous l'avez lu, vous recevrez votre premier badge. Voici une liste de tous les badges vous pouvez obtenir vous participez à {{organization}}
    • En somme, rejoignez d'autres personnes, partagez avec eux l'expérience d'être engagés et participer à {{organization}}. Faites des propositions, des commentaires, lancez des débats, réfléchissez à la manière de contribuer au bien commun, fournissez des arguments pour convaincre, écoutez et lisez pour être convaincu, exprimez vos idées de manière concrète et directe, répondez avec patience et décision, défendez vos idées un esprit ouvert pour collaborer et rejoindre les idées des autres.
    + default_subject: Merci d'avoir rejoint {{organization}}! + wizard_step_form: + wizard_aside: + back: Retour + wizard_header: + see_steps: voir les étapes + step_of: Étape %{current_step} sur %{total_steps} + devise: + confirmations: + confirmed: Votre adresse e-mail a été confirmée avec succès. + new: + resend_confirmation_instructions: Renvoyer les instructions de confirmation + send_instructions: Vous recevrez un e-mail avec les instructions pour confirmer votre adresse e-mail dans quelques minutes. + send_paranoid_instructions: Si votre adresse e-mail existe dans notre base de données, vous recevrez un e-mail avec les instructions pour confirmer votre adresse e-mail dans quelques minutes. + failure: + already_authenticated: Vous êtes déjà connecté. + inactive: Votre compte n'est pas encore activé. + invalid: '%{authentication_keys} ou mot de passe invalide.' + invited: Vous avez une invitation en attente, acceptez-la pour terminer la création de votre compte. + last_attempt: Vous avez encore une tentative avant que votre compte soit verrouillé. + locked: Votre compte est bloqué. + not_found_in_database: '%{authentication_keys} ou mot de passe invalide.' + timeout: Votre session a expiré. Veuillez vous connecter à nouveau pour continuer. + unauthenticated: Vous devez vous connecter ou vous inscrire avant de continuer. + invitations: + edit: + header: Terminer la création de votre compte + nickname_help: Cet identifiant est public et unique sur la plateforme "%{organization}" ; il permet aux autres utilisateurs de vous suivre, de vous contacter ou de vous mentionner dans leurs commentaires. Il s’affichera précédé d’un « @ » ; il ne doit pas contenir d’espace ni de caractère spécial. + submit_button: Sauvegarder + subtitle: Si vous acceptez l'invitation, veuillez indiquer votre pseudonyme et votre mot de passe. + invitation_removed: Votre invitation a été supprimée. + invitation_token_invalid: Le jeton d'invitation fourni n'est pas valide! + new: + header: Envoyer une invitation + submit_button: Envoyer une invitation + no_invitations_remaining: Aucune invitation restante + send_instructions: Un email d'invitation a été envoyé à %{email}. + updated: Votre mot de passe a été défini avec succès. Vous êtes maintenant inscrit. + updated_not_active: Votre mot de passe a été défini avec succès. + mailer: + confirmation_instructions: + action: Confirmer mon compte + greeting: Bienvenue %{recipient}! + instruction: 'Vous pouvez confirmer votre compte email par le lien ci-dessous:' + subject: Instructions de confirmation + email_changed: + greeting: Bonjour %{recipient}! + message: Nous vous contactons pour vous informer que votre adresse e-mail a été modifiée à %{email}. + subject: Courriel modifié + invitation_instructions: + accept: Accepter l'invitation + accept_until: Cette invitation expirera le %{due_date}. + decline: Refuser l'invitation + hello: Bonjour %{email}, + ignore: |- + Si vous ne souhaitez pas accepter l'invitation, veuillez ignorer cet e-mail.
    + Votre compte ne sera pas créé avant d'avoir cliqué sur le lien ci-dessus et défini votre pseudonyme et votre mot de passe. + invited_you_as_admin: "%{invited_by} vous a invité en tant qu'administrateur de %{application}. Vous pouvez accepter cette invitation grâce au lien ci-dessous." + invited_you_as_private_user: "%{invited_by} vous a invité en tant qu'utilisateur privé de %{application}. Vous pouvez l'accepter via le lien ci-dessous." + someone_invited_you: Vous avez été invité à %{application}. Vous pouvez accepter cette invitation grâce au lien ci-dessous. + someone_invited_you_as_admin: Vous avez été invité en tant qu'administrateur de %{application}, vous pouvez l'accepter via le lien ci-dessous. + someone_invited_you_as_private_user: Vous avez été invité en tant qu'utilisateur privé de %{application}, vous pouvez l'accepter via le lien ci-dessous. + subject: Instructions d'invitation + invite_admin: + subject: Vous avez été invité à gérer %{organization} + invite_collaborator: + subject: Vous avez été invité à collaborer sur %{organization} + invite_private_user: + subject: Vous avez été invité à une assemblée privée sur %{organization} + organization_admin_invitation_instructions: + subject: Vous avez été invité à gérer %{organization} + password_change: + greeting: Bonjour %{recipient} ! + message: Nous vous contactons pour vous informer que votre mot de passe a été modifié. + subject: Mot de passe modifié + reset_password_instructions: + action: Changer mon mot de passe + greeting: Bonjour %{recipient}! + instruction: Quelqu'un a demandé un lien pour changer votre mot de passe, et vous pouvez le faire via le lien ci-dessous. + instruction_2: Si vous ne l'avez pas demandé, veuillez ignorer cet email. + instruction_3: Votre mot de passe ne changera pas jusqu'à ce que vous accédiez au lien ci-dessus et en créez un nouveau. + subject: Réinitialiser les instructions de mot de passe + unlock_instructions: + action: Débloquer mon compte + greeting: Bonjour %{recipient}! + instruction: 'Cliquez sur le lien ci-dessous pour débloquer votre compte :' + message: Votre compte a été verrouillé en raison d'une quantité excessive de tentatives de connexion infructueuses. + subject: Instructions de déverrouillage + omniauth_callbacks: + failure: Impossible de vous authentifier à partir de %{kind} car "%{reason}". + success: Authentifié avec succès à partir de %{kind} compte. + passwords: + edit: + change_my_password: Changer mon mot de passe + change_your_password: changez votre mot de passe + confirm_new_password: Confirmer le nouveau mot de passe + new_password: Nouveau mot de passe + password_help: "%{minimun_characters} caractères minimum, ne doit pas être trop commun (par exemple 123456) et doit être différent de votre pseudo et de votre email." + new: + forgot_your_password: Mot de passe oublié? + send_me_reset_password_instructions: Envoyez-moi les instructions de réinitialisation du mot de passe + no_token: Vous ne pouvez pas accéder à cette page sans provenir d'un courrier électronique de réinitialisation de mot de passe. Si vous venez d'un courrier électronique de réinitialisation de mot de passe, assurez-vous d'avoir utilisé l'URL complète fournie. + send_instructions: Vous recevrez un e-mail avec des instructions pour réinitialiser votre mot de passe en quelques minutes. + send_paranoid_instructions: Si votre adresse e-mail existe dans notre base de données, vous recevrez un lien de récupération de mot de passe à votre adresse e-mail dans quelques minutes. + updated: Votre mot de passe a été changé avec succès. Vous êtes maintenant inscrit. + updated_not_active: Votre mot de passe a été changé avec succès. + registrations: + destroyed: Au revoir! Votre compte a été annulé avec succès. Nous espérons te revoir bientôt. + edit: + are_you_sure: Êtes-vous sûr? + cancel_my_account: Supprimer mon compte + currently_waiting_confirmation_for_email: 'En attente de confirmation pour: %{email}' + leave_blank_if_you_don_t_want_to_change_it: laisser vide si vous ne voulez pas le changer + title: Modifier %{resource} + unhappy: Pas satisfait ? + update: Mettre à jour + we_need_your_current_password_to_confirm_your_changes: nous avons besoin de votre mot de passe actuel pour confirmer vos modifications + new: + sign_up: S'inscrire + signed_up: Bienvenue! Vous vous êtes inscrit avec succès. + signed_up_but_inactive: Vous vous êtes inscrit avec succès. Cependant, nous ne pouvons pas vous connecter car votre compte n'est pas encore activé. + signed_up_but_locked: Vous vous êtes inscrit avec succès. Cependant, nous ne pouvons pas vous connecter car votre compte est verrouillé. + signed_up_but_unconfirmed: Un message avec un lien de confirmation a été envoyé à votre adresse e-mail. Veuillez suivre le lien pour activer votre compte. + update_needs_confirmation: Vous avez mis à jour votre compte avec succès, mais nous devons vérifier votre nouvelle adresse e-mail. S'il vous plaît vérifier votre email et suivez le lien de confirmation pour confirmer votre nouvelle adresse e-mail. + updated: Votre compte a été mis à jour avec succès. + sessions: + already_signed_out: Déconnecté(e) avec succès. + new: + sign_in: S'identifier + signed_in: Connexion réussie. + signed_out: Déconnecté(e) avec succès. + shared: + links: + back: Retour + didn_t_receive_confirmation_instructions: Vous n'avez pas reçu d'instructions de confirmation? + didn_t_receive_unlock_instructions: Si la plateforme vous indique que votre compte est bloqué, cliquez ici pour recevoir les instructions de déblocage + forgot_your_password: Mot de passe oublié? + sign_in: S'identifier + sign_in_with_provider: Se connecter avec %{provider} + sign_up: S'inscrire + minimum_password_length: + one: "(%{count} caractère minimum)" + other: "(%{count} caractères minimum)" + unlocks: + new: + resend_unlock_instructions: Renvoyer les instructions de déverrouillage + send_instructions: Vous recevrez un email avec des instructions pour débloquer votre compte en quelques minutes. + send_paranoid_instructions: Si votre compte existe, vous recevrez un email avec des instructions pour le débloquer en quelques minutes. + unlocked: Votre compte a été débloqué avec succès. Veuillez vous connecter pour continuer. + doorkeeper: + scopes: + public: Votre information publique + errors: + messages: + already_confirmed: était déjà confirmé, s'il vous plaît essayez de vous connecter + confirmation_period_expired: doit être confirmé dans les %{period}, s'il vous plaît demander un nouveau + content_type_allowlist_error: le type de fichier n'est pas valide + cycle_detected: un périmètre d'application ne peut pas être du même niveau que ses descendants + expired: a expiré, s'il vous plaît demander un nouveau + file_size_is_less_than_or_equal_to: la taille du fichier doit être inférieure ou égale à %{count} + invalid_time_zone: n'est pas un fuseau horaire valide + long_words: contient des mots trop longs (plus de 35 caractères) + must_start_with_caps: doit commencer par une majuscule + nesting_too_deep: ne peut pas être à l'intérieur d'une sous-catégorie + not_found: introuvable. Vous êtes-vous déjà inscrit ? + not_locked: n'était pas verrouillé + not_saved: + one: 'Une erreur est survenue pendant le traitement de votre requête.' + other: 'Plusieurs erreurs sont survenues pendant le traitement de votre requête.' + too_many_marks: utilise trop de signes de ponctuation consécutifs (par exemple! et?) + too_much_caps: utilise trop de lettres majuscules (plus de 25% du texte) + too_short: est trop court (moins de 15 caractères) + forms: + correct_errors: Il y a des erreurs dans le formulaire, veuillez les corriger pour continuer. + required: Champ obligatoire + required_explanation: "* Les champs obligatoires sont marqués d'un astérisque" + invisible_captcha: + sentence_for_humans: Si vous êtes humain, ignorez ce champ + timestamp_error_message: Désolé, c'était trop rapide ! Veuillez le renvoyer. + layouts: + decidim: + cookie_warning: + description_html: Ce site utilise des cookies. En continuant à parcourir le site, vous acceptez notre utilisation des cookies. En savoir plus à ce sujet %{link}. + link_label: ici + ok: '"J''accepte"' + edit_link: + edit: Modifier + footer: + cc_by_license: Licence Creative Commons + decidim_logo: Logo Decidim + download_open_data: Télécharger les fichiers Open Data + made_with_open_source: Site réalisé grâce au logiciel libre Decidim. + header: + close_menu: Fermer le menu + navigation: Navigation + sign_in: Se connecter + sign_up: S'inscrire + impersonation_warning: + close_session: Fermer la session + description_html: Vous agissez en tant que l'utilisateur %{user_name}. + expire_time_html: Votre session expirera dans %{minutes} minutes. + language_chooser: + choose_language: Choisir la langue + notifications_dashboard: + mark_all_as_read: Marquer tout comme lu + mark_as_read: Marquer comme lu + social_media_links: + facebook: "%{organization} sur Facebook" + github: "%{organization} sur GitHub" + instagram: "%{organization} sur Instagram" + twitter: "%{organization} sur Twitter" + youtube: "%{organization} sur YouTube" + timeout_modal: + body: Vous avez été inactif pendant %{minutes} minutes. Si vous continuez à être inactif, vous serez automatiquement déconnecté pour votre propre sécurité. + continue_session: Continuer la session + sign_out: Se déconnecter + title: Voulez-vous poursuivre votre session ? + user_menu: + account: 'Compte utilisateur: %{name}' + admin_dashboard: Tableau de bord des administrateurs + conversations: Conversations + notifications: Notifications + profile: Mon compte + public_profile: Mon profil public + sign_out: Déconnexion + user_profile: + account: Compte + authorizations: Autorisations + delete_my_account: Supprimer mon compte + my_data: Mes données + my_interests: Mes intérêts + notifications_settings: Paramètres des notifications + title: Paramètres utilisateur + user_groups: Groupes + widget: + see_more: Voir plus + locale: + name: Français + name_with_error: Anglais (erreur !) + password_validator: + domain_included_in_password: est trop similaire au nom de domaine de cette plateforme + email_included_in_password: est trop similaire à votre email + fallback: n'est pas valide + name_included_in_password: est trop similaire à votre nom + not_enough_unique_characters: n'a pas assez de caractères uniques + password_not_allowed: n'est pas autorisé + password_too_common: est trop commun + password_too_long: est trop long + password_too_short: est trop court + social_share_button: + delicious: Delicious + douban: Douban + email: Email + facebook: Facebook + google_bookmark: Google Bookmark + google_plus: Google+ + hacker_news: Hacker News + linkedin: Linkedin + pinterest: Pinterest + qq: Qzone + reddit: Reddit + share_to: Partager sur %{name} + telegram: Telegram + tumblr: Tumblr + twitter: Twitter + vkontakte: Vkontakte + wechat: WeChat + wechat_footer: Ouvrez WeChat, cliquez sur le bouton "Découvrir" puis cliquez sur le menu "Scanner le QR Code". + weibo: Sina Weibo + whatsapp_app: WhatsApp + whatsapp_web: WhatsApp + xing: Xing + time: + formats: + day_of_month: "%b %d" + day_of_week: "%a" + day_of_week_long: "%a %e" + day_of_year: "%d.%m.%y" + decidim_day_of_year: "%d %B %Y" + decidim_short: "%d/%m/%Y %H:%M" + default: "%d %B %Y %H h %M min %S s" + devise: + mailer: + invitation_instructions: + accept_until_format: "%B %d, %Y %I:%M %p" + long: "%A %d %B %Y %H h %M" + long_dashed: "%Y-%m-%d %H:%M:%S" + short: "%d/%m/%Y %H:%M" + time_of_day: "%H:%M" + versions: + directions: + left: Suppressions + right: Ajouts + dropdown: + choose_diff_view_html: 'Mode d''affichage HTML :' + choose_diff_view_mode: 'Sélectionner le mode de vue :' + option_escaped: Echappé + option_split: Côte à côte + option_unescaped: Non échappé + option_unified: Unifié + views: + pagination: + first: "« Première" + first_title: Lien vers la première page + last: Dernière » + last_title: Lien vers la dernière page + next: Suivant › + next_title: Lien vers la page suivante + pagination: Pagination + previous: "‹ Précédent" + previous_title: Lien vers la page précédente + title: 'Numéro de page : ' + truncate: "…" diff --git a/decidim-core/config/locales/it.yml b/decidim-core/config/locales/it.yml index 1392af86ca40c..a13e67e0548fa 100644 --- a/decidim-core/config/locales/it.yml +++ b/decidim-core/config/locales/it.yml @@ -35,6 +35,7 @@ it: decidim/profile_updated_event: profilo aggiornato decidim/promote_to_admin: Promosso ad amministratore del gruppo decidim/removed_from_group: Rimosso dal gruppo + decidim/resource_endorsed_event: Risorsa approvata activerecord: attributes: decidim/user: @@ -428,6 +429,7 @@ it: ready: Pronto show: download_data: Scarica i dati + download_data_description: Un file contenente tutte le informazioni associate al tuo account verrà inviato a %{user_email}. Questa email conterrà un file .zip e una password per aprirlo.

    Per decomprimere il file, avrai bisogno di 7-Zip (per Windows) o Keka (per MacOS). Se si utilizza Linux, la maggior parte delle volte il software predefinito è sufficiente. In caso contrario, è possibile utilizzare File Roller o PeaZip). request_data: Richiedi dati datepicker: help_text: 'Formato previsto: %{datepicker_format}' @@ -463,6 +465,8 @@ it: register: Crea un account sign_in_disabled: È possibile accedere con un account esterno sign_up_disabled: La registrazione è disabilitata, puoi accedere a un utente esistente + user: + timed_out: Sei stato inattivo per troppo tempo e sei stato automaticamente disconnesso dal servizio. Se desideri continuare a utilizzare il servizio, accedi di nuovo. shared: newsletter_modal: buttons: @@ -655,6 +659,7 @@ it: notification_title: La pagina profilo di %{name} (%{nickname}), che stai seguendo, è stata aggiornata. export_mailer: data_portability_export: + click_button: 'Clicca sul link per scaricare i tuoi dati.
    Il file sarà disponibile fino a %{date}.
    Avrai bisogno di 7-Zip (per Windows), Keka (per MacOS) o PeaZip (per Linux) per aprirlo. Password: %{password}' download: Scaricare export: ready: In allegato una versione zippata (Zip) dei dati esportati. @@ -687,6 +692,7 @@ it: create: button: Segui error: C'è stato un errore seguendo questa risorsa. + participatory_space: Stai seguendo %{resource_name} destroy: button: Smetti di seguire error: Si è verificato un errore ad smettere questa risorsa. @@ -945,6 +951,7 @@ it: show: back: Torna a tutte le conversazioni chat_with: Conversazione con + not_allowed: Questo partecipante non accetta messaggi diretti. title: Conversazione con %{usernames} start: send: Invia @@ -1015,8 +1022,10 @@ it: no_notifications: Nessuna notifica. notifications_settings: show: + administrators: Amministratori allow_public_contact: Permetti a chiunque di inviarmi un messaggio diretto, anche se non lo seguo. direct_messages: Ricevi messaggi diretti da chiunque + email_on_moderations: Voglio ricevere un'email ogni volta che qualcosa viene segnalato per la moderazione. email_on_notification: Voglio ricevere un'e-mail ogni volta che ricevo una notifica. everything_followed: Tutto ciò che seguo newsletter_notifications: Voglio ricevere le newsletter @@ -1529,6 +1538,10 @@ it: too_short: è troppo corto (meno di 15 caratteri) forms: correct_errors: Ci sono errori nel modulo, correggerli per continuare. + length_validator: + minimum: + one: Almeno %{count} carattere + other: Almeno %{count} caratteri required: Richiesto required_explanation: "* I campi obbligatori sono contrassegnati con un asterisco" invisible_captcha: @@ -1567,6 +1580,11 @@ it: instagram: "%{organization} su Instagram" twitter: "%{organization} su Twitter" youtube: "%{organization} su YouTube" + timeout_modal: + body: Sei stato inattivo per %{minutes} minuti. Se continui ad essere inattivo, sarai automaticamente disconnesso per la tua sicurezza. + continue_session: Continua la sessione + sign_out: Esci + title: Vorresti continuare la tua sessione? user_menu: account: 'Account utente: %{name}' admin_dashboard: Cruscotto per gli amministratori (Admin dashboard) diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml index 91c0f0e0b144a..e8eb94cd8b2f2 100644 --- a/decidim-core/config/locales/ja.yml +++ b/decidim-core/config/locales/ja.yml @@ -35,6 +35,7 @@ ja: decidim/profile_updated_event: プロフィールが更新されました decidim/promote_to_admin: グループ管理者に昇格しました decidim/removed_from_group: グループから削除しました + decidim/resource_endorsed_event: 支持されたリソース activerecord: attributes: decidim/user: @@ -74,10 +75,12 @@ ja: logo: "%{organization}の公式ロゴ" skip_button: メインコンテンツにスキップ account: + blocked: このアカウントは利用規約違反によりブロックされています data_portability_export: file_no_exists: ファイルが存在しません notice: データのダウンロードは現在進行中です。完了するとメールが届きます。 delete: + alert: この操作は元に戻せません。アカウントを削除すると、ログインできなくなります。 アカウントを削除すると、あなたの貢献が匿名化されます。 引き続き新しいアカウントを作成することはできますが、これらの貢献は関連付けられません。 confirm: close: ウィンドウを閉じる ok: はい、アカウントを削除します @@ -107,6 +110,8 @@ ja: delete: "%{user_name} が %{resource_name} スペースから %{space_name} コンポーネントを削除しました" publish: "%{user_name} が %{resource_name} スペースで %{space_name} コンポーネントを公開しました" unpublish: "%{user_name} は %{resource_name} スペースから %{space_name} コンポーネントを非公開にしました" + impersonation_log: + manage: "%{user_name} は %{reason} により %{resource_name} を管理しています。" moderation: hide: "%{user_name} が %{resource_type} タイプのリソースを %{space_name} スペースに隠しました" unreport: "%{user_name} は %{resource_type} タイプの %{space_name} スペースのリソースを報告していません" @@ -123,6 +128,7 @@ ja: update: "%{user_name} が組織設定を更新しました" participatory_space_private_user: create: "%{user_name} が %{resource_name} を非公開参加者に招待しました" + create_via_csv: "%{user_name} が %{resource_name} をCSV経由で非公開参加者に招待しました" delete: "%{user_name} が参加者 %{resource_name} を非公開参加者として削除しました" scope: create: "%{user_name} が %{resource_name} スコープを作成しました" @@ -136,15 +142,21 @@ ja: delete: "%{user_name} が %{resource_name} の静的ページを削除しました" update: "%{user_name} は %{resource_name} 静的ページを更新しました" user: + block: "%{user_name} がユーザー %{resource_name} をブロックしました" invite: "%{user_name} が参加者 %{resource_name} をロール %{role} で招待しました" officialize: "%{user_name} が参加者 %{resource_name} を公式化しました" + promote: "%{user_name} が %{resource_name} を昇格しました" remove_from_admin: "%{user_name} が参加者 %{resource_name} をロールで削除しました: %{role}" show_email: "%{user_name} が参加者 %{resource_name} のメールを取得しました" + transfer: "%{user_name} が参加者 %{resource_name} を移転しました" + unblock: "%{user_name} さんが %{resource_name} さんのブロックを解除しました" unofficialize: "%{user_name} が参加者 %{resource_name} を非公式にしました" user_group: reject: "%{user_name} が %{resource_name} グループの確認を拒否しました" verify: "%{user_name} がグループ %{resource_name} を確認しました" verify_via_csv: "%{user_name} がCSVファイルを介してグループ %{resource_name} を確認しました" + user_moderation: + unreport: "%{user_name} が %{resource_type} - %{unreported_user_name} の報告を解除しました" admin_terms_of_use: default_body: "

    管理者向け利用規約

    システム管理者からレクチャーを受けたと思います。通常、以下の3つのことに集約されます。

    1. 他社のプライバシーを尊重する
    2. クリックする前に考える
    3. 大きな力には大きな責任が伴う
    " alert: @@ -158,9 +170,9 @@ ja: button: '%{model_name} を修正' error: リソースの修正中にエラーが発生しました。 help_text: '%{model_name} を変更して、この %{amendable_fields} を改善しましょう。' - promote_button: '%{model_name} にプロモート' - promote_confirm_text: この承認を宣伝してもよろしいですか? - promote_help_text: この制約を宣伝し、独立した %{model_name} として公開することができます + promote_button: '%{model_name} に昇格' + promote_confirm_text: この修正を承認してもよろしいですか? + promote_help_text: この修正を昇格し、独立した %{model_name} として公開することができます section_heading: 修正履歴 (%{count}) compare_draft: continue: 続ける @@ -263,6 +275,8 @@ ja: name: 許可の例: dummy_authorization_workflow: name: ダミー認証ワークフロー + errors: + duplicate_authorization: 同じデータを持つ参加者はすでに承認されています。管理者があなたの詳細を確認するために連絡します。 expired_at: '%{timestamp} で期限切れ' expires_at: '%{timestamp} で期限切れ' foo_authorization: @@ -308,6 +322,13 @@ ja: title: メールアドレスを確認してください show: close_modal: ウィンドウを閉じる + block_user_mailer: + notify: + body_1: あなたのアカウントはブロックされました。 + body_2: '理由: %{justification}' + greetings: ようこそ、
    %{organization_name}
    %{organization_url} + hello: こんにちは、 + subject: あなたのアカウントは %{organization_name} からブロックされました collapsible_list: hidden_elements_count: other: 他 %{count} 名 @@ -355,6 +376,13 @@ ja: dummy_step_translatable_text: ダミーステップ翻訳可能なテキスト contact: お問い合わせ content_blocks: + cta: + name: 画像、テキスト、行動喚起 (CTA) ボタン + cta_settings_form: + background_image: 背景画像 + button_text: CTAテキスト + button_url: CTA URL + description: 説明 footer_sub_hero: name: フッターサブヒーローバナー hero: @@ -364,6 +392,11 @@ ja: welcome_text: ようこそテキスト highlighted_content_banner: name: 強調表示されたコンテンツバナー + highlighted_elements_settings_form: + orders: + label: '要素並べ替えのキー:' + random: ランダム + recent: 新着順 how_to_participate: name: 参加方法 html: @@ -388,6 +421,7 @@ ja: ready: 準備完了 show: download_data: データをダウンロード + download_data_description: あなたのアカウントに関連付けられたすべての情報を含むファイルを%{user_email} に送信します。このメールは.zipファイルとパスワードが添付されています。

    ファイルを展開するには、 7-Zip (Windowsユーザー向け) か Keka (MacOSユーザー向け)が必要です。Linuxをお使いの場合、すでにツールがインストールされているはずです。インストールされていない場合、 File RollerPeaZip が利用できます。 request_data: データを要求する datepicker: help_text: '期待されるフォーマット: %{datepicker_format}' @@ -397,6 +431,7 @@ ja: email_already_exists: 別のアカウントは同じメールアドレスを使用しています new: complete_profile: プロファイルを完了 + nickname_help: '%{organization} でのニックネームです。文字、数字、''-'' および ''_'' のみを使用できます。' sign_up: プロフィールを完成してください subtitle: ユーザ登録を完了するには、次のフォームに記入してください username_help: 投稿に表示される公表名。匿名性を保証する目的で、任意の名前にすることができます。 @@ -405,6 +440,7 @@ ja: already_have_an_account?: 既にアカウントをお持ちですか? newsletter: 関連するお知らせを受け取る newsletter_title: ニュースレターを受け取る + nickname_help: '%{organization} でのニックネームです。文字、数字、''-'' および ''_'' のみを使用できます。' password_help: "半角英数字%{minimun_characters}文字以上で入力してください。単純すぎてはいけません(例:123456)。アカウントIDやメールアドレスと異なる必要があります。" sign_in: ログイン sign_up: 新規登録 @@ -421,6 +457,8 @@ ja: register: アカウントを作成 sign_in_disabled: 外部アカウントでアクセスできます sign_up_disabled: ユーザ登録は無効です。既存のアカウントを使用してアクセスすることができます + user: + timed_out: 長時間非アクティブだったため、自動的にサービスからログアウトされました。 引き続きサービスをご利用になる場合、改めてログインしてください。 shared: newsletter_modal: buttons: @@ -592,6 +630,14 @@ ja: notification_title: '%{user_group_name} ユーザーグループがプロファイルを更新し、未検証のままにしました。 管理パネル で確認できるようになりました。' notification_event: notification_title: %{resource_title} にイベントが発生しました。 + reports: + resource_hidden: + email_intro: '%{report_reasons} として報告されたため、管理者が %{resource_type} を削除しました。' + email_outro: 削除されたコンテンツの作成者であるため、この通知を受け取りました。 + email_subject: '%{resource_type} が削除されました' + notification_title: |- + %{resource_type} として報告されたため、管理者が %{report_reasons} を削除しました。
    + %{resource_content} resource_endorsed: email_intro: 'あなたがフォローしている%{endorser_name} %{endorser_nickname}は、「%{resource_title}」を支持しました。私たちはあなたにとって興味深いことかもしれません。 チェックアウトして貢献:' email_outro: '%{endorser_nickname}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。' @@ -605,6 +651,7 @@ ja: notification_title: あなたがフォロー中の %{name} (%{nickname}) さんの プロフィールページ が更新されました。 export_mailer: data_portability_export: + click_button: '次のリンクをクリックするとあなたのデータがダウンロードできます。
    このファイルは %{date} まで利用できます。
    ファイルを開くには 7-Zip (Windowsユーザー向け), Keka (MacOSユーザー向け) または PeaZip (Linuxユーザー向け)等が必要です。パスワード:%{password}' download: ダウンロード export: ready: エクスポートのzipバージョンを見つけてください。 @@ -636,6 +683,7 @@ ja: create: button: フォロー error: このリソースの後に問題がありました。 + participatory_space: %{resource_name}をフォロー中 destroy: button: フォローを停止 error: リソースのフォローを解除する際に問題が発生しました。 @@ -652,6 +700,7 @@ ja: file: explanation: 'ファイルのガイダンス:' message_1: 画像またはドキュメントである必要があります。 + message_2: 画像の場合は、横長画像を使用してください。画像は自動的にトリミングされます。CSV ファイルの場合、列間の区切り文字はカンマ(",") でなければなりません。 image: explanation: '画像のガイダンス:' message_1: テキストを含まない風景画像が適しています。 @@ -731,7 +780,7 @@ ja: current_members_without_admins: '現在のメンバー (管理者なし):' manage_members: メンバーの管理 promote: - error: この参加者を宣伝する際に問題が発生しました + error: この参加者を昇格する際に問題が発生しました success: 参加者が正常に昇格しました reject: error: この参加リクエストを拒否する際に問題が発生しました @@ -893,6 +942,7 @@ ja: show: back: すべての会話に戻る chat_with: 会話 + not_allowed: この参加者はダイレクトメッセージを受け付けません。 title: '%{usernames} との会話' start: send: 送信 @@ -900,6 +950,8 @@ ja: update: error: エラーのためメッセージは送信されませんでした metrics: + download: + csv: ダウンロードデータ(CSV) followers: description: この参加スペースに従う参加者数 object: フォロワー @@ -961,8 +1013,10 @@ ja: no_notifications: まだ通知はありません。 notifications_settings: show: + administrators: 管理者 allow_public_contact: フォローしていない人からもダイレクトメッセージを受信する direct_messages: ダイレクトメッセージを受信する + email_on_moderations: モデレーションのため何か報告されるたびにメールを受信したいです。 email_on_notification: 通知を毎回メールで受け取る everything_followed: 自分がフォローしているすべて newsletter_notifications: ニュースレターを受け取る @@ -1058,6 +1112,7 @@ ja: not_allowed: このコンテンツを表示する権限がありません profile: deleted: 参加者が削除されました + inaccessible_message: このプロファイルは利用規約違反によりアクセスできません view: 表示 profiles: default_officialization_text_for_user_groups: このグループは公に検証されており、その名前は実名と一致するように検証されています @@ -1071,6 +1126,7 @@ ja: groups: グループ members: メンバー officialized: 正規参加者 + send_private_message: プライベートメッセージを送信 timeline: タイムライン view_full_profile: 全プロファイルを表示 sidebar: @@ -1098,12 +1154,15 @@ ja: report: authors: 著者 content: 報告されたコンテンツ + content_original_language: コンテンツのオリジナル言語 date: 報告日時 details: 詳細 hello: こんにちは、 %{name} さん。 + id: ID participatory_space: 参加者のスペース reason: 理由: report_html:

    次の コンテンツ が報告されました。

    + see_report: 報告を見る subject: リソースが報告されました reports: create: @@ -1172,9 +1231,18 @@ ja: description: このコンテンツは不適切ですか? does_not_belong: 違法行為、個人情報、または %{organization_name} に属していないと思われる内容が含まれています。 offensive: 差別的な内容、誹謗中傷などの不適切な内容が含まれています。 - report: レポート + report: 報告 spam: 本来の内容に関係が無い広告、詐欺や悪意のある処理などが含まれています。 title: 不適切な内容を報告する + flag_user_modal: + already_reported: このコンテンツはすでに報告されており、管理者が確認します。 + close: 閉じる + description: ユーザーに不適切なのはどの点ですか? + does_not_belong: 違法な行為、自殺の脅威、個人情報、または %{organization_name} に属していないと思われる何かが含まれています。 + offensive: 人種差別、性差別、中傷、個人攻撃、死の脅威、自殺要求や何かしらの形態のヘイトスピーチが含まれています。 + report: 報告 + spam: 虚偽情報、広告、詐欺やスクリプトボットが含まれています。 + title: 不適切なユーザーを報告 floating_help: close: ヘルプを閉じる help: ヘルプ @@ -1250,6 +1318,13 @@ ja: update: error: 更新中に問題が発生しました。 success: 興味のある情報は正常に更新されました。 + user_report_mailer: + notify: + body_1: ユーザー %{user} が %{token} によって報告されました + body_2: '理由: %{reason}' + greetings: ようこそ、
    %{organization_name}
    %{organization_url} + hello: こんにちは、 %{admin} さん。 + subject: '%{organization_name} で新しいユーザーが報告されました' version: show: back_to_resource: 戻る @@ -1405,11 +1480,11 @@ ja: update_needs_confirmation: アカウントを正常に更新しましたが、新しいメールアドレスを確認する必要があります。 メールを確認し、新しいメールアドレスを確認するためのリンクに従ってください。 updated: アカウントが正常に更新されました。 sessions: - already_signed_out: 正常にサインアウトしました。 + already_signed_out: 正常にログアウトしました。 new: sign_in: ログイン signed_in: 正常にログインしました。 - signed_out: 正常にサインアウトしました。 + signed_out: 正常にログアウトしました。 shared: links: back: 戻る @@ -1451,6 +1526,9 @@ ja: too_short: 短すぎます(15文字未満) forms: correct_errors: 下記のフォームにエラーがありました。修正して継続してください。 + length_validator: + minimum: + other: 少なくとも %{count} 文字 required: 必須項目 required_explanation: "* 必須項目にはアスタリスクが付いています" invisible_captcha: @@ -1489,6 +1567,11 @@ ja: instagram: "Instagramの%{organization}" twitter: "Twitter の %{organization}" youtube: "YouTube の %{organization}" + timeout_modal: + body: '%{minutes} 分間アクティブではありませんでした。このまま非アクティブ状態を続けると、自動的にログアウトされます。' + continue_session: セッションを続ける + sign_out: ログアウト + title: セッションを続行しますか? user_menu: account: 'ユーザーアカウント: %{name}' admin_dashboard: 管理ダッシュボード @@ -1496,7 +1579,7 @@ ja: notifications: 通知 profile: マイアカウント public_profile: 公開プロフィール - sign_out: サインアウト + sign_out: ログアウト user_profile: account: アカウント authorizations: 権限 diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index 019dfacb2510d..58fc5f157bcc1 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -471,7 +471,7 @@ pl: subtitle: Zarejestruj się, aby brać udział w dyskusjach i wspierać propozycje. terms: warunki i zasady korzystania tos_agreement: Rejestrując się, zgadzasz się na %{link}. - tos_title: Warunki korzystania z Serwisu + tos_title: Warunki korzystania z Platformy username_help: Publiczne imię wyświetlane przy Twoich wpisach. W celu zagwarantowania anonimowości może być dowolna nazwa. sessions: new: @@ -725,11 +725,11 @@ pl: file: explanation: 'Wytyczne dotyczące pliku:' message_1: Ma być obrazem lub dokumentem. - message_2: Jako obrazów używaj najlepiej krajobrazów, serwis docina obraz. Dla plików CSV separatorem kolumn musi być przecinek (",") + message_2: Jako obrazów używaj najlepiej krajobrazów, obraz jest docinany automatycznie. Dla plików CSV separatorem kolumn musi być przecinek (",") image: explanation: 'Wytyczne dotyczące obrazu:' message_1: Preferowany obraz krajobrazu, który nie zawiera żadnego tekstu. - message_2: Serwis docina obraz. + message_2: Obraz jest docinany automatycznie. file_validation: allowed_file_extensions: 'Dozwolone rozszerzenia plików: %{extensions}' max_file_size: 'Maksymalny rozmiar pliku: %{megabytes}MB' @@ -1131,8 +1131,8 @@ pl: modal_title: Czy rzeczywiście odmawiasz zaakceptowania zaktualizowanego regulaminu? required_review: alert: Zaktualizowaliśmy nasze Warunki korzystania z usługi, zapoznaj się z nimi. - body: Poświęć chwilę, aby przejrzeć aktualizacje naszych Warunków korzystania z Serwisu. W przeciwnym razie nie będziesz mógł korzystać z platformy. - title: 'Wymagane: sprawdź aktualizacje naszych warunków korzystania z serwisu' + body: Poświęć chwilę, aby przejrzeć aktualizacje naszych Warunków korzystania z Platformy. W przeciwnym razie nie będziesz mógł korzystać z platformy. + title: 'Wymagane: sprawdź aktualizacje naszych warunków korzystania z platformy' participatory_space_private_users: not_allowed: Nie możesz wyświetlać tych treści profile: diff --git a/decidim-debates/config/locales/fr-LU.yml b/decidim-debates/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..ab9cf1e97623e --- /dev/null +++ b/decidim-debates/config/locales/fr-LU.yml @@ -0,0 +1,237 @@ +fr-LU: + activemodel: + attributes: + debate: + category_id: Catégorie + closed_at: Clôturé le + conclusions: Conclusions + decidim_category_id: Catégorie + description: Description + end_time: Prend fin à + information_updates: Informations mises à jour + instructions: Instructions pour participer + start_time: Commence à + title: Titre + user_group_id: Créer un débat en tant que + models: + decidim/debates/close_debate_event: Débat terminé + decidim/debates/create_debate_event: Débat + decidim/debates/creation_disabled_event: Débats désactivés + decidim/debates/creation_enabled_event: Débats activés + activerecord: + models: + decidim/debates/debate: + one: Débat + other: Débats + decidim: + components: + debates: + actions: + create: Créer + endorse: Soutenir + name: Débats + settings: + global: + announcement: Annonce + comments_enabled: Commentaires activés + comments_max_length: Longueur max des commentaires (laisser 0 pour la valeur par défaut) + scope_id: Secteur + scopes_enabled: Secteurs activés + step: + announcement: Annonce + comments_blocked: Commentaires désactivés + creation_enabled: Création de débats par les utilisateurs activés + endorsements_blocked: Soutiens bloqués + endorsements_enabled: Soutiens activés + debates: + actions: + close: Fermer + confirm_destroy: Êtes-vous certain ? + destroy: Supprimer + edit: Modifier + new: Nouveau %{name} + title: Actions + admin: + debate_closes: + edit: + close: Fermer + title: Clore le débat + debates: + create: + invalid: Il y a eu un problème lors de la création du débat. + success: Débat créé avec succès. + destroy: + success: Débat supprimé avec succès. + edit: + title: Modifier le débat + update: Actualiser le débat + form: + debate_type: Type de débat + finite: Limité (Avec les heures de début et de fin) + open: Ouvert (pas de date de début et de fin) + index: + title: Débats + new: + create: Créer un débat + title: Nouveau débat + update: + invalid: Il y a eu un problème lors de la mise à jour de ce débat. + success: Débat mis à jour avec succès. + exports: + comments: Commentaires + models: + debate: + name: Débat + admin_log: + debate: + close: "%{user_name} a clos le débat %{resource_name} dans l'espace %{space_name}" + create: "%{user_name} a créé le débat %{resource_name} sur l'espace %{space_name}" + update: "%{user_name} a mis à jour le débat %{resource_name} sur l'espace %{space_name}" + debate_m: + commented_time_ago: Commenté il y a %{time} + debates: + close: + invalid: Une erreur s'est produite lors de la fermeture du débat. + success: Débat clos avec succès. + close_debate_modal: + close: Fermer + description: Quel est le résumé ou la conclusion de ce débat? + send: Clore le débat + closed: Fermé + count: + debates_count: + one: "%{count} débat" + other: "%{count} débats" + create: + invalid: Il y a eu un problème lors de la création de ce débat. + success: Débat créé avec succès. + debate: + participate: Participer + edit: + back: Retour + save: Enregistrer les modifications + title: Modifier le débat + filters: + activity: Mon activité + all: Tout + category: Catégorie + category_prompt: Choisir une catégorie + citizens: Citoyenne + commented: Commenté + my_debates: Mes débats + official: Officielle + origin: Origine + scope: Secteur + search: Rechercher + state: Statut + state_values: + closed: Fermé + open: Ouvert + user_groups: Groupes + filters_small_view: + close_modal: Fermer la fenêtre de dialogue + filter: Filtre + filter_by: Filtrer par + unfold: Voir la suite + form: + select_a_category: Veuillez sélectionner une catégorie + index: + new_debate: Nouveau débat + new: + back: Retour + create: Créer + title: Nouveau débat + orders: + commented: Les plus commentés + label: Trier les débats par + random: Ordre aléatoire + recent: Les plus récents + updated: Mis à jour récemment + show: + back: Retour à la liste + close_debate: Clore le débat + date: Date + debate_closed: Fermé + debate_conclusions_are: 'Le débat a été clos le %{date} avec ces conclusions:' + edit_conclusions: Modifier les conclusions + edit_debate: Modifier le débat + groups_count: Groupes + last_comment_by: Dernier commentaire par + no_comments_yet: Pas encore de commentaire + open: Ouvrir le débat + participants_count: Participants + update: + invalid: Une erreur s'est produite lors de la mise à jour du débat. + success: Débat mis à jour avec succès. + versions: + debates: + back_to_resource: Revenir au débat + index: + title: Versions + versions_list: + back_to_resource: Revenir au débat + last_activity: + debate_updated_at_html: "Débat mis à jour à %{link}" + new_debate_at_html: "Nouveau débat à %{link}" + models: + debate: + fields: + end_time: Date de fin + official_debate: Débat officiel + start_time: Date de début + title: Titre + events: + debates: + create_debate_event: + space_followers: + email_intro: |- + Salut, + Un nouveau débat «%{resource_title}» a été créée sur le %{space_title} espace participatif, vérifier et contribuer: + email_outro: Vous avez reçu cette notification parce que vous suivez l'espace participatif %{space_title}. Vous pouvez cesser de recevoir des notifications en suivant ce dernier lien. + email_subject: Nouveau débat "%{resource_title}" sur %{space_title} + notification_title: Le débat %{resource_title} a été créé le %{space_title}. + user_followers: + email_intro: |- + Bonjour, + %{author_name} %{author_nickname}, qui vous suivez, a créé un nouveau débat "%{resource_title}". Découvrez-le et contribuez: + email_outro: Vous avez reçu cette notification, car vous suivez %{author_nickname}. Vous pouvez cesser de recevoir des notifications à partir du lien précédent. + email_subject: Nouveau débat "%{resource_title}" par %{author_nickname} + notification_title: %{author_name} %{author_nickname} créé le débat %{resource_title}. + creation_disabled: + email_intro: 'La création de débat n''est plus possible dans %{participatory_space_title}. Vous pouvez toujours participer aux débats ouverts depuis cette page :' + email_outro: Vous avez reçu cette notification parce que vous suivez %{participatory_space_title}. Vous pouvez arrêter de recevoir des notifications à partir du lien précédent. + email_subject: La création de débats est désactivée dans %{participatory_space_title} + notification_title: La création de débats est maintenant désactivée dans %{participatory_space_title} + creation_enabled: + email_intro: 'Vous pouvez maintenant initier de nouveaux débats dans %{participatory_space_title}! Commencez à participer sur cette page :' + email_outro: Vous avez reçu cette notification, car vous suivez %{participatory_space_title}. Vous pouvez arrêter de recevoir des notifications à partir du lien précédent. + email_subject: Débats maintenant disponibles sur %{participatory_space_title} + notification_title: Vous pouvez maintenant initier nouveaux débats dans %{participatory_space_title} + debate_closed: + affected_user: + email_intro: 'Le débat « %{resource_title} » est fermé. Vous pouvez lire les conclusions sur cette page :' + email_outro: Vous avez reçu cet avis parce que vous êtes abonné au débat « %{resource_title} ». Vous pouvez vous désabonner depuis le lien précédent. + email_subject: Le débat "%{resource_title}" est fermé + notification_title: Le débat %{resource_title} est fermé. + follower: + email_intro: 'Le débat « %{resource_title} » est fermé. Vous pouvez lire les conclusions sur cette page :' + email_outro: Vous avez reçu cet avis parce que vous êtes abonné au débat « %{resource_title} ». Vous pouvez vous désabonner depuis le lien précédent. + email_subject: Le débat "%{resource_title}" est fermé + notification_title: Le débat %{resource_title} est fermé. + gamification: + badges: + commented_debates: + conditions: + - Choisissez un débat ouvert pour participer à + description: Ce badge est attribué lorsque vous participez activement aux différents débats en laissant vos commentaires. + description_another: Cet utilisateur a participé à %{score} débats. + description_own: Vous avez participé à %{score} débats. + name: Des débats + next_level_in: Participez à %{score} autres débats pour atteindre le prochain niveau! + unearned_another: Cet utilisateur n'a encore participé à aucun débat. + unearned_own: Vous avez déjà participé à des débats. + metrics: + debates: + description: Nombre de débats créés + object: débats + title: Débats diff --git a/decidim-debates/config/locales/ja.yml b/decidim-debates/config/locales/ja.yml index 091a198c5b67c..29be2350a0055 100644 --- a/decidim-debates/config/locales/ja.yml +++ b/decidim-debates/config/locales/ja.yml @@ -64,6 +64,10 @@ ja: edit: title: ディベートを編集 update: ディベートを更新 + form: + debate_type: ディベートタイプ + finite: 期間限定 (開始時刻と終了時刻あり) + open: 無期限 (開始時刻または終了時刻なし) index: title: ディベート new: @@ -72,6 +76,8 @@ ja: update: invalid: このディベートを更新する際に問題が発生しました。 success: ディベートが正常に更新されました。 + exports: + comments: コメント models: debate: name: ディベート @@ -150,6 +156,7 @@ ja: groups_count: グループ last_comment_by: 最新コメント no_comments_yet: コメントがありません + open: 公開ディベート participants_count: 参加者 update: invalid: ディベートの更新に問題がありました。 @@ -162,6 +169,7 @@ ja: versions_list: back_to_resource: ディベートに戻る last_activity: + debate_updated_at_html: "ディベートが %{link} に更新されました" new_debate_at_html: " %{link}での新しいディベート" models: debate: diff --git a/decidim-dev/config/locales/fr-LU.yml b/decidim-dev/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..2fda665a43e44 --- /dev/null +++ b/decidim-dev/config/locales/fr-LU.yml @@ -0,0 +1,56 @@ +fr-LU: + activemodel: + attributes: + dummy_resource: + created_at: Créé le + decidim_scope_id: Secteur + field: Champ + start_date: Date de début + title: Titre + translatable_text: Texte traduisible + updated_at: Mis à jour à + decidim: + components: + dummy: + settings: + global: + readonly_attribute: Attribut en lecture seule + test: Un test + test_choices: + a: Choix A + b: Choix B + c: Choix C + step: + endorsements_blocked: Bloquer les soutiens + endorsements_enabled: Soutiens activés + readonly_step_attribute: Attribut étape en lecture seule + dummy: + admin: + exports: + dummies: Référence de test + gamification: + badges: + test: + conditions: + - Utilisez un environnement de test pour decidim. + description: Les utilisateurs obtiennent ce badge en créant des tests. + description_another: Cet utilisateur a créé %{score} tests. + description_own: Vous avez créé %{score} tests. + name: Tests + next_level_in: Créez %{score} autres tests pour atteindre le niveau suivant ! + unearned_another: Cet utilisateur n'a pas encore créé de test. + unearned_own: Vous n'avez créé aucun test pour le moment. + pages: + home: + statistics: + bar: Seuil + dummies_count_high: Référence de test haute + dummies_count_medium: Référence de test moyenne + foo: Foo + participatory_processes: + statistics: + dummies_count_high: Référence de test haute + dummies_count_medium: Référence de test moyenne + resource_links: + test_link: + dummy_resource_dummy: Référence de test concernée diff --git a/decidim-elections/config/locales/fr-LU.yml b/decidim-elections/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..e304f8d533b0b --- /dev/null +++ b/decidim-elections/config/locales/fr-LU.yml @@ -0,0 +1,688 @@ +fr-LU: + activemodel: + attributes: + answer: + description: Description + image: Image + proposals: Propositions associées + title: Titre + election: + description: Description + end_time: Le vote se termine à + start_time: Le vote commence à + title: Titre + question: + description: Description + max_selections: Nombre maximum de sélections + min_selections: Aucune des options ci-dessus + title: Titre + voting: + end_time: Le vote se termine + start_time: Le vote commence le + errors: + models: + answer: + attributes: + attachment: + needs_to_be_reattached: Doit être téléchargé de nouveau + election: + attributes: + attachment: + needs_to_be_reattached: Doit être téléchargé de nouveau + trustee: + attributes: + name: + cant_be_changed: ne peut pas être modifié + public_key: + cant_be_changed: ne peut être modifiée + activerecord: + models: + decidim/elections/answer: + one: Réponse + other: Réponses + decidim/elections/election: + one: Élection + other: Élections + decidim/elections/question: + one: Question + other: Questions + decidim/votings/voting: + one: Vote + other: Votes + decidim: + components: + elections: + actions: + vote: Voter + name: Élections + settings: + global: + announcement: Annonce + step: + announcement: Annonce + elections: + actions: + confirm_destroy: Êtes-vous certain ? + destroy: Détruire + edit: Modifier + feedback: Feedbacks des votants + import: Importer des propositions dans les réponses + manage_answers: Gérer les réponses + manage_questions: Gérer les questions + manage_steps: Gérer les étapes + new: Nouveau %{name} + preview: Aperçu + publish: Publier + title: Actions + unpublish: Dépublier + admin: + answers: + create: + invalid: Il y a eu un problème lors de la création de cette réponse + success: Réponse créée avec succès + destroy: + invalid: Un problème est survenu lors de la suppression de cette réponse + success: Réponse supprimée avec succès + edit: + title: Modifier la réponse + update: Mettre à jour la réponse + index: + invalid_max_selections: Vous avez besoin de %{missing_answers} réponse(s) de plus pour correspondre aux sélections maximales + title: Réponses + new: + create: Créer une réponse + title: Nouvelle réponse + select: + disable: Désélectionner la réponse + enable: Marquer la réponse comme sélectionnée + invalid: Un problème est survenu lors de la sélection de cette réponse + success: Réponse sélectionnée avec succès + unselect: + invalid: Une erreur est survenue lors de la désélection de cette réponse + success: Réponse désélectionnée avec succès + update: + invalid: Un problème est survenu lors de la mise à jour de cette réponse + success: Réponse mise à jour avec succès + elections: + create: + invalid: Il y a eu un problème lors de la création de cette élection + success: Élection créée avec succès + destroy: + invalid: Il y a eu un problème lors de la suppression de cette élection + success: Élection supprimée avec succès + edit: + title: Modifier l'élection + update: Mettre à jour l'élection + index: + no_bulletin_board: Il n'y a pas de serveur Bulletin Board configuré, ce qui est nécessaire pour utiliser ce module. Cette tâche doit être effectuée par l'administrateur système. + title: Élections + new: + create: Créer une élection + title: Nouvelle élection + publish: + success: L'élection a été publiée avec succès. + unpublish: + success: L'élection a été dépubliée avec succès. + update: + invalid: Il y a eu un problème lors de la mise à jour de cette élection + success: Élection mise à jour avec succès + exports: + elections: Élections + feedback_form_answers: Feedbacks des répondants + models: + answer: + name: Réponse + election: + name: Élection + question: + name: Question + trustee: + name: Garant + proposals_imports: + create: + invalid: Un problème est survenu lors de l'importation des propositions en réponses + success: "%{number} propositions importées avec succès dans les réponses" + new: + create: Importer des propositions dans les réponses + no_components: Il n'y a pas d'autres fonctionnalités Propositions dans cet espace participatif pour importer des propositions. + select_component: Veuillez sélectionner une fonctionnalité + title: Importer des propositions + questions: + create: + invalid: Il y a eu un problème lors de la création de cette question + success: Question créée avec succès + destroy: + invalid: Un problème est survenu lors de la suppression de cette question + success: Question supprimée avec succès + edit: + title: Modifier la question + update: Mettre à jour la question + index: + title: Questions + new: + create: Créer une question + title: Nouvelle question + update: + invalid: Une erreur s'est produite lors de la mise à jour de cette question + success: Question mise à jour avec succès + steps: + create_election: + errors: + max_selections: Les questions n'ont pas de valeur correcte pour le nombre de réponses + minimum_answers: Les questions doivent avoir au moins deux réponses. + minimum_questions: L'élection doit avoir au moins une question. + published: L'élection n'est pas publiée. + time_before: L'heure de début se situemoins de 3 heures avant le commencement de l'élection. + trustees_number: L'espace participatif doit avoir au moins %{number} garants avec une clé publique. + invalid: Une erreur est survenue lors de la création de l'élection + no_trustees: Il n'y a pas de garants configurés pour cet espace participatif + not_used_trustee: "(non utilisé)" + public_key: + 'false': n'a pas de clé publique + 'true': a une clé publique + requirements: + max_selections: Toutes les questions ont une valeur correcte pour le maximum de réponses. + minimum_answers: Chaque question a au moins 2 réponses. + minimum_questions: L'élection a au moins 1 question. + published: L'élection est publiée. + time_before: La configuration est réalisée au moins %{hours} heures avant le début de l'élection. + trustees_number: L'espace participatif doit avoir au moins %{number} garants avec une clé publique. + submit: Configurer l'élection + success: Élection envoyée avec succès au Tableau de Bord + title: Configurer l'élection + trustees: Garants de l'élection + created: + invalid: Il y a eu un problème lors du démarrage de la cérémonie des clés + submit: Démarrer la cérémonie des clés + title: Élection créée + trustees: Garants + key_ceremony: + title: Cérémonie des clés + trustees: Garants + key_ceremony_ended: + errors: + time_before: L'élection est prête à commencer. Vous devez attendre %{hours} heures avant le lancement (%{start_time}) pour démarrer la période de vote. + invalid: Il y a eu un problème au démarrage de la période de vote + requirements: + time_before: L'élection va bientôt commencer. Vous pouvez démarrer la période de vote manuellement, ou elle sera démarrée automatiquement avant l'heure de départ, à %{start_time}. + submit: Commencer la période de vote + title: Prêt à commencer + processing: Traitement en cours... + results_published: + title: Résultats publiés + tally: + trustees: Garants + tally_ended: + submit: Publier les résultats + title: Résultats calculés + vote: + errors: + time_after: L'élection est toujours en cours. Vous devez attendre (%{end_time}) pour terminer la période de vote. + invalid: Un problème est survenu lors de la clôture de la période de vote + requirements: + time_after: L'élection est terminée. Vous pouvez terminer la période de vote manuellement, ou elle se terminera automatiquement dans quelques minutes. + submit: Fin de la période de vote + success: La demande de fin de la période de vote a été envoyée avec succès au Panneau d'Affichage + title: Période de vote + vote_ended: + title: Période de vote terminée + vote_stats: + no_vote_statistics_yet: Pas encore de statistiques sur le vote + title: Statistiques du vote + voters: Votants + votes: Votes + trustees_participatory_spaces: + actions: + disable: Désactiver + enable: Autoriser + create: + exists: Ce garant existe déjà dans cet espace participatif + invalid: Une erreur s'est produite lors de la création du garant + success: Le garant a bien été créé + delete: + invalid: Il y a eu un problème lors de la suppression de ce garant + success: Le garant a bien été supprimé + form: + select_user: Sélectionner un utilisateur + index: + title: Garants + new: + create: Créer un garant + title: Nouveau garant + update: + invalid: Une erreur s'est produite lors de la mise à jour du garant %{trustee} + success: Le garant %{trustee} a été mis à jour avec succès + admin_log: + election: + publish: "%{user_name} a publié l'élection %{resource_name}" + unpublish: "%{user_name} a dépublié l'élection %{resource_name}" + election_m: + badge_name: + finished: Terminées + ongoing: Active + upcoming: À venir + end_date: Se termine le + footer: + view: Voir + vote: Voter + label: + date: Dates + questions: '%{count} questions' + start_date: Début + unspecified: Non spécifié + elections: + count: + elections_count: + one: "%{count} élection" + other: "%{count} élections" + filters: + active: Actif + all: Toutes + finished: Terminées + search: Rechercher + state: Statut + upcoming: À venir + filters_small_view: + close_modal: Fermer la fenêtre de dialogue + filter: Filtrer + filter_by: Filtrer par + unfold: Voir plus + preview: + available_answers: Réponses disponibles + description: Voici les questions que vous trouverez dans le processus de vote + title: Questions de l'élection + results: + description: Ce sont les résultats du vote, pour chaque question + selected: Sélectionné + title: Résultats de l'élection + votes: + one: "%{count} vote" + other: "%{count} votes" + zero: "%{count} votes" + show: + action-button: + change-vote: Changer votre vote + vote: Commencer à voter + vote-again: Voter à nouveau + back: Élections disponibles + callout: + already-voted: Vous avez déjà voté pour cette élection. Vous pouvez modifier votre vote ou le vérifier. + vote-rejected: Il n'a pas été possible de vérifier votre vote. Veuillez recommencer. + preview: Aperçu + verify: + already-voted: Déjà voté? + verify-here: Vérifiez votre vote ici. + will-verify: Vous pourrez vérifier votre vote une fois l'élection commencée. + voting_period_status: + finished: Le vote a commencé le %{start_time} et s'est terminé le %{end_time} + ongoing: 'Vote actif jusqu''au : %{end_time}' + upcoming: Le vote commence le %{start_time} + feedback: + answer: + invalid: Un problème est survenu lors de l'envoi de votre feedback. + spam_detected: Une erreur s'est produite lors de la complétion du formulaire. Peut-être êtes-vous allés trop vite, pouvez-vous réessayer? + success: Votre avis a bien été envoyé. + models: + answer: + fields: + proposals: Propositions + title: Titre + election: + fields: + end_time: Prend fin à + start_time: Commence à + title: Titre + question: + fields: + answers: Réponses + max_selections: Nombre maximum de sélections + title: Titre + trustees_participatory_space: + fields: + considered: autorisé + email: Email + inactive: inactif + name: Nom + notification: Notification envoyée à + public_key: Clé publique + status: Statut + orders: + label: Trier les élections par + older: Les plus anciens + recent: Les plus récents + trustee_zone: + elections: + backup_modal: + description: Cette élection est en cours de création dans le Tableau d'Affichage. Il est très important que chaque Mandataire qui y participe fasse une sauvegarde de ces clés et les stocke dans un endroit sûr. Ensuite, le processus se poursuit. + download_election_keys: Télécharger les clés + download_icon: Icône indiquant une action de téléchargement + title: Sauvegarder les clés d'élection pour %{election} + key_ceremony_steps: + back: Retour + description: Cette élection est en cours de création dans le Tableau d'Affichage. Pour compléter ce processus, votre participation en tant que Mandataire est nécessaire. + keys: + create_election: Génération des clés + key_ceremony: + joint_election_key: Génération de la clé conjointe + step_1: Publication des clés + list: + status: Statut + task: Tâche + process_warning: Une fois le processus démarré, vous ne devriez pas quitter cette page avant la fin du processus. Cela prendra plusieurs minutes, car tous les Mandataires doivent être connectés pour le compléter. + start: Démarrer + start_icon: Icône indiquant un bouton de démarrage pour démarrer la génération des clés d'élection + status: + completed: Terminé + pending: En attente + processing: Traitement en cours + title: Créer des clés d'élection pour %{election} + restore_modal: + description: Le Tableau d'Affichage a des informations pour vous en temps que Mandataire de cette élection. Pour continuer le processus, commencer par télécharger le fichier de sauvegarde généré pendant la session précédente. + title: Restaurer les clés d'élection pour %{election} + upload_election_keys: Télécharger les clés d'élection + upload_icon: Icône indiquant une action de téléchargement + tally_steps: + back: Retour + description: Les résultats de cette élection sont calculés dans le Bulletin Board et pour compléter ce processus, votre participation en tant que garant est nécessaire. + list: + status: Statut + task: Tâche + process_warning: Une fois le processus démarré, vous ne devriez pas quitter cette page avant la fin du processus. Cela prendra plusieurs minutes, car tous les garants doivent être connectés pour le compléter. + start: Démarrer + start_icon: Icône indiquant un bouton de démarrage pour démarrer la génération des clés d'élection + status: + completed: Terminé + pending: En attente + processing: Traitement en cours + update: + error: Le statut de l'élection n'a pas été mis à jour. + success: 'Le statut de l''élection est : %{status}' + menu: + trustee_zone: Espace de garant + trustees: + show: + elections: + list: + action_required: + 'false': 'Non' + name: Action requise ? + 'true': Effectuer l'action + bb_status: Statut + election: Élection + voting_period: Période de vote + no_elections: Il n'y a pas d'élections dans lesquelles vous êtes garant. + title: Élections + identification_keys: + cancel: Annuler + generate: Générer les clés d'identification + generate_error: Une erreur s'est produite lors de la génération des clés d'identification. + generate_legend: Vous devez générer une paire de clés d'identification pour participer aux élections en tant que garant. + generate_legend_1: Après avoir cliqué sur le bouton, le téléchargement du fichier contenant les clés d'identification générées va commencer. + generate_legend_2: Copiez le fichier téléchargé sur un périphérique USB fiable + generate_legend_3: Assurez-vous que votre ordinateur ne possède pas de copie du fichier (par exemple, vérifiez les dossiers Téléchargements et Bureau). + generate_legend_4: Faites une autre copie du fichier sur un appareil externe et conservez-le dans un endroit très sûr. + submit: Envoyer + submit_legend: Après avoir suivi toutes les étapes expliquées ci-dessus, complétez le processus d'envoi de la clé d'identification publique au serveur Decidim. + submit_title: Soumettre la clé d'identification publique + title: Clés d'identification du garant + upload: Téléchargez vos clés d'identification + upload_error: + invalid_format: Le fichier téléchargé ne contient pas de clé d'identification. + invalid_key: Impossible de charger les clés d'identification à partir du fichier téléchargé. + invalid_public_key: Les clés d'identification dans le fichier téléchargé ne correspondent pas à la clé d'identification publique stockée par Decidim. + upload_legend: Decidim a vos clés d'identification publiques, mais votre navigateur ne l'a toujours pas. Vous devez importer le fichier avec vos clés d'identification sur votre ordinateur à partir de la sauvegarde que vous avez créée après leur génération. + not_supported_browser_description: On dirait que vous utilisez un navigateur Web qui ne peut pas être utilisé pour agir en tant que garant. Assurez-vous d'utiliser la version la plus récente de votre navigateur, ou essayez d'utiliser l'un des navigateurs les plus populaires pour accomplir vos tâches de garant. + not_supported_browser_title: Mettre à niveau le navigateur pour agir en tant que garant + trustee_role_description: Vous avez été assigné à agir en tant que garant lors de certaines des élections mises en place sur cette plateforme. + update: + success: Votre clé d'identification publique a bien été stockée. + votes: + confirm: + answer: Répondre + answer_number: répondre à %{number} + confirm: Valider + edit: éditer + header: Confirmer votre vote + intro: Voici un résumé du vote que vous êtes sur le point d'envoyer.
    Veuillez confirmer votre vote ou modifier vos réponses. + nota_option: Vide + question: Question %{count} + confirmed: + back: Retour aux élections + experience: Comment a été votre expérience? + feedback: Donnez-nous votre avis + header: Vote confirmé + lead: Votre vote a déjà été exprimé! + text: 'Vous pouvez vérifier que votre vote a bien été ajouté aux urnes avec l''identifiant suivant : %{e_vote_poll_id}' + encrypting: + header: Encodage du vote... + text: Votre vote est en cours de cryptage pour vous assurer que vous pouvez le diffuser de manière anonyme. + failed: + header: Le vote a échoué + lead: Votre vote n'a pas été exprimé! + text: Une erreur est survenue, veuillez réessayer. + header: + confirm: Confirmer votre vote + confirmed: Vote confirmé + encrypting: Confirmation du vote + messages: + not_allowed: Vous n'êtes pas autorisé à voter sur cette élection pour le moment. + modal: + close: Fermer + proposal_header: 'Propositions:' + new: + answer_choices: Vous pouvez sélectionner jusqu'à %{choices} réponses + more_information: Plus d'informations + nota_option: Vide / Aucune des options ci-dessus + preview_alert: Ceci est un aperçu de la cabine de vote. + question_steps: Question %{current_step} sur %{total_steps} + selections: "%{selected} sur %{max_selections}
    sélections" + processing: + header: Traitement du vote... + text: Votre vote a été reçu et est en cours de traitement. Veuillez patienter. + update: + error: Un problème est survenu lors de la mise à jour du statut de vote + success: Statut du vote mis à jour avec succès + verify: + content: + heading: Vérifiez votre vote + error: + header: Vote introuvable ! + voting_step: + back: Retour + continue: Suivant + warnings: + no_elections_warning: Aucune élection ne correspond à vos critères de recherche ou aucune élection n'est programmée. + no_scheduled_elections_warning: À l'heure actuelle, il n'y a pas d'élections programmées, mais vous trouverez ici toutes les élections passées. + events: + elections: + election_published: + email_intro: 'L''élection %{resource_title} est maintenant active pour %{participatory_space_title}. Vous pouvez la voir sur cette page :' + email_outro: Vous avez reçu cette notification parce que vous suivez %{participatory_space_title}. Vous pouvez arrêter de recevoir des notifications en suivant le lien précédent. + email_subject: L'élection %{resource_title} est maintenant active pour %{participatory_space_title}. + notification_title: L'élection de %{resource_title} est maintenant active pour %{participatory_space_title}. + trustees: + new_election: + email_intro: Vous avez été ajouté en tant que garant pour l'élection %{resource_title}. + email_outro: Vous avez reçu cette notification parce que vous avez été ajouté comme garant de l'élection "%{resource_title}". + email_subject: Vous avez été ajouté en tant que garant pour l'élection %{resource_title}. + notification_title: Vous êtes garant de l'élection %{resource_title}. + new_trustee: + email_intro: Un administrateur vous a ajouté en tant que garant de %{resource_name}. Vous devriez créer votre clé publique dans votre espace de garant + email_outro: Vous avez reçu cette notification parce que vous avez été ajouté comme garant de l'élection "%{resource_name}". + email_subject: Vous avez été ajouté en tant que garant pour l'élection %{resource_name}. + notification_title: Vous êtes garant de %{resource_name}. + help: + participatory_spaces: + votings: + contextual: "

    Une élection est un espace qui vous permet de poser une question claire à toutes les personnes formant une organisation, d'appeler à participer à l'élection, à susciter et organiser le débat pour ou contre une réponse. Lorsque la date de l'élection arrive, vous pouvez voter et publier les résultats des votes.

    Exemples : Les élections peuvent porter sur presque n'importe quel aspect qui affecte une organisation : changer le nom, le logo en offrant plusieurs alternatives, décider ou non de d'intégrer une organisation plus grande, valider ou rejeter un nouveau plan stratégique ou le résultat d'un groupe de travail, choisir la limitation à 1,2 ou 3 mandatures.

    \n" + page: "

    Une élection est un espace qui vous permet de poser une question claire à toutes les personnes formant une organisation, d'appeler à participer à l'élection, à susciter et organiser le débat pour ou contre une réponse. Lorsque la date de l'élection arrive, vous pouvez voter et publier les résultats des votes.

    Exemples : Les élections peuvent porter sur presque n'importe quel aspect qui affecte une organisation : changer le nom, le logo en offrant plusieurs alternatives, décider ou non de d'intégrer une organisation plus grande, valider ou rejeter un nouveau plan stratégique ou le résultat d'un groupe de travail, choisir la limitation à 1,2 ou 3 mandatures.

    \n" + title: Que sont les élections ? + menu: + votings: Élections + pages: + home: + statistics: + elections_count: Élections + participatory_processes: + statistics: + elections_count: Élections + votings: + admin: + content_blocks: + highlighted_votings: + max_results: Nombre maximum d'éléments à afficher + index: + not_published: Non publié + published: Publié + menu: + votings: Élections + votings_submenu: + attachment_collections: Dossiers + attachment_files: Fichiers + attachments: Pièces jointes + info: Information + polling_stations: Bureaux de vote + models: + polling_station: + fields: + address: Adresse + title: Titre + name: Bureau de vote + voting: + fields: + created_at: Créée le + promoted: Mise en avant + published: Publié + title: Titre + polling_stations: + create: + invalid: Une erreur est survenue lors de la création de ce bureau de vote + success: Le bureau de vote a été créée avec succès + destroy: + invalid: Une erreur est survenue lors de la suppression de ce bureau de vote + success: Le bureau de vote a bien été supprimé + edit: + title: Modifier le bureau de vote + update: Mettre à jour le bureau de vote + form: + address_help: 'L''adresse entrée est utilisée par le géocodage pour trouver l''emplacement et afficher la réunion sur la carte. Format accepté : [rue] [code postal] [ville]' + location_help: 'Lieu : message adressé aux électeurs informant du lieu exact du bureau de vote' + location_hints_help: 'Indices de localisation : informations complémentaires. Par exemple : l''étage du bâtiment où se trouve le bureau de vote.' + index: + title: Bureaux de vote + new: + create: Créer + title: Créer un bureau de vote + update: + invalid: Une erreur est survenue lors de la mise à jour de ce bureau de vote + success: Le bureau de vote a bien été mis à jour + titles: + votings: Élections + votings: + actions: + confirm_destroy: Êtes-vous sûr(e) ? + destroy: Supprimer + new_voting: Nouvel espace de vote + publish: Publier + unpublish: Dépublier + create: + invalid: Une erreur s'est produite lors de la création de cette élection + success: Élection créée avec succès + edit: + assign_missing_officers: Il reste des bureaux de votes sans président et/ou accesseurs. Veuillez lier ces derniers à partir de la section Bureaux de votes + update: Mettre à jour + form: + slug_help: 'Les identifiants d''URL sont utilisés pour générer les URL qui renvoient vers cette élection. Ils ne contiennent que des lettres, des chiffres et des tirets et doivent commencer par une lettre. Exemple : %{url}' + title: Titre + new: + create: Créer + title: Nouvelle élection + publish: + success: Élection publiée avec succès + unpublish: + success: Élection publiée avec succès + update: + invalid: Une erreur s'est produite lors de la mise à jour de cette élection + success: Élection mise à jour avec succès + admin_log: + voting: + create: "%{user_name} a créé l'élection %{resource_name}" + publish: "%{user_name} a publié l'élection %{resource_name}" + unpublish: "%{user_name} a annulé la publication de l'élection %{resource_name}" + content_blocks: + highlighted_votings: + name: Élections remarquables + pages: + home: + highlighted_votings: + active_votings: Votations en cours + see_all_votings: Voir toutes les votations + votings_button_title: Lien vers la page Votations où toutes les votations sont affichées + polling_officer_zone: + polling_officers: + show: + polling_stations: + list: + actions: Actions + address: Adresse + name: Nom + title: Bureaux de vote + polling_stations: + actions: + confirm_destroy: Êtes-vous sûr(e) ? + destroy: Supprimer + edit: Modifier + new: Nouveau + title: Actions + votings: + count: + title: + one: "%{count} élection" + other: "%{count} élections" + filters: + active: Actifs + all: Tous + finished: Terminées + search: Rechercher + state: Statut + upcoming: À venir + filters_small_view: + close_modal: Fermer la fenêtre de dialogue + filter: Filtrer + filter_by: Filtrer par + unfold: Dérouler + index: + no_votings: Aucun vote ne correspond à votre recherche. + only_finished: À l'heure actuelle, il n'y a pas de votes planifiés, mais vous trouverez ici une liste de tous les votes passées. + title: Votations + orders: + label: 'Trier les votations par:' + random: Aléatoire + recent: Les plus récentes + show: + dates: Dates + votings_m: + badge_name: + finished: Passées + ongoing: En cours + upcoming: À venir + footer_button_text: + participate: Participer + view: Voir + vote: Voter + unspecified: Non précisées + voting_type: + hybrid: Hybride + in_person: En présentiel + online: En ligne + voting_types_label: Type de vote + layouts: + decidim: + election_votes_header: + exit: Quitter + votings: + index: + promoted_votings: Votations remarquables + promoted_voting: + more_info: Plus d'informations + vote: Voter diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index f0781bd7fe967..41b2d4997f0e9 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -135,6 +135,14 @@ ja: update: invalid: この質問の更新中に問題が発生しました success: 問題が正常に更新されました + steps: + create_election: + not_used_trustee: "(未使用)" + public_key: + 'false': 公開鍵がありません + 'true': 公開鍵があります + tally_ended: + title: 結果を集計しました admin_log: election: publish: "%{user_name} が %{resource_name} 選挙を公開しました" @@ -169,8 +177,28 @@ ja: filter: 絞り込み filter_by: 絞り込み条件 unfold: 展開 + preview: + available_answers: 利用可能な回答 + description: これらは投票プロセスで見つける質問です + results: + description: これらは、各質問に対する投票の結果です + votes: + one: "%{count} 票" + other: "%{count} 票" + zero: "%{count} 票" show: + action-button: + change-vote: 投票の変更 + vote: 投票の開始 + vote-again: 再投票 + callout: + already-voted: すでにこの選挙に投票しました。投票の変更と確認ができます。 + vote-rejected: 投票を確認できませんでした。もう一度お試しください。 preview: プレビュー + verify: + already-voted: すでに投票しましたか? + verify-here: 投票を確認してください。 + will-verify: 選挙が開始されると、投票を確認することができます。 voting_period_status: finished: '%{start_time} に投票が開始され、 %{end_time} に終了しました' upcoming: '%{start_time} に投票が終了します' @@ -210,6 +238,7 @@ ja: question: 質問 %{count} confirmed: back: 選挙に戻る + error: 申し訳ありませんが、投票の確認中にエラーが発生しました。もう一度投票してください。 experience: ご利用いただき、どう思われますか? feedback: フィードバックを送る header: 投票が確定されました @@ -234,6 +263,12 @@ ja: preview_alert: これは投票ブースのプレビューです。 question_steps: '%{current_step} / %{total_steps} の質問' selections: "%{selected} / %{max_selections}
    の選択" + processing: + header: 投票を処理しています... + text: 投票を受け付けました。しばらくお待ちください。 + update: + error: 投票ステータスの更新中に問題が発生しました + success: 投票ステータスを更新しました voting_step: back: 戻る continue: 次へ @@ -255,12 +290,23 @@ ja: statistics: elections_count: 選挙 votings: + admin: + menu: + votings_submenu: + monitoring_committee_members: 監視委員会 polling_officer_zone: polling_officers: show: + actions: + count_votes: 投票箱の投票数をカウント + identify_person: 本人確認と本人確認を行う + polling_officer_role_description: あなたは、このプラットフォームで行われるいくつかの選挙で、投票所の責任者(長またはマネージャー) として行動するように割り当てられています。 polling_stations: list: actions: アクション + role: あなたの役割 + voting: 投票 + no_polling_stations: まだどの投票所にも割り当てられていません。 layouts: decidim: election_votes_header: diff --git a/decidim-forms/config/locales/fr-LU.yml b/decidim-forms/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..d9166f29c109e --- /dev/null +++ b/decidim-forms/config/locales/fr-LU.yml @@ -0,0 +1,178 @@ +fr-LU: + activemodel: + attributes: + answer: + body: Répondre + choices: Choix + selected_choices: Choix sélectionnés + question: + max_choices: Nombre maximum de choix + question_type: Type + questionnaire_question: + mandatory: Obligatoire + max_characters: Limite de caractères (laisser à 0 si aucune limite) + errors: + models: + answer: + attributes: + add_documents: + needs_to_be_reattached: Doit être téléchargé de nouveau + body: + too_long: est trop long + choices: + missing: ne sont pas complets + too_many: sont trop nombreux + questionnaire: + request_invalid: Il y a eu une erreur lors du traitement de la demande. Veuillez réessayer + decidim: + forms: + admin: + models: + components: + description: La description + tos: Conditions d'utilisation + questionnaires: + actions: + back: Retour aux questions + show: Afficher les réponses + answer_option: + answer_option: Option de réponse + free_text: Texte libre + remove: Retirer + statement: Déclaration + answers: + actions: + back: Retour aux réponses + export: Exporter + show: Afficher les réponses + empty: Pas encore de réponses + export: + answer: + title: 'Réponse n°%{number}' + export_response: + title: réponses_utilisateur_sondage_%{token} + index: + title: "%{total} réponses totales" + show: + title: 'Réponse n°%{number}' + display_condition: + answer_option: Option de réponse + condition_question: Question + condition_type: Condition + condition_types: + answered: Répondu + equal: Égale + match: Inclus le texte + not_answered: Non répondu + not_equal: Différent de + condition_value: Texte comprenant + display_condition: Condition d'affichage + mandatory: Cette condition doit toujours être satisfaite indépendamment du statut des autres conditions + remove: Retirer + save_warning: N'oubliez pas d'enregistrer le formulaire avant de configurer les conditions d'affichage + select_answer_option: Sélectionnez l'option de réponse + select_condition_question: Sélectionnez une question + select_condition_type: Sélectionnez un type de condition + edit: + save: sauvegarder + title: Modifier le questionnaire + form: + add_question: Ajouter une question + add_separator: Ajouter un séparateur + already_answered_warning: Certains utilisateurs ont déjà répondu au questionnaire, vous ne pouvez donc pas modifier ses questions. + collapse: Réduire toutes les questions + expand: Développer toutes les questions + preview: Aperçu + title: Modifier le questionnaire pour %{questionnaire_for} + unpublished_warning: Le formulaire n'est pas publié. Vous pouvez modifier ses questions, mais cela supprimera les réponses actuelles. + matrix_row: + matrix_row: Ligne + remove: Retirer + statement: Déclaration + question: + add_answer_option: Ajouter une option de réponse + add_display_condition: Ajouter une condition d'affichage + add_display_condition_info: Enregistrer le formulaire pour configurer les conditions d'affichage + add_matrix_row: Ajouter une ligne + any: Tout + collapse: Réduire + description: Description + down: Descendre + expand: Déveloper + question: Question + remove: Retirer + statement: Déclaration + up: Monter + separator: + down: Bas + remove: Retirer + separator: Séparateur + up: Haut + update: + invalid: Il y a eu des erreurs lors de la sauvegarde du questionnaire. + success: Le questionnaire a bien été sauvegardé. + errors: + answer: + body: Le corps ne peut pas être vide + files: + extension_allowlist: 'Formats acceptés :' + images: + dimensions: "%{width} x %{height} px" + dimensions_info: 'Cette image sera :' + processors: + resize_and_pad: Redimensionné et ajustée à + resize_to_fit: Redimensionnée pour s'adapter + question_types: + files: Fichiers + long_answer: Longue réponse + matrix_multiple: Matrice (choix multiples) + matrix_single: Matrice (choix unique) + multiple_option: Option multiple + short_answer: Réponse courte + single_option: Option unique + sorting: Tri + questionnaires: + answer: + invalid: Il y a eu des erreurs en répondant au questionnaire. + max_choices_alert: Il y a trop de choix sélectionnés + success: Questionnaire répondu avec succès. + question: + max_choices: 'Choix maximum: %{n}' + show: + answer_questionnaire: + anonymous_user_message: Connectez-vous avec votre compte ou inscrivez-vous pour répondre au questionnaire. + title: Répondez au questionnaire + current_step: Étape %{step} + of_total_steps: de %{total_steps} + questionnaire_answered: + body: Vous avez déjà répondu à ce questionnaire. + title: Déjà répondu + questionnaire_closed: + body: Le questionnaire est fermé et vous ne pouvez pas y répondre. + title: Questionnaire fermé + questionnaire_for_private_users: + body: Le questionnaire est disponible uniquement pour les utilisateurs privés + title: Questionnaire fermé + questionnaire_js_disabled: + body: Certaines des fonctionnalités de ce formulaire seront désactivées. Pour améliorer votre expérience, veuillez activer JavaScript dans votre navigateur. + title: JavaScript est désactivé + questionnaire_not_published: + body: Ce formulaire n'est pas encore publié. + tos_agreement: En participant, vous acceptez ces conditions d'utilisation + step_navigation: + show: + are_you_sure: Cette action ne peut pas être annulée et vous ne pourrez pas modifier vos réponses. Êtes-vous sûr? + back: Revenir en arrière + continue: Continuer + submit: Soumettre + user_answers_serializer: + body: Répondre + completion: Fin + created_at: Répondu le + id: ID de réponse + ip_hash: Hachage IP + question: Question + registered: Enregistré + session_token: Identifiant de l'utilisateur + unregistered: Non enregistré + user_status: Statut de l'utilisateur diff --git a/decidim-forms/config/locales/ja.yml b/decidim-forms/config/locales/ja.yml index cc58af5cb6263..3c5cfd91ee96d 100644 --- a/decidim-forms/config/locales/ja.yml +++ b/decidim-forms/config/locales/ja.yml @@ -3,15 +3,22 @@ ja: attributes: answer: body: 回答 + choices: 選択項目 + selected_choices: 選択した項目 question: max_choices: 選択肢の最大数 question_type: タイプ questionnaire_question: mandatory: Mandatory + max_characters: 文字数制限 (制限がない場合は0にしてください) errors: models: answer: attributes: + add_documents: + needs_to_be_reattached: 再添付が必要 + body: + too_long: 長すぎます choices: missing: は完全ではありません too_many: 多すぎます @@ -116,6 +123,7 @@ ja: resize_and_pad: リサイズおよびパッド先 resize_to_fit: フィットするようにリサイズしました question_types: + files: ファイル long_answer: 長い回答 matrix_multiple: マトリクス (複数オプション) matrix_single: マトリクス(シングルオプション) diff --git a/decidim-forms/config/locales/pl.yml b/decidim-forms/config/locales/pl.yml index 258db3b47462b..8080589b5c1e7 100644 --- a/decidim-forms/config/locales/pl.yml +++ b/decidim-forms/config/locales/pl.yml @@ -30,7 +30,7 @@ pl: models: components: description: Opis - tos: Warunki korzystania + tos: Warunki uczestnictwa questionnaires: actions: back: Powrót do pytań @@ -158,7 +158,7 @@ pl: title: JavaScript jest wyłączony questionnaire_not_published: body: Ten formularz nie został jeszcze opublikowany. - tos_agreement: Biorąc udział akceptujesz Warunki korzystania z serwisu + tos_agreement: Biorąc udział akceptujesz Warunki korzystania z Platformy step_navigation: show: are_you_sure: Tego działania nie można cofnąć i nie będzie można edytować odpowiedzi. Jesteś pewny? diff --git a/decidim-initiatives/config/locales/fr-LU.yml b/decidim-initiatives/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..52dd799f0d60e --- /dev/null +++ b/decidim-initiatives/config/locales/fr-LU.yml @@ -0,0 +1,617 @@ +fr-LU: + activemodel: + attributes: + initiative: + decidim_user_group_id: Auteur + description: Description + offline_votes: Votes en présentiel + offline_votes_for_scope: Signatures en personne pour %{scope_name} + scope_id: Secteur + signature_end_date: Fin de la période de collecte des signatures + signature_start_date: Début de la période de collecte des signatures + signature_type: Type de collecte des signatures + signature_type_values: + any: Mixte + offline: En présentiel + online: En ligne + state: Etat + title: Titre + initiatives_committee_member: + user: Membre du Comité de promotion + initiatives_type: + area_enabled: Permettre aux auteurs de choisir le périmètre d'application pour leur initiative + attachments_enabled: Autoriser les pièces jointes + banner_image: Image d'en-tête + child_scope_threshold_enabled: Autoriser les signatures par sous-secteur + collect_user_extra_fields: Collecter les données personnelles de l'utilisateur lors de la signature + custom_signature_end_date_enabled: Permettre aux auteurs de choisir la fin de la période de collecte des signatures + description: Description + document_number_authorization_handler: Niveau d'autorisation nécessaire pour signer les initiatives de ce type d'initiative + extra_fields_legal_information: Informations juridiques sur la collecte de données personnelles + minimum_committee_members: Minimum de membres du comité + online_signature_enabled: Signature en ligne activée + only_global_scope_enabled: Autoriser uniquement la création d'initiatives de portée globale + promoting_committee_enabled: Activer les comités de promotion sur ce type d'initiative (témoin. s dont l'invitation par l'auteur est obligatoire pour la validation de l'initiative si cette fonctionnalité est activée) + title: Titre + undo_online_signatures_enabled: Autoriser les utilisateurs à annuler leurs signatures en ligne + validate_sms_code_on_votes: Ajouter une étape de validation du code SMS au processus de signature + initiatives_vote: + date_of_birth: Date de naissance + document_number: Numéro de document + name_and_surname: Nom et surnom + postal_code: Code postal + organization_data: + address: Adresse + id_document: Document d'identité + name: Nom complet + errors: + models: + initiative: + attributes: + attachment: + file: Le fichier n'est pas valide + needs_to_be_reattached: Doit être téléchargé de nouveau + title: Le titre ne doit pas être vide + activerecord: + models: + decidim/initiative: + one: Initiative + other: Initiatives + decidim/initiative_comittee: + one: Comité + other: Comités + decidim/initiative_vote: + one: Signature + other: Signatures + decidim: + admin: + actions: + new_initiative_type: Nouveau type d'initiative + filters: + initiatives: + decidim_area_id_eq: + label: Périmètre d'assemblée + state_eq: + label: État + values: + accepted: Assez de signatures + created: Créée + discarded: Rejetée + published: Publiée + rejected: Pas assez de signatures + validating: Validation technique + type_id_eq: + label: Type d'initiative + search_placeholder: + title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Rechercher %{collection} par titre, description, ID ou nom de l'auteur. + menu: + initiatives: Initiatives + initiatives_types: Types d'initiatives + models: + initiatives: + fields: + created_at: Créé à + id: ID + published_at: Publiée à + state: État + supports_count: Signatures + title: Initiatives + initiatives_type_scope: + fields: + scope: Secteur + supports_required: Signatures requises + name: Secteur du type d'initiative + initiatives_types: + fields: + created_at: Créé à + title: Types d'initiative + name: Type d'initiative + initiatives_votes: + fields: + date_of_birth: Date de naissance + document_number: Numéro de document + hash: Hash + initiative_end_date: Date de fin + initiative_id: ID d'initiative + initiative_signatures_count: Nombre de signatures + initiative_start_date: Date de début + initiative_title: Titre de l'initiative + name_and_surname: Nom et surnom + postal_code: Code postal + scope: Secteur + time_and_date: Heure et date + timestamp: Horodatage + titles: + initiatives: Initiatives + initiatives_types: Types d'initiative + events: + initiatives: + admin: + initiative_sent_to_technical_validation: + email_intro: L'initiative "%{resource_title}" a été envoyée pour validation technique. Consultez-la sur le panneau d'administration, + email_outro: Vous avez reçu cette notification parce que vous êtes un administrateur de la plateforme. + email_subject: L'initiative "%{resource_title}" a été envoyée pour validation technique. + notification_title: L'initiative "%{resource_title}" a été envoyée pour validation technique. Consultez-la sur le panneau d'administration, + initiative_extended: + email_intro: La date de fin du recueil des signatures pour l'initiative %{resource_title} a été prolongée ! + email_outro: Vous avez reçu cette notification parce que vous suivez %{resource_title}. Vous pouvez arrêter de recevoir des notifications à partir du lien précédent. + email_subject: La date de fin du recueil des signatures pour l'initiative est prolongée ! + notification_title: La date de fin de recueil des signatures pour l'initiative %{resource_title} a été prolongée. + initiative_sent_to_technical_validation: + email_intro: La pétition "%{resource_title}" a été envoyée à la validation technique. Consultez-la sur le panneau d'administration + email_outro: Vous avez reçu cette notification parce que vous êtes un administrateur de la plateforme. + email_subject: La pétition "%{resource_title}" a été envoyée à la validation technique. + notification_title: La pétition "%{resource_title}" a été envoyée à la validation technique. Consultez-la sur le panneau d'administration + milestone_completed: + affected_user: + email_intro: Votre initiative %{resource_title} a atteint %{percentage}% de signatures! + email_outro: Vous avez reçu cette notification car vous êtes l'auteur de l'initiative %{resource_title}. + email_subject: Nouvelle étape franchie ! + notification_title: Votre initiative %{resource_title} a atteint les %{percentage}% de signatures. + follower: + email_intro: L'initiative %{resource_title} a atteint %{percentage}% des signatures requises ! + email_outro: Vous avez reçu cette notification parce que vous suivez %{resource_title}. Vous pouvez cesser de recevoir des notifications en suivant le lien précédent. + email_subject: Nouvelle étape franchie ! + notification_title: L'initiative %{resource_title} a atteint les %{percentage}% de signatures. + support_threshold_reached: + email_intro: La pétition %{resource_title} a atteint le seuil de signatures + email_outro: Vous avez reçu cette notification parce que vous êtes un administrateur de la plateforme. + email_subject: Seuil des signatures atteint + notification_title: La pétition %{resource_title} a atteint le seuil de signatures + gamification: + badges: + initiatives: + conditions: + - Accéder à l'espace Initiatives + - Suivez les étapes pour créer une nouvelle initiative + description: Ce badge vous est attribué lorsque vous lancez de nouvelles initiatives, en partenariat avec d’autres pour les mener à bien. + description_another: Ce participant a publié %{score} initiatives. + description_own: Vous avez publié %{score} initiatives. + name: Initiatives publiées + next_level_in: Obtenez %{score} autres initiatives publiées pour atteindre le niveau supérieur! + unearned_another: Cet utilisateur n'a pas encore publié d'initiative. + unearned_own: Vous n'avez pas encore publié d'initiative. + help: + participatory_spaces: + initiatives: + contextual: "

    Une initiative est une proposition qui peut être favorisée par toute personne de leur propre initiative (indépendamment des autres canaux ou espaces de participation) grâce à la collecte de signatures (numériques) pour l'organisation de mener une action spécifique (modifier un règlement, initier un projet, changer le nom d’un département ou d’une rue, etc.).

    Les promoteurs d'une initiative peuvent définir ses objectifs, rassembler un soutien, débattre, la diffuser et définir des points de rencontre où des signatures peuvent être collectées auprès des participants ou des débats ouverts à d'autres participants.

    Exemples: Une initiative peut collecter des signatures pour organiser une consultation de toutes les personnes d'une organisation, pour créer ou réunir une assemblée, ou pour lancer un processus d'augmentation budgétaire pour un territoire ou une zone de l'organisation. Au cours du processus de collecte des signatures, davantage de personnes peuvent ajouter à cette demande et la transmettre à l’organisation.

    \n" + page: "

    Une initiative est une proposition qui peut être promue par n'importe qui de sa propre initiative (indépendamment des autres canaux ou espaces de participation) grâce à la collecte de signatures (numériques) permettant à l'organisation de réaliser une action spécifique (modifier un règlement, initier un projet , changez le nom d’un département ou d’une rue, etc.).

    Les promoteurs d'une initiative peuvent définir ses objectifs, rassembler un soutien, débattre, la diffuser et définir des points de rencontre où des signatures peuvent être collectées auprès des participants ou des débats ouverts à d'autres participants.

    Exemples: Une initiative peut collecter des signatures pour organiser une consultation de toutes les personnes d'une organisation, pour créer ou réunir une assemblée, ou pour lancer un processus d'augmentation budgétaire pour un territoire ou une zone de l'organisation. Au cours du processus de collecte de signatures, davantage de personnes peuvent ajouter à cette demande et la transmettre à l’organisation.

    \n" + title: Comment fonctionnent les initiatives ? + initiatives: + actions: + answer: Réponse + admin: + answers: + edit: + answer: Réponse + title: Répondez pour %{title} + info_initiative: + created_at: Créé à + description: Description + initiative_votes_count: Nombre de votes + initiatives: Initiatives + state: Etat + committee_requests: + index: + approve: Approuver + confirm_revoke: Êtes-vous certain ? + invite_to_committee_help: Partagez ce lien pour inviter d'autres utilisateurs au Comité de promotion + no_members_yet: Il n'y a pas encore de membres dans le Comité de promotion + revoke: Révoquer + title: Membres du comité de promotion + content_blocks: + highlighted_initiatives: + max_results: Quantité maximale d'éléments à afficher + order: + default: Défaut (moins récent) + label: 'Trier l''élément par :' + most_recent: Les plus récentes + exports: + initiatives: Initiatives + initiatives: + edit: + accept: Accepter l'initiative + confirm: Êtes-vous sûr(e) ? + confirm_send_to_technical_validation: Êtes-vous sûr(e) ? + discard: Dépublier l'initiative + export_pdf_signatures: Exporter PDF des signatures + export_votes: Exporter la liste des votes + reject: Rejeter l'initiative + send_to_technical_validation: Envoyer à la validation technique + success: L'initiative a été envoyée à la validation technique + update: Mettre à jour + form: + attachments: Pièces jointes + settings: Paramètres + title: Informations générales + index: + actions_title: Action + preview: Aperçu + print: Impression + initiative_attachments: + documents: Documents + edit: Modifier + new: Nouvelle + photos: Photos + show: + print: Impression + update: + error: Une erreur est survenue + success: L'initiative a été mise à jour avec succès + initiatives_type_scopes: + create: + error: Une erreur s'est produite + success: Un nouveau secteur a été créé pour ce type d'initiative + destroy: + success: Le secteur a été supprimé avec succès + edit: + back: Retour + confirm_destroy: Êtes-vous certain ? + destroy: Supprimer + title: Modifier le secteur de ce type d'initiative + update: Mettre à jour + new: + back: Retour + create: Créer + title: Créer un type de secteur pour les initiatives + update: + error: Une erreur s'est produite + success: Le secteur a été mis à jour avec succès + initiatives_types: + create: + error: Une erreur s'est produite + success: Un nouveau type d'initiative a été créé avec succès + destroy: + success: Le type d'initiative a été supprimé avec succès + edit: + confirm_destroy: Êtes-vous certain ? + destroy: Supprimer + update: Mettre à jour + form: + authorizations: Paramètres d'autorisation + child_scope_threshold_enabled_help: 'Cette option de configuration ne gère pas les votes hors-ligne, elle permet d''activer des sous-secteurs et fonctionne avec un gestionnaire d''autorisation qui associe un secteur à l''utilisateur. Assurez-vous de sélectionner une telle autorisation dans les paramètres d''autorisation ci-dessous. Pour que cela fonctionne, les secteurs doivent être configurées de manière hiérarchique : 1 Parent - N Enfants. Pour plus d''informations sur le fonctionnement de cette configuration, cliquez ici.' + only_global_scope_enabled_help: Cochez cette case si vous avez activé "Autoriser les signatures par sous-secteur" et configuré la portée globale comme votre portée parente. En activant cette option, la sélection du type d'initiative sera ignorée dans l'assistant de création d'initiative. Pour plus d'informations sur le fonctionnement de cette configuration, voir ce lien. + options: Paramètres + title: informations générales + initiative_type_scopes: + title: Secteurs pour ce type d'initiative + new: + create: Créer + title: Nouveau type d'initiative + update: + error: Une erreur s'est produite + success: Le type d'initiative a été mis à jour avec succès + admin_log: + initiative: + publish: "%{user_name} a publié l'initiative %{resource_name}" + send_to_technical_validation: "%{user_name} a envoyé l'initiative %{resource_name} à la validation technique" + unpublish: "%{user_name} a dépublié l'initiative %{resource_name}" + update: "%{user_name} a mis à jour l'initiative %{resource_name}" + admin_states: + accepted: Assez de signatures + created: Créée + discarded: Retirée + published: Publiée + rejected: Pas assez de signatures + validating: Validation technique + application_helper: + filter_area_values: + all: Tout + filter_scope_values: + all: Tout + filter_state_values: + accepted: Assez de signatures + all: Tout + answered: Répondu + closed: Fermées + open: Ouvrir + rejected: Pas assez de signatures + filter_type_values: + all: Tout + committee_requests: + approve: + success: La demande a été approuvée. + new: + continue: Continuer + help_text: Vous êtes sur le point de demander à devenir membre du Comité de promotion de cette initiative + revoke: + success: La demande a été révoquée. + spawn: + success: Votre demande a été envoyée à l'auteur de l'initiative. + content_blocks: + highlighted_initiatives: + name: Initiatives mises en avant + create_initiative: + fill_data: + back: Retour + continue: Continuer + fill_data_help: "
    • Vérifier le contenu de votre pétition : le titre est-il facile à comprendre ? L'objectif de votre pétition est-il clair ?
    • Vous devez choisir le type de signature : en présentiel, en ligne ou une combinaison des deux
    • Quelle est le secteur géographique de l'initiative ?
    " + initiative_type: Type d'initiative + more_information: "(Plus d'informations)" + select_area: Sélectionnez une zone + select_scope: Sélectionnez une portée + finish: + back: Retour + back_to_initiatives: Retour à l'index des initiatives + callout_text: Bravo ! Votre pétition a été créée avec succès. + confirm: Vous allez envoyer la pétition à un administrateur pour qu'il la consulte et la publie. Une fois publiée, vous ne serez plus en mesure de l'éditer. Êtes-vous sûr que votre pétition est prête ? + edit_my_initiative: Modifier mon initiative + go_to_my_initiatives: Consulter mes initiatives + more_information: "(Plus d'informations)" + send_my_initiative: Envoyer mon initiative pour la validation technique + finish_help: + access_reminder: Vous pouvez accéder à vos pétitions via le filtre %{link} sur la page Pétitions. + publish_helper_text: N'oubliez pas que pour que votre pétition soit publiée, vous devez compléter les informations requises et l'envoyer à la validation technique pour qu'un administrateur puisse l'examiner. + previous_form: + back: Retour + continue: Continuer + help: En quoi consiste l'initiative ? Saisissez son titre et sa description. Nous recommandons un titre court et synthétique et une description axée sur la solution proposée. + more_information: "(Plus d'informations)" + promotal_committee: + back: Retour + individual_help_text: Ce type de pétition nécessite un Comité de promotion composé d’au moins %{committee_size} personnes (garants). Pour réunir un comité de promotion, partagez le lien suivant aux personnes que vous souhaitez. Lorsque ces personnes recevront ce lien, elles devront suivre les étapes indiquées. + more_information: "(Plus d'informations)" + select_initiative_type: + back: Retour + choose_html: Je veux créer un %{title} + more_information: "(Plus d'informations)" + select: Créer une initiative + select_initiative_type_help: Les pétitions sont un moyen par lequel les participants peuvent intervenir afin que l'organisation puisse entreprendre des actions en faveur de l'intérêt général. Quelle pétition voulez-vous lancer? + share_committee_link: + continue: Continuer + invite_to_committee_help: Lien pour inviter des personnes à faire partie du Comité de promotion + show_similar_initiatives: + back: Retour + compare_help: Si l'une des initiatives suivantes est similaire à la vôtre, nous vous encourageons à l'appuyer. Votre proposition aura ainsi plus de possibilités de se réaliser. + continue: Mon initiative est différente + more_information: "(Plus d'informations)" + edit: + accept: Accepter la pétition + back: Retour + confirm: Êtes-vous sûr(e) ? + discard: Rejeter l'initiative + export_pdf_signatures: Exporter le PDF des signatures + export_votes: Exporter les signatures + reject: Rejeter la pétition + title: Modifier la pétition + update: Mettre à jour + events: + approve_membership_request: + email_intro: "%{author_nickname} a accepté votre candidature pour faire partie du comité de promotion de la pétition %{resource_title}." + email_outro: 'Vous avez reçu cette notification parce que vous avez demandé à faire partie du comité de promotion de cette pétition: %{resource_title}' + email_subject: "%{author_nickname} a accepté votre demande de rejoindre le comité de promotion" + notification_title: %{author_nickname} a accepté votre candidature pour faire partie du comité de promotion de la pétition suivante %{resource_title}. + create_initiative_event: + email_intro: "%{author_name} %{author_nickname}, que vous suivez, a créé une nouvelle initiative, lisez -la et contribuez :" + email_outro: Vous avez reçu cette notification, car vous suivez %{author_nickname}. Vous pouvez arrêter de recevoir des notifications à partir du lien précédent. + email_subject: Nouvelle initiative de %{author_nickname} + notification_title: L'initiative %{resource_title} a été créée par %{author_name} %{author_nickname}. + endorse_initiative_event: + email_intro: "%{author_name} %{author_nickname}, que vous suivez, a soutenu l'initiative suivante; vous pouvez y contribuer si vous le souhaitez :" + email_outro: Vous avez reçu cette notification parce que vous suivez %{author_nickname}. Vous pouvez arrêter de recevoir des notifications à partir du lien précédent. + email_subject: Initiative soutenue par %{author_nickname} + notification_title: L'initiative%{resource_title} a été soutenue par %{author_name} %{author_nickname}. + revoke_membership_request: + email_intro: "%{author_nickname} a accepté votre candidature pour faire partie du comité de promotion de la pétition %{resource_title}." + email_outro: 'Vous avez reçu cette notification parce que vous avez demandé à rejoindre cette pétition : %{resource_title}.' + email_subject: "%{author_nickname} a rejeté votre candidature au comité de promotion" + notification_title: %{author_nickname} a rejeté votre candidature pour faire partie du comité de promotion de la pétition suivante %{resource_title}. + spawn_committee_request_event: + email_intro: "%{applicant_nickname} a postulé pour faire partie du comité de promotion de votre pétition %{resource_title}. Pour accepter ou rejeter la demande, allez dans le formulaire de modification de votre initiative." + email_outro: 'Vous avez reçu cette notification car vous êtes l''auteur de cette pétition : %{resource_title}' + email_subject: "%{applicant_nickname} veut rejoindre le comité de promotion de votre pétition" + notification_title: %{applicant_nickname} a postulé pour faire partie du comité de promotion de votre pétition %{resource_title}. Pour accepter ou rejeter la demande, cliquez ici. + form: + add_attachments: Pièces-jointes + attachment_legend: "(Facultatif) Ajouter une pièce jointe" + delete_attachment: Supprimer + index: + title: Initiatives + initiative_signatures: + fill_personal_data: + continue: Continuer + date_select: + day: journée + month: Mois + year: Année + help: S'il vous plaît, remplissez les champs suivants avec vos données personnelles pour signer l'initiative + finish: + back_to_initiative: Retour à l'initiative + sms_code: + continue: Vérifier le code et continuer + help: Vérifiez les SMS reçus sur votre téléphone + sms_phone_number: + continue: Envoyez moi un SMS + help: Remplissez le formulaire avec votre numéro de téléphone vérifié pour demander votre code de vérification + initiative_votes: + create: + error: Il y a eu des erreurs lors de la signature de l'initiative. + invalid: Les données fournies pour signer l'initiative ne sont pas valides + success_html: Toutes nos félicitations! L'initiative %{title} a été signée correctement + personal_data: + invalid: Les données personnelles ne correspondent pas aux données fournies pour autorisation. + sms_code: + invalid: Votre code de vérification ne correspond pas au nôtre. Veuillez vérifier le SMS que nous vous avons envoyé. + sms_phone: + invalid: Le numéro de téléphone est invalide ou en attente d'autorisation. S'il vous plaît, vérifiez vos autorisations. + initiatives: + author: + deleted: Supprimé + author_list: + hidden_authors_count: + one: et 1 autre personne + other: et %{count} autres personnes + committee_members: + approve: Accepter + confirm_revoke: Êtes-vous sûr(e) ? + invite_to_committee_help: Partagez ce lien pour inviter d'autres utilisateurs au Comité de promotion + no_members_yet: Il n'y a pas encore de membres dans le Comité de promotion + revoke: Révoquer + title: Membres du Comité de promotion + count: + title: + one: "%{count} initiative" + other: "%{count} initiatives" + filters: + any: Tout + area: Zone + author: Auteur + myself: Mes initiatives + scope: Périmètre + search: Rechercher + state: État + type: Type + filters_small_view: + close_modal: Fermer la fenêtre + filter: Filtre + filter_by: Filtrer par + unfold: Voir la suite + index_header: + new_initiative: Nouvelle initiative + not_authorized: + authorizations_page: Voir les autorisations + close: Fermer + explanation: Vous devez être vérifié pour créer une nouvelle initiative. + title: Autorisation requise + initiatives: + closed_initiatives_warning: À l'heure actuelle, il n'y a pas de pétitions publiées, mais vous trouverez ici une liste de toutes les pétitions fermées. + no_initiatives_warning: Aucune initiative ne correspond à vos critères de recherche. + interactions: + comments_count: + count: + one: Commentaire + other: commentaires + orders: + label: 'Trier les initiatives par :' + most_commented: Les plus commentées + most_voted: Les plus soutenues + random: Aléatoire + recent: Les plus récentes + recently_published: Plus récemment publié + print: + address: Adresse + author_title: Auteur de la pétition + city: Ville + email: Email + full_name: Nom Complet + general_title: Demande d'admission d'une pétition + id_number: Numéro du document d'identification + initiative: + attachments: Documentation jointe (veuillez écrire le nom de chaque document ci-dessous) + description: 'Description :' + title: 'Titre :' + type: Type de pétition + legal_text: Les données personnelles recueillies seront incorporées et traitées de façon confidentielle par l'organisation, conformément à la législation en vigueur. + phone_number: Numéro de téléphone + place_date: Lieu, Date + postal_code: Code Postal/ZIP + print: Imprimer + province: Province/état + section: 'Si l''organisme le demande, veuillez imprimer et remplir ce formulaire pour soumettre si indiqué:' + signature: Signature + result: + answer_title: Cette initiative a reçu une réponse + initiative_rejected_reason: Cette initiative a été rejetée car elle n'a pas atteint le nombre de signatures requis dans le délai de collecte. + show: + any_vote_method: Cette pétition recueille des signatures en ligne ainsi qu'en présentiel. + confirm: Vous allez envoyer la pétition à un administrateur pour qu'il la consulte et la publie. Une fois publiée, vous ne serez plus en mesure de l'éditer. Êtes-vous sûr que votre pétition est prête ? + edit: Modifier + follow_description: Recevoir une notification lorsqu'il y a des actualités sur cette initiative + offline_method: Cette pétition ne recueille que des signatures en présentiel. + print: Imprimer la pétition + send_to_technical_validation: Envoyer à la validation technique + signatures_count: + one: " signature" + other: " signatures" + vote_cabin: + already_voted: Déjà signée + supports_required: "%{total_supports} signatures requises" + verification_required: Vérifiez votre compte pour signer l'initiative + vote: Signer + votes_blocked: Signatures désactivées + votes_count: + count: + one: Signature + other: Signatures + most_popular_initiative: Initiative la plus populaire + need_more_votes: Besoin de plus de signatures + initiatives_mailer: + creation_subject: Votre initiative '%{title}' a été créée + initiative_link: + check_initiative_details: Vous pouvez accéder aux détails de l'initiative + here: ici + more_information: Vous trouverez ici plus d'informations sur le processus de création d'une initiative. + progress_report_body_for: L'initiative %{title} a atteint %{percentage}% des soutiens requis. + progress_report_for: 'Résumé de l''initiative : %{title}' + promotal_committee_help: Rappelez-vous que vous devez inviter au moins %{member_count} personnes au Comité de promotion. Envoyez le lien suivant pour les inviter + status_change_body_for: 'Le statut de l''initiative %{title} a été changé pour : %{state}' + status_change_for: L'initiative %{title} a changé de statut + last_activity: + new_initiative: Nouvelle initiative + pages: + home: + highlighted_initiatives: + active_initiatives: Initiatives actives + see_all_initiatives: Voir toutes les initiatives + show: + badge_name: + accepted: Assez de signatures + created: Créé le + discarded: Retirée + published: Publié + rejected: Pas assez de signatures + validating: Validation technique + states: + accepted: Acceptées + expired: Expirées + unavailable_scope: Portée indisponible + update: + error: Une erreur est survenue + success: La pétition a été mise à jour avec succès + versions: + shared: + back_to_resource: Retour à l'initiative + menu: + initiatives: Initiatives + resources: + initiatives_type: + actions: + title: Actions + vote: Vote + layouts: + decidim: + admin: + initiative: + attachments: Pièces jointes + committee_members: Membres du comité de promotion + components: Fonctionnalités + information: Informations + initiative_creation_header: + back: Retour + fill_data: Complétez votre initiative + finish: Publiez votre initiative + previous_form: Créez votre initiative + promotal_committee: Comité de promotion + select_initiative_type: Sélectionnez le type de d'initiative + show_similar_initiatives: Comparez avec les autres initiatives + step: Étape %{current} de %{total} + title: Créer une nouvelle initiative + initiative_header: + initiative_menu_item: Initiative + initiative_signature_creation_header: + back: Retour + fill_personal_data: Complétez vos données + finish: terminer + finished: Initiative signée avec succès + see_steps: voir les étapes + select_identity: Sélectionner une identité + sms_code: Vérification du code SMS + sms_phone_number: numéro de téléphone portable + step: Étape %{current} sur %{total} + title: Signer %{initiative_title} + initiatives: + initiative: + check: Découvrez l'initiative + check_and_support: Découvrez l'initiative et signez-la + no_initiatives_yet: + no_initiatives_yet: Aucune initiative pour le moment ! diff --git a/decidim-initiatives/config/locales/ja.yml b/decidim-initiatives/config/locales/ja.yml index b3b1a7d91fcba..0672e96462350 100644 --- a/decidim-initiatives/config/locales/ja.yml +++ b/decidim-initiatives/config/locales/ja.yml @@ -31,7 +31,7 @@ ja: minimum_committee_members: 委員の最小数 online_signature_enabled: オンライン署名は有効です only_global_scope_enabled: グローバルスコープの取り組みの作成のみを許可する - promoting_committee_enabled: プロモーション委員会を有効にする + promoting_committee_enabled: 推進委員会を有効にする title: タイトル undo_online_signatures_enabled: 参加者がオンライン署名を取り消すことを有効にする validate_sms_code_on_votes: 署名プロセスにSMSコード検証ステップを追加 @@ -125,15 +125,20 @@ ja: initiatives: admin: initiative_sent_to_technical_validation: - email_intro: イニシアチブ %{resource_title}" が技術的な検証に送信されました。 管理者パネル で確認してください。 + email_intro: イニシアチブ %{resource_title}" が技術的な検証に提出されました。 管理者パネル で確認してください。 email_outro: あなたはプラットフォームの管理者であるため、この通知を受け取りました。 - email_subject: イニシアチブ %{resource_title}" は技術的な検証に送信されました。 - notification_title: イニシアチブ %{resource_title}" が技術的な検証に送信されました。 管理者パネル で確認してください。 + email_subject: イニシアチブ %{resource_title}" は技術的な検証に提出されました。 + notification_title: イニシアチブ %{resource_title}" が技術的な検証に提出されました。 管理者パネル で確認してください。 initiative_extended: email_intro: イニシアチブ %{resource_title} の署名の終了日が延長されました! email_outro: '%{resource_title}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。' email_subject: イニシアティブ署名の終了日を延長しました! notification_title: %{resource_title} イニシアチブの署名の終了日が延長されました。 + initiative_sent_to_technical_validation: + email_intro: イニシアチブ %{resource_title}" が技術的検証に提出されました。 管理者パネル で確認してください。 + email_outro: あなたはプラットフォームの管理者であるため、この通知を受け取りました。 + email_subject: イニシアチブ %{resource_title}" は技術的検証に提出されました。 + notification_title: イニシアチブ %{resource_title}" が技術的検証に提出されました。 管理者パネル で確認してください。 milestone_completed: affected_user: email_intro: あなたのイニシアチブ %{resource_title} は署名の %{percentage}%を達成しました! @@ -146,7 +151,10 @@ ja: email_subject: 新しいマイルストーンが完了しました! notification_title: %{resource_title} イニシアチブは署名の %{percentage}%を達成している。 support_threshold_reached: + email_intro: イニシアチブ %{resource_title} は署名のしきい値に達しました email_outro: あなたはプラットフォームの管理者であるため、この通知を受け取りました。 + email_subject: 署名のしきい値に達しました + notification_title: %{resource_title} イニシアチブは署名のしきい値に達しました gamification: badges: initiatives: @@ -184,25 +192,30 @@ ja: index: approve: 承認 confirm_revoke: よろしいですか? - invite_to_committee_help: このリンクを共有して他の参加者をプロモーター委員会に招待します - no_members_yet: プロモーター委員会にメンバーがいません。 + invite_to_committee_help: このリンクを共有して他の参加者を推進委員会に招待します + no_members_yet: 推進委員会にメンバーがいません。 revoke: Revoke title: 委員会メンバー content_blocks: highlighted_initiatives: max_results: 表示する要素の最大量 + order: + default: デフォルト (最近のもの) + label: 'ソートする要素:' + most_recent: 新着順 exports: initiatives: イニシアチブ initiatives: edit: accept: 取り組みを承認する confirm: よろしいですか? + confirm_send_to_technical_validation: 本当によろしいですか? discard: イニシアチブを破棄する export_pdf_signatures: 署名の PDF をエクスポート export_votes: 署名をエクスポート reject: イニシアチブを拒否する - send_to_technical_validation: 技術検証に送る - success: このイニシアチブは技術検証に送信されました + send_to_technical_validation: 技術検証に提出する + success: このイニシアチブは技術検証に提出されました update: 更新 form: attachments: 添付ファイル @@ -253,6 +266,7 @@ ja: update: 更新 form: authorizations: 認証設定 + child_scope_threshold_enabled_help: 'この設定では、対面での署名収集をサポートせず、サブスコープの署名フラグを有効にし、スコープとユーザーを関連付ける承認ハンドラと連携します。オーソリゼーションの設定で、下記のオーソリゼーションを必ず選択してください。これが機能するためには、1つのスコープ - N個のサブスコープというように、階層的に構成されている必要があります。この設定がどのように機能するかについては、このリンクを参照してください。' only_global_scope_enabled_help: '「子スコープ署名」を有効にし、グローバルスコープを親スコープとして設定する場合、このフラグをチェックします。 これを有効にすると、取り組み作成ウィザードで取り組みタイプの選択がスキップされます。 この設定の仕組みについての詳細は、この リンク を参照してください。' options: オプション title: 一般情報 @@ -267,7 +281,7 @@ ja: admin_log: initiative: publish: "%{user_name} が %{resource_name} イニシアチブを公開しました" - send_to_technical_validation: "%{user_name} が %{resource_name} イニシアチブを技術的な検証に送信しました" + send_to_technical_validation: "%{user_name} が %{resource_name} イニシアチブを技術的検証に提出しました" unpublish: "%{user_name} が %{resource_name} イニシアチブを破棄しました" update: "%{user_name} が %{resource_name} のイニシアチブを更新しました" admin_states: @@ -292,9 +306,13 @@ ja: filter_type_values: all: すべて committee_requests: + approve: + success: リクエストが承認されました。 new: continue: 続ける - help_text: このイニシアチブのプロモーター委員会のメンバーになることを要求しようとしています + help_text: このイニシアチブの推進委員会のメンバーになることを要求しようとしています + revoke: + success: リクエストが取り消されました。 spawn: success: あなたのリクエストはイニシアチブの作成者に送信されました。 content_blocks: @@ -304,6 +322,7 @@ ja: fill_data: back: 戻る continue: 続ける + fill_data_help: "
    • イニシアチブの内容を確認しましょう。タイトルはわかりやすいでしょうか? イニシアチブの目的は明確でしょうか?
    • 署名の種別を選択する必要があります。対面署名、オンライン署名、または両方の組み合わせのいずれかです。
    • イニシアチブの地理的範囲はどうなりますか?
    " initiative_type: イニシアティブの種類 more_information: "(詳細)" select_area: エリアを選択 @@ -311,8 +330,15 @@ ja: finish: back: 戻る back_to_initiatives: イニシアチブに戻る + callout_text: おめでとうございます!あなたのイニシアチブが問題なく作成されました。 + confirm: イニシアチブを提出し、管理者がレビューして公開することになります。一度公開すると編集できなくなりますが、よろしいですか? + edit_my_initiative: 自分のイニシアチブを編集 go_to_my_initiatives: 私のイニシアチブに移動 more_information: "(詳細)" + send_my_initiative: 自分のイニシアチブを技術検証に提出 + finish_help: + access_reminder: イニシアチブには、「イニシアチブ」ページの「%{link}」フィルターからアクセスできます。 + publish_helper_text: イニシアチブを公開するためには、必要な情報を記入し、技術検証に提出して管理者に確認してもらう必要があることを覚えておいてください。 previous_form: back: 戻る continue: 続ける @@ -320,21 +346,38 @@ ja: more_information: "(詳細)" promotal_committee: back: 戻る + individual_help_text: この種類のイニシアチブでは、少なくとも%{committee_size} のメンバー(証人) で構成される推進委員会が必要です。以下のリンクを、この取り組みに参加している他の人々と共有する必要があります。あなたの連絡先がこのリンクを受け取ったら、指示された手順に従う必要があります。 more_information: "(詳細)" select_initiative_type: back: 戻る choose_html: %{title} を作成したい more_information: "(詳細)" select: 私はこのイニシアチブを推進したいです + select_initiative_type_help: イニシアチブとは、一般的な利益を守るために組織が行動を起こすよう、参加者が介入するための手段です。 どのようなイニシアチブを立ち上げたいですか? share_committee_link: continue: 続ける - invite_to_committee_help: プロモーター委員会に参加する人を招待するためのリンク + invite_to_committee_help: 推進委員会に参加する人を招待するためのリンク show_similar_initiatives: back: 戻る compare_help: 以下のイニシアチブのいずれかがあなたのものと似ている場合は、署名することをお勧めします。あなたの提案には、より多くの可能性があります。 continue: 私のイニシアチブは異なる more_information: "(詳細)" + edit: + accept: イニシアチブを承認する + back: 戻る + confirm: 本当によろしいですか? + discard: イニシアチブを破棄する + export_pdf_signatures: 署名の PDF をエクスポート + export_votes: 署名をエクスポート + reject: イニシアチブを拒否する + title: イニシアチブを編集する + update: 更新する events: + approve_membership_request: + email_intro: "%{author_nickname} は、%{resource_title} イニシアチブの推進委員会に参加するあなたの申請を承認しました。" + email_outro: 'この通知を受け取ったのは、イニシアチブ %{resource_title} に応募したためです。' + email_subject: "%{author_nickname} が推進委員会への申請を承認しました" + notification_title: %{author_nickname} は、以下のイニシアチブ %{resource_title} のための推進委員会の一員となるためのあなたの申請を承認しました。 create_initiative_event: email_intro: "あなたがフォローしている%{author_name} %{author_nickname}が新しいイニシアチブを作成しました。チェックして貢献してください:" email_outro: '%{author_nickname}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。' @@ -345,6 +388,20 @@ ja: email_outro: '%{author_nickname}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。' email_subject: '%{author_nickname} によって支持されたイニシアチブ。' notification_title: %{resource_title} イニシアチブは、 %{author_name} %{author_nickname} によって承認されました。 + revoke_membership_request: + email_intro: "%{author_nickname} は、以下のイニシアチブ %{resource_title} の推進委員会に参加する申請を拒否しました。" + email_outro: 'この通知を受け取ったのは、イニシアチブ %{resource_title} に応募したためです。' + email_subject: "%{author_nickname} が推進委員会への申請を拒否しました" + notification_title: %{author_nickname} は、以下のイニシアチブ %{resource_title} のための推進委員会の一員となるためのあなたの申請を拒否しました。 + spawn_committee_request_event: + email_intro: "%{applicant_nickname} は、あなたのイニシアチブの推進委員会 %{resource_title} への参加を希望しました。リクエストを承認または拒否するには、イニシアチブの編集フォームに進んでください。" + email_outro: 'この通知を受け取ったのは、イニシアチブ %{resource_title} の作成者だからです。' + email_subject: "%{applicant_nickname} があなたのイニシアチブに参加しようとしています" + notification_title: %{applicant_nickname} があなたのイニシアチブの推進委員会に申請しました %{resource_title}. 受け入れるか拒否するには ここをクリックしてください。 + form: + add_attachments: ドキュメント + attachment_legend: "(オプション) 添付ファイルを追加" + delete_attachment: 削除 index: title: イニシアチブ initiative_signatures: @@ -380,6 +437,13 @@ ja: author_list: hidden_authors_count: other: '%{count} 人以上' + committee_members: + approve: 承認 + confirm_revoke: 本当によろしいですか? + invite_to_committee_help: このリンクを共有して他の参加者を推進委員会に招待します + no_members_yet: 推進委員会にメンバーがいません。 + revoke: 取り消し + title: 委員会メンバー count: title: other: "%{count} のイニシアチブ" @@ -419,11 +483,37 @@ ja: recent: 直近のもの recently_published: 直近に公開 print: + address: 住所 + author_title: イニシアチブの作成者 city: 市区町村名 + email: Eメールアドレス + full_name: フルネーム + general_title: イニシアチブの承認申請 + id_number: ID 番号 + initiative: + attachments: 添付ドキュメント(各ドキュメントの名前を以下に記入してください) + description: '説明:' + title: 'タイトル:' + type: イニシアチブの種別 + legal_text: 収集された個人データは、現行の法律に基づき、組織によって機密情報として取り扱われます。 + phone_number: 電話番号 + place_date: 場所、日付 + postal_code: 郵便番号 + print: 印刷 + province: 都道府県/州 + section: '組織から要求された場合、印刷した紙に必要事項を記入して、指定の場所に送信してください:' + signature: 署名 result: + answer_title: このイニシアチブは回答されました initiative_rejected_reason: このイニシアチブは、署名がないために拒否されました。 show: + any_vote_method: このイニシアチブは、オンラインと対面の署名の両方を収集します。 + confirm: イニシアチブを提出し、管理者がレビューして公開することになります。一度公開すると編集できなくなりますが、よろしいですか? + edit: 編集 follow_description: このイニシアチブでニュースがある場合に通知を受け取る + offline_method: このイニシアチブは、 In-personal 署名のみを収集します。 + print: イニシアチブを印刷 + send_to_technical_validation: 技術検証に提出する signatures_count: other: " 署名" vote_cabin: @@ -445,7 +535,7 @@ ja: more_information: ここでは、イニシアチブの作成プロセスについての詳細情報があります。 progress_report_body_for: '%{title} が必要な署名の %{percentage}%に達しました。' progress_report_for: 'イニシアチブの概要: %{title}' - promotal_committee_help: 少なくとも %{member_count} 人をプロモーター委員会に招待する必要があります。プロモーター委員会に招待するには、次のリンクを進めてください。 + promotal_committee_help: 少なくとも %{member_count} 人をプロモーター委員会に招待する必要があります。推進委員会に招待するには、次のリンクを進めてください。 status_change_body_for: 'イニシアチブ %{title} がステータスを %{state}に変更しました' status_change_for: イニシアチブ %{title} のステータスが変更されました last_activity: @@ -467,6 +557,9 @@ ja: accepted: 承認済み expired: 期限切れ unavailable_scope: 利用できないスコープ + update: + error: エラーが発生しました + success: イニシアチブが正常に更新されました versions: shared: back_to_resource: イニシアチブに戻る @@ -490,7 +583,7 @@ ja: fill_data: 作成 finish: 完了 previous_form: 開始 - promotal_committee: プロモーター委員会 + promotal_committee: 推進委員会 select_initiative_type: 選択 show_similar_initiatives: 比較 step: '%{current} / %{total}' @@ -511,6 +604,6 @@ ja: initiatives: initiative: check: ご確認ください - check_and_support: サインアウトしてください + check_and_support: ログアウトしてください no_initiatives_yet: no_initiatives_yet: まだイニシアチブがありません! diff --git a/decidim-meetings/config/locales/bg.yml b/decidim-meetings/config/locales/bg.yml index a8171f687e2a3..97df83052da68 100644 --- a/decidim-meetings/config/locales/bg.yml +++ b/decidim-meetings/config/locales/bg.yml @@ -5,6 +5,8 @@ bg: description: Описание duration: Продължителност title: Заглавие + minutes: + description: Описание decidim: meetings: actions: diff --git a/decidim-meetings/config/locales/ca.yml b/decidim-meetings/config/locales/ca.yml index eafee15fc78fd..27986aa45932c 100644 --- a/decidim-meetings/config/locales/ca.yml +++ b/decidim-meetings/config/locales/ca.yml @@ -291,9 +291,9 @@ ca: success: S'ha creat l'acta amb èxit edit: title: Editar actes - update: Actualitza + update: Actualitzar new: - create: Crea + create: Crear title: Crea l'acta update: invalid: S'ha produït un error en actualitzar aquesta acta diff --git a/decidim-meetings/config/locales/fr-LU.yml b/decidim-meetings/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..c5a39d4c53b3e --- /dev/null +++ b/decidim-meetings/config/locales/fr-LU.yml @@ -0,0 +1,543 @@ +fr-LU: + activemodel: + attributes: + agenda: + description: Description + duration: Durée + title: Titre + close_meeting: + attendees_count: Nombre de participants + attending_organizations: Liste des organisations qui ont participé à cette rencontre + closing_report: Compte rendu + contributions_count: Nombre de contributions + proposal_ids: Propositions élaborées lors de la rencontre + meeting: + address: Adresse + available_slots: Places disponibles pour cette rencontre + decidim_category_id: Catégorie + decidim_scope_id: Périmètre d'application + decidim_user_group_id: Groupe d'utilisateurs + description: Description + end_time: Date de fin + location: Lieu + location_hints: Indicateurs d’emplacement + online_meeting_url: URL de la rencontre + organizer_gid: Créer en tant que + organizer_id: Organisateur + private_meeting: Rencontre privée + registration_form_enabled: Formulaire d'inscription activé + registration_terms: Conditions d'inscription + registration_url: URL d'inscription + registrations_enabled: Inscriptions ouvertes + start_time: Heure de début + title: Titre + transparent: Visible par les non-membres + type_of_meeting: Type + minutes: + audio_url: URL de l'audio + description: Description + video_url: URL de la vidéo + visible: Est visible + errors: + models: + meeting_agenda: + attributes: + base: + too_many_minutes: La durée des éléments dépasse la durée de la réunion de %{count} minutes + too_many_minutes_child: La durée du sous-événement dépasse la durée de l'événement concerné "%{parent_title}" de %{count} minutes + meeting_registration_invite: + attributes: + email: + already_invited: Cet email a déjà été invité + models: + decidim/meetings/close_meeting_event: Rencontre terminée + decidim/meetings/create_meeting_event: Rencontre + decidim/meetings/meeting_registrations_enabled_event: Inscriptions activées + decidim/meetings/meeting_registrations_over_percentage_event: Les inscriptions ont atteint la limite fixée + decidim/meetings/upcoming_meeting_event: Prochaine rencontre + decidim/meetings/update_meeting_event: Rencontre mise à jour + activerecord: + models: + decidim/meetings/meeting: + one: Rencontre + other: Rencontres + decidim/meetings/minutes: + one: Compte rendu + other: Comptes rendus + decidim/meetings/registration: + one: Inscription + other: Inscriptions + decidim: + admin: + meeting_copies: + create: + error: Une erreur s'est produite lors de la duplication de cette rencontre. + success: Cette rencontre a été dupliquée avec succès. + new: + copy: Copier + select: Sélectionnez les données que vous souhaitez dupliquer + title: Dupliquer une rencontre + components: + meetings: + actions: + join: Rejoindre + name: Rencontres + settings: + global: + announcement: Annonce + comments_enabled: Activer le module de commentaire + comments_max_length: Longueur max des commentaires (laisser 0 pour la valeur par défaut) + creation_enabled_for_participants: Les participants peuvent créer des rencontres + default_registration_terms: Conditions d'inscription par défaut + enable_pads_creation: Activer la création de pads + registration_code_enabled: Code d'enregistrement activé + resources_permissions_enabled: Les autorisations d'actions peuvent être définies pour chaque réunion + scope_id: Secteur + scopes_enabled: Secteurs activés + terms_and_conditions_url_for_meeting_creators: URL des conditions générales pour les auteurs de rencontres + step: + announcement: Annonce + comments_blocked: Commentaires bloqués + creation_enabled_for_participants: La création de rencontre par les participants est activée + creation_enabled_for_user_groups: La création de rencontres par des groupes d'utilisateurs est activée + events: + meetings: + meeting_closed: + affected_user: + email_intro: 'La rencontre "%{resource_title}" est terminée. Vous pouvez lire les conclusions de la rencontre sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous avez organisé la réunion "%{resource_title}". + email_subject: La rencontre "%{resource_title}" est terminée + notification_title: La rencontre %{resource_title} est terminée. + follower: + email_intro: 'La rencontre "%{resource_title}" est terminée. Vous pouvez en lire le compte rendu sur sa page :' + email_outro: Vous avez reçu cette notification parce que vous suivez la réunion "%{resource_title}". Vous pouvez le désabonner du lien précédent. + email_subject: La rencontre "%{resource_title}" est terminée + notification_title: La rencontre %{resource_title} est terminée. + meeting_created: + email_intro: La rencontre "%{resource_title}" a été ajoutée à "%{participatory_space_title}" que vous suivez. + email_outro: Vous avez reçu cette notification parce que vous suivez "%{participatory_space_title}". Vous pouvez arrêter le suivi à partir du lien précédent. + email_subject: Nouvelle rencontre ajoutée à %{participatory_space_title} + notification_title: La rencontre %{resource_title} a été ajoutée à %{participatory_space_title} + meeting_registration_confirmed: + notification_title: Votre inscription à la réunion %{resource_title} a été confirmée. Votre code d'enregistrement est %{registration_code}. + meeting_registrations_over_percentage: + email_intro: Les places réservées pour la rencontre "%{resource_title}" dépassent %{percentage}%. + email_outro: Vous avez reçu cette notification parce que vous êtes administrateur de la concertation à laquelle est associée la rencontre. + email_subject: Les places réservées pour la rencontre "%{resource_title}" dépassent %{percentage}% + notification_title: Les places réservées pour la rencontre %{resource_title} dépassent %{percentage}%. + meeting_updated: + email_intro: 'La rencontre "%{resource_title}" a été mise à jour. Vous pouvez accéder à la nouvelle version depuis sa page :' + email_outro: Vous avez reçu cette notification, car vous suivez la rencontre "%{resource_title}". Vous pouvez arrêter de la suivre à partir du lien précédent. + email_subject: La rencontre "%{resource_title}" a été mise à jour + notification_title: La rencontre %{resource_title} a été mise à jour. + registration_code_validated: + email_intro: Votre code d'enregistrement "%{registration_code}" pour la réunion "%{resource_title}" a été validé. + email_outro: Vous avez reçu cette notification parce que votre code d'enregistrement pour la réunion "%{resource_title}" a été validé. + email_subject: Votre code d'enregistrement "%{registration_code}" pour la réunion "%{resource_title}" a été validé + notification_title: Votre code d'enregistrement "%{registration_code}" pour la réunion %{resource_title} a été validé. + registrations_enabled: + email_intro: 'Les inscriptions pour la rencontre "%{resource_title}" sont ouvertes. Vous pouvez vous inscrire sur sa page :' + email_outro: Vous avez reçu cette notification, car vous suivez la rencontre "%{resource_title}". Vous pouvez arrêter de la suivre à partir du lien précédent. + email_subject: Les inscriptions pour la rencontre "%{resource_title}" sont ouvertes. + notification_title: Les inscriptions pour la rencontre %{resource_title} sont ouvertes. + upcoming_meeting: + email_intro: La rencontre "%{resource_title}" commencera dans moins de 48h. + email_outro: Vous avez reçu cette notification, car vous suivez la rencontre "%{resource_title}". Vous pouvez arrêter de la suivre à partir du lien précédent. + email_subject: La rencontre "%{resource_title}" commencera dans moins de 48h. + notification_title: La rencontre %{resource_title} débutera dans moins de 48h. + gamification: + badges: + attended_meetings: + conditions: + - Inscrivez-vous aux rencontres auxquelles vous souhaitez participer + description: Ce badge est attribué lorsque vous participez à plusieurs rencontres en face à face. + description_another: Cet utilisateur a participé à %{score} rencontres. + description_own: Vous avez assisté à %{score} rencontres. + name: Assister aux rencontres + next_level_in: Assister à %{score} rencontres supplémentaires pour atteindre le prochain niveau! + unearned_another: Cet utilisateur n'a encore assisté à aucune réunion. + unearned_own: Vous n'avez encore assisté à aucune réunion. + meetings: + actions: + agenda: Ordre du jour + attachment_collections: Dossiers + attachments: Documents liés + close: Clore + confirm_destroy: Êtes-vous certain de vouloir supprimer cette rencontre ? + destroy: Supprimer + edit: Modifier + invalid_destroy: + proposals_count: + one: 'La rencontre ne peut être supprimée car %{count} proposition y est rattachée:' + other: 'La rencontre ne peut être supprimée car %{count} propositions y sont rattachées:' + minutes: Compte rendu + new: Nouvelle réunion + preview: Aperçu + registrations: Inscriptions + title: Actions + admin: + agenda: + agenda_item: + add_agenda_item_child: Ajouter un point d'ordre du jour + agenda_item: Point d'ordre du jour + agenda_item_children: Points de l'ordre du jour + down: Décaler en bas + remove: Supprimer + up: Décaler en haut + agenda_item_child: + agenda_item_child: Point de l'ordre du jour + down: Décaler en bas + remove: Supprimer + up: Décaler en haut + create: + invalid: Un problème est survenu lors de la création de cet ordre du jour + success: Ordre du jour créé avec succès + edit: + title: Modifier l'ordre du jour + update: Mettre à jour + form: + add_agenda_item: Ajouter un point d'ordre du jour + agenda_items: Points de l'ordre du jour + end_date: Date de fin + start_date: Date de début + new: + create: Créer + title: Nouvel ordre du jour + update: + invalid: Un problème est survenu lors de la mise à jour de cet ordre du jour + success: Ordre du jour mis à jour avec succès + exports: + meeting_comments: Commentaires + meetings: Rencontres + registrations: Inscriptions + invite_join_meeting_mailer: + invite: + decline: Refuser l'invitation + invited_you_to_join_a_meeting: "%{invited_by} vous a invité à une rencontre sur %{application}. Vous pouvez confirmer votre présence en cliquant sur le lien ci-dessous." + join: Rejoignez la rencontre '%{meeting_title}' + invites: + create: + error: Il y a eu un problème lors de l'invitation à une rencontre. + success: L'utilisateur a rejoint la rencontre. + form: + attendee_type: Type de participant + existing_user: Utilisateur existant + invite: Inviter + invite_explanation: L'utilisateur sera invité à se joindre à la réunion et à l'organisation. + non_user: Utilisateur non existant + select_user: Sélectionner un utilisateur + index: + filter: + accepted: Acceptée + all: Tout + rejected: Rejeté + sent: Envoyé + filter_by: Filtrer par + invite_attendee: Inviter un participant + invites: Invitations + registrations_disabled: Vous ne pouvez pas inviter un participant car les invitations sont désactivées. + search: Chercher + meeting_closes: + edit: + close: Clore + title: Clore la rencontre + meetings: + close: + invalid: Il y a eu un problème au moment de clore cette rencontre + success: Rencontre close avec succès + create: + invalid: Il y a eu un problème lors de la création de cette rencontre + success: Rencontre créée avec succès + destroy: + invalid: + proposals_count: + one: La rencontre ne peut être supprimée car %{count} proposition y est rattachée + other: La rencontre ne peut être supprimée car %{count} propositions y sont rattachées + success: La rencontre a été supprimée avec succès + edit: + title: Modifier la rencontre + update: Mettre à jour + form: + address_help: 'L''adresse entrée est utilisée par le géocodage pour trouver l''emplacement et afficher la réunion sur la carte. Format accepté : [rue] [code postal] [ville]' + available_slots_help: Laisser à 0 si le nombre de places disponibles est illimité + disclaimer: 'Avertissement : En utilisant un système d''enregistrement externe, sachez que les organisateurs de %{organization} ne sont pas responsables des données fournies par les utilisateurs au service externe.' + location_help: 'Le lieu indique le nom de l''endroit qui accueille la réunion (ex : Maison de la citoyenneté)' + location_hints_help: 'Indices de localisation : informations complémentaires. Exemple: l''étage du bâtiment s''il s''agit d''une réunion en personne, ou le mot de passe de la réunion s''il s''agit d''une réunion en ligne avec accès restreint.' + online_meeting_url_help: 'Lien : permet aux participants de se connecter directement à votre réunion' + registration_url_help: 'Lien : permet aux participants de partir sur le service externe que vous utilisez pour les inscriptions' + select_a_meeting_type: Veuillez sélectionner un type de rencontre + select_a_registration_type: Veuillez sélectionner un type d'inscription + index: + title: Rencontres + new: + create: Créer + title: Créer une rencontre + service: + description: Description + down: Vers le bas + remove: Retirer + service: Service + title: Titre + up: Vers le haut + services: + add_service: Ajouter un service + services: Services + update: + invalid: Il y a eu un problème lors de la mise à jour de cette rencontre + success: Rencontre mise à jour avec succès + minutes: + create: + invalid: Un problème est survenu lors de la création de ce compte rendu + success: Compte rendu créé avec succès + edit: + title: Modifier le compte-rendu + update: Mettre à jour + new: + create: Créer + title: Créer un compte rendu + update: + invalid: Un problème est survenu lors de la mise à jour de ce compte rendu + success: Compte rendu mis à jour avec succès + models: + meeting: + name: Rencontre + registrations: + edit: + save: Sauvegarder + validate: Valider + validate_registration_code: Valider le code d'inscription + form: + available_slots_help: Laisser à 0 si le nombre de places disponibles est illimité. + invites: Invitations + recommendation_message: Pour des raisons de confidentialité, nous vous recommandons de supprimer ce formulaire d'inscription lorsque vous n'en avez plus besoin. Par défaut, il le sera 3 mois après la fin de la réunion. + registration_form: Formulaire d'inscription + registrations_count: + one: Il y a eu %{count} inscription. + other: Il y a eu %{count} inscriptions. + reserved_slots_help: Laissez à 0 si vous n'avez pas de places réservées + reserved_slots_less_than: Doit être inférieur ou égal à %{count} + title: Inscriptions + update: + invalid: Il y a eu un problème lors de l'enregistrement des paramètres d'inscription. + success: Les paramètres d'inscription ont été enregistrés avec succès. + validate_registration_code: + invalid: Ce code d'inscription est invalide. + success: Le code d'inscription a été validé avec succès. + admin_log: + invite: + create: "%{user_name} a invité %{attendee_name} à rejoindre la réunion %{resource_name} sur l'espace %{space_name}" + deleted: "%{user_name} a supprimé l'invitation de %{attendee_name} à rejoindre la réunion %{resource_name} sur l'espace %{space_name}" + update: "%{user_name} a invité %{attendee_name} à rejoindre la réunion %{resource_name} sur l'espace %{space_name}" + meeting: + close: "%{user_name} a fermé la rencontre %{resource_name} sur l'espace %{space_name}" + create: "%{user_name} a créé la rencontre %{resource_name} sur l'espace %{space_name}" + delete: "%{user_name} a supprimé la rencontre %{resource_name} sur l'espace %{space_name}" + export_registrations: "%{user_name} a exporté les inscriptions de la rencontre %{resource_name} sur l'espace %{space_name}" + update: "%{user_name} a mis à jour la rencontre %{resource_name} sur l'espace %{space_name}" + value_types: + organizer_presenter: + not_found: 'L''organisateur n''a pas été trouvé dans la base de données (ID: %{id})' + minutes: + create: "%{user_name} a créé le compte rendu de la rencontre %{resource_name} sur l'espace %{space_name}" + update: "%{user_name} a mis à jour le compte rendu de la rencontre %{resource_name} sur l'espace %{space_name}" + calendar_modal: + calendar_url: URL du calendrier + close_window: Fermer la fenêtre + export_calendar: Calendrier d'exportation + conference_venues: Salles de conférence + content_blocks: + upcoming_events: + name: Évènements à venir + upcoming_events: Rencontres à venir + view_all_events: Voir tout + directory: + meetings: + index: + all: Tout + date: Date + meetings: Rencontres + past: Passées + search: Rechercher + space_type: Espace participatif + upcoming: À venir + last_activity: + meeting_updated_at_html: "Débat mis à jour à %{link}" + new_meeting_at_html: "Nouvelle réunion à %{link}" + mailer: + invite_join_meeting_mailer: + invite: + subject: Invitation à participer à une rencontre + registration_mailer: + confirmation: + subject: Votre inscription a bien été enregistrée + meeting: + not_allowed: Vous n'êtes pas autorisé à voir cette rencontre + meeting_closes: + edit: + back: Retour + close: Clore la rencontre + title: Clore la rencontre + meetings: + count: + meetings_count: + one: "%{count} rencontre" + other: "%{count} rencontres" + create: + invalid: Une erreur s'est produite lors de la création de cette rencontre. + success: La rencontre a été créée avec succès. + edit: + back: Retour + title: Modifier votre rencontre + update: Mettre à jour + filters: + activity: Mon activité + all: Tous + category: Catégorie + date: Date + date_values: + all: Toutes + past: Passées + upcoming: À venir + my_meetings: Mes rencontres + origin: Origine + origin_values: + all: Toutes + citizens: Citoyens + official: Officiel + user_groups: Groupes + scope: Secteur + search: Rechercher + type: Type + type_values: + all: Tous + hybrid: Hybride + in_person: En présentiel + online: En ligne + filters_small_view: + close_modal: Fermer la fenêtre de dialogue + filter: Filtrer + filter_by: Filtrer par + unfold: Voir la suite + form: + address_help: 'L''adresse entrée est utilisée par le géocodage pour trouver l''emplacement et afficher la réunion sur la carte. Format accepté : [rue] [code postal] [ville]' + available_slots_help: Laisser à 0 si le nombre de places disponibles est illimité + create_as: Créer une rencontre en tant que + disclaimer: 'Avertissement : En utilisant un système d''enregistrement externe, sachez que les organisateurs de %{organization} ne sont pas responsables des données fournies par les utilisateurs au service externe.' + location_help: 'Emplacement: message adressé aux utilisateurs impliquant le point de rencontre' + location_hints_help: 'Indices de localisation : informations complémentaires. Exemple: l''étage du bâtiment s''il s''agit d''une réunion en personne, ou le mot de passe de la réunion s''il s''agit d''une réunion en ligne avec accès restreint.' + online_meeting_url_help: 'Lien : permettre aux participants de se connecter directement à votre rencontre' + registration_url_help: 'Lien : permet aux participants de partir sur le service externe que vous utilisez pour les inscriptions' + select_a_category: Veuillez sélectionner une catégorie + select_a_meeting_type: Veuillez sélectionner un type de rencontre + select_a_registration_type: Veuillez sélectionner un type d'inscription + index: + new_meeting: Nouvelle rencontre + meeting_minutes: + meeting_minutes: Comptes rendus des rencontres + related_information: Informations liées + meetings: + no_meetings_warning: Aucune rencontre ne correspond à vos critères de recherche ou aucune rencontre n'est prévue. + upcoming_meetings_warning: À l'heure actuelle, il n'y a pas de rencontres planifiées. Ici vous trouverez une liste de toutes les rencontres passées. + new: + back: Précédent + create: Créer + title: Créez votre rencontre + registration_confirm: + cancel: Annuler + confirm: Confirmer + show: + attendees: Nombre de participants + back: Retour à la liste + close_meeting: Clore la rencontre + contributions: Décompte des contributions + date: Date + edit_meeting: Modifier la rencontre + going: J'y vais + join: Participer à la rencontre + meeting_report: Compte rendu de la rencontre + no_slots_available: Il ne reste plus de place + organizations: Organisations participantes + registration_code_help_text: Votre code d'inscription + registration_state: + validated: Validé + validation_pending: EN ATTENTE DE VALIDATION + remaining_slots: + one: "Il reste %{count} place" + other: "Il reste %{count} places" + view: Voir + update: + invalid: Une erreur s'est produite lors de la mise à jour de la rencontre. + success: La rencontre a été mise à jour avec succès. + meetings_map: + view_meeting: Voir la réunion + models: + invite: + fields: + email: Email + name: Titre + sent_at: Envoyé à + status: Statut + status: + accepted: Acceptée (%{at}) + rejected: Rejeté (%{at}) + sent: Envoyé + meeting: + fields: + closed: Fermée + end_time: Date de fin + map: Carte + official_meeting: Rencontre officielle + start_time: Date de début + title: Titre + read_more: "(Voir la suite)" + registration_mailer: + confirmation: + confirmed_html: Votre inscription pour la rencontre %{title} a été confirmée. + details: Vous trouverez les détails de la rencontre dans la pièce jointe. + registration_code: Votre code d'inscription est %{code}. + registration_type: + on_different_platform: Sur une plateforme différente + on_this_platform: Sur cette plateforme + registration_disabled: Inscription désactivée + registrations: + create: + invalid: Il y a eu un problème lors de votre inscription à cette rencontre. + success: Vous avez rejoint la rencontre avec succès. + decline_invitation: + invalid: Un problème est survenu lors du refus de l'invitation. + success: Vous avez refusé l'invitation avec succès. + destroy: + invalid: Il y a eu un problème lors de l'annulation de votre inscription. + success: Vous avez annulé votre inscription avec succès. + type_of_meeting: + hybrid: Hybride + in_person: En présentiel + online: En ligne + types: + private_meeting: Rencontre privée + transparent: Visible par les non-membres + versions: + back_to_resource: Revenir à la rencontre + metrics: + meetings: + description: Nombre de rencontres créées + object: rencontres + title: Rencontres + participatory_spaces: + highlighted_meetings: + past_meetings: Rencontres passées + see_all: Tout voir (%{count}) + upcoming_meetings: Rencontres à venir + upcoming_meeting_for_card: + upcoming_meeting: Prochaine rencontre + resource_links: + meetings_through_proposals: + meeting_result: 'Résultats associés :' + result_meeting: 'Rencontres associées :' + proposals_from_meeting: + meeting_proposal: 'Propositions créées lors de cette rencontre :' + proposal_meeting: 'Rencontres associées :' + devise: + mailer: + join_meeting: + subject: Invitation à participer à une rencontre diff --git a/decidim-meetings/config/locales/is-IS.yml b/decidim-meetings/config/locales/is-IS.yml index 4ebfcda65dd6e..7bc37db0e86e4 100644 --- a/decidim-meetings/config/locales/is-IS.yml +++ b/decidim-meetings/config/locales/is-IS.yml @@ -23,7 +23,6 @@ is-IS: title: Titill transparent: Gegnsætt minutes: - description: Lýsing visible: Er sýnilegt decidim: admin: @@ -127,10 +126,7 @@ is-IS: minutes: create: success: Fundargerðir búin til með góðum árangri - edit: - update: Uppfæra new: - create: Búa til title: Búðu til mínútur update: success: Fundargerðir með góðum árangri uppfærð diff --git a/decidim-meetings/config/locales/ja.yml b/decidim-meetings/config/locales/ja.yml index 5a10a38791c04..cb56ef9f54185 100644 --- a/decidim-meetings/config/locales/ja.yml +++ b/decidim-meetings/config/locales/ja.yml @@ -21,17 +21,22 @@ ja: end_time: 終了時刻 location: 場所 location_hints: 位置情報のヒント + online_meeting_url: オンラインミーティングURL organizer_gid: '次として作成:' organizer_id: オーガナイザー private_meeting: プライベートミーティング registration_form_enabled: 登録フォームは有効です registration_terms: 登録条件 + registration_url: 登録URL registrations_enabled: 登録が有効です start_time: 開始時刻 title: タイトル transparent: 透明度 + type_of_meeting: 種別 minutes: + audio_url: 音声URL description: 説明 + video_url: 動画URL visible: 非表示にする errors: models: @@ -82,9 +87,11 @@ ja: creation_enabled_for_participants: 出席者はミーティングを作成できます default_registration_terms: デフォルトの登録条件 enable_pads_creation: パッドの作成を有効にする + registration_code_enabled: 登録コードが有効になりました resources_permissions_enabled: アクションの権限はミーティングごとに設定できます scope_id: スコープ scopes_enabled: スコープが有効 + terms_and_conditions_url_for_meeting_creators: ミーティング作成者の利用規約URL step: announcement: お知らせ comments_blocked: コメントをブロック @@ -196,6 +203,7 @@ ja: invalid: この議題の更新中に問題が発生しました success: アジェンダを正常に更新しました exports: + meeting_comments: コメント meetings: ミーティング registrations: 登録 invite_join_meeting_mailer: @@ -242,10 +250,18 @@ ja: other: '%{count} 件の提案が関連付けられているため、会議を削除できません' success: ミーティングを削除しました edit: + title: ミーティングを編集 update: 更新 form: address_help: 'アドレス: ジオコーダーが場所を見つけるために使用' + available_slots_help: 無制限の場合は0のままにしてください + disclaimer: '免責事項: 外部登録システムを使用する場合、 %{organization} の主催者は、ユーザーが外部サービスに提供したデータについて責任を負いません。' location_help: '場所: ユーザーにメッセージが表示されます。' + location_hints_help: '位置情報のヒント:追加情報。 例: 対面ミーティングでの建物のフロア、またはアクセス制限のあるオンラインミーティングでのミーティングパスワード。' + online_meeting_url_help: 'リンク: 参加者があなたのミーティングに直接接続できるようにします' + registration_url_help: 'リンク: 参加者が登録に使用している外部サービスにアクセスできるようにします' + select_a_meeting_type: ミーティング種別を選択してください + select_a_registration_type: 登録種別を選択してください index: title: ミーティング new: @@ -269,6 +285,7 @@ ja: invalid: この分を作成する際に問題が発生しました success: 議事録が正常に作成された edit: + title: 議事録を編集 update: 更新 new: create: 作成 @@ -338,6 +355,7 @@ ja: space_type: 参加者のスペース upcoming: 近日公開 last_activity: + meeting_updated_at_html: "ミーティングが %{link} に更新されました" new_meeting_at_html: " %{link}に新しいミーティング" mailer: invite_join_meeting_mailer: @@ -348,6 +366,11 @@ ja: subject: ミーティングの登録が確認されました meeting: not_allowed: このミーティングを表示する権限がありません + meeting_closes: + edit: + back: 戻る + close: ミーティングを閉じる + title: ミーティングを閉じる meetings: count: meetings_count: @@ -360,12 +383,15 @@ ja: title: ミーティングを編集 update: 更新 filters: + activity: アクティビティ + all: 全て category: カテゴリ date: 日付 date_values: all: すべて past: 過去 upcoming: 近日公開 + my_meetings: 私のミーティング origin: 起案者: origin_values: all: すべて @@ -374,6 +400,12 @@ ja: user_groups: グループ scope: スコープ search: 検索 + type: 種別 + type_values: + all: 全て + hybrid: ハイブリッド + in_person: 対面 + online: オンライン filters_small_view: close_modal: モーダルを閉じる filter: フィルター @@ -381,9 +413,16 @@ ja: unfold: 展開する form: address_help: 'アドレス: ジオコーダーが場所を見つけるために使用' + available_slots_help: 無制限の場合は0のままにしてください create_as: 次のユーザとしてミーティングを作成: + disclaimer: '免責事項: 外部登録システムを使用する場合、 %{organization} の主催者は、ユーザーが外部サービスに提供したデータについて責任を負いません。' location_help: '場所: ユーザーにメッセージが表示されます。' + location_hints_help: '位置情報のヒント:追加情報。 例: 対面ミーティングでの建物のフロア、またはアクセス制限のあるオンラインミーティングでのミーティングパスワード。' + online_meeting_url_help: 'リンク: 参加者があなたのミーティングに直接接続できるようにします' + registration_url_help: 'リンク: 参加者が登録に使用している外部サービスにアクセスできるようにします' select_a_category: カテゴリを選択してください + select_a_meeting_type: ミーティング種別を選択してください + select_a_registration_type: 登録種別を選択してください index: new_meeting: 新しいミーティング meeting_minutes: @@ -402,6 +441,7 @@ ja: show: attendees: 出席者数 back: リストに戻る + close_meeting: ミーティングを閉じる contributions: コントリビューション数 date: 日付 edit_meeting: ミーティングを編集 @@ -447,6 +487,10 @@ ja: confirmed_html: ミーティング %{title} の登録が確認されました。 details: 会議の詳細は添付ファイルにあります。 registration_code: 登録コードは %{code} です。 + registration_type: + on_different_platform: 異なるプラットフォーム + on_this_platform: このプラットフォーム + registration_disabled: 登録不可 registrations: create: invalid: この会議に参加する際に問題がありました。 @@ -457,6 +501,10 @@ ja: destroy: invalid: この会合から出発する問題があった。 success: 会議を正常に退会しました。 + type_of_meeting: + hybrid: ハイブリッド + in_person: 対面 + online: オンライン types: private_meeting: プライベートミーティング transparent: 透明度 diff --git a/decidim-meetings/config/locales/pl.yml b/decidim-meetings/config/locales/pl.yml index c1da4b23a0310..5a7763615ad40 100644 --- a/decidim-meetings/config/locales/pl.yml +++ b/decidim-meetings/config/locales/pl.yml @@ -272,7 +272,7 @@ pl: available_slots_help: Pozostaw 0, jeśli masz dostęp do nieograniczonej liczby miejsc disclaimer: 'Uwaga: Korzystając z zewnętrznego systemu uwierzytelniania, jesteś świadomy, że organizatorzy %{organization} nie są odpowiedzialni za dane dostarczone przez użytkowników usługi zewnętrznej.' location_help: 'Lokalizacja: informacja dla użytkowników dotycząca miejsca spotkania' - location_hints_help: 'Wskazówki dotyczące lokalizacji: dodatkowe informacje. Przykład: piętro budynku, jeśli jest to spotkanie fizyczne, lub hasło do spotkania, jeśli odbywa się ono online i ma ograniczony dostępem.' + location_hints_help: 'Wskazówki dotyczące lokalizacji: dodatkowe informacje. Przykład: piętro budynku, jeśli jest to spotkanie fizyczne, lub hasło do spotkania, jeśli odbywa się ono online i ma ograniczony dostęp.' online_meeting_url_help: 'Link: zezwól uczestnikom na bezpośredni dostęp do Twojego spotkania' registration_url_help: 'Link: zezwól użytkownikom na korzystanie z usługi zewnętrznej, której używasz do rejestracji' select_a_meeting_type: Wybierz typ spotkania @@ -438,7 +438,7 @@ pl: create_as: Utwórz spotkanie jako disclaimer: 'Uwaga: Korzystając z zewnętrznego systemu uwierzytelniania, jesteś świadomy, że organizatorzy %{organization} nie są odpowiedzialni za dane dostarczone przez użytkowników usługi zewnętrznej.' location_help: 'Lokalizacja: informacja dla użytkowników dotycząca miejsca spotkania' - location_hints_help: 'Wskazówki dotyczące lokalizacji: dodatkowe informacje. Przykład: piętro budynku, jeśli jest to spotkanie fizyczne, lub hasło do spotkania, jeśli odbywa się ono online i ma ograniczony dostępem.' + location_hints_help: 'Wskazówki dotyczące lokalizacji: dodatkowe informacje. Przykład: piętro budynku, jeśli jest to spotkanie fizyczne, lub hasło do spotkania, jeśli odbywa się ono online i ma ograniczony dostęp.' online_meeting_url_help: 'Link: zezwól uczestnikom na bezpośredni dostęp do Twojego spotkania' registration_url_help: 'Link: zezwól uczestnikom na korzystanie z usługi zewnętrznej, której używasz do rejestracji' select_a_category: Wybierz kategorię diff --git a/decidim-meetings/config/locales/pt-BR.yml b/decidim-meetings/config/locales/pt-BR.yml index 56c4eb9e9f842..f216a740d9e5e 100644 --- a/decidim-meetings/config/locales/pt-BR.yml +++ b/decidim-meetings/config/locales/pt-BR.yml @@ -257,7 +257,7 @@ pt: edit: update: Atualizar new: - create: Criar + create: Crio title: Crie minutos update: invalid: Houve um problema ao atualizar esta ata diff --git a/decidim-meetings/config/locales/sl.yml b/decidim-meetings/config/locales/sl.yml index bd5ac824ef25f..35181f27d78b0 100644 --- a/decidim-meetings/config/locales/sl.yml +++ b/decidim-meetings/config/locales/sl.yml @@ -3,6 +3,8 @@ sl: attributes: agenda: description: Opis + minutes: + description: Opis models: decidim/meetings/create_meeting_event: Sestanek decidim: diff --git a/decidim-meetings/config/locales/uk.yml b/decidim-meetings/config/locales/uk.yml index 5a9807c0928b9..cd228c0bd377c 100644 --- a/decidim-meetings/config/locales/uk.yml +++ b/decidim-meetings/config/locales/uk.yml @@ -241,7 +241,7 @@ uk: edit: update: Оновити new: - create: Додати + create: Створити title: Додати протокол update: invalid: При спробі оновити цей протокол сталася помилка diff --git a/decidim-pages/config/locales/fr-LU.yml b/decidim-pages/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..5f493876ef088 --- /dev/null +++ b/decidim-pages/config/locales/fr-LU.yml @@ -0,0 +1,30 @@ +fr-LU: + activerecord: + models: + decidim/pages/page: + one: Page + other: Pages + decidim: + admin_log: + page: + update: "%{user_name} a mis à jour la page %{resource_name} dans %{space_name}" + components: + pages: + name: Page + settings: + global: + announcement: Message d'annonce + step: + announcement: Message d'annonce + pages: + admin: + models: + components: + body: Corps du texte + pages: + edit: + save: Mettre à jour + title: Modifier la page + update: + invalid: Erreurs lors de la sauvegarde de la page. + success: Page enregistrée avec succès. diff --git a/decidim-participatory_processes/config/locales/fr-LU.yml b/decidim-participatory_processes/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..7b6e2d12ffe44 --- /dev/null +++ b/decidim-participatory_processes/config/locales/fr-LU.yml @@ -0,0 +1,503 @@ +fr-LU: + activemodel: + attributes: + participatory_process: + announcement: Annonce + area_id: Périmètre d'assemblée + banner_image: Image d'en-tête + copy_categories: Copier les catégories + copy_components: Copier les fonctionnalités + copy_steps: Copier les étapes + decidim_area_id: Périmètre d'assemblée + description: Description + developer_group: Organisateur + domain: Domaine + end_date: Date de fin + hashtag: Hashtag + hero_image: Image de la page d'accueil + local_area: Espace d'organisation + meta_scope: Échelle + participatory_process_group_id: Groupe de processus + participatory_scope: Objectifs + participatory_structure: Modalités de décision + promoted: Mise en avant + published_at: Publiée à + related_process_ids: Concertations liées + scope_id: Périmètre d'application + scope_type_max_depth_id: Profondeur du filtre de portée + scopes_enabled: Périmètres d'application activés + short_description: Résumé + show_metrics: Afficher les métriques + show_statistics: Montrer les statistiques + slug: Identifiant + start_date: Date de début + subtitle: Sous-titre + target: Participants + title: Titre + weight: Rang d'affichage + participatory_process_group: + description: Description + developer_group: Groupe d'initiateurs + group_url: Site web + hashtag: Hashtag + hero_image: Image + local_area: Zone d'organisation + meta_scope: Secteur + participatory_process_ids: Concertations liées + participatory_scope: Objectif + participatory_structure: Modalités de décision + target: Qui participe + title: Titre + participatory_process_step: + cta_path: Chemin d'accès à l'action + cta_text: Texte d'appel à l'action + description: Description + end_date: Date de fin + short_description: Résumé + start_date: Date de début + title: Titre + participatory_process_user_role: + email: Email + name: Nom + role: Rôle + errors: + models: + participatory_process: + attributes: + document: + invalid_document_type: 'Type de document invalide. Les formats acceptés sont: %{valid_mime_types}' + models: + decidim/participatory_process_step_activated_event: Étape activée + decidim/participatory_process_step_changed_event: Étape modifiée + activerecord: + models: + decidim/participatory_process: + one: Processus participatif + other: Processus participatifs + decidim/participatory_process_group: + one: Groupe de concertations + other: Groupes de concertations + decidim/participatory_process_step: + one: Étape + other: Étapes + decidim: + admin: + actions: + activate: Activer + configure: Configurer + confirm_destroy: Confirmez la suppression + destroy: Supprimer + duplicate: Dupliquer + edit: Modifier + filter: + all_processes: Afficher tous les processus + process_groups: Groupes de processus + import_process: Importer + new_process: Nouvelle concertation + new_process_group: Nouveau groupe de concertations + new_process_step: Nouvelle étape + new_process_user_role: Nouvel administrateur de la concertation + preview: Aperçu + publish: Publier + resend_invitation: Renvoyer l'invitation + unpublish: Dépublier + menu: + participatory_process_groups: Groupes de concertations + participatory_process_groups_submenu: + info: Information + landing_page: Page d'accueil + participatory_processes: Concertations + participatory_processes_submenu: + attachment_collections: Dossiers + attachment_files: Fichiers + attachments: Documents liés + categories: Catégories + components: Fonctionnalités + info: Information + moderations: Modérations + private_users: Utilisateurs privés + process_admins: Administrateurs de la concertation + steps: Étapes + models: + participatory_process: + fields: + created_at: Créée le + private: Privée + promoted: Mise en avant + published: Publiée + title: Titre + name: Concertation + participatory_process_group: + fields: + title: Titre + name: Groupe de concertations + participatory_process_step: + fields: + end_date: Date de fin + start_date: Date de début + title: Titre + name: Étape de la concertation + participatory_process_user_role: + fields: + email: Email + name: Nom + role: Rôle + name: Utilisateur de la concertation + roles: + admin: Administrateur + collaborator: Relecteur + moderator: Modérateur + valuator: Évaluateur + user: + fields: + invitation_accepted_at: Invitation acceptée à + invitation_sent_at: Invitation envoyée à + participatory_process_copies: + new: + copy: Copier + select: Sélectionnez les données que vous souhaitez dupliquer + title: Dupliquer la concertation + participatory_process_group_landing_page: + edit: + active_content_blocks: Blocs de contenu actifs + inactive_content_blocks: Blocs de contenu inactifs + participatory_process_group_landing_page_content_blocks: + edit: + update: Mettre à jour + participatory_process_groups: + destroy: + error: Une erreur s'est produite lors de la suppression du groupe de concertations. + success: Groupe de concertations supprimé avec succès. + edit: + title: Modifier le groupe de concertations + update: Mettre à jour + new: + create: Créer + title: Nouveau groupe de concertations + update: + error: Il y a eu une erreur lors de la mise à jour de ce groupe de concertations. + success: Groupe de concertations mis à jour avec succès. + participatory_process_imports: + create: + error: Une erreur s'est produite lors de l'import de cette concertation. + success: Concertation importée avec succès. + new: + import: Importer + select: Sélectionnez les données que vous souhaitez importer + title: Importer une concertation + participatory_process_publications: + create: + error: Une erreur s'est produite lors de la publication de cette concertation. + success: Concertation publiée avec succès. + destroy: + error: Une erreur s'est produite lors de la publication de cette concertation. + success: Concertation dépubliée avec succès. + participatory_process_step_activations: + create: + error: Une erreur s'est produite lors de l'activation de cette étape de la concertation. + success: Étape de la concertation activée avec succès. + participatory_process_steps: + create: + error: Une erreur s'est produite lors de la création d'une nouvelle étape de la concertation. + success: Étape de la concertation créée avec succès. + default_title: Introduction + destroy: + error: + active_step: Vous ne pouvez pas supprimer l'étape active de la concertation. + last_step: Vous ne pouvez pas supprimer la dernière étape de la concertation. + success: L'étape de la concertation a été supprimée avec succès. + edit: + title: Modifier l'étape de la concertation + update: Mettre à jour + index: + steps_title: Étapes + new: + create: Créer + title: Nouvelle étape de la concertation + ordering: + error: Une erreur s'est produite lors de la réorganisation des étapes de la concertation. + update: + error: Une erreur s'est produite lors de la mise à jour de cette étape de la concertation. + success: Étape de la concertation mise à jour avec succès. + participatory_process_user_roles: + create: + error: Une erreur s'est produite lors de l'ajout d'un utilisateur pour cette concertation. + success: Utilisateur ajouté avec succès à cette concertation. + destroy: + success: Utilisateur supprimé avec succès de cette concertation. + edit: + title: Mettre à jour l'administrateur du processus participatif + update: Mettre à jour + index: + process_admins_title: Administrateurs de la concertation + new: + create: Créer + title: Nouvel administrateur du processus participatif + update: + error: Une erreur s'est produite lors de la mise à jour d'un utilisateur pour cette concertation. + success: L'utilisateur a été mis à jour avec succès pour cette concertation. + participatory_processes: + create: + error: Une erreur s'est produite lors de la création d'une nouvelle concertation. + success: Concertation créée avec succès. Configurez maintenant ses étapes. + edit: + update: Mettre à jour + index: + not_published: Non publiée + private: Privée + public: Publique + published: Publiée + new: + create: Créer + title: Nouvelle concertation + update: + error: Une erreur s'est produite lors de la mise à jour de cette concertation. + success: Concertation mise à jour avec succès. + participatory_processes_copies: + create: + error: Une erreur s'est produite lors de la duplication de cette concertation. + success: Concertation dupliquée avec succès. + participatory_processes_group: + create: + error: Une erreur s'est produite lors de la création d'un nouveau groupe de concertations. + success: Groupe de concertations créé avec succès. + titles: + participatory_process_groups: Groupes de concertations + participatory_processes: Concertations + users: + resend_invitation: + error: Une erreur s'est produite lors de l'envoi de l’invitation. + success: Invitation renvoyée avec succès. + admin_log: + participatory_process: + create: "%{user_name} a créé la concertation %{resource_name}" + publish: "%{user_name} a publié la concertation %{resource_name}" + unpublish: "%{user_name} n'a pas publié la concertation %{resource_name}" + update: "%{user_name} a mis à jour la concertation %{resource_name}" + participatory_process_group: + create: "%{user_name} a créé le groupe de concertations %{resource_name}" + update: "%{user_name} a mis à jour le groupe de concertations %{resource_name}" + participatory_process_step: + activate: "%{user_name} a activé l'étape %{resource_name} dans la concertation %{space_name}" + create: "%{user_name} a créé l'étape %{resource_name} dans la concertation %{space_name}" + delete: "%{user_name} a supprimé l'étape %{resource_name} de la concertation %{space_name}" + update: "%{user_name} a mis à jour l'étape %{resource_name} de la concertation %{space_name}" + participatory_process_user_role: + create: "%{user_name} a invité l'utilisateur %{resource_name} à la concertation %{space_name}" + delete: "%{user_name} a supprimé l'utilisateur %{resource_name} de la concertation %{space_name}" + update: "%{user_name} a changé le rôle de l'utilisateur %{resource_name} dans la concertation %{space_name}" + events: + participatory_process: + role_assigned: + email_intro: Vous avez été assigné en tant que %{role} pour le processus participatif "%{resource_title}". + email_outro: Vous avez reçu cette notification parce que vous êtes %{role} du processus participatif "%{resource_title}". + email_subject: Vous avez été assigné comme %{role} pour "%{resource_title}". + notification_title: Vous avez été assigné en tant que %{role} pour le processus participatif %{resource_title}. + step_activated: + email_intro: 'L''étape %{resource_title} vient d''être activée pour %{participatory_space_title}. Vous pouvez désormais la consulter sur cette page :' + email_outro: Vous venez de recevoir cette notification car vous suivez %{participatory_space_title}. Vous pouvez à tout moment arrêter de recevoir ces notifications en suivant le lien précédent. + email_subject: Une mise à jour de %{participatory_space_title} vient d'être effectuée ! Nous vous invitons à venir consulter la page afin de découvrir les dernières améliorations + notification_title: L'étape %{resource_title} est désormais activée pour %{participatory_space_title} + step_changed: + email_intro: 'Les dates de l''étape %{resource_title} de %{participatory_space_title} ont été mises à jour. Vous pouvez les retrouver sur cette page :' + email_outro: Vous venez de recevoir cette notification car vous suivez %{participatory_space_title}. Vous pouvez à tout moment arrêter de recevoir ces notifications en suivant le lien précédent. + email_subject: Une mise à jour de %{participatory_space_title} vient d'être réalisée ! Nous vous invitons à venir voir les dernières améliorations + notification_title: Les dates de l'étape %{resource_title} sur %{participatory_space_title} ont été mises à jour. + help: + participatory_spaces: + participatory_processes: + contextual: "

    Un processus de participation est une séquence d'activités de participation (par exemple , premier remplir un sondage, puis faire des propositions, les discuter en face-à-face ou virtuelles, et enfin les hiérarchiser) dans le but de définir et de prendre une décision sur un sujet spécifique.

    Exemples de processus participatifs: un processus d’élection des membres du comité (où les candidatures sont d'abord présentées, puis débattues et finalement une candidature est choisie), les budgets participatifs (où les propositions sont faites, évaluées économiquement et votées avec l'argent disponible), un processus de planification stratégique, la rédaction collaborative d'un règlement ou d'une norme, la conception d'un espace urbain ou la production d'un plan de politique publique.

    \n" + page: "

    Un processus de participation est une séquence d'activités de participation (par exemple , premier remplir un sondage, puis faire des propositions, les discuter en face-à-face ou virtuelles, et enfin les hiérarchiser) dans le but de définir et de prendre une décision sur un sujet spécifique.

    Exemples de processus participatifs: un processus d’élection des membres du comité (où les candidatures sont d'abord présentées, puis débattues et finalement une candidature est choisie), les budgets participatifs (où les propositions sont faites, évaluées économiquement et votées avec l'argent disponible), un processus de planification stratégique, la rédaction collaborative d'un règlement ou d'une norme, la conception d'un espace urbain ou la production d'un plan de politique publique.

    \n" + title: Qu'est-ce qu'une concertation ? + menu: + processes: Concertations + metrics: + participatory_processes: + description: Nombre de concertations dans cette organisation + object: concertations + title: Concertations + participatory_process: + show: + related_assemblies: Assemblées associées + participatory_process_groups: + content_blocks: + html_1: + name: Bloc HTML 1 + html_2: + name: Bloc HTML 2 + html_3: + name: Bloc HTML 3 + metadata: + developer_group: Promu par + name: Métadonnées + participatory_scope: Objectifs + participatory_structure: Modalités de décision + target: Qui participe + participatory_processes: + name: Concertations + stats: + name: Activité + title: + meta_scope: Secteur + name: Titre, description et hashtag + participatory_processes: + one: 1 concertation + other: "%{count} concertations" + show: + title: Groupes de concertations + participatory_process_steps: + index: + process_steps: Étapes de la concertation + title: Étapes de la concertation + participatory_processes: + admin: + content_blocks: + highlighted_processes: + max_results: Quantité maximale d'éléments à afficher + new_import: + accepted_types: + json: JSON + participatory_process_copies: + form: + slug_help: 'Les identifiants d''URL sont utilisés pour générer les URL qui envoient vers cette concertation. Ils n''acceptent que des lettres, des chiffres et des tirets et doivent commencer par une lettre. Exemple : %{url}' + participatory_process_groups: + form: + metadata: Métadonnées + title: Informations générales + visibility: Visibilité + participatory_process_imports: + form: + document_legend: Ajouter un document + slug_help: 'Les identifiants d''URL sont utilisés pour générer les URL qui envoient vers cette concertation. Ils n''acceptent que des lettres, des chiffres et des tirets et doivent commencer par une lettre. Exemple : %{url}' + participatory_process_steps: + form: + cta_path_help: 'Utilisez des chemins partiels, pas des URL complètes ici. Accepte les lettres, les chiffres, les tirets et les barres obliques et doit commencer par une lettre. Si non défini, le bouton ne sera pas affiché. Exemple: %{url}' + cta_text_help: Si non défini, le bouton ne sera pas affiché. + participatory_processes: + form: + announcement_help: Le texte saisi ici sera affiché juste en dessous des informations de la concertation. + duration: Durée + filters: Filtres + images: Images + metadata: Métadonnées + other: Autre + related_processes: Concertations liées + scope_type_max_depth_help: Restreindre la profondeur du filtre de secteur; Le filtre s'affichera du secteur général au type de secteur sélectionné. + select_an_area: Sélectionnez un secteur + select_process_group: Sélectionnez un groupe de concertations + slug_help: 'Les identifiants d''URL sont utilisés pour générer les URL qui envoient vers cette concertation. Ils n''acceptent que des lettres, des chiffres et des tirets et doivent commencer par une lettre. Exemple : %{url}' + title: Informations générales + visbility: Visibilité + content_blocks: + highlighted_processes: + name: Concertations mises en avant + index: + title: Concertations + last_activity: + new_participatory_process: Nouvelle concertation + pages: + home: + highlighted_processes: + active_processes: Concertations actives + active_step: Étape active + more_information: Plus d'informations + participate: Participer + participate_in: Participer au processus %{resource_name} + see_all_processes: Voir toutes les concertations + participatory_process_steps: + index: + back_to_process: Retour à la page du processus + participatory_processes: + filters: + counters: + active: + one: 1 concertation active + other: "%{count} concertations actives" + all: + one: 1 concertation + other: "%{count} concertations" + past: + one: 1 concertation passée + other: "%{count} concertations passées" + upcoming: + one: 1 concertation à venir + other: "%{count} concertations à venir" + explanations: + no_active: Aucune concertation active + no_active_nor_upcoming: Aucune concertation active ni à venir + no_active_nor_upcoming_callout: Il n'y a pas de concertations actives ni à venir. Voici une liste des concertations passées. + names: + active: Actifs + all: Tous + past: Passés + upcoming: À venir + see: Voir + index: + loading: Chargement des résultats... + show: + area: Périmètre d'assemblée + belongs_to_group: Cette concertation appartient à + dates: Dates + developer_group: Organisateur + end_date: Date de fin + local_area: Espace d'organisation + participatory_scope: Objectifs + participatory_structure: Modalités de décision + private_space: Ceci est une concertation privée + related_processes: Concertations liées + scope: Périmètre d'application + start_date: Date de début + target: Participants + unspecified: Non précisé + statistics: + answers_count: Réponses + comments_count: Commentaires + debates_count: Débats + endorsements_count: Soutiens + followers_count: Abonnés + headline: Activité + meetings_count: Rencontres + no_stats: Il n'y a pas encore de statistiques. + orders_count: Votes + pages_count: Pages + participants_count: Participants + processes_count: Concertations + projects_count: Projets + proposals_count: Propositions + results_count: Réalisations + supports_count: Votes + surveys_count: Enquêtes + users_count: Participants + layouts: + decidim: + participatory_process_groups: + participatory_process_group: + browse: Parcourir + browse_resource: Parcourir le groupe de concertation %{resource_name} + processes_count: 'Concertations :' + participatory_process_widgets: + show: + active_step: 'Étape actuelle :' + take_part: Participer + participatory_processes: + index: + promoted_processes: Concertations mises en avant + participatory_process: + active_step: 'Étape actuelle :' + more_info: Plus d'informations + more_info_about: Plus d'infos sur la concertation %{resource_name} + take_part: Participer + take_part_in: Participer à la concertation %{resource_name} + promoted_process: + active_step: 'Étape actuelle :' + more_info: Plus d'informations + more_info_about: Plus d'infos sur la concertation %{resource_name} + take_part: Participer + take_part_in: Participer à la concertation %{resource_name} + promoted_process_group: + more_info: Plus d'informations + process_header_steps: + step: Étape %{current} sur %{total} + view_steps: Voir les étapes + process_navigation: + process_menu_item: Présentation diff --git a/decidim-participatory_processes/config/locales/ja.yml b/decidim-participatory_processes/config/locales/ja.yml index 272887ee1c549..80b65799462d3 100644 --- a/decidim-participatory_processes/config/locales/ja.yml +++ b/decidim-participatory_processes/config/locales/ja.yml @@ -34,10 +34,20 @@ ja: subtitle: サブタイトル target: 参加者 title: タイトル + weight: 重みづけ participatory_process_group: description: 説明 + developer_group: プロモーターグループ + group_url: ウェブサイト + hashtag: ハッシュタグ hero_image: 画像 + local_area: 組織エリア + meta_scope: スコープメタデータ participatory_process_ids: 関連する参加型プロセス + participatory_scope: 決定されること + participatory_structure: 決定方法 + target: 参加者 + title: タイトル participatory_process_step: cta_path: コールからアクションパス cta_text: アクションテキストの呼び出し @@ -90,6 +100,9 @@ ja: unpublish: 公開しない menu: participatory_process_groups: 参加型プロセスグループ + participatory_process_groups_submenu: + info: 情報 + landing_page: ランディングページ participatory_processes: 参加型プロセス participatory_processes_submenu: attachment_collections: フォルダ @@ -112,6 +125,8 @@ ja: title: タイトル name: 参加型プロセス participatory_process_group: + fields: + title: タイトル name: 参加型プロセスグループ participatory_process_step: fields: @@ -139,6 +154,13 @@ ja: copy: コピー select: 複製したいデータを選択してください title: 重複した参加型プロセス + participatory_process_group_landing_page: + edit: + active_content_blocks: アクティブコンテンツブロック + inactive_content_blocks: 非アクティブコンテンツブロック + participatory_process_group_landing_page_content_blocks: + edit: + update: 更新 participatory_process_groups: destroy: error: 参加型プロセスグループの削除中にエラーが発生しました。 @@ -296,8 +318,27 @@ ja: related_assemblies: 関連する参加スペース participatory_process_groups: content_blocks: + html_1: + name: 最初の HTML ブロック + html_2: + name: 2番目のHTMLブロック + html_3: + name: 3番目の HTML ブロック + metadata: + developer_group: プロモーター + name: メタデータ + participatory_scope: 決定されること + participatory_structure: 決定方法 + target: 参加者 + participatory_processes: + name: 参加型プロセス stats: name: 統計情報 + title: + meta_scope: スコープ + name: タイトル、説明、ハッシュタグ + participatory_processes: + other: "%{count} 個のプロセス" show: title: 参加型プロセスグループ participatory_process_steps: @@ -309,9 +350,17 @@ ja: content_blocks: highlighted_processes: max_results: 表示する要素の最大量 + new_import: + accepted_types: + json: JSON participatory_process_copies: form: slug_help: 'URLスラグは、この参加型プロセスを指すURLを生成するために使用されます。 文字、数字、ダッシュのみを受け付け、文字で始める必要があります。例: %{url}' + participatory_process_groups: + form: + metadata: メタデータ + title: 一般情報 + visibility: 公開範囲 participatory_process_imports: form: document_legend: ドキュメントを追加 @@ -379,6 +428,7 @@ ja: loading: 結果を読み込み中... show: area: エリア + belongs_to_group: このプロセスの所属グループ dates: 日付 developer_group: プロモーターグループ end_date: 終了日 @@ -436,6 +486,8 @@ ja: more_info_about: 参加型プロセス %{resource_name} についての詳細情報 take_part: 参加する take_part_in: 参加型プロセス %{resource_name} に参加する + promoted_process_group: + more_info: 詳細情報 process_header_steps: step: 段階 %{current} / %{total} view_steps: プロセスのフェーズ diff --git a/decidim-participatory_processes/config/locales/pl.yml b/decidim-participatory_processes/config/locales/pl.yml index 9b512641fa321..5204db12e7309 100644 --- a/decidim-participatory_processes/config/locales/pl.yml +++ b/decidim-participatory_processes/config/locales/pl.yml @@ -146,7 +146,7 @@ pl: participatory_process_user_role: fields: email: Adres e-mail - name: Nazwa + name: Imię role: Rola name: Administrator procesu partycypacyjnego roles: diff --git a/decidim-proposals/config/locales/fr-LU.yml b/decidim-proposals/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..d43ef824f3d2d --- /dev/null +++ b/decidim-proposals/config/locales/fr-LU.yml @@ -0,0 +1,898 @@ +fr-LU: + activemodel: + attributes: + collaborative_draft: + address: Adresse + body: Corps + category_id: Catégorie + decidim_scope_id: Portée + has_address: Renseigner une adresse + scope_id: Secteur + state: État + title: Titre + user_group_id: Créez un brouillon collaboratif comme + proposal: + address: Adresse + answer: Répondre + answered_at: Répondu à + automatic_hashtags: Hashtags ajoutés automatiquement + body: Corps du texte + category_id: Catégorie + decidim_scope_id: Portée + has_address: Renseigner une adresse + scope_id: Secteur + state: État + suggested_hashtags: Hashtags suggérés + title: Titre + user_group_id: Créer une proposition en tant que + proposal_answer: + answer: Répondre + cost: Coût + cost_report: Rapport de coût + execution_period: Période d'exécution + proposals_copy: + copy_proposals: Je comprends que cela va importer toutes les propositions de la fonctionnalité sélectionnée vers la fonctionnalité actuelle et que cette action ne peut pas être inversée. + origin_component_id: Fonctionnalité dont on veut copier les propositions + proposals_import: + import_proposals: Importer des propositions + keep_authors: Gardez les auteurs originaux + valuation_assignment: + admin_log: + valuator_role_id: Nom de l'évaluateur + errors: + models: + participatory_text: + attributes: + document: + invalid_document_type: 'Type de document invalide. Les formats acceptés sont: %{valid_mime_types}' + proposal: + attributes: + attachment: + needs_to_be_reattached: Doit être téléchargé de nouveau + body: + cant_be_equal_to_template: ne peut pas être égal au modèle + identical: ET le titre ne peut pas être identique + title: + identical: ET le corps ne peut pas être identique + models: + decidim/proposals/accepted_proposal_event: Proposition acceptée + decidim/proposals/admin/update_proposal_category_event: Catégorie de proposition modifiée + decidim/proposals/admin/update_proposal_scope_event: La portée de la proposition a été modifiée + decidim/proposals/creation_enabled_event: Autoriser la création de nouvelles propositions + decidim/proposals/endorsing_enabled_event: Activer le module de soutiens + decidim/proposals/evaluating_proposal_event: Proposition en cours d'évaluation + decidim/proposals/proposal_mentioned_event: Proposition mentionnée + decidim/proposals/publish_proposal_event: Proposition publiée + decidim/proposals/rejected_proposal_event: Proposition non retenue + decidim/proposals/voting_enabled_event: Activer le module de vote simple + activerecord: + models: + decidim/proposals/collaborative_draft: + one: Brouillon collaboratif + other: Brouillons collaboratifs + decidim/proposals/proposal: + one: Proposition + other: Propositions + decidim/proposals/proposal_note: + one: Remarque + other: Remarques + decidim/proposals/proposal_vote: + one: Vote + other: Votes + decidim: + admin: + filters: + proposals: + category_id_eq: + label: Catégorie + is_emendation_true: + label: Type + values: + 'false': Propositions + 'true': Amendements + scope_id_eq: + label: Secteur + state_eq: + label: État + values: + accepted: Acceptée + evaluating: En cours d'évaluation + published: Publiée + rejected: Rejetée + validating: Validation technique + withdrawn: Retirée + state_null: + label: État + values: + 'true': Non répondu + valuator_role_ids_has: + label: Assigné à l'évaluateur + search_placeholder: + id_string_or_title_cont: Rechercher %{collection} par ID ou titre. + components: + proposals: + actions: + amend: Amender + create: Créer + endorse: Soutenir + vote: Voter + withdraw: Retirer + name: Propositions + settings: + global: + allow_card_image: Afficher les images sur les cartes de l'index de proposition + amendments_enabled: Modifications activées + amendments_enabled_help: Si actif, configurez les fonctionnalités d'amendement pour chaque étape. + amendments_wizard_help_text: Texte d'aide de l'assistant + announcement: Annonce + attachments_allowed: Autoriser les pièces jointes + can_accumulate_supports_beyond_threshold: Peut accumuler des supports au-delà du seuil + collaborative_drafts_enabled: Brouillons collaboratifs activés + comments_enabled: Activer le module de commentaire + comments_max_length: Longueur maximum (en caractères) des commentaires (laisser 0 pour la valeur par défaut) + geocoding_enabled: Géocodage activé + minimum_votes_per_user: Nombre minimum de votes par utilisateur + new_proposal_body_template: Modèle de corps d'une nouvelle proposition + new_proposal_body_template_help: Vous pouvez définir le texte prérempli que les nouvelles propositions auront + new_proposal_help_text: Texte d'aide à la création d'une nouvelle proposition + official_proposals_enabled: Autoriser la création de propositions officielles + participatory_texts_enabled: Textes participatifs activés + participatory_texts_enabled_readonly: Impossible d'interagir avec ce paramètre s'il y a des propositions existantes. Veuillez créer une nouvelle fonctionnalité `Propositions` si vous voulez activer cette fonctionnalité ou supprimer toutes les propositions importées dans 'Textes participatifs` si vous voulez la désactiver. + proposal_answering_enabled: Autoriser la réponse officielle aux propositions + proposal_edit_before_minutes: Délai (en minutes) après lequel les auteurs ne peuvent plus modifier leurs propositions + proposal_length: Nombre maximum de caractères du corps de la proposition + proposal_limit: Limite de proposition par utilisateur + proposal_wizard_step_1_help_text: Texte d'aide à l'étape "Créer" de la création de proposition + proposal_wizard_step_2_help_text: Texte d'aide à l'étape "Comparer" de la création de proposition + proposal_wizard_step_3_help_text: Texte d'aide à l'étape "Compléter" de la création de proposition + proposal_wizard_step_4_help_text: Texte d'aide à l'étape "Publier" de la création de proposition + resources_permissions_enabled: Les autorisations d'actions peuvent être définies pour chaque proposition + scope_id: Secteur + scopes_enabled: Secteurs activés + threshold_per_proposal: Seuil par proposition + vote_limit: Limite de votes par utilisateur + step: + amendment_creation_enabled: Création d'amendement activée + amendment_creation_enabled_help: Le participant peut amender les propositions. + amendment_promotion_enabled: Promotion d'amendement activée + amendment_promotion_enabled_help: Les auteurs de modifications pourront promouvoir la proposition de la modification rejetée. + amendment_reaction_enabled: Réaction aux amendements activée + amendment_reaction_enabled_help: Les auteurs de la proposition pourront accepter ou rejeter les modifications des participants. + amendments_visibility: Visibilité des amendements + amendments_visibility_choices: + all: Les amendements sont visibles par tous + participants: Les amendements ne sont visibles que par leurs auteurs + amendments_visibility_help: Si l'option "Les amendements ne sont visibles que pour leurs auteurs" est sélectionnée, le participant doit être connecté pour voir les amendements apportés. + announcement: Annonce + answers_with_costs: Activer les coûts sur les réponses aux propositions + automatic_hashtags: Hashtags ajoutés à toutes les propositions + comments_blocked: Bloquer la création de nouveaux commentaires + creation_enabled: Autoriser la création de nouvelles propositions + endorsements_blocked: Bloquer les soutiens + endorsements_enabled: Activer le module de soutiens + proposal_answering_enabled: Autoriser la réponse officielle aux propositions + publish_answers_immediately: Publier immédiatement les réponses à la proposition + suggested_hashtags: Hashtags suggérés aux utilisateurs pour de nouvelles propositions + votes_blocked: Bloquer les votes + votes_enabled: Activer le module de vote simple + votes_hidden: Cacher les votes (si le module de votes est activé, le décompte des votes sera caché) + events: + proposals: + admin: + proposal_note_created: + email_intro: Quelqu'un a laissé une note sur la proposition "%{resource_title}". Consultez-la sur le panneau d'administration + email_outro: Vous avez reçu cette notification car vous pouvez évaluer la proposition. + email_subject: Quelqu'un a laissé une note sur la proposition %{resource_title}. + notification_title: Quelqu'un a laissé une note sur la proposition %{resource_title}. Consultez-la à le panneau d'administration + collaborative_draft_access_accepted: + email_intro: '%{requester_name} a été accepté en tant que contributeur du projet collaboratif %{resource_title}.' + email_outro: Vous avez reçu cette notification car vous êtes collaborateur de %{resource_title}. + email_subject: "%{requester_name} a été accepté pour accéder en tant que contributeur du %{resource_title}." + notification_title: %{requester_name} %{requester_nickname} a été admis à l' accès en tant que contributeur du %{resource_title} projet de collaboration. + collaborative_draft_access_rejected: + email_intro: '%{requester_name} a été refusé d''accès en tant que contributeur du projet collaboratif %{resource_title}.' + email_outro: Vous avez reçu cette notification car vous êtes collaborateur de %{resource_title}. + email_subject: "%{requester_name} a été rejetée pour accéder en tant que contributeur du %{resource_title} projet de collaboration." + notification_title: %{requester_name} %{requester_nickname} a été rejeté pour accéder en tant que contributeur du %{resource_title} projet de collaboration. + collaborative_draft_access_requested: + email_intro: '%{requester_name} demandé l''accès en tant que contributeur. Vous pouvez accepter ou rejeter la demande de la page de brouillon collaboratif %{resource_title}.' + email_outro: Vous avez reçu cette notification car vous êtes collaborateur de %{resource_title}. + email_subject: "%{requester_name} demandé un accès pour contribuer à %{resource_title}." + notification_title: %{requester_name} %{requester_nickname} demandé un accès pour contribuer au projet de collaboration %{resource_title} . S'il vous plaît accepter ou rejeter la demande. + collaborative_draft_access_requester_accepted: + email_intro: Vous avez été accepté pour accéder en tant que contributeur du projet collaboratif %{resource_title}. + email_outro: Vous avez reçu cette notification car vous avez demandé à devenir collaborateur de %{resource_title}. + email_subject: Vous avez été accepté comme contributeur de %{resource_title}. + notification_title: Vous avez été accepté d'accéder en tant que contributeur du %{resource_title} projet de collaboration. + collaborative_draft_access_requester_rejected: + email_intro: Vous avez été refusé à accéder en tant que contributeur du projet collaboratif %{resource_title}. + email_outro: Vous avez reçu cette notification car vous avez demandé à devenir collaborateur de %{resource_title}. + email_subject: Vous avez été rejeté en tant que contributeur de %{resource_title}. + notification_title: Vous avez été rejeté pour accéder en tant que contributeur du %{resource_title} projet de collaboration. + collaborative_draft_withdrawn: + email_intro: %{author_name} %{author_nickname} retiré le projet de collaboration %{resource_title}. + email_outro: Vous avez reçu cette notification car vous êtes collaborateur de %{resource_title}. + email_subject: "%{author_name} %{author_nickname} retiré le %{resource_title} projet de collaboration." + notification_title: %{author_name} %{author_nickname} retiré le %{resource_title} projet de collaboration. + creation_enabled: + email_intro: 'Vous pouvez maintenant créer de nouvelles propositions dans %{participatory_space_title} ! Commencez à participer sur cette page :' + email_outro: Vous avez reçu cette notification car vous suivez %{participatory_space_title}. Vous pouvez arrêter de recevoir des notifications en cliquant sur le lien précédent. + email_subject: Les propositions sont maintenant disponibles dans %{participatory_space_title} + notification_title: Vous pouvez maintenant créer de nouvelles propositions dans %{participatory_space_title} + endorsing_enabled: + email_intro: 'Vous pouvez soutenir les différentes propositions dans %{participatory_space_title} ! Commencez à participer en vous rendant sur cette page :' + email_outro: Vous avez reçu cette notification car vous suivez %{participatory_space_title}. Vous pouvez arrêter de recevoir des notifications en cliquant sur ce dernier lien. + email_subject: Vous pouvez désormais soutenir des propositions dans %{participatory_space_title} + notification_title: Vous pouvez maintenant commencer à soutenir les propositions dans %{participatory_space_title} + proposal_accepted: + affected_user: + email_intro: 'Votre proposition "%{resource_title}" a été acceptée. Vous pouvez lire la réponse sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de "%{resource_title}". + email_subject: Votre proposition a été acceptée + notification_title: Votre proposition %{resource_title} a été acceptée. + follower: + email_intro: 'La proposition "%{resource_title}" a été acceptée. Vous pouvez lire la réponse sur cette page :' + email_outro: Vous venez de recevoir cette notification parce que vous suivez "%{resource_title}". Vous pouvez à tout moment arrêter de la suivre en cliquant sur ce dernier lien. + email_subject: Une proposition que vous suivez a été acceptée + notification_title: La proposition %{resource_title} a été acceptée. + proposal_evaluating: + affected_user: + email_intro: 'Votre proposition "%{resource_title}" est en cours d''évaluation. Vous pouvez rechercher une réponse sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de "%{resource_title}". + email_subject: Votre proposition est en cours d'évaluation + notification_title: Votre proposition %{resource_title} est en cours d'évaluation. + follower: + email_intro: 'La proposition "%{resource_title}" est en cours d''évaluation. Vous pouvez consulter cette page pour voir si une réponse a été formulée :' + email_outro: Vous venez de recevoir cette notification parce que vous suivez "%{resource_title}". Vous pouvez à tout moment arrêter de la suivre en cliquant sur ce dernier lien. + email_subject: Une proposition que vous suivez est en cours d'évaluation + notification_title: La proposition %{resource_title} est en cours d'évaluation. + proposal_mentioned: + email_intro: Votre proposition "%{mentioned_proposal_title}" a été mentionnée dans cet espace dans les commentaires. + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de "%{resource_title}". + email_subject: Votre proposition "%{mentioned_proposal_title}" a été mentionnée + notification_title: Votre proposition "%{mentioned_proposal_title}" a été mentionnée dans cet espace, dans les commentaires. + proposal_published: + email_intro: '%{author_name} %{author_nickname}, que vous suivez, a publié une nouvelle proposition appelée "%{resource_title}". Découvrez-le et contribuez:' + email_outro: Vous avez reçu cette notification car vous suivez %{author_nickname}. Vous pouvez cesser de recevoir des notifications en suivant le lien précédent. + email_subject: Nouvelle proposition "%{resource_title}" par %{author_nickname} + notification_title: La proposition %{resource_title} a été publiée par %{author_name} %{author_nickname}. + proposal_published_for_space: + email_intro: La proposition "%{resource_title}" a été publiée dans "%{participatory_space_title}" que vous suivez. + email_outro: Vous avez reçu cette notification parce que vous suivez "%{participatory_space_title}". Vous pouvez cesser de le suivre en cliquant sur le lien précédent. + email_subject: Nouvelle proposition "%{resource_title}" ajoutée à %{participatory_space_title} + notification_title: La proposition %{resource_title} a été publiée dans %{participatory_space_title} + proposal_rejected: + affected_user: + email_intro: 'Votre proposition "%{resource_title}" a été rejetée. Vous pouvez lire la réponse sur cette page:' + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de "%{resource_title}". + email_subject: Votre proposition a été rejetée + notification_title: Votre proposition %{resource_title} a été rejetée. + follower: + email_intro: 'La proposition "%{resource_title}" n''a pas été retenue. Vous pouvez lire le commentaire ici :' + email_outro: Vous venez de recevoir cette notification parce que vous suivez "%{resource_title}". Vous pouvez à tout moment arrêter de la suivre en cliquant sur ce dernier lien. + email_subject: Une proposition que vous suivez n'a pas été retenue + notification_title: La proposition %{resource_title} n'a pas été retenue. + proposal_update_category: + email_intro: 'Un administrateur a mis à jour la catégorie de votre proposition "%{resource_title}". Vous pouvez y accéder ici :' + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de la proposition. + email_subject: La catégorie de la proposition %{resource_title} a été mise à jour + notification_title: La catégorie de la proposition %{resource_title} a été mise à jour par un administrateur. + proposal_update_scope: + email_intro: 'Un administrateur a mis à jour la portée de votre proposition "%{resource_title}", regardez-la dans cette page :' + email_outro: Vous avez reçu cette notification parce que vous êtes l'auteur de la proposition. + email_subject: La portée de la proposition %{resource_title} a été mise à jour + notification_title: La portée de la proposition %{resource_title} a été mise à jour par un administrateur. + voting_enabled: + email_intro: 'Vous pouvez soutenir les propositions de %{participatory_space_title} ! Participez ici :' + email_outro: Vous avez reçu cette notification car vous suivez %{participatory_space_title}. Vous pouvez arrêter de recevoir des notifications en suivant le lien précédent. + email_subject: Vous pouvez désormais voter les propositions dans %{participatory_space_title} + notification_title: Vous pouvez maintenant commencer à voter pour les propositions de %{participatory_space_title} + gamification: + badges: + accepted_proposals: + conditions: + - Choisissez l'espace de participation qui vous intéresse avec la soumission des propositions activée + - Essayez de faire des propositions qui peuvent être réalisées. De cette façon, ils sont plus susceptibles d'être acceptés. + description: Ce badge est attribué lorsque vous participez activement à de nouvelles propositions et que celles-ci sont acceptées. + description_another: '%{score} des propositions de cet utilisateur ont été acceptées.' + description_own: '%{score} de vos propositions ont été acceptées.' + name: Propositions acceptées + next_level_in: Vous atteindrez le niveau suivant lorsque %{score} propositions supplémentaires seront acceptés ! + unearned_another: Aucune proposition de cet auteur n'a encore été acceptée. + unearned_own: Aucune de vos propositions n'a encore été acceptée. + proposal_votes: + conditions: + - Parcourir et passer du temps à lire les propositions d'autres personnes + - Soutenez les propositions que vous aimez ou trouvez intéressantes + description: Ce badge est attribué lorsque vous soutenez les propositions d'autres personnes. + description_another: Cet utilisateur a soutenu %{score} propositions. + description_own: Vous avez soutenu %{score} propositions. + name: Soutiens de proposition + next_level_in: Soutenir %{score} propositions supplémentaires pour atteindre le niveau supérieur! + unearned_another: Cet utilisateur n'a soutenu aucun proposition pour le moment. + unearned_own: Vous n'avez soutenu aucune proposition pour le moment. + proposals: + conditions: + - Choisissez l'espace de participation qui vous intéresse avec la soumission des propositions activée + - Créer une nouvelle proposition + description: Ce badge est attribué lorsque vous participez activement à de nouvelles propositions. + description_another: Cet utilisateur a créé %{score} propositions. + description_own: Vous avez créé %{score} propositions. + name: Propositions + next_level_in: Créez %{score} propositions supplémentaires pour atteindre le niveau suivant ! + unearned_another: Cet utilisateur n'a pas encore créé de proposition. + unearned_own: Vous n'avez créé aucune proposition pour le moment. + metrics: + accepted_proposals: + description: Nombre de propositions acceptées par les utilisateurs + object: propositions + title: Propositions Acceptées + endorsements: + description: Nombre d'avenants générés dans les propositions + object: soutiens + title: Soutiens + proposals: + description: Nombre de propositions générées + object: propositions + title: Propositions + votes: + description: Nombre de votes générés dans les propositions par les utilisateurs + object: votes + title: Votes + participatory_spaces: + highlighted_proposals: + see_all: Tout voir (%{count}) + proposals: + actions: + answer_proposal: Répondre à la proposition + edit_proposal: Modifier la proposition + import: Importer depuis une autre fonctionnalité + new: Nouvelle proposition + participatory_texts: Textes participatifs + show: Afficher la proposition + title: Actions + admin: + actions: + preview: Aperçu + exports: + proposal_comments: Commentaires + proposals: Propositions + models: + proposal: + name: Proposition + participatory_texts: + bulk-actions: + are_you_sure: Etes-vous sûr de supprimer le brouillon du texte participatif? + discard_all: Jeter tout + import_doc: Importer le document + discard: + success: Tous les brouillons de texte participatifs ont été rejetés. + import: + invalid: Le formulaire est invalide! + invalid_file: Le fichier contient une erreur, veuillez essayer de modifier le contenu du fichier et le transférer à nouveau. + success: Félicitations, les sections suivantes ont été analysées à partir du document importé, elles ont été converties en propositions. Maintenant, vous pouvez revoir et ajuster tout ce dont vous avez besoin avant de publier. + index: + info_1: Les sections suivantes ont été analysées à partir du document importé et ont été converties en propositions. Maintenant, vous pouvez revoir et ajuster tout ce dont vous avez besoin avant de publier. + publish_document: Publier le document + save_draft: Enregistrer le brouillon + title: Aperçu du texte participatif + new_import: + accepted_mime_types: + md: Markdown + odt: ODT + bottom_hint: "(Vous pourrez prévisualiser et trier les sections de document)" + document_legend: 'Ajoutez un document inférieur à 2 Mo. Chaque section jusqu’à 3 niveaux de titre sera convertie en propositions. Les formats supportés sont : %{valid_mime_types}' + title: Ajouter un document + upload_document: Télécharger le document + publish: + invalid: Impossible de publier des propositions + success: Toutes les propositions ont été publiées + sections: + article: "article" + section: "Section: %{title}" + sub-section: "Sous-section: %{title}" + update: + success: Texte participatif mis à jour avec succès. + proposal_answers: + form: + accepted: Retenue + answer_proposal: Répondre + evaluating: En cours d'évaluation + rejected: Non retenue + title: Réponse à la proposition %{title} + proposal_notes: + create: + error: Un problème est survenu lors de la création de cette note de proposition + success: Note de proposition créée avec succès + form: + note: Remarque + submit: Soumettre + leave_your_note: Laisser une remarque + title: Notes privées + proposals: + answer: + invalid: Il y a eu un problème concernant la réponse à cette proposition + success: La réponse à la proposition a été publiée avec succès + create: + invalid: Il y a eu un problème lors de la création de cette proposition + success: Proposition créée avec succès + edit: + title: Mise à jour de la proposition + update: Mettre à jour + form: + attachment_legend: "(Facultatif) Ajouter une pièce jointe" + created_in_meeting: Cette proposition provient d'une réunion + delete_attachment: Supprimer la pièce jointe + select_a_category: Sélectionner une catégorie + select_a_meeting: Sélectionnez une réunion + index: + actions: Actions + assign_to_valuator: Assigner à un évaluateur + assign_to_valuator_button: Assigner + cancel: Annuler + change_category: Changer de catégorie + change_scope: Changer le périmètre + merge: Fusionner dans un nouveau + merge_button: Fusionner + publish: Publier + publish_answers: Publier les réponses + select_component: Sélectionnez un composant + selected: choisi + split: Fractionner la proposition + split_button: Scinder + title: Propositions + unassign_from_valuator: Retirer de l'évaluateur + unassign_from_valuator_button: Ne plus assigner + update: Mettre à jour + update_scope_button: Mise à jour du périmètre + new: + create: Créer + title: Créer une proposition + publish_answers: + number_of_proposals: Les réponses pour %{number} propositions seront publiées. + select_a_proposal: Veuillez sélectionner une proposition + show: + amendments_count: Nombre d'amendements + assigned_valuators: Évaluateurs assignés + authors: Auteurs + body: Corps + comments_count: Nombre de commentaires + comments_negative_count: Contre + comments_neutral_count: Neutre + comments_positive_count: En faveur + created_at: Date de création + documents: Documents + endorsements_count: Nombre de soutiens + endorsements_ranking: Classement par soutiens + endorsers: Soutiens + link: Lien + n_more_endorsers: + one: et 1 de plus + other: et %{count} autres + photos: Photos + proposals: Propositions + ranking: "%{ranking} sur %{total}" + related_meetings: Réunions associées + remove_assignment: Supprimer l'affectation + remove_assignment_confirmation: Êtes-vous sûr de vouloir supprimer l'évaluateur de cette proposition ? + valuators: Évaluateurs + votes_count: Nombre de votes + votes_ranking: Classement par supports + update_category: + invalid: 'Ces propositions avaient déjà la catégorie %{subject_name} : %{proposals}.' + select_a_category: Veuillez sélectionner une catégorie + select_a_proposal: Veuillez sélectionner une proposition + success: 'Les propositions ont été mises à jour avec succès vers la catégorie %{subject_name} : %{proposals}.' + update_scope: + invalid: 'Ces propositions avaient déjà la portée de %{subject_name} : %{proposals}.' + select_a_proposal: Veuillez sélectionner une proposition + select_a_scope: Veuillez sélectionner un secteur + success: 'Les propositions ont été mises à jour avec succès vers le périmètre %{subject_name} : %{proposals}.' + proposals_imports: + create: + invalid: Un problème est survenu lors de l'importation des propositions + success: "%{number} propositions importées avec succès" + new: + create: Importer des propositions + no_components: Il n'y a pas d'autre fonctionnalité de proposition dans cet espace participatif dans laquelle importer les propositions. + select_component: Veuillez sélectionner une fonctionnalité + select_states: Vérifiez l'état des propositions à importer + title: Importer des propositions + proposals_merges: + create: + invalid: Une erreur s'est produite lors de la fusion des propositions sélectionnées. + success: A fusionné avec succès les propositions dans un nouveau. + proposals_splits: + create: + invalid: Une erreur s'est produite lors de la division des propositions sélectionnées. + success: Divisé avec succès les propositions en nouvelles. + valuation_assignments: + create: + invalid: Il y a eu une erreur en attribuant des propositions à un évaluateur + success: Propositions assignées à un évaluateur avec succès + delete: + invalid: Il y a eu une erreur lors de la désassignation des propositions d'un évaluateur + success: Evaluateur désaffecté aux propositions avec succès + admin_log: + proposal: + answer: "%{user_name} a répondu à la proposition %{resource_name} sur l'espace %{space_name}" + create: "%{user_name} a créé la proposition %{resource_name} sur l'espace %{space_name} en tant que proposition officielle" + publish_answer: "%{user_name} a publié la réponse à la proposition %{resource_name} sur l'espace %{space_name}" + update: "%{user_name} mis à jour le %{resource_name} proposition officielle sur le %{space_name} espace" + proposal_note: + create: "%{user_name} a publié une note privée sur la proposition %{resource_name} sur l'espace %{space_name}" + valuation_assignment: + create: "%{user_name} a assigné la proposition %{resource_name} à un évaluateur" + delete: "%{user_name} a désassigné un évaluateur de la proposition %{proposal_title}" + answers: + accepted: Retenue + evaluating: En cours d'évaluation + not_answered: En attente de réponse + rejected: Non retenue + withdrawn: Retirée + application_helper: + filter_category_values: + all: Tout + filter_origin_values: + all: Tout + citizens: Propositions citoyennes + meetings: Des réunions + official: Propositions officielles + user_groups: Groupes d'utilisateurs + filter_scope_values: + all: Tout + filter_state_values: + accepted: Accepté + all: Tout + evaluating: En cours d'évaluation + not_answered: En attente de réponse + rejected: Rejeté + filter_type_values: + all: Tout + amendments: Amendements + proposals: Propositions + collaborative_drafts: + collaborative_draft: + publish: + error: Il y a eu des erreurs lors de la publication du brouillon collaboratif. + irreversible_action_modal: + body: Après avoir publié le projet en tant que proposition, le projet ne sera plus éditable. La proposition n'acceptera pas de nouveaux auteurs ou contributions. + cancel: Annuler + ok: Publier en tant que proposition + title: L'action suivante est irréversible + success: Brouillon collaboratif publié avec succès en tant que proposition. + view_collaborative_draft: Afficher le brouillon collaboratif + withdraw: + error: Il y a eu des erreurs en fermant le brouillon collaboratif. + irreversible_action_modal: + body: Après avoir fermé le brouillon, le brouillon ne sera plus éditable. Le projet n'acceptera pas de nouveaux auteurs ou contributions. + cancel: Annuler + ok: Retirer le projet collaboratif + title: L'action suivante est irréversible + success: Brouillon collaboratif retiré avec succès. + count: + drafts_count: + one: "%{count} brouillon collaboratif" + other: "%{count} brouillons collaboratifs" + create: + error: Il y a eu un problème lors de la création de ces brouillons collaboratifs + success: Brouillon collaboratif créé avec succès. + edit: + attachment_legend: "(Facultatif) Ajouter une pièce jointe" + back: Retour + select_a_category: Veuillez sélectionner une catégorie + send: Envoyer + title: Modifier un brouillon collaboratif + filters: + all: Tout + amendment: Amendements + category: Catégorie + open: Ouvrir + published: Publié + related_to: Lié à + scope: Portée + search: Chercher + state: État + withdrawn: Retiré + filters_small_view: + close_modal: Fermer la fenêtre + filter: Filtre + filter_by: Filtrer par + unfold: Se dérouler + new: + send: Continuer + new_collaborative_draft_button: + new_collaborative_draft: Nouveau brouillon collaboratif + orders: + label: 'Ordre des brouillons par:' + most_contributed: La plupart ont contribué + random: Aléatoire + recent: Récent + requests: + accepted_request: + error: Ne peut être accepté en tant que collaborateur, réessayez plus tard. + success: "@%{user} a été accepté comme collaborateur avec succès" + access_requested: + error: Votre demande n'a pas pu être complétée, réessayez plus tard. + success: Votre demande de collaboration a été envoyée avec succès + collaboration_requests: + accept_request: Accepté + reject_request: Rejeté + title: Demandes de collaboration + rejected_request: + error: Ne peut être rejeté en tant que collaborateur, réessayez plus tard. + success: "@%{user} a été rejeté en tant que collaborateur avec succès" + show: + back: Retour + edit: Modifier un brouillon collaboratif + final_proposal: proposition finale + final_proposal_help_text: Ce brouillon est terminé. Vous pouvez voir la proposition finale terminée + hidden_authors_count: + one: et %{count} personne de plus + other: et %{count} autres personnes + info-message: Ceci est un projet collaboratif pour une proposition. Cela signifie que vous pouvez aider leurs auteurs à façonner la proposition en utilisant la section commentaire ci-dessous ou l'améliorer directement en demandant l'accès pour la modifier. Une fois que les auteurs vous accordent l'accès, vous pourrez apporter des modifications à ce brouillon. + publish: Publier + publish_info: Publiez cette version du brouillon ou + published_proposal: proposition publiée + request_access: Demande d'accès + requested_access: Accès demandé + version_history: voir l'historique des versions de cette proposition + withdraw: retirer le projet + states: + open: Ouvrir + published: Publié + withdrawn: Retiré + update: + error: Il y a eu des erreurs lors de l'enregistrement du brouillon collaboratif. + success: Brouillon collaboratif mis à jour avec succès. + wizard_aside: + back_from_collaborative_draft: Retour aux brouillons collaboratifs + info: Vous créez un projet collaboratif. + wizard_header: + title: Créez votre projet collaboratif + content_blocks: + highlighted_proposals: + proposals: Propositions + create: + error: Il y a eu des erreurs lors de la sauvegarde de la proposition. + success: Proposition créée avec succès. Enregistrée comme brouillon. + destroy_draft: + error: Des erreurs sont survenues lors de la suppression du brouillon de la proposition. + success: Le brouillon de la proposition a bien été supprimé. + last_activity: + new_proposal_at_html: "Nouvelle proposition à %{link}" + proposal_updated_at_html: "Débat mis à jour à %{link}" + models: + collaborative_draft: + fields: + authors: Auteurs + comments: commentaires + contributions: Contributions + proposal: + fields: + category: Catégorie + comments: Commentaires + id: ID + notes: Remarques + official_proposal: Proposition officielle + published_answer: Réponse publiée + published_at: Publiée à + scope: Périmètre d'application + state: État + title: Titre + valuator: Évaluateur + valuators: Évaluateurs + votes: Votes + new: + limit_reached: Vous ne pouvez pas créer de nouvelles propositions car vous avez dépassé le nombre autorisé. + participatory_text_proposal: + alternative_title: Il n'y a pas de textes participatifs pour le moment + buttons: + amend: Modifier + comment: Commentaire + comments: commentaires + proposal_votes: + create: + error: Des erreurs se sont produites lors du soutien de la proposition. + proposals: + compare: + continue: Continuer + no_similars_found: Bien joué ! Aucune proposition similaire n'a été trouvée + title: Propositions similaires + complete: + send: Envoyer + title: Complétez votre proposition + count: + proposals_count: + one: "%{count} proposition" + other: "%{count} propositions" + dynamic_map_instructions: + instructions:

    Vous pouvez déplacer le point sur la carte.

    N'oubliez pas de cliquer sur le bouton "Mettre à jour la position" avant de publier votre proposition.

    + edit: + add_documents: Documents + add_images: Fichier + attachment_legend: "(Facultatif) Ajouter une pièce jointe" + back: Retour + delete_document: Supprimer le document + delete_image: Supprimer l'image + gallery_legend: "(Facultatif) Ajouter une image à la carte de proposition" + select_a_category: Veuillez sélectionner une catégorie + send: Envoyer + title: Modifier la proposition + edit_draft: + discard: Supprimer ce brouillon + discard_confirmation: Êtes-vous sûr de vouloir supprimer le brouillon de votre proposition ? + send: Aperçu + title: Modifier le brouillon de votre proposition + filters: + activity: Mon activité + all: Tout + amendment_type: Type + category: Catégorie + my_proposals: Mes propositions + origin: Auteurs + related_to: Liées à + scope: Portée + search: Rechercher + state: État + type: Type + voted: Ne montrer que les propositions pour lesquelles j'ai voté + filters_small_view: + close_modal: Fermer la fenêtre de dialogue + filter: Filtrer + filter_by: Filtrer par + unfold: Voir plus + index: + collaborative_drafts_list: Accéder aux brouillons collaboratifs + new_proposal: Nouvelle proposition + see_all_withdrawn: Voir toutes les propositions retirées + view_proposal: Voir la proposition + linked_proposals: + proposal_votes: + one: vote + other: votes + new: + send: Continuer + title: Créer une proposition + orders: + label: 'Classement des propositions par :' + most_commented: Les plus commentées + most_endorsed: Les plus soutenues + most_followed: Les plus suivies + most_voted: Les plus votées + random: Aléatoire + recent: Les plus récentes + with_more_authors: Avec le plus d'auteurs + participatory_texts: + index: + document_index: Index de document + view_index: + see_index: Voir index + placeholder: + address: 60 Boulevard Victor Hugo Saint-Jean-de-Luz, BP 64500 + preview: + announcement_body: Votre proposition a été enregistrée en tant que brouillon. Elle doit être publiée pour qu'elle apparaisse sur le site. + announcement_title: Votre proposition n'a pas encore été publiée + modify: Modifier la proposition + proposal_edit_before_minutes: + one: Vous avez la possibilité de modifier cette proposition dans la première minute suivant sa publication. Une fois ce laps de temps écoulé, vous ne pourrez plus la modifier. + other: Vous avez la possibilité de modifier cette proposition dans les %{count} minutes suivant sa publication. Une fois ce laps de temps écoulé, vous ne pourrez plus la modifier. + publish: Publier + title: Publier la proposition + update_position: Mettre à jour la position + proposal: + creation_date: 'Création : %{date}' + view_proposal: Voir la proposition + proposals: + empty: Il n'y a pas encore de proposition + empty_filters: Il n'y a aucune proposition avec ce critère + show: + answer: Répondre + back_to: Retour à + back_to_list: Retour à la liste + changes_at_title: Amendement de (%{title}" + comments: Commentaires + edit_proposal: Modifier la proposition + endorsements_list: Liste des soutiens + estimated_cost: Coût estimé + hidden_endorsers_count: + one: et %{count} personne de plus + other: et %{count} autres personnes + link_to_collaborative_draft_help_text: Cette proposition est le résultat d'un projet collaboratif. Revoir l'histoire + link_to_collaborative_draft_text: Voir le brouillon collaboratif + link_to_promoted_emendation_help_text: Cette proposition est un amendement promu + link_to_promoted_emendation_text: Voir les demandes de modification rejetées. + link_to_proposal_from_emendation_help_text: Ceci est une demande de modification rejetée + link_to_proposal_from_emendation_text: Voir la proposition + proposal_accepted_reason: 'Cette proposition a été retenue parce que :' + proposal_in_evaluation_reason: Cette proposition est en cours d'évaluation + proposal_rejected_reason: 'Cette proposition n''a pas été retenue parce que :' + read_less: Lire moins + read_more: En savoir plus + report: Signaler + withdraw_btn_hint: Si vous changez d'avis et tant que votre proposition n'a pas reçu de vote, commentaire et/ou soutien, vous pouvez toujours la retirer. Cette dernière ne sera pas supprimée mais elle apparaîtra dans la liste des propositions retirées. + withdraw_confirmation_html: Êtes-vous sûr de vouloir retirer cette proposition ?

    Cette action ne peut pas être annulée ! + withdraw_proposal: Retirer la proposition + tags: + changed_from: "(changé de %{previous_name} par un administrateur)" + update: + title: Mettre à jour la proposition + vote_button: + already_voted: Déjà votée + already_voted_hover: Retirer le vote + maximum_votes_reached: Nombre maximum de votes atteint + no_votes_remaining: Aucun vote restant + vote: Voter + votes_blocked: Votes désactivés + votes_count: + count: + one: VOTE + other: VOTES + most_popular_proposal: Proposition la plus populaire + need_more_votes: Besoin de plus de votes + voting_rules: + can_accumulate_supports_beyond_threshold: + description: Chaque proposition doit rassembler plus de %{limit} votes + minimum_votes_per_user: + description: Vous devez répartir un minimum de %{votes} voix entre différentes propositions. + given_enough_votes: Vous avez donné suffisamment de soutien. + supports_remaining: Vous devez voter %{remaining_votes} proposition supplémentaire pour que vos votes soient pris en compte. + proposal_limit: + description: Vous pouvez créer jusqu'à %{limit} propositions. + threshold_per_proposal: + description: Pour être acceptées, les propositions doivent atteindre %{limit} votes + title: 'Les soutiens sont soumis aux règles suivantes :' + vote_limit: + description: Vous pouvez voter pour %{limit} propositions au maximum. + left: Restant + votes: Votes + wizard_aside: + back: Retour + back_from_step_1: Retour aux propositions + back_from_step_2: Retour aux propositions + back_from_step_3: Retour à la comparaison des propositions + back_from_step_4: Retour à l'édition du brouillon + info: Vous créez une proposition. + wizard_steps: + current_step: Étape actuelle + see_steps: voir les étapes + step_1: Créer une proposition + step_2: Comparer aux autres propositions + step_3: Compléter votre proposition + step_4: Publier votre proposition + step_of: Étape %{current_step_num} sur %{total_steps} + title: Étapes de création de proposition + proposals_picker: + choose_proposals: Choisir les propositions + close: Fermer + more_proposals: Il y a %{number} propositions supplémentaires. Affinez votre recherche pour les localiser. + no_proposals: Aucune proposition ne correspond à vos critères de recherche ou il n'y a aucune proposition. + publish: + error: Il y a eu des erreurs lors de la publication de la proposition. + success: Proposition publiée avec succès. + publish_answers: + success: Réponses aux propositions publiées avec succès. + update: + error: Des erreurs se sont produites lors de l'enregistrement de la proposition. + success: Proposition mise à jour avec succès. + update_draft: + error: Des erreurs sont survenues lors de l'enregistrement du brouillon de la proposition. + success: Le brouillon de proposition a été mis à jour. + versions: + collaborative_drafts: + back_to_resource: Revenir au brouillon collaboratif + index: + title: Versions + proposals: + back_to_resource: Retourner à la proposition + withdraw: + errors: + has_supports: Cette proposition ne peut pas être retirée car elle dispose déjà de supports. + resource_links: + copied_from_component: + proposal_proposal: Propositions associées + included_projects: + project_result: 'Réalisations apparaissant dans ce projet :' + included_proposals: + proposal_project: 'Proposition figurant dans ces projets :' + proposal_result: 'Proposition figurant dans ces réalisations :' diff --git a/decidim-proposals/config/locales/ja.yml b/decidim-proposals/config/locales/ja.yml index 983eb46f0584a..0502a1d6c332a 100644 --- a/decidim-proposals/config/locales/ja.yml +++ b/decidim-proposals/config/locales/ja.yml @@ -27,6 +27,9 @@ ja: user_group_id: 次のように提案を作成 proposal_answer: answer: 回答 + cost: コスト + cost_report: コストレポート + execution_period: 実行期間 proposals_copy: copy_proposals: 選択したコンポーネントからのすべての提案を現在のものにインポートし、このアクションを元に戻すことができないことを理解しています。 origin_component_id: 提案をコピーするコンポーネント @@ -133,6 +136,10 @@ ja: participatory_texts_enabled_readonly: 既存の提案がある場合は、この設定は操作できません。 この機能を有効にする場合は、新しい `提案 コンポーネント` を作成し、もし無効にしたい場合はインポートされたすべての提案を `参加型 テキスト` メニューから破棄してください。 proposal_answering_enabled: 提案への回答を有効にする proposal_edit_before_minutes: 作成者が提案を作成してから編集が可能な時間(分) + proposal_edit_time: 提案の編集 + proposal_edit_time_choices: + infinite: いつでも提案を編集することを許可する + limited: 特定の期間内での提案の編集を許可する proposal_length: 提案本文の最大長 proposal_limit: 参加者ごとの提案数制限 proposal_wizard_step_1_help_text: 提案ウィザード "作成" ステップヘルプ テキスト @@ -348,6 +355,7 @@ ja: actions: preview: プレビュー exports: + proposal_comments: コメント proposals: 提案 models: proposal: @@ -371,7 +379,9 @@ ja: new_import: accepted_mime_types: md: Markdown + odt: ODT bottom_hint: "(ドキュメントセクションのプレビューとソートが可能になります)" + document_legend: '2MB未満のドキュメントを追加してください。セクションの深さが3レベルになるまで、各セクションは提案にパースされます。提案書式は次のとおりです: %{valid_mime_types}' title: ドキュメントを追加 upload_document: ドキュメントをアップロード publish: @@ -412,6 +422,7 @@ ja: form: attachment_legend: "(オプション) 添付ファイルを追加" created_in_meeting: この提案は会議から来ています + delete_attachment: 添付ファイルを削除 select_a_category: カテゴリを選択 select_a_meeting: ミーティングを選択 index: @@ -485,6 +496,7 @@ ja: no_components: この参加スペースには他の提案コンポーネントはありません。 select_component: コンポーネントを選択してください select_states: インポートする提案のステータスを確認してください + title: 提案をインポート proposals_merges: create: invalid: 選択した提案をマージする際に問題が発生しました。 @@ -635,6 +647,9 @@ ja: info: 共同ドラフトを作成しています。 wizard_header: title: 共同作業の下書きを作成する + content_blocks: + highlighted_proposals: + proposals: 提案 create: error: 提案を保存する際に問題がありました。 success: 提案は正常に作成されました。ドラフトとして保存されました。 @@ -643,6 +658,7 @@ ja: success: 提案の下書きは正常に削除されました。 last_activity: new_proposal_at_html: " %{link}で新しい提案" + proposal_updated_at_html: " %{link} で提案が更新されました" models: collaborative_draft: fields: @@ -686,9 +702,16 @@ ja: count: proposals_count: other: "%{count} の提案" + dynamic_map_instructions: + instructions:

    地図上のポイントを移動することができます。

    提案を公開する前に「位置を更新」ボタンをクリックしてください。

    edit: + add_documents: ドキュメント + add_images: ファイル attachment_legend: "(オプション) 添付ファイルを追加" back: 戻る + delete_document: ドキュメントの削除 + delete_image: 画像を削除 + gallery_legend: "(オプション) 提案カードに画像を追加する" select_a_category: カテゴリを選択してください send: 送信 title: 提案を編集 @@ -740,12 +763,17 @@ ja: document_index: ドキュメントのインデックス view_index: see_index: インデックスを見る + placeholder: + address: インディアナ州 ホームウッドドライブブラウンズバーグ 37, 46112 preview: + announcement_body: あなたの提案は下書きとして保存されました。サイトに表示するには公開する必要があります。 + announcement_title: 提案はまだ公開されていません modify: 提案を変更する proposal_edit_before_minutes: other: 提案が公開されてから最初の %{count} 分間、この提案を編集することができます。 この時間が経過すると、提案を編集することはできません。 publish: 公開 title: 提案を公開 + update_position: 位置を更新 proposal: creation_date: '作成: %{date}' view_proposal: 提案を表示 diff --git a/decidim-sortitions/config/locales/fr-LU.yml b/decidim-sortitions/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..a663c2df8b222 --- /dev/null +++ b/decidim-sortitions/config/locales/fr-LU.yml @@ -0,0 +1,153 @@ +fr-LU: + activemodel: + attributes: + sortition: + additional_info: Information sur le tirage au sort + decidim_category_id: Catégories des propositions sur lesquelles vous souhaitez appliquer le tirage au sort + decidim_proposals_component_id: Ensemble de propositions + dice: Résultat de votre tirage au dé. Tirez au sort un nombre de 1 à 6, soit à l'aide d'un dé à 6 faces soit par tout autre moyen, et entrez ici le nombre obtenu devant témoin(s). Cette procédure contribue à garantir la sincérité et le caractère aléatoire du résultat. + target_items: Nombre de propositions à sélectionner (indique le nombre de propositions que vous voulez tirer au sort parmi celles du groupe de propositions que vous avez choisi précédemment) + title: Titre + witnesses: Témoins + models: + decidim/sortitions/create_sortition_event: Tirage au sort + activerecord: + models: + decidim/sortitions/sortition: + one: Tirage au sort + other: Tirages au sort + decidim: + components: + sortitions: + name: Tirages au sort + settings: + global: + comments_enabled: Commentaires activés + comments_max_length: Longueur max des commentaires (laisser 0 pour la valeur par défaut) + events: + sortitions: + sortition_created: + email_intro: Le tirage au sort "%{resource_title}" a été ajouté à "%{participatory_space_title}" que vous suivez. + email_outro: Vous avez reçu cette notification car vous suivez "%{participatory_space_title}". Vous pouvez à tout moment ne plus suivre cet espace participatif en cliquant sur le lien précédent. + email_subject: Un nouveau tirage au sort vient d'être ajouté à %{participatory_space_title} + notification_title: Le tirage au sort %{resource_title} a été ajouté à %{participatory_space_title} + pages: + home: + statistics: + sortitions_count: Tirages au sort + participatory_processes: + statistics: + sortitions_count: Tirages au sort + sortitions: + admin: + actions: + destroy: Annuler le tirage au sort + edit: Éditer + new: Nouveau tirage au sort + show: Détails du tirage au sort + models: + sortition: + fields: + category: Catégorie + created_at: Date de création + decidim_proposals_component: Module de propositions + dice: Dé + reference: Référence + request_timestamp: Date et heure + seed: Valeur aléatoire + target_items: Éléments à sélectionner + title: Titre + name: + one: Tirage au sort + other: Tirages au sort + sortitions: + confirm_destroy: + confirm_destroy: Êtes-vous sûr de vouloir annuler ce tirage au sort ? + destroy: Annuler le tirage au sort + title: Annulation du tirage au sort + create: + error: Une erreur s'est produite lors de la création d'un nouveau tirage au sort. + success: Le tirage au sort a été créé avec succès + destroy: + error: Impossible d'annuler le tirage au sort. + success: Le tirage au sort a été annulé avec succès + edit: + title: Mettre à jour les informations sur le tirage au sort + update: Mettre à jour + form: + all_categories: Toutes les catégories + select_proposal_component: Sélectionnez un ensemble de propositions + title: Nouveau tirage au sort de propositions + index: + title: Tirages au sort + new: + confirm: 'En appuyant sur le bouton suivant, Decidim enregistrera la date et l''heure à la seconde près et, en association avec le résultat du tirage de dé, générera un choix aléatoire. Cette action est irréversible : une fois que vous aurez cliqué sur le bouton, le résultat du tirage ainsi que les données saisies dans le formulaire seront publiés et ne pourront pas être modifiés. Veillez donc bien à vérifier les informations renseignées en amont' + create: Créer + title: Nouveau tirage au sort + show: + selected_proposals: Propositions sélectionnées pour le tirage au sort + update: + error: Une erreur est survenue lors de la mise à jour du tirage au sort. + success: Le tirage au sort a bien été mis à jour + admin_log: + sortition: + create: "%{user_name} a créé le tirage au sort %{resource_name} dans %{space_name}" + delete: "%{user_name} a annulé le tirage au sort %{resource_name} dans %{space_name}" + update: "%{user_name} a mis à jour le tirage au sort %{resource_name} dans %{space_name}" + sortitions: + count: + proposals_count: + one: 1 proposition + other: "%{count} propositions" + filters: + active: Actif + all: Tout + cancelled: Annulé + category: Catégorie + category_prompt: Sélectionner une catégorie + search: Rechercher + state: État + filters_small_view: + close_modal: Fermer la fenêtre de dialogue + filter: Filtrer + filter_by: Filtrer par + unfold: Dérouler + linked_sortitions: + selected_proposals: Propositions sélectionnées + orders: + label: 'Trier les tirages au sort par :' + random: Aléatoire + recent: Récent + results_count: + count: + one: proposition sélectionnée + other: propositions sélectionnées + show: + algorithm: Code de l'algorithme de tirage au sort + any_category: toutes les catégories + back: Retour à la liste + cancelled: Tirage au sort annulé + candidate_proposal_ids: Ordre des propositions du tirage au sort et identifiants + candidate_proposals_info: 'Le tirage au sort a été effectué parmi les propositions suivantes (%{category_label}), avec les identifiants suivants (en gras les propositions sélectionnées) ' + category: de la catégorie %{category} + dice_result: "(1) Résultat du tirage de dé" + introduction: 'Cette page contient le résultat du tirage au sort %{reference}. Avec le tirage au sort, %{target_items} éléments ont été sélectionnés aléatoirement et avec une distribution de probabilité égale à partir de l''ensemble des propositions affichées ci-dessous. En plus du résultat, cette page fournit toutes les informations nécessaires pour maximiser les garanties et permettre de reproduire le résultat. Le tirage au sort résulte d''un double hasard fourni par le lancer d''un dé (vérifié par des témoins) et l''heure précise du tirage au sort, qui fournit l''entrée pour un algorithme qui génère une sélection aléatoire. La variable temporelle pour le tirage est si précise (de l''ordre de la seconde) qu''il est impossible de la contrôler par des humains fournissant ainsi une double entrée "infalsifiable" pour garantir un résultat juste. ' + mathematical_result: Résultat (1) x (2) + proposals_selected_by_sortition: Propositions sélectionnées par tirage au sort + sortition_reproducibility_details: Détails de reproductibilité du tirage au sort + time_seed: "(2) Date et Heure" + witnesses: Témoins + sortition: + random_seed: Valeur aléatoire + selected_proposals: + one: proposition sélectionnée + other: '%{count} propositions sélectionnées' + view: Voir + sortition_author: + deleted: Utilisateur supprimé + sortition_cancel_author: + deleted: Utilisateur supprimé + sortitions_count: + count: + one: 1 tirage au sort + other: "%{count} tirages au sort" diff --git a/decidim-surveys/config/locales/fr-LU.yml b/decidim-surveys/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..488c63b147371 --- /dev/null +++ b/decidim-surveys/config/locales/fr-LU.yml @@ -0,0 +1,66 @@ +fr-LU: + activemodel: + models: + decidim/surveys/closed_survey_event: Enquête terminée + decidim/surveys/opened_survey_event: Enquête commencée + activerecord: + models: + decidim/surveys/survey: + one: Enquête + other: Enquêtes + decidim/surveys/survey_answer: + one: Réponse + other: Réponses + decidim: + components: + surveys: + actions: + answer: Réponse + name: Enquête + settings: + global: + announcement: Annonce + clean_after_publish: 'Supprimer les réponses lors de la publication de l''enquête - ATTENTION : décocher après avoir fini vos tests et avoir publié l''enquête' + ends_at: Réponses acceptées jusqu'au + ends_at_help: Laisser vide si aucune date spécifique + scope_id: Secteur + scopes_enabled: Secteurs activés + starts_at: Réponses acceptées du + starts_at_help: Laisser vide si aucune date spécifique + step: + allow_answers: Autoriser les réponses + allow_unregistered: Autoriser les utilisateurs non inscrits à répondre à l'enquête + allow_unregistered_help: Si activé, aucun login ne sera nécessaire pour répondre à l'enquête. Cela peut conduire à des données pauvres ou non fiables et rend plus vulnérable aux attaques automatiques. A utiliser avec précaution ! + announcement: Annonce + events: + surveys: + survey_closed: + email_intro: L'enquête %{resource_title} proposée dans %{participatory_space_title} est maintenant terminée. + email_outro: Vous venez de recevoir une notification venant de %{participatory_space_title}. Vous pouvez à tout moment arrêter de recevoir des notifications en suivant le lien précédent. + email_subject: L'enquête de l'espace participatif %{participatory_space_title} est terminée + notification_title: L'enquête %{resource_title} ouverte dans %{participatory_space_title} est terminée. + survey_opened: + email_intro: 'L''enquête %{resource_title} est désormais ouverte dans l''espace participatif %{participatory_space_title}. Vous pouvez y participer depuis la page suivante :' + email_outro: Vous avez reçu cette notification car vous suivez l'espace participatif %{participatory_space_title}. Vous pouvez arrêter de recevoir ces notifications à partir du lien précédent. + email_subject: Une nouvelle enquête a été créée dans %{participatory_space_title} + notification_title: 'L''enquête %{resource_title} est ouverte. Vous pouvez y participer en vous rendant sur le lien suivant : %{participatory_space_title}.' + metrics: + survey_answers: + description: Nombre d'enquêtes auxquelles ont répondu les utilisateurs + object: réponses aux enquêtes + title: Réponses aux enquêtes + surveys: + admin: + exports: + survey_user_answers: Réponses des participants à l'enquête + surveys: + update: + invalid: Erreurs lors de la sauvegarde de l'enquête. + success: Enquête enregistrée avec succès. + last_activity: + new_survey_at_html: "Nouvelle enquête à %{link}" + surveys: + answer: + invalid: Votre réponse à l'enquête comporte des erreurs. + spam_detected: Il y a eu un problème lors de la réponse au questionnaire. Peut-être avez-vous été trop rapide, pouvez-vous réessayer ? + success: Votre réponse à l'enquête a bien été enregistrée. diff --git a/decidim-surveys/config/locales/it.yml b/decidim-surveys/config/locales/it.yml index bf578f0ee006b..47f48489c52e1 100644 --- a/decidim-surveys/config/locales/it.yml +++ b/decidim-surveys/config/locales/it.yml @@ -23,6 +23,8 @@ it: clean_after_publish: Eliminare le risposte quando si pubblica il sondaggio ends_at: Risposte accettate fino al ends_at_help: Lascia vuoto se nessuna data è specificata + scope_id: Ambito + scopes_enabled: Ambiti abilitati starts_at: Risposte accettate da starts_at_help: Lascia vuoto se nessuna data è specificata step: diff --git a/decidim-surveys/config/locales/ja.yml b/decidim-surveys/config/locales/ja.yml index 57d113e560a5d..5f92c5818756c 100644 --- a/decidim-surveys/config/locales/ja.yml +++ b/decidim-surveys/config/locales/ja.yml @@ -19,8 +19,12 @@ ja: global: announcement: お知らせ clean_after_publish: アンケートを公開するときに回答を削除する + ends_at: 回答受付の終了日時 + ends_at_help: 特定の日付がない場合は空白のままにしてください scope_id: スコープ scopes_enabled: スコープが有効 + starts_at: 回答受付の開始日時 + starts_at_help: 特定の日付がない場合は空白のままにしてください step: allow_answers: 回答を許可 allow_unregistered: 未登録ユーザーがアンケートに回答できるようにする diff --git a/decidim-system/config/locales/fr-LU.yml b/decidim-system/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..620a4f24e587e --- /dev/null +++ b/decidim-system/config/locales/fr-LU.yml @@ -0,0 +1,182 @@ +fr-LU: + activemodel: + attributes: + oauth_application: + name: Nom de l'application OAuth + organization_logo: Logo de l'organisation (carré) + organization_name: Organisation + organization_url: URL de l'organisation + redirect_uri: URI de redirection + organization: + address: Nom de l'hôte SMTP + from_email: Adresse e-mail d'envoi des notifications + from_label: Label de l'envoyeur + password: Mot de passe + port: Port + user_name: Nom d'utilisateur + organization_file_uploads: + allowed_content_types: + admin: Formats autorisés - Admin (MIME) + default: Formats autorisés par défaut (MIME) + allowed_file_extensions: + admin: Extensions autorisées pour l'admin + default: Extensions de fichiers par défaut + image: Formats d'image autorisés + maximum_file_size: + avatar: Taille du fichier de l'avatar + default: Taille de fichier par défaut + errors: + models: + oauth_application: + attributes: + redirect_uri: + must_be_ssl: L'URI de redirection doit être une URI SSL + decidim: + system: + actions: + confirm_destroy: Êtes-vous certain de vouloir supprimer cela ? + destroy: Supprimer + edit: Modifier + new: Nouvelle + save: Sauvegarder + title: Actions + admins: + create: + error: Une erreur s'est produite lors de la création d'un nouvel administrateur. + success: Admin créé avec succès + destroy: + success: Administrateur supprimé avec succès + edit: + title: Modifier l'administrateur + update: Mettre à jour + index: + title: Administrateurs + new: + create: Créer + title: Nouvel administrateur + update: + error: Une erreur s'est produite lors de la mise à jour de cet administrateur. + success: Administrateur mis à jour avec succès + default_pages: + placeholders: + content: Ajoutez un contenu pertinent à la page %{page} en allant sur l'interface d'administration. + title: Titre par défaut pour %{page} + menu: + admins: Administrateurs + dashboard: Tableau de bord + oauth_applications: Applications OAuth + organizations: Organisations + models: + admin: + fields: + created_at: Créé le + email: Courriel + name: Administrateur + validations: + email_uniqueness: un autre administrateur avec la même adresse email existe déjà + oauth_application: + fields: + created_at: Créée le + name: Nom de l'application OAuth + organization_name: Organisation + name: Application OAuth + organization: + actions: + save_and_invite: Créer une organisation et inviter un administrateur + fields: + created_at: Créé le + file_upload_settings: Paramètres de téléchargement de fichier + name: Nom + omniauth_settings: Paramètres Omniauth + smtp_settings: Paramètres SMTP + name: Organisation + oauth_applications: + create: + error: Un problème est survenu lors de la création de cette application. + success: Application créée avec succès. + destroy: + error: Un problème est survenu lors de la suppression de cette application. + success: Application supprimée avec succès. + edit: + save: Enregistrer + title: Modifier l'application + form: + select_organization: Sélectionnez une organisation + index: + confirm_delete: Êtes-vous sûr de vouloir supprimer cette application ? + title: Applications OAuth + new: + save: Enregistrer + title: Nouvelle application + update: + error: Une erreur s'est produite lors de la mise à jour de cette application. + success: Application mise à jour avec succès. + organizations: + create: + error: Une erreur s'est produite lors de la création d'une nouvelle organisation. + success: Organisation créée avec succès. + edit: + secondary_hosts_hint: Entrez chacun d'eux dans une nouvelle ligne + file_upload_settings: + content_types: + admin_hint: Ces types MIME sont autorisés pour les téléchargements dans la section admin. Les administrateurs doivent être conscients des risques liés au téléchargement de certains formats de document, il faut donc vous attendre à qu'ils soient plus prudents avec les téléchargements de fichiers. + default_hint: Ces formats de fichiers sont autorisés par défaut pour tous les utilisateurs. + intro_html: Vous ajoutez des wildcards (jokers) avec le caractère astérisque pour les types MIME, par exemple image/*. + title: Types MIME acceptés + file_extensions: + admin_hint: Ces formats de fichiers sont autorisés pour les téléchargements dans la section admin. Les administrateurs doivent être conscients des risques liés au téléchargement de certains formats de document, il faut donc vous attendre à qu'ils soient plus prudents avec les téléchargements de fichiers. + default_hint: Ces formats de fichiers sont autorisés par défaut pour tous les utilisateurs. + image_hint: Ces extensions de fichier sont autorisées pour tout type de téléchargement d'image. + title: Extensions autorisées + file_sizes: + avatar_hint: Mégaoctets (Mo). Cette taille de fichier est utilisée pour les téléchargements d'images avatar. + default_hint: Megabytes (MB). Cette limite de taille de fichier est la valeur par défaut utilisée pour tous les téléchargements de fichiers, sauf indication contraire. + title: Taille maximum des fichiers + intro: | + Veuillez être extrêmement prudent lorsque vous envisagez de modifier ces paramètres. Moins vous autorisez, mieux c'est. + L'autorisation d'extensions de fichiers spécifiques ou de types MIME peut exposer les utilisateurs du système à des risques de sécurité et peut également affecter l'accessibilité du site. + index: + title: Organisations + new: + reference_prefix_hint: Le préfixe de référence est utilisé pour identifier de manière unique les ressources pour toutes les organisations + secondary_hosts_hint: Entrez chacun d'eux dans une nouvelle ligne + title: Nouvelle organisation + omniauth_settings: + decidim: + client_id: ID du client + client_secret: Secret du client + site_url: URL du site + enabled: Activé + enabled_by_default: Ce fournisseur est activé par défaut. Il peut être édité mais non désactivé. + facebook: + app_id: ID de l'application + app_secret: Secret de l'application + google_oauth2: + client_id: ID du client + client_secret: Secret du client + icon: Icône + icon_path: Chemin de l'icône + twitter: + api_key: Clé API + api_secret: Secret de l'API + smtp_settings: + fieldsets: + sender: Expéditeur + instructions: + from_label: 'L''expéditeur du mail sera "nom-de-votre-organisation ". Laissez le champ vide pour utiliser la valeur de ''from_email'' comme label' + placeholder: + from_email: votre-organisation@exemple.org + from_label: nom-de-votre-organisation + update: + error: Une erreur s'est produite lors de la mise à jour de cette organisation. + success: Organisation mise à jour avec succès. + users_registration_mode: + disabled: L'accès n'est possible qu'avec des comptes externes + enabled: Autoriser les utilisateurs à s'inscrire et à se connecter + existing: Ne pas autoriser les utilisateurs à s'inscrire, mais autoriser les utilisateurs existants à se connecter + shared: + notices: + no_organization_warning_html: Vous devez créer une organisation pour démarrer. Assurez-vous de lire %{guide} avant de continuer. + our_getting_started_guide: Notre guide de démarrage + titles: + dashboard: Tableau de bord diff --git a/decidim-templates/config/locales/fr-LU.yml b/decidim-templates/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..41254e56e73bd --- /dev/null +++ b/decidim-templates/config/locales/fr-LU.yml @@ -0,0 +1,60 @@ +fr-LU: + decidim: + admin: + menu: + templates: Modèles de questionnaire + templates: + apply: + error: Une erreur est survenue lors de l'application de ce modèle. + success: Modèle appliqué avec succès + copy: + error: Une erreur est survenue lors de la copie de ce modèle. + success: Modèle copié avec succès + create: + error: Une erreur est survenue pendant la création du modèle. + success: Modèle créé avec succès + destroy: + success: Modèle supprimé avec succès + empty: Il n'y a pas de modèle pour l'instant. + update: + error: Une erreur est survenue pendant la mise à jour du modèle. + success: Modèle mis à jour avec succès + titles: + template_types: + questionnaires: Modèles de questionnaire + templates: Modèles + models: + questionnaire_template: + fields: + questions: Nombre de questions + title: Nom du questionnaire + template: + fields: + created_at: Créé le + name: Modèle + templates: + admin: + questionnaire_templates: + choose: + create_from_template: Créer depuis un modèle + description: Vous êtes sur le point de créer un nouveau questionnaire. Vous pouvez choisir un modèle prédéfini et le modifier par la suite. + label: Choisir un modèle + placeholder: Choisir un modèle + skip_template: Passer + edit: + edit: Modifier + empty: Il n'y a pas encore de question + questionnaire: Questionnaire + form: + save: Sauvegarder + template_title: Informations sur le modèle + title: Modèle de questionnaire %{questionnaire_for} + index: + confirm_delete: Êtes-vous sûr de vouloir supprimer ce modèle? + title: Modèles de questionnaire + preview: + current_step: Étape %{step} + of_total_steps: sur %{total_steps} + tos_agreement: En participant, vous acceptez ces conditions d'utilisation + template_types: + questionnaires: Questionnaires diff --git a/decidim-templates/config/locales/it.yml b/decidim-templates/config/locales/it.yml index 4c7b810ff22c6..0c20131b3b8b4 100644 --- a/decidim-templates/config/locales/it.yml +++ b/decidim-templates/config/locales/it.yml @@ -48,6 +48,7 @@ it: form: save: Salva template_title: Informazioni del modello + title: Template del questionario %{questionnaire_for} index: confirm_delete: Sei sicuro di voler eliminare questo modello? title: Modelli di questionari diff --git a/decidim-templates/config/locales/pl.yml b/decidim-templates/config/locales/pl.yml index 8558f6579dc32..9415293f9af67 100644 --- a/decidim-templates/config/locales/pl.yml +++ b/decidim-templates/config/locales/pl.yml @@ -55,6 +55,6 @@ pl: preview: current_step: Krok %{step} of_total_steps: z %{total_steps} - tos_agreement: Biorąc udział akceptujesz Regulamin korzystania z serwisu + tos_agreement: Biorąc udział akceptujesz Warunki korzystania z Platformy template_types: questionnaires: Kwestionariusze diff --git a/decidim-verifications/config/locales/fr-LU.yml b/decidim-verifications/config/locales/fr-LU.yml new file mode 100644 index 0000000000000..183f01d07c65a --- /dev/null +++ b/decidim-verifications/config/locales/fr-LU.yml @@ -0,0 +1,268 @@ +fr-LU: + activemodel: + attributes: + config: + available_methods: Méthodes disponibles + offline: Hors ligne + offline_explanation: Instructions pour la vérification hors ligne + online: En ligne + id_document_information: + document_number: Numéro de document (avec lettre) + document_type: Type de document + id_document_upload: + document_number: Numéro de document (avec lettre) + document_type: Type de votre document + user: Utilisateur + verification_attachment: Copie scannée du document + offline_confirmation: + email: Email de l'utilisateur + postal_letter_address: + full_address: Adresse complète + postal_letter_confirmation: + verification_code: Code de vérification + postal_letter_postage: + full_address: Adresse complète + verification_code: Code de vérification + decidim: + admin: + menu: + authorization_revocation: + before_date_info: Utile si le processus a déjà commencé et que vous voulez révoquer les permissions du processus précédent. + button: Révoquer tout + button_before: Révoquer avant + destroy: + confirm: Révoquer avant la date d'autorisation ne peut pas être annulée. Êtes-vous sûr de vouloir continuer ? + confirm_all: Révoquer toutes les autorisations ne peut pas être annulés. Êtes-vous sûr de vouloir continuer ? + destroy_nok: Il y a eu un problème lors de la révocation des autorisations. + destroy_ok: Toutes les autorisations correspondantes ont été annulées avec succès. + info: Il y a un total de %{count} participants vérifiés. + no_data: Aucun participant vérifié + title: Révocation des autorisations + authorization_workflows: Autorisations + admin_log: + organization: + update_id_documents_config: "%{user_name} a mis à jour la configuration de vérification des documents d’identité" + user: + grant_id_documents_offline_verification: "%{user_name} a vérifié %{resource_name} au moyen d’une vérification de documents d’identité hors ligne" + authorization_handlers: + admin: + csv_census: + help: + - Les administrateurs téléchargent un fichier CSV avec les emails des participants acceptés + - Seuls les participants avec un email dans ce fichier CSV peuvent être vérifiés + id_documents: + help: + - Les utilisateurs remplissent leurs informations d'identité et téléchargent une copie de leur document. + - Vous remplissez les informations présentes dans l'image téléchargée. + - L'information doit correspondre à tout ce que l'utilisateur a rempli. + - Si vous ne pouvez pas voir clairement les informations ou si vous ne pouvez pas les vérifier, vous pouvez rejeter la demande et l'utilisateur sera en mesure de les corriger. + postal_letter: + help: + - Les utilisateurs demandent un code de vérification à envoyer à leur adresse. + - Vous envoyez la lettre à leur adresse avec le code de vérification. + - Vous marquez la lettre comme envoyée. + - Une fois que vous avez coché la lettre, l'utilisateur sera en mesure de présenter le code et d'être vérifié. + csv_census: + explanation: Faites-vous vérifier en utilisant le recensement de l'organisation + name: Recensement de l'organisation + direct: Direct + help: Texte d'aide + id_documents: + explanation: Téléchargez vos documents d'identité afin que nous puissions vérifier votre identité + name: Documents d'identité + multistep: En plusieurs étapes + name: Nom + postal_letter: + explanation: Nous vous enverrons une lettre postale avec un code que vous devrez saisir afin que nous puissions vérifier votre adresse + name: Code par lettre postale + events: + verifications: + verify_with_managed_user: + notification_title: Le participant %{resource_title} a essayé de se vérifier avec les données du participant représenté %{managed_user_name} + verifications: + authorizations: + authorization_metadata: + info: 'Ceci est la donne de la vérification actuelle : ' + no_data_stored: Aucune donnée enregistrée. + create: + error: Une erreur s'est produite lors de la création de l'autorisation. + success: Vous avez été autorisé avec succès. + unconfirmed: Vous devez confirmer votre email pour vous autoriser. + destroy: + error: Un problème est survenu lors de la destruction de l'autorisation. + success: Vous avez réussi à détruire l'autorisation. + first_login: + actions: + another_dummy_authorization_handler: Vérifier avec un autre exemple de gestionnaire d'autorisation + csv_census: Vérifier par rapport au recensement de l'organisation + dummy_authorization_handler: Vérifier en comparant avec l'exemple du gestionnaire d'autorisation + dummy_authorization_workflow: Vérifiez par rapport à l'exemple de procédure d'autorisation + id_documents: Vérifiez votre identité en téléchargeant votre document d'identité + postal_letter: Vérifiez votre identité en recevant un code de vérification par courrier postal + sms: Soyez vérifié en recevant un code de vérification par SMS + title: Vérifier votre Identité + verify_with_these_options: 'Voici les options disponibles pour vérifier votre identité :' + index: + expired_verification: Vérification expiré + pending_verification: En attente de vérification + show_renew_info: Cliquez pour renouveler la vérification + unauthorized_verification: Nouvelle vérification + new: + authorize: Envoyer + authorize_with: Vérifier votre identité avec %{authorizer} + renew_modal: + cancel: Annuler + close: fermer + continue: Continuer + info_renew: Si vous voulez mettre à jour les données, continuez avec le renouvellement + title: Renouveler la vérification + skip_verification: Vous pouvez omettre cette étape pour le moment et %{link} + start_exploring: commencer à explorer + csv_census: + admin: + census: + create: + error: Une erreur est survenue lors du recensement. + success: '%{count} articles importés avec succès (%{errors} erreur)' + destroy_all: + success: Toutes les données du recensement ont été supprimées + destroy: + confirm: Supprimer tout le recensement ne peut pas être annulé. Es-tu sur de vouloir continuer? + title: Supprimer toutes les données du recensement + index: + data: Il y a %{count} enregistrements chargés au total. La dernière date de mise en ligne était le %{due_date} + empty: Il n'y a pas de données de recensement. Utilisez le formulaire ci-dessous pour l'importer à l'aide d'un fichier CSV. + title: Données de recensement actuelles + instructions: + body: Pour ce faire, vous devez entrer dans l’administration système et ajouter les autorisations csv_census à l’organisation. + title: Vous devez activer le recensement CSV pour cette organisation + new: + file: "Fichier .csv avec données de courrier électronique" + info: 'Doit être un fichier au format CSV avec une seule colonne avec l''adresse e-mail :' + submit: Téléverser un fichier + title: Télécharger un nouveau recensement + authorizations: + new: + error: Nous n'avons pas pu vérifier votre compte ou vous n'êtes pas dans le recensement de l'organisation. + success: Votre compte a été vérifié avec succès. + dummy_authorization: + extra_explanation: + postal_codes: + one: La participation est réservée aux utilisateurs avec le code postal %{postal_codes}. + other: 'La participation est réservée aux utilisateurs avec l''un des codes postaux suivants: %{postal_codes}.' + scope: La participation est réservée aux participants avec le secteur %{scope_name}. + user_postal_codes: + one: La participation est réservée aux participants avec le code postal %{postal_codes}, et votre code postal est %{user_postal_code}. + other: 'La participation est réservée aux participants avec l''un des codes postaux suivants : %{postal_codes}. Votre code postal est %{user_postal_code}.' + user_scope: La participation est réservée aux participants ayant le secteur %{scope_name}, et votre secteur est %{user_scope_name}. + id_documents: + admin: + config: + edit: + title: Configuration des documents d'identité + update: Mettre à jour + update: + error: Une erreur s'est produite lors de la mise à jour de la configuration. + success: Configuration mise à jour avec succès + confirmations: + create: + error: La vérification ne correspond pas. Réessayez ou rejetez la vérification afin que l'utilisateur puisse la modifier + success: Utilisateur vérifié avec succès + new: + introduce_user_data: Introduire les données dans l'image + reject: Rejeter + verify: Vérifier + offline_confirmations: + create: + error: La vérification ne correspond pas. Réessayez ou dites à l'utilisateur de le modifier. + success: Utilisateur vérifié avec succès + new: + cancel: Annuler + introduce_user_data: Introduire le courrier électronique de l'utilisateur et les données du document + verify: Vérifier + pending_authorizations: + index: + config: Config + offline_verification: Vérification hors ligne + title: Vérifications en attente + verification_number: 'Vérification # %{n}' + rejections: + create: + success: Vérification rejetée. L'utilisateur sera invité à modifier ses documents + authorizations: + choose: + choose_a_type: 'Veuillez sélectionner comment vous souhaitez être vérifié:' + offline: Hors ligne + online: En ligne + title: Vérifiez-vous en utilisant votre pièce d'identité + create: + error: Un problème est survenu lors du téléchargement de votre document + success: Document téléchargé avec succès + edit: + being_reviewed: Nous examinons vos documents et votre autorisation sera bientôt validée + offline: Utiliser la vérification hors ligne + online: Utiliser la vérification en ligne + rejection_clarity: Assurez-vous que les informations sont clairement visibles dans l'image téléchargée + rejection_correctness: Assurez-vous que les informations entrées sont correctes + rejection_notice: Il y a eu un problème avec votre vérification. Veuillez essayer à nouveau + send: Demande de vérification à nouveau + new: + send: Demande de vérification + title: Téléchargez votre document d'identité + update: + error: Un problème est survenu lors du chargement de votre document + success: Document téléchargé avec succès + dni: Carte nationale d'identité + nie: Carte de séjour ou de résident + passport: Passeport + postal_letter: + admin: + pending_authorizations: + index: + address: Adresse + letter_sent_at: Lettre envoyée à + mark_as_sent: Marquer comme envoyé + not_yet_sent: Pas encore envoyé + title: Vérifications en cours + username: Nom d'utilisateur + verification_code: Code de vérification + postages: + create: + error: Erreur en marquant la lettre comme envoyée + success: Lettre marquée avec succès comme envoyée + authorizations: + create: + error: Il y a eu un problème avec votre demande + success: Merci ! Nous enverrons un code de vérification à votre adresse + edit: + send: Confirmer + title: Introduisez le code de vérification que vous avez reçu + waiting_for_letter: Nous vous enverrons une lettre à votre adresse avec votre code de vérification + new: + send: Envoyez-moi une lettre + title: Demandez votre code de vérification + update: + error: Votre code de vérification ne correspond pas au nôtre. Veuillez vérifier la lettre que nous vous avons envoyée + success: Félicitations, votre identité a été vérifiée avec succès + sms: + authorizations: + create: + error: Il y avait un problème avec votre demande + success: Merci! Nous avons envoyé un SMS sur votre téléphone. + destroy: + success: Le code de vérification a été réinitialisé avec succès. Veuillez ré-entrer votre numéro de téléphone. + edit: + confirm_destroy: Êtes-vous sûr de vouloir réinitialiser le code de vérification? + destroy: Réinitialiser le code de vérification + resend: Vous n'avez pas reçu le code de vérification? + send: Confirmer + title: Introduisez le code de vérification que vous avez reçu + new: + send: Envoyez moi un SMS + title: Demander votre code de vérification + update: + error: Votre code de vérification ne correspond pas au nôtre. Veuillez vérifier le SMS que nous vous avons envoyé. + success: Toutes nos félicitations. Vous avez été vérifié avec succès. + errors: + messages: + uppercase_only_letters_numbers: à saisir en majuscule avec uniquement des lettres et / ou des chiffres diff --git a/decidim-verifications/config/locales/ja.yml b/decidim-verifications/config/locales/ja.yml index ccee975d9fafa..5623f06169689 100644 --- a/decidim-verifications/config/locales/ja.yml +++ b/decidim-verifications/config/locales/ja.yml @@ -34,8 +34,16 @@ ja: confirm: 前の日付の権限を取り消すことはできません。続行してもよろしいですか? confirm_all: すべての権限を取り消すことはできません。続行してもよろしいですか? destroy_nok: 許可の取り消し中に問題が発生しました。 + destroy_ok: すべての一致した認証が正常に取り消されました。 info: '%{count} 人の確認済み参加者がいます。' no_data: 確認済みの参加者はありません + title: 認証の取り消し方法 + authorization_workflows: 認証 + admin_log: + organization: + update_id_documents_config: "%{user_name} は IDドキュメント認証設定を更新しました" + user: + grant_id_documents_offline_verification: "オフラインIDドキュメント認証を使用して%{user_name} が %{resource_name} を確認しました" authorization_handlers: admin: csv_census: @@ -67,6 +75,10 @@ ja: postal_letter: explanation: 住所を確認するために入力する必要があるコードを記載した郵便手紙をお送りします。 name: 郵便番号によるコード + events: + verifications: + verify_with_managed_user: + notification_title: 参加者 %{resource_title} が管理参加者 %{managed_user_name} のデータと自分自身を確認しようとしました。 verifications: authorizations: authorization_metadata: @@ -123,6 +135,7 @@ ja: title: 現在の国勢調査データ instructions: body: これを行うには、システム管理を入力し、csv_census の認証を組織に追加する必要があります。 + title: この組織のCSVセンサス認証を有効にする必要があります new: file: "電子メールデータを含む.csvファイル" info: 'メールアドレスの列が 1 つだけの CSV 形式のファイルである必要があります:' @@ -137,6 +150,9 @@ ja: postal_codes: other: '参加者は次の郵便番号のいずれかを持つ参加者に制限されています: %{postal_codes}.' scope: 参加者はスコープ %{scope_name} の参加者に限定されています。 + user_postal_codes: + other: '参加者は次の郵便番号のいずれかを持つ参加者に制限されています: %{postal_codes}. あなたの郵便番号は %{user_postal_code} です。' + user_scope: 参加者はスコープ %{scope_name} を持つ参加者に限定されます。あなたのスコープは %{user_scope_name} です。 id_documents: admin: config: From 7bc56a27243a1017b1f23f6ea2a15bd2d6ddfbb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20P=C3=A9rez=20Fabregat?= Date: Mon, 7 Jun 2021 09:45:13 +0200 Subject: [PATCH 26/71] Fix question preview when no questions published (#8110) If none are published `#current_published_question_index` was returning nil and this was causing a 500 error due to `undefined method `-' for nil:NilClass` on `#previous_published_question`. --- .../decidim/consultations/needs_question.rb | 2 +- .../spec/system/question_spec.rb | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/decidim-consultations/app/controllers/concerns/decidim/consultations/needs_question.rb b/decidim-consultations/app/controllers/concerns/decidim/consultations/needs_question.rb index 05919a51f52c0..13ea8f894df5e 100644 --- a/decidim-consultations/app/controllers/concerns/decidim/consultations/needs_question.rb +++ b/decidim-consultations/app/controllers/concerns/decidim/consultations/needs_question.rb @@ -112,7 +112,7 @@ def current_question_index end def current_published_question_index - current_consultation_published_questions.find_index(current_question) + current_consultation_published_questions.find_index(current_question) || -1 end end end diff --git a/decidim-consultations/spec/system/question_spec.rb b/decidim-consultations/spec/system/question_spec.rb index 65ce6c4424889..c9e62339575f6 100644 --- a/decidim-consultations/spec/system/question_spec.rb +++ b/decidim-consultations/spec/system/question_spec.rb @@ -70,6 +70,24 @@ end end + context "when no question is published" do + let(:user) { create(:user, :admin, :confirmed, organization: organization) } + let(:previous_question) { create :question, :unpublished, consultation: consultation } + let(:question) { create :question, :unpublished, consultation: consultation } + let(:next_question) { create :question, :unpublished, consultation: consultation } + + before do + switch_to_host(organization.host) + login_as user, scope: :user + visit decidim_consultations.question_path(question) + end + + it "hides the previous/next question button" do + expect(page).not_to have_content("Previous question") + expect(page).not_to have_content("Next question") + end + end + context "when next question is published" do before do question.publish! From bccb99fdd416111277a41f3256b4f27c7da0e9a9 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Fri, 11 Jun 2021 12:46:13 +0200 Subject: [PATCH 27/71] New Crowdin updates (#8089) --- decidim-admin/config/locales/it.yml | 17 + decidim-admin/config/locales/pl.yml | 4 +- decidim-assemblies/config/locales/fr-CA.yml | 2 +- decidim-assemblies/config/locales/it.yml | 1 + decidim-assemblies/config/locales/pl.yml | 4 +- decidim-blogs/config/locales/it.yml | 1 + decidim-budgets/config/locales/it.yml | 64 +++- decidim-comments/config/locales/it.yml | 13 + decidim-conferences/config/locales/it.yml | 45 +++ decidim-conferences/config/locales/pl.yml | 18 +- .../config/locales/fr-CA.yml | 2 +- decidim-consultations/config/locales/it.yml | 1 + decidim-consultations/config/locales/ja.yml | 3 + decidim-debates/config/locales/it.yml | 51 +++ decidim-elections/config/locales/es-MX.yml | 2 +- decidim-elections/config/locales/es-PY.yml | 2 +- decidim-elections/config/locales/it.yml | 303 ++++++++++++++++++ decidim-elections/config/locales/ja.yml | 40 +++ decidim-elections/config/locales/nl.yml | 9 + decidim-elections/config/locales/pl.yml | 20 +- decidim-forms/config/locales/it.yml | 7 + decidim-initiatives/config/locales/it.yml | 116 +++++++ decidim-meetings/config/locales/it.yml | 50 +++ decidim-meetings/config/locales/nl.yml | 1 + .../config/locales/it.yml | 44 +++ .../config/locales/nl.yml | 1 + .../config/locales/pl.yml | 2 +- decidim-proposals/config/locales/it.yml | 45 +++ decidim-verifications/config/locales/it.yml | 17 + 29 files changed, 864 insertions(+), 21 deletions(-) diff --git a/decidim-admin/config/locales/it.yml b/decidim-admin/config/locales/it.yml index fd501ca882119..698bd4b51338f 100644 --- a/decidim-admin/config/locales/it.yml +++ b/decidim-admin/config/locales/it.yml @@ -379,6 +379,7 @@ it: file_help: import: explanation: 'Guida per il file:' + message_1: I file CSV, JSON e Excel (.xls) sono supportati message_2: I separatori delle colonne per il formato CSV devono essere punto e virgola (";") help_sections: error: Si è verificato un errore durante l'aggiornamento delle sezioni della guida @@ -430,6 +431,7 @@ it: accepted_mime_types: csv: csv json: json + xls: xls actions: back: Indietro file_legend: Aggiungi un file da importare che verrà analizzato. @@ -935,8 +937,12 @@ it: reported_users: object: utenti segnalati title: Utenti segnalati + user_reports: + object: rapporti utenti + title: Rapporti utenti moderations: actions: + expand: Espandi hidden: Nascosto hide: Nascondi not_hidden: Non nascosto @@ -957,17 +963,28 @@ it: models: moderation: fields: + created_at: Data di creazione hidden_at: Nascosto a + participatory_space: Spazio partecipativo report_count: Conteggio + reportable_id: Id + reportable_type: Tipo reported_content_url: URL del contenuto riportato reports: Report visit_url: Visita URL + report: + fields: + details: Dettagli motivazione + locale: Lingua + reason: Motivazione errors: messages: invalid_json: Problemi con la trasmissione tramite JSON (JSON non valido) layouts: decidim: admin: + global_moderations: + title: Moderazione globale newsletters: title: Newsletters settings: diff --git a/decidim-admin/config/locales/pl.yml b/decidim-admin/config/locales/pl.yml index 985f52dbec6f8..9cc85c108f3be 100644 --- a/decidim-admin/config/locales/pl.yml +++ b/decidim-admin/config/locales/pl.yml @@ -164,7 +164,7 @@ pl: newsletter: new: Nowy newsletter participatory_space_private_user: - new: Nowy prywatny użytkownik przestrzeni partycypacyjnej + new: Nowy użytkownik prywatny per_page: Na stronę permissions: Uprawnienia reject: Odrzuć @@ -912,7 +912,7 @@ pl: success: Użytkownik nie jest już administratorem. form: email: E-mail - name: Nazwa + name: Imię role: Rola new: create: Zaproś diff --git a/decidim-assemblies/config/locales/fr-CA.yml b/decidim-assemblies/config/locales/fr-CA.yml index 737af4835ba9b..fda648add9a25 100644 --- a/decidim-assemblies/config/locales/fr-CA.yml +++ b/decidim-assemblies/config/locales/fr-CA.yml @@ -26,7 +26,7 @@ fr-CA: duration: Durée facebook: Facebook github: GitHub - hashtag: Hashtag + hashtag: Mot-clic hero_image: Image de la page d'accueil included_at: Intégrée à cette plateforme le instagram: Instagram diff --git a/decidim-assemblies/config/locales/it.yml b/decidim-assemblies/config/locales/it.yml index c0a7be5e2f0b9..16dde27f5e145 100644 --- a/decidim-assemblies/config/locales/it.yml +++ b/decidim-assemblies/config/locales/it.yml @@ -250,6 +250,7 @@ it: update: "%{user_name} ha aggiornato le impostazioni delle assemblee" assembly_type: create: "%{user_name} ha creato il tipo di assemblea %{resource_name}" + delete: "%{user_name} ha rimosso il tipo di assemblea %{resource_name}" publish: "%{user_name} ha creato il tipo di assemblea %{resource_name}" unpublish: "%{user_name} ha rimosso la pubblicazione del tipo di assemblea %{resource_name}" update: "%{user_name} ha aggiornato il tipo di assemblea %{resource_name}" diff --git a/decidim-assemblies/config/locales/pl.yml b/decidim-assemblies/config/locales/pl.yml index 85b703cd8ef16..20c732b6f5b43 100644 --- a/decidim-assemblies/config/locales/pl.yml +++ b/decidim-assemblies/config/locales/pl.yml @@ -66,7 +66,7 @@ pl: user_id: Użytkownik assembly_user_role: email: E-mail - name: Nazwa + name: Imię role: Rola errors: models: @@ -220,7 +220,7 @@ pl: fields: ceased_date: Data zakończenia designation_date: Data wyznaczenia - full_name: Nazwa + full_name: Imię position: Pozycja name: Członek positions: diff --git a/decidim-blogs/config/locales/it.yml b/decidim-blogs/config/locales/it.yml index ca1c41d916af2..7c3c1c8032a47 100644 --- a/decidim-blogs/config/locales/it.yml +++ b/decidim-blogs/config/locales/it.yml @@ -29,6 +29,7 @@ it: success: Posta cancellata con successo edit: save: Aggiornare + title: Modifica post index: title: Messaggi new: diff --git a/decidim-budgets/config/locales/it.yml b/decidim-budgets/config/locales/it.yml index 12d9b52f84e81..5588d25a5108c 100644 --- a/decidim-budgets/config/locales/it.yml +++ b/decidim-budgets/config/locales/it.yml @@ -13,12 +13,13 @@ it: decidim_scope_id: Ambito tematico description: Descrizione proposal_ids: Proposte correlate + selected: Selezionato per l'implementazione title: Titolo activerecord: models: decidim/budgets/project: one: Progetto - other: progetti + other: Progetti decidim: budgets: actions: @@ -44,13 +45,19 @@ it: title: Modifica budget update: Aggiorna budget index: + finished_orders: Votazioni terminate + pending_orders: Votazioni in sospeso title: Budgets + users_with_finished_orders: Utenti con voti terminati + users_with_pending_orders: Utenti con voti in sospeso new: create: Crea un bilancio title: Nuovo budget update: invalid: Si è verificato un errore durante l'aggiornamento di questo budget success: Budget aggiornato con successo + exports: + projects: Progetti models: budget: name: Bilancio @@ -84,6 +91,7 @@ it: create: Importa proposte per progetti no_components: Non ci sono altri componenti della proposta in questo spazio partecipativo per importare le proposte in progetti. select_component: Si prega di selezionare un componente + title: Importa proposte admin_log: budget: create: "%{user_name} ha creato il budget %{resource_name} nello spazio %{space_name}" @@ -136,9 +144,14 @@ it: title: Conferma il voto budget_excess: budget_excess: + description: Questo progetto supera il budget massimo e non può essere aggiunto. Se vuoi, puoi eliminare un progetto che hai già selezionato, e esprimere di nuovo il tuo voto secondo le tue preferenze. title: Budget superato close: Chiudi + description: Questo progetto supera il budget massimo e non può essere aggiunto. Se vuoi, puoi eliminare un progetto che hai già selezionato, e esprimere di nuovo il tuo voto secondo le tue preferenze. ok: Ok + projects_excess: + description: Questo progetto supera il numero massimo di progetti e non può essere aggiunto. Se vuoi, puoi eliminare un progetto che hai già selezionato, e esprimere di nuovo il tuo voto secondo le tue preferenze. + title: Limite massimo di progetti superato budget_summary: are_you_sure: Sei certo di voler cancellare il tuo voto? assigned: 'Assegnato:' @@ -146,7 +159,23 @@ it: checked_out: description: Hai già votato per il budget. Se hai cambiato idea puoi %{cancel_link}. title: Voto di budget completato. + minimum_projects_rule: + description: A quali progetti pensi che dovremmo destinare un budget? Seleziona almeno %{minimum_number} progetti che desideri e vota in base alle tue preferenze per definirne il budget. + instruction: "
  • Seleziona almeno %{minimum_number} progetti che desideri e vota in base alle tue preferenze per definirne il budget.
  • " + projects_rule: + description: A quali progetti pensi che dovremmo destinare un budget? Seleziona almeno %{minimum_number} e fino a %{maximum_number} progetti che desideri e vota in base alle tue preferenze per definirne il budget. + instruction: "
  • Seleziona almeno %{minimum_number} e fino a %{maximum_number} progetti che desideri e vota in base alle tue preferenze per definirne il budget.
  • " + projects_rule_maximum_only: + description: A quali progetti pensi che dovremmo destinare un budget? Seleziona fino a %{maximum_number} progetti che desideri e vota in base alle tue preferenze per definirne il budget. + instruction: "
  • Seleziona fino a %{maximum_number} progetti che desideri e vota in base alle tue preferenze per definirne il budget.
  • " + rules: + title: Regole di bilancio title: Tu decidi il budget + total_budget: Budget totale + total_projects: Voti totali + vote_threshold_percent_rule: + description: A quali progetti ritieni che dovremmo assegnare un budget? Assegna almeno %{minimum_budget} ai progetti che desideri vedere realizzati e vota con le tue preferenze per definirne il budget. + instruction: "
  • Assegna almeno %{minimum_budget} ai progetti che desideri e vota in base alle tue preferenze per definirne il budget.
  • " count: projects_count: one: 1 progetto @@ -185,11 +214,16 @@ it: remove: Rimuovi il progetto %{resource_name} dal tuo voto selected: Selezionato view: vista + votes: + one: voto + other: voti + you_voted: Hai votato project_budget_button: add: Aggiungi al tuo voto add_descriptive: Aggiungi progetto %{resource_name} al tuo voto added: Aggiunto al tuo voto added_descriptive: Progetto %{resource_name} aggiunto al tuo voto + projects_for: Progetti per %{name} show: budget: Budget view_all_projects: Visualizza tutti i progetti @@ -207,18 +241,46 @@ it: errors: budget_voting_rule_only_one: Deve essere abilitata solo una regola di voto budget_voting_rule_required: È richiesta una regola di voto + landing_page_content: Pagina iniziale dei budget + more_information_modal: Finestra modale "Maggiori informazioni" projects_per_page: Progetti per pagina + resources_permissions_enabled: Le autorizzazioni relative alle azioni possono essere impostate per ogni progetto + scope_id: Obiettivo + scopes_enabled: Obiettivi abilitati + title: Titolo total_budget: Budget totale vote_minimum_budget_projects_number: Numero minimo di progetti da votare vote_rule_minimum_budget_projects_enabled: 'Abilita regola: Numero minimo di progetti da votare' + vote_rule_selected_projects_enabled: 'Abilita regola: i progetti selezionati con il numero minimo e massimo di progetti da votare' vote_rule_threshold_percent_enabled: 'Abilita regola: Percentuale minima budget' + vote_selected_projects_maximum: Importo massimo dei progetti da selezionare + vote_selected_projects_minimum: Importo minimo dei progetti da selezionare vote_threshold_percent: Vota la percentuale di soglia + workflow: Flusso di lavoro + workflow_choices: + all: 'Vota tutto: permette ai partecipanti di votare in tutti i bilanci.' + one: 'Vota per uno solo: consente alle persone partecipanti di esprimere preferenza per una sola opzione di budget fra quelle in votazione.' step: announcement: Annuncio comments_blocked: Commenti bloccati + highlighted_heading: Intestazione evidenziata + landing_page_content: Pagina iniziale dei budget + list_heading: Intestazione dell'elenco + more_information_modal: Finestra modale "Maggiori informazioni" show_votes: Mostra voti + title: Nome + votes: Votazione votes_choices: + disabled: Votazioni disabilitate enabled: Voto abilitato + finished: Votazione conclusa + events: + budgets: + budget_published: + email_intro: 'Il budget %{resource_title} è ora attivo per %{participatory_space_title}. Puoi vederlo su questa pagina:' + email_outro: Hai ricevuto questa notifica perché stai seguendo %{participatory_space_title}. Puoi smettere di ricevere notifiche cliccando il link precedente. + email_subject: Il budget %{resource_title} è ora attivo per %{participatory_space_title}. + notification_title: Il budget %{resource_title} è ora attivo per %{participatory_space_title}. orders: checkout: error: C'è stato un errore durante l'acquisizione del voto. diff --git a/decidim-comments/config/locales/it.yml b/decidim-comments/config/locales/it.yml index 1d789c44db862..d63dbb84789a9 100644 --- a/decidim-comments/config/locales/it.yml +++ b/decidim-comments/config/locales/it.yml @@ -79,6 +79,9 @@ it: loading: Sto caricando i commenti ... single_comment_warning: Puoi controllare il resto dei commenti qui. single_comment_warning_title: Stai vedendo un singolo commento + title: + one: "%{count} commento" + other: "%{count} commenti" down_vote_button: text: Non sono d'accordo con questo commento up_vote_button: @@ -100,6 +103,16 @@ it: email_outro: Hai ricevuto questa notifica perché stai seguendo "%{resource_title}" o il suo autore. Puoi smettere di seguirlo dal link precedente. email_subject: C'è un nuovo commento da %{author_name} in %{resource_title} notification_title: C'è un nuovo commento da %{author_name} %{author_nickname} in %{resource_title} + comment_downvoted: + email_intro: Il tuo commento in "%{resource_title}" ha ricevuto un voto negativo. Ora ha un totale di %{upvotes} voti positivi e %{downvotes} voti negativi. + email_outro: Hai ricevuto questa notifica perché sei l'autore di questo commento. + email_subject: Il tuo commento in "%{resource_title}" ha ricevuto un voto negativo. + notification_title: Il tuo commento in "%{resource_title}" ha ricevuto un voto negativo. Ora ha un totale di %{upvotes} voti positivi e %{downvotes} voti negativi. + comment_upvoted: + email_intro: Il tuo commento in "%{resource_title}" è stato votato. Ora ha un totale di %{upvotes} voti positivi e %{downvotes} voti negativi. + email_outro: Ricevi questa notifica perché sei l'autore di questo commento. + email_subject: Il tuo commento in "%{resource_title}" è stato votato. + notification_title: Il tuo commento in "%{resource_title}" è stato votato. Ora ha un totale di %{upvotes} voti positivi e %{downvotes} voti negativi. reply_created: email_intro: "%{author_name} ha risposto il tuo commento in %{resource_title}. Puoi leggerlo in questa pagina:" email_outro: Hai ricevuto questa notifica perché il tuo commento è stato risposto. diff --git a/decidim-conferences/config/locales/it.yml b/decidim-conferences/config/locales/it.yml index 2d8e977b169f4..0aa4a15e3126c 100644 --- a/decidim-conferences/config/locales/it.yml +++ b/decidim-conferences/config/locales/it.yml @@ -3,6 +3,7 @@ it: attributes: conference: assemblies_ids: Assemblee collegate + available_slots: Slot disponibili banner_image: Immagine banner consultations_ids: Consultazioni correlate copy_categories: Copia le categorie @@ -10,26 +11,59 @@ it: copy_features: Copia le caratteristiche decidim_scope_id: Obiettivo description: Descrizione + end_date: Data di fine hashtag: Hashtag hero_image: Immagine della home page + location: Luogo + main_logo: Logo principale + objectives: Obiettivi participatory_processes_ids: Processi partecipativi correlati promoted: In evidenza published_at: Pubblicato il + registration_terms: Termini di registrazione + registrations_enabled: Registrazioni abilitate scope_id: Obiettivo scopes_enabled: Ambiti abilitati short_description: Breve descrizione show_statistics: Mostra statistiche + sign_date: Firmato il + signature: Firma + signature_name: nome firma slogan: Slogan slug: Slug URL + start_date: Data di inizio title: Titolo conference_media_link: + date: Data + link: Collegamento + title: Titolo weight: Peso conference_partner: + link: Collegamento + logo: Logo + name: Nome + partner_type: Tipo di partner weight: Peso + conference_registration_invite: + email: Email + name: Nome + registration_type_id: Tipo di registrazione + user_id: Utente conference_registration_type: + description: Descrizione + price: Prezzo + title: Titolo weight: Peso conference_speaker: + affiliation: Affiliazione + avatar: Avatar + conference_meeting_ids: Conferenze correlate full_name: Nome e cognome + personal_url: URL personale + position: Posizione + short_bio: Biografia breve + twitter_handle: Identificativo Twitter + user_id: Utente conference_user_role: email: E-mail name: Nome @@ -272,6 +306,10 @@ it: conferences: conference_registration: confirm: "%{user_name} confermato la registrazione alla conferenza %{resource_name}" + partner: + create: "%{user_name} ha creato il partner %{resource_name} nella conferenza %{space_name}" + delete: "%{user_name} ha rimosso il partner %{resource_name} dalla conferenza %{space_name}" + update: "%{user_name} ha aggiornato il partner %{resource_name} nella conferenza %{space_name}" registration_type: create: "%{user_name} ha creato il %{resource_name} tipo di registrazione nella conferenza %{space_name}" publish: "%{user_name} ha pubblicato il %{resource_name} tipo di registrazione nella %{space_name} conferenza" @@ -404,6 +442,7 @@ it: personal_website: Sito web personale show: more_info: maggiori informazioni + speaking_at: Parlando a conference_speaker_cell: personal_url: personal_website: Sito web personale @@ -541,6 +580,12 @@ it: email_outro: Hai ricevuto questa notifica perché stai seguendo la conferenza "%{resource_title}". Puoi smettere di seguirla dal link precedente. email_subject: La conferenza "%{resource_title}" sta arrivando! notification_title: La conferenza %{resource_title} sarà tra 2 giorni. + help: + participatory_spaces: + conferences: + contextual: "

    Una conferenza è una raccolta di riunioni organizzate in un programma, con un certo numero di persone invitate come relatori, e altri campi di informazione tipici di grandi congressi o eventi sociali (registrazione, elenco delle organizzazioni che sostengono o sponsorizzano l'evento, ecc.).

    Esempi: Una conferenza può essere un evento rilevante per un'organizzazione e i suoi membri, o può essere parte di un processo partecipativo o il seguito di una consultazione.

    \n" + page: "

    Una conferenza è una raccolta di riunioni organizzate in un programma, con un certo numero di persone invitate come relatori, e altri campi di informazione tipici di grandi congressi o eventi sociali (registrazione, elenco delle organizzazioni che sostengono o sponsorizzano l'evento, ecc.).

    Esempi: Una conferenza può essere un evento rilevante per un'organizzazione e i suoi membri, o può essere parte di un processo partecipativo o il seguito di una consultazione.

    \n" + title: Cosa sono le conferenze? log: value_types: conference_presenter: diff --git a/decidim-conferences/config/locales/pl.yml b/decidim-conferences/config/locales/pl.yml index 065d3cedd45e9..f1d56fc0b8c6c 100644 --- a/decidim-conferences/config/locales/pl.yml +++ b/decidim-conferences/config/locales/pl.yml @@ -10,22 +10,38 @@ pl: copy_features: Skopiuj funkcje decidim_scope_id: Zakres description: Opis + end_date: Data zakończenia hashtag: Hashtag hero_image: Obraz główny + main_logo: Główne logo participatory_processes_ids: Powiązane procesy partycypacyjne promoted: Wyróżniona published_at: Opublikowano + registration_terms: Warunki rejestracji + registrations_enabled: Rejestracja włączona scope_id: Zakres scopes_enabled: Zakresy dozwolone short_description: Krótki opis show_statistics: Pokaż statystyki + sign_date: Data podpisania + signature: Podpis slogan: Slogan slug: URL slug + start_date: Data rozpoczęcia title: Tytuł conference_media_link: + date: Data + link: Link + title: Tytuł weight: Kolejność na stronie conference_partner: + link: Link + logo: Logo + partner_type: Typ partnera weight: Kolejność na stronie + conference_registration_invite: + email: Adres e-mail + registration_type_id: Typ rejestracji conference_registration_type: weight: Kolejność na stronie conference_speaker: @@ -33,7 +49,7 @@ pl: full_name: Pełne imię i nazwisko conference_user_role: email: E-mail - name: Nazwa + name: Imię role: Rola errors: models: diff --git a/decidim-consultations/config/locales/fr-CA.yml b/decidim-consultations/config/locales/fr-CA.yml index 19ee4849cbb60..b6edfa0688d91 100644 --- a/decidim-consultations/config/locales/fr-CA.yml +++ b/decidim-consultations/config/locales/fr-CA.yml @@ -16,7 +16,7 @@ fr-CA: question: banner_image: Image de la bannière decidim_scope_id: Périmètre d'application - hashtag: Hashtag + hashtag: Mot-clic hero_image: Image de la page d'accueil i_frame_url: URL du système de vote externe instructions: Instructions supplémentaires pour le vote diff --git a/decidim-consultations/config/locales/it.yml b/decidim-consultations/config/locales/it.yml index 68b7947399e65..01a57e1c233f5 100644 --- a/decidim-consultations/config/locales/it.yml +++ b/decidim-consultations/config/locales/it.yml @@ -94,6 +94,7 @@ it: create: error: Si è verificato un errore durante la creazione di una nuova consultazione. success: Consultazione creata con successo. + deprecation_warning: Il modulo di consultazione sarà deprecato nel prossimo futuro. Stiamo lavorando alla prossima versione crittograficamente sicura chiamata Votazioni. edit: update: Aggiornare form: diff --git a/decidim-consultations/config/locales/ja.yml b/decidim-consultations/config/locales/ja.yml index fb86da69af0f0..3e6c9a1f53064 100644 --- a/decidim-consultations/config/locales/ja.yml +++ b/decidim-consultations/config/locales/ja.yml @@ -90,6 +90,7 @@ ja: create: error: 新しい議案を作成する際に問題がありました。 success: 議案を作成しました。 + deprecation_warning: コンサルテーションモジュールは近い将来非推奨になります。Votingsと呼ばれる次世代の暗号を利用した安全なバージョンに取り組んでいます。 edit: update: 更新 form: @@ -308,6 +309,8 @@ ja: help: participatory_spaces: consultations: + contextual: "

    議案は、組織を形成するすべての人に明確な質問を投げかけ、コンサルテーションへの参加を呼びかけ、回答の賛否の議論に火をつけ、注文をつけることができるスペースです。議案の日が来たら、投票をして、その結果を公開することができます。

    例: 議案は組織に影響するどのようなことにも利用できます。例えば、いくつかの代替案から組織の名前やロゴを選び変更したり、より大きな組織の一部になるかどうか、イエスかノーかを決定したり、新しい戦略計画やワーキンググループの結果を検証したり拒否したり、ポジションが最大で 1、2、3 の委任のままであるべきかどうかを定義したりできます。

    \n" + page: "

    議案は、組織を形成するすべての人に明確な質問を投げかけ、コンサルテーションへの参加を呼びかけ、回答の賛否の議論に火をつけ、注文をつけることができるスペースです。議案の日が来たら、投票をして、その結果を公開することができます。

    例: 議案は組織に影響するどのようなことにも利用できます。例えば、いくつかの代替案から組織の名前やロゴを選び変更したり、より大きな組織の一部になるかどうか、イエスかノーかを決定したり、新しい戦略計画やワーキンググループの結果を検証したり拒否したり、ポジションが最大で 1、2、3 の委任のままであるべきかどうかを定義したりできます。

    \n" title: 議案とは何ですか? menu: consultations: 議案 diff --git a/decidim-debates/config/locales/it.yml b/decidim-debates/config/locales/it.yml index 0bb24af296b74..a9dcbf91d6d46 100644 --- a/decidim-debates/config/locales/it.yml +++ b/decidim-debates/config/locales/it.yml @@ -3,6 +3,8 @@ it: attributes: debate: category_id: Categoria + closed_at: Chiuso il + conclusions: Conclusioni decidim_category_id: Categoria description: Descrizione end_time: Finisce a @@ -12,6 +14,7 @@ it: title: Titolo user_group_id: Crea dibattito come models: + decidim/debates/close_debate_event: Dibattito chiuso decidim/debates/create_debate_event: Discussione decidim/debates/creation_disabled_event: Discussioni disabilitate decidim/debates/creation_enabled_event: Discussioni abilitate @@ -25,24 +28,34 @@ it: debates: actions: create: Creare + endorse: Sottoscrivi name: Dibattiti settings: global: announcement: Annuncio comments_enabled: Commenti abilitati comments_max_length: Lunghezza massima dei commenti (Lasciare 0 per il valore predefinito) + scope_id: Obiettivo + scopes_enabled: Obiettivi abilitati step: announcement: Annuncio comments_blocked: Commenti bloccati creation_enabled: Creazione di dibattiti da parte degli utenti abilitati + endorsements_blocked: Sottoscrizioni bloccate + endorsements_enabled: Sottoscrizioni abilitate debates: actions: + close: Chiudi confirm_destroy: Sei sicuro? destroy: Elimina edit: Modifica new: Nuovo %{name} title: Azioni admin: + debate_closes: + edit: + close: Chiudi + title: Chiudi dibattito debates: create: invalid: C'è stato un problema durante la creazione del dibattito. @@ -52,6 +65,10 @@ it: edit: title: Modifica dibattito update: Aggiornamento del dibattito + form: + debate_type: Tipo di dibattito + finite: Chiuso (Con i tempi di inizio e fine) + open: Aperto (Nessun ora di inizio o di fine) index: title: Discussioni new: @@ -60,16 +77,27 @@ it: update: invalid: C'è stato un problema durante l'aggiornamento di questo dibattito. success: Dibattito aggiornato con successo. + exports: + comments: Commenti models: debate: name: Dibattito admin_log: debate: + close: "%{user_name} ha chiuso il dibattito %{resource_name} sullo spazio %{space_name}" create: "%{user_name} ha creato il dibattito %{resource_name} sullo spazio %{space_name}" update: "%{user_name} ha aggiornato il dibattito %{resource_name} sullo spazio %{space_name}" debate_m: commented_time_ago: Commentato %{time} fa debates: + close: + invalid: Si è verificato un errore durante la chiusura del dibattito. + success: Dibattito chiuso con successo. + close_debate_modal: + close: Chiudi + description: Qual è la sintesi o la conclusione di questo dibattito? + send: Chiudi dibattito + closed: Chiuso count: debates_count: one: "%{count} dibattito" @@ -89,6 +117,7 @@ it: category: Categoria category_prompt: Seleziona una categoria citizens: Cittadini + commented: Commentato my_debates: I miei dibattiti official: Ufficiale origin: Origine @@ -97,6 +126,7 @@ it: state: Stato state_values: closed: Chiuso + open: Apri user_groups: Gruppi filters_small_view: close_modal: Chiudi modalità @@ -119,8 +149,17 @@ it: updated: Aggiornato di recente show: back: Torna alla lista + close_debate: Chiudi dibattito date: Data + debate_closed: Chiuso + debate_conclusions_are: 'Il dibattito si è concluso il %{date} con queste conclusioni:' + edit_conclusions: Modifica conclusioni edit_debate: Modifica dibattito + groups_count: Gruppi + last_comment_by: Ultimo commento di + no_comments_yet: Ancora nessun commento + open: Apri il dibattito + participants_count: Partecipanti update: invalid: C'è stato un problema durante l'aggiornamento di questo dibattito. success: Dibattito aggiornato con successo. @@ -132,6 +171,7 @@ it: versions_list: back_to_resource: Torna al dibattito last_activity: + debate_updated_at_html: "Dibattito aggiornato su %{link}" new_debate_at_html: "Nuovo dibattito al %{link}" models: debate: @@ -167,6 +207,17 @@ it: email_outro: Hai ricevuto questa notifica perché stai seguendo %{participatory_space_title}. È possibile interrompere la ricezione di notifiche seguendo il collegamento precedente. email_subject: Discussioni ora disponibili in %{participatory_space_title} notification_title: Ora puoi iniziare nuovi dibattiti in %{participatory_space_title} + debate_closed: + affected_user: + email_intro: 'La discussione "%{resource_title}" si è conclusa. Puoi leggere le conclusioni sulla pagina:' + email_outro: Hai ricevuto questa notifica perché stai seguendo il dibattito "%{resource_title}". Se non sei più interessato clicca il link sopra. + email_subject: Il dibattito "%{resource_title}" si è concluso + notification_title: La discussione su %{resource_title} si è conclusa. + follower: + email_intro: 'La discussione "%{resource_title}" si è conclusa. Puoi leggere le conclusioni sulla pagina:' + email_outro: Hai ricevuto questa notifica perché stai seguendo il dibattito "%{resource_title}". Se non sei più interessato clicca il link sopra. + email_subject: Il dibattito "%{resource_title}" si è concluso + notification_title: La discussione su %{resource_title} si è conclusa. gamification: badges: commented_debates: diff --git a/decidim-elections/config/locales/es-MX.yml b/decidim-elections/config/locales/es-MX.yml index 0f733abce1c3d..5b0a4ce235d73 100644 --- a/decidim-elections/config/locales/es-MX.yml +++ b/decidim-elections/config/locales/es-MX.yml @@ -479,7 +479,7 @@ es-MX: generate_legend_4: Haz otra copia del archivo en un dispositivo externo diferente y guárdalo en un lugar muy seguro. submit: Enviar submit_legend: Después de seguir todos los pasos explicados anteriormente, completa el proceso enviando la clave de identificación pública al servidor de Decidim. - submit_title: Enviar la clave de identificación pública + submit_title: Enviar la clave pública de identificación title: Claves de identificación del garante upload: Sube tus claves de identificación upload_error: diff --git a/decidim-elections/config/locales/es-PY.yml b/decidim-elections/config/locales/es-PY.yml index 2f972afccac26..a9fe50db5139d 100644 --- a/decidim-elections/config/locales/es-PY.yml +++ b/decidim-elections/config/locales/es-PY.yml @@ -479,7 +479,7 @@ es-PY: generate_legend_4: Haz otra copia del archivo en un dispositivo externo diferente y guárdalo en un lugar muy seguro. submit: Enviar submit_legend: Después de seguir todos los pasos explicados anteriormente, completa el proceso enviando la clave de identificación pública al servidor de Decidim. - submit_title: Enviar la clave de identificación pública + submit_title: Enviar la clave pública de identificación title: Claves de identificación del garante upload: Sube tus claves de identificación upload_error: diff --git a/decidim-elections/config/locales/it.yml b/decidim-elections/config/locales/it.yml index 67df0100cc05c..f632d71040cd4 100644 --- a/decidim-elections/config/locales/it.yml +++ b/decidim-elections/config/locales/it.yml @@ -16,6 +16,9 @@ it: max_selections: Numero massimo di selezioni min_selections: Nessuna delle precedenti opzioni title: Titolo + voting: + end_time: La votazione termina il + start_time: La votazione inizia il errors: models: answer: @@ -33,6 +36,18 @@ it: public_key: cant_be_changed: non modificabile activerecord: + errors: + models: + decidim/votings/polling_officer: + attributes: + presided_polling_station: + president_and_manager: L'ufficiale elettorale è già presidente/gestore di un seggio + voting: + different_organization: La votazione deve essere effettuata nella stessa organizzazione dell'utente + decidim/votings/polling_station: + attributes: + polling_station_president: + different_voting: Il funzionario incaricato del voto deve avere la stessa funzione del posto di scrutinio models: decidim/elections/answer: one: Risposta @@ -43,10 +58,33 @@ it: decidim/elections/question: one: Domanda other: Domande + decidim/votings/polling_officer: + one: Scrutatore/trice + other: Scrutatore/trice + decidim/votings/polling_station: + one: Seggio elettorale + other: Seggio elettorale decidim/votings/voting: one: Votazione other: Votazioni decidim: + admin: + filters: + officers_assigned_eq: + label: Responsabili + values: + assigned: Assegnato + unassigned: Non assegnato + role_eq: + label: Ruolo + values: + manager: Responsabile + president: Presidente/Presidentessa + unassigned: Non assegnato + search_placeholder: + name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Cerca %{collection} per nome/email/nickname o seggio elettorale. + ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont + : Cerca %{collection} per titolo, indirizzo o nome responsabile/email/nickname. components: elections: actions: @@ -188,27 +226,142 @@ it: success: Elezione inviata con successo al Bollettino title: Imposta elezione trustees: Fiduciari Delle Elezioni + created: + invalid: Si è verificato un problema iniziando la cerimonia della chiave + submit: Iniziare la cerimonia della chiave + success: La richiesta di avvio della cerimonia della chiave è stata inviata con successo al Bulletin Board + title: Elezione creata + trustees: Garanti key_ceremony: title: Cerimonia chiave trustees: Fiduciari + key_ceremony_ended: + errors: + time_before: La votazione sta per cominciare. Devi aspettare fino a %{hours} ore prima dell'ora di inizio (%{start_time}) per poter votare. + invalid: Si è verificato un problema iniziando il periodo di votazione + requirements: + time_before: L'elezione inizierà presto. È possibile iniziare il periodo di votazione manualmente, o sarà avviato automaticamente prima dell'ora di inizio, a %{start_time}. + submit: Inizio del periodo di votazione + success: La richiesta di avvio della votazione é stata inviata con successo al Bulletin Board + title: Pronti via + processing: Processando... + results_published: + title: Risultati pubblicati + tally: + title: Conteggio + trustees: Garanti + tally_ended: + submit: Pubblica i risultati + title: Risultati conteggiati + vote: + errors: + time_after: Le elezioni sono ancora in corso. Devi aspettare fino all´ora (%{end_time}) per terminare il periodo di votazione. + invalid: Si è verificato un problema nel concludere il periodo di votazione + requirements: + time_after: Le elezioni sono terminate. Puoi terminare manualmente il periodo di votazione, oppure si concluderà automaticamente tra qualche minuto. + submit: Fine del periodo di votazione + success: La richiesta di chiusura della votazione é stata inviata con successo al Bulletin Board + title: Periodo di votazione + vote_ended: + invalid: Si è verificato un errore nell' inizio del conteggio + submit: Inizia conteggio + success: La richiesta di avvio del conteggio é stata inviata con successo al Bulletin Board + title: Periodo di votazione terminato + vote_stats: + no_vote_statistics_yet: Ancora nessuna statistica di voto + title: Statistiche di voto + voters: Votanti + votes: Voti + trustees_participatory_spaces: + actions: + disable: Disattiva + enable: Considerare + create: + exists: La persona garante esiste per questo spazio partecipativo + invalid: Si è verificato un errore creando la persona garante + success: Persona garante creata con successo + delete: + invalid: Si è verificato un problema durante la rimozione di questa persona garante + success: Persona garante rimossa con successo + form: + select_user: Selezionare utente + index: + title: Garanti + new: + create: Crea garante + title: Nuovo Garante + update: + invalid: Si è verificato un problema durante l'aggiornamento del garante %{trustee} + success: Garante %{trustee} aggiornato con successo admin_log: election: + end_vote: "%{user_name} ha terminato il periodo di votazione per l'elezione di %{resource_name} sul Bulletin Board" publish: "%{user_name} ha pubblicato l'elezione %{resource_name}" + setup: "%{user_name} ha creato l'elezione %{resource_name} sul Bulletin Board" + start_key_ceremony: "%{user_name} ha iniziato la cerimonia delle chiavi per l'elezione di %{resource_name} sul Bulletin Board" + start_tally: "%{user_name} ha terminato il conteggio dell'elezione %{resource_name} sul Bulletin Board" + start_vote: "%{user_name} ha terminato il periodo di votazione per l'elezione %{resource_name} sul Bulletin Board" unpublish: "%{user_name} ha rimosso l'elezione %{resource_name}" + election_m: + badge_name: + finished: Completata + ongoing: Attiva + upcoming: Imminente + end_date: Fine + footer: + view: Visualizza + vote: Vota + label: + date: Date + questions: Domande %{count} + start_date: Inizio + unspecified: Non specificato elections: count: elections_count: one: "%{count} elezione" other: "%{count} elezioni" + filters: + active: Attiva + all: Tutti + finished: Completata + search: Cerca + state: Stato + upcoming: Imminente + filters_small_view: + close_modal: Chiudi finestra + filter: Filtra + filter_by: Filtra per + unfold: Espandi + preview: + available_answers: Risposte disponibili + description: Queste sono le domande che troverete nel processo di voto + title: Domande elettorali results: description: Questi sono i risultati della votazione, per ogni quesito selected: Selezionato title: Risultati delle elezioni + votes: + one: "%{count} voto" + other: "%{count} voti" + zero: "%{count} voti" show: + action-button: + change-vote: Cambia il tuo voto + vote: Inizia a votare + vote-again: Vota di nuovo back: Elezioni disponibili + callout: + already-voted: Hai già espresso il tuo voto in questa elezione. Puoi cambiare il tuo voto o verificarlo. + vote-rejected: Non è stato possibile verificare il tuo voto. Per favore esprimi il tuo voto di nuovo. preview: Anteprima + verify: + already-voted: Hai già votato? + verify-here: Verifica il tuo voto qui. + will-verify: Sarete in grado di verificare il vostro voto una volta che le votazioni saranno iniziate. voting_period_status: finished: La votazione è iniziata il %{start_time} ed è terminata il %{end_time} + ongoing: 'Voto attivo fino a: %{end_time}' upcoming: La votazione inizia il %{start_time} feedback: answer: @@ -262,6 +415,83 @@ it: list: status: Stato task: Attività + process_warning: Una volta avviato il processo, non si dovrebbe uscire da questa pagina fino alla fine dello stesso. Ci vorranno diversi minuti, poiché tutti i Garanti dovrebbero essere collegati per completarlo. + start: Avvia + start_icon: Icona che indica un pulsante avvia per avviare la generazione delle chiavi elettorali + status: + completed: Completata + pending: In attesa + processing: Elaborazione in corso + title: Creare chiavi elettorali per %{election} + restore_modal: + description: Il Bulletin Board ha ricevuto informazioni da parte tua in quanto Garante di queste elezioni. Per continuare il processo, caricare il file di backup generato durante la sessione precedente. + title: Ripristina le chiavi elettorali per %{election} + upload_election_keys: Carica chiavi elettorali + upload_icon: Icona che indica un'azione di download + tally_steps: + back: Indietro + description: I risultati di queste elezioni sono in fase di elaborazione nel Bulletin Board. Per completare questo processo, è necessaria la tua partecipazione come Garante. + keys: + end_tally: Conteggio terminato + tally: + cast: Invio del conteggio + share: Condivisione del conteggio + list: + status: Stato + task: Task + process_warning: Una volta avviato il processo, non si dovrebbe uscire da questa pagina fino alla fine dello stesso. Ci vorranno diversi minuti, poiché tutti i Garanti dovrebbero essere collegati per completarlo. + start: Avvia + start_icon: Icona che indica un pulsante avvia per avviare la generazione delle chiavi elettorali + status: + completed: Completato + pending: In attesa di completamento + processing: Elaborazione in corso + title: Conteggio di %{election} + update: + error: Lo stato delle elezioni non è stato aggiornato. + success: 'Lo stato delle elezioni è: %{status}' + menu: + trustee_zone: Zona Garanti + no_bulletin_board: + body: Per questa sezione è necessario un Bulletin Board configurato. Contattare l'Amministratore per maggiori dettagli. + title: Siamo spiacenti, il Bollettin Board non è ancora configurato. + trustees: + show: + elections: + list: + action_required: + 'false': 'No' + name: Azione necessaria? + 'true': Esegui azione + bb_status: Stato + election: Elezione + voting_period: Periodo di votazione + no_elections: Non ci sono elezioni di cui tu sia Garante. + title: Elezioni + identification_keys: + cancel: Annulla + generate: Genera chiavi di identificazione + generate_error: Si è verificato un errore durante la generazione delle chiavi di identificazione. + generate_legend: Devi generare un paio di chiavi di identificazione per partecipare alle elezioni come Garante. + generate_legend_1: Dopo aver premuto il pulsante dovresti scaricare il file con le chiavi di identificazione generate. + generate_legend_2: Copia il file scaricato su un dispositivo USB pulito + generate_legend_3: Assicurati che sul computer non ci sia una copia del file (controlla anche le cartelle Download e Desktop). + generate_legend_4: Fai un'altra copia del file su un altro dispositivo esterno e memorizzarlo in un luogo molto sicuro. + submit: Invia + submit_legend: Dopo aver seguito tutti i passaggi sopra illustrati, completare il processo inviando il codice di identificazione pubblica al server Decidim. + submit_title: Invia la chiave di identificazione pubblica + title: Codici di identificazione del Garante + upload: Carica i tuoi codici di identificazione + upload_error: + invalid_format: Il file caricato non contiene alcun codice di identificazione. + invalid_key: I codici di identificazione nel file caricato non possono essere caricati. + invalid_public_key: I codici di identificazione nel file caricato non corrispondono a quelli pubblici memorizzati da Decidim. + upload_legend: Decidim ha i tuoi codici di identificazione pubblici, ma il tuo browser ancora no. È necessario importare il file con i codici di identificazione sul computer dal backup creato dopo averli generati. + not_supported_browser_description: Sembra che tu stia usando un browser web che non può essere usato in qualitá di Garante. Assicurati di utilizzare la versione più recente del tuo browser, o prova ad utilizzare uno dei browser più popolari che ti permettano di esercitare il ruolo di Garante. + not_supported_browser_title: Aggiorna il browser per fungere da Garante + trustee_role_description: Ti è stato assegnato di ruolo di Garante in alcune delle elezioni che si svolgeranno su questa piattaforma. + update: + success: I tuoi codici di identificazione pubblici sono stati salvati con successo. votes: confirm: answer: Risposta @@ -274,14 +504,20 @@ it: question: Domanda %{count} confirmed: back: Torna alle elezioni + error: Siamo spiacenti, si è verificato un errore nella conferma del voto. Si prega di votare di nuovo. experience: Com'è stata la tua esperienza? feedback: Lasciaci un feedback header: Voto confermato lead: Il tuo voto è già stato espresso! text: 'Puoi controllare che il tuo voto sia stato aggiunto con successo alla scheda elettorale con il seguente identificatore: %{e_vote_poll_id}' + verify_link: Per controllarlo, copia l'identificatore e incollalo nella pagina di verifica del voto encrypting: header: Codifica del voto... text: Il tuo voto viene crittografato per assicurarti di poterlo lanciare in modo anonimo. + failed: + header: Votazione fallita + lead: Il tuo voto non è stato deposto! + text: Qualcosa è andato storto. Riprova di nuovo. header: confirm: Conferma il tuo voto confirmed: Voto confermato @@ -298,9 +534,34 @@ it: preview_alert: Questa è un'anteprima della cabina di voto. question_steps: Domanda %{current_step} di %{total_steps} selections: "%{selected} di %{max_selections}
    selezioni" + processing: + header: Elaborazione del voto... + text: Il tuo voto è stato ricevuto ed è in fase di elaborazione. Attendere prego. + update: + error: Si è verificato un errore durante l'aggiornamento dello stato della voto + success: Stato del voto aggiornato con successo + verify: + content: + heading: Verifica il tuo voto + info: Questo verificatore verifica che il tuo voto, identificato con una stringa di testo crittografata, sia stato inviato correttamente e che sia all'interno della scheda elettorale. + error: + header: Voto non trovato! + info: Il codice di voto non è stato trovato nella scheda elettorale %{link}, riprova. + form: + back: Torna su Decidim + submit: Controlla + vote_identifier: 'Codice identificativo:' + header: + title: Verifica il tuo voto + success: + header: Voto trovato! + info: Il tuo voto crittografato è nell'urna %{link} voting_step: back: Indietro continue: Successivo + warnings: + no_elections_warning: Nessuna elezione corrisponde ai criteri della tua ricerca oppure non sono previste elezioni. + no_scheduled_elections_warning: Al momento non sono previste elezioni, ma qui puoi trovare un elenco di tutte quelle passate. events: elections: election_published: @@ -308,6 +569,30 @@ it: email_outro: Hai ricevuto questa notifica perché stai seguendo %{participatory_space_title}. È possibile interrompere la ricezione di notifiche seguendo il collegamento precedente. email_subject: L'elezione di %{resource_title} è ora attiva per %{participatory_space_title}. notification_title: L'elezione %{resource_title} è ora attiva per %{participatory_space_title}. + trustees: + new_election: + email_intro: Sei stato aggiunto come Garante per le elezioni %{resource_title}. + email_outro: Hai ricevuto questa notifica perché ti è stato assegnato il ruolo di Garante per le elezioni %{resource_title}. + email_subject: Sei Garante delle elezioni %{resource_title}.. + notification_title: Sei Garante delle elezioni %{resource_title}. + new_trustee: + email_intro: Un amministratore ti ha aggiunto come Garante di %{resource_name}. Dovresti creare la tua chiave pubblica nella tua zona garanti + email_outro: Hai ricevuto questa notifica perché sei stata aggiunta come Garante "%{resource_name}. + email_subject: Sei Garante di %{resource_name}. + notification_title: Sei Garante di %{resource_name}. + votes: + accepted_votes: + email_intro: 'Il tuo voto è stato accettato! Usando il tuo token di voto: %{encrypted_vote_hash}, puoi verificare il tuo voto qui.' + email_outro: Hai ricevuto questa notifica perché hai votato per l'elezione %{resource_name}. + email_subject: Il tuo voto per %{resource_name} è stato accettato. + notification_title: 'Il tuo voto è stato accettato. Verifica il tuo voto qui usando il tuo token di voto: %{encrypted_vote_hash}' + votings: + polling_officers: + polling_station_assigned: + email_intro: Sei stata assegnata come %{role} del Seggio Elettorale %{polling_station_name} in %{resource_title}. È possibile gestire il Seggio Elettorale dalla zona dedicata Zona Scrutatrice. + email_outro: Hai ricevuto questa notifica perché ti è stato assegnato il ruolo di %{role} del %{polling_station_name}. + email_subject: Sei %{role} del Seggio Elettorale %{polling_station_name}. + notification_title: Sei %{role} del Seggio Elettorale %{polling_station_name} nella votazione %{resource_title}. pages: home: statistics: @@ -316,13 +601,31 @@ it: statistics: elections_count: Elezioni votings: + admin: + menu: + votings_submenu: + monitoring_committee_members: Comitato di Sorveglianza + models: + polling_station: + fields: + polling_station_president: Presidente/Presidentessa polling_officer_zone: polling_officers: show: + actions: + count_votes: Conteggio dei voti nelle urne + identify_person: Identifica e verifica una persona + polling_officer_role_description: Sei stato designato funzionario del seggio elettorale (Presidente o Gestore) in alcune elezioni svolte su questa piattaforma. polling_stations: list: actions: Azioni name: Nome + role: Il tuo ruolo + voting: Votazione + no_polling_stations: Non sei ancora assegnato a nessun seggio elettorale. + polling_officers: + roles: + president: Presidente/Presidentessa layouts: decidim: election_votes_header: diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index 41b2d4997f0e9..d4dff028056e7 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -16,6 +16,9 @@ ja: max_selections: 選択範囲の最大数 min_selections: 上記のどれでもない title: タイトル + voting: + end_time: 投票終了 + start_time: 投票開始 errors: models: answer: @@ -26,7 +29,25 @@ ja: attributes: attachment: needs_to_be_reattached: 再接続が必要 + trustee: + attributes: + name: + cant_be_changed: 変更できません + public_key: + cant_be_changed: 変更できません activerecord: + errors: + models: + decidim/votings/polling_officer: + attributes: + presided_polling_station: + president_and_manager: 投票委員はすでに投票所の代表者/マネージャーです + voting: + different_organization: 投票はユーザーと同じ組織内にある必要があります + decidim/votings/polling_station: + attributes: + polling_station_president: + different_voting: 投票委員は投票所と同じ投票に属さなければなりません models: decidim/elections/answer: other: 回答 @@ -34,7 +55,26 @@ ja: other: 選挙 decidim/elections/question: other: 質問 + decidim/votings/polling_officer: + other: 投票委員 + decidim/votings/polling_station: + other: 投票所 + decidim/votings/voting: + other: 投票 decidim: + admin: + filters: + officers_assigned_eq: + label: 委員 + values: + assigned: 割り当て済み + unassigned: 未割り当て + role_eq: + label: ロール + values: + manager: マネージャー + president: 責任者 + unassigned: 未割り当て components: elections: actions: diff --git a/decidim-elections/config/locales/nl.yml b/decidim-elections/config/locales/nl.yml index 9a4b53bd3eae6..58cd79b020360 100644 --- a/decidim-elections/config/locales/nl.yml +++ b/decidim-elections/config/locales/nl.yml @@ -211,6 +211,8 @@ nl: title: Resultaten gepubliceerd tally: title: Turfproces + tally_ended: + title: Resultaten berekend vote: title: Stemperiode vote_stats: @@ -249,7 +251,11 @@ nl: elections_count: one: "%{count} verkiezing" other: "%{count} verkiezingen" + preview: + available_answers: Beschikbare antwoorden + description: Dit zijn de vragen die je tijdens het stemproces tegenkomt results: + description: Dit zijn de resultaten van de stemronde, voor elke vraag votes: one: "%{count} stem" other: "%{count} stemmen" @@ -272,6 +278,9 @@ nl: finished: De stemming begon op %{start_time} en eindigde op %{end_time} ongoing: 'Actieve stem tot: %{end_time}' upcoming: Stemmen begint op %{start_time} + feedback: + answer: + invalid: Er is een fout opgetreden bij het indienen van je feedback. models: answer: fields: diff --git a/decidim-elections/config/locales/pl.yml b/decidim-elections/config/locales/pl.yml index 1b46a3f58fcc0..7ae13bb146690 100644 --- a/decidim-elections/config/locales/pl.yml +++ b/decidim-elections/config/locales/pl.yml @@ -8,13 +8,13 @@ pl: title: Tytuł election: description: Opis - end_time: Głosowanie kończy się - start_time: Głosowanie rozpoczyna się + end_time: Głosowanie kończy się o + start_time: Głosowanie rozpoczyna się o title: Tytuł question: description: Opis - max_selections: Maksymalna liczba wyborów - min_selections: Żaden z powyższych wariantów + max_selections: Maksymalna liczba opcji do wybrania + min_selections: Żadna z powyższych opcji title: Tytuł voting: end_time: Głosowanie kończy się @@ -28,13 +28,13 @@ pl: election: attributes: attachment: - needs_to_be_reattached: Musi zostać ponownie załączony + needs_to_be_reattached: Załącz ponownie trustee: attributes: name: cant_be_changed: nie można zmienić public_key: - cant_be_changed: nie może zostać zmieniony + cant_be_changed: nie można zmienić activerecord: errors: models: @@ -100,7 +100,7 @@ pl: components: elections: actions: - vote: Wspieranie + vote: Głosowanie name: Wybory settings: global: @@ -134,7 +134,7 @@ pl: title: Edytuj odpowiedź update: Aktualizuj odpowiedź index: - invalid_max_selections: Potrzebujesz jeszcze %{missing_answers} odpowiedzi, aby osiągnąć maksymalną liczbę wyborów + invalid_max_selections: Potrzebujesz jeszcze %{missing_answers} odpowiedzi, aby osiągnąć maksymalną liczbę opcji do wybrania title: Odpowiedzi new: create: Utwórz odpowiedź @@ -152,8 +152,8 @@ pl: success: Odpowiedź została zaktualizowana elections: create: - invalid: Wystąpił błąd podczas tworzenia wyboru - success: Wybór został utworzony + invalid: Wystąpił błąd podczas tworzenia wyborów + success: Wybory zostały pomyślnie utworzone destroy: invalid: Wystąpił błąd podczas usuwania wyboru success: Wybór został usunięty diff --git a/decidim-forms/config/locales/it.yml b/decidim-forms/config/locales/it.yml index 7b8172c84c259..423e7fbdcd4ed 100644 --- a/decidim-forms/config/locales/it.yml +++ b/decidim-forms/config/locales/it.yml @@ -10,10 +10,15 @@ it: question_type: Tipo questionnaire_question: mandatory: Obbligatorio + max_characters: Limite di caratteri (lasciare a 0 se nessum limite) errors: models: answer: attributes: + add_documents: + needs_to_be_reattached: Deve essere allegato nuovamente + body: + too_long: è troppo lungo choices: missing: non sono completi too_many: sono troppi @@ -78,6 +83,7 @@ it: collapse: Comprimi tutte le domande expand: Espandi tutte le domande preview: Anteprima + title: Modifica formulario per %{questionnaire_for} unpublished_warning: Il modulo non è pubblicato. Puoi modificare le sue domande, ma in questo modo cancellerai le risposte correnti. matrix_row: matrix_row: Riga @@ -117,6 +123,7 @@ it: resize_and_pad: Ridimensionato e spaziato a resize_to_fit: Ridimensionato per adattarsi question_types: + files: I file long_answer: Risposta lunga matrix_multiple: Matrice (opzione multipla) matrix_single: Matrice (opzione singola) diff --git a/decidim-initiatives/config/locales/it.yml b/decidim-initiatives/config/locales/it.yml index e2cf14b0a1d93..a122421e1410c 100644 --- a/decidim-initiatives/config/locales/it.yml +++ b/decidim-initiatives/config/locales/it.yml @@ -22,6 +22,7 @@ it: area_enabled: Abilita gli autori a scegliere l'area per la loro iniziativa attachments_enabled: Abilita allegati banner_image: Immagine banner + child_scope_threshold_enabled: Abilita firme ambito figlio collect_user_extra_fields: Raccogliere dati personali dell'utente alla firma custom_signature_end_date_enabled: Consenti agli autori di scegliere la fine del periodo di raccolta delle firme description: Descrizione @@ -29,6 +30,7 @@ it: extra_fields_legal_information: Informazioni legali sulla raccolta di dati personali minimum_committee_members: Minimo dei membri del comitato online_signature_enabled: Firma online abilitata + only_global_scope_enabled: Consenti solo la creazione di iniziative di portata globale promoting_committee_enabled: Abilita la commissione promozionale title: Titolo undo_online_signatures_enabled: Consenti agli utenti di annullare le loro firme online @@ -66,6 +68,20 @@ it: actions: new_initiative_type: Nuovo tipo di iniziativa filters: + initiatives: + decidim_area_id_eq: + label: Area + state_eq: + label: Stato + values: + accepted: Numero di firme sufficiente + created: Creato + discarded: Rifiutato + published: Pubblicati + rejected: Firme non sufficienti + validating: Validazione tecnica + type_id_eq: + label: Tipo search_placeholder: title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Cerca %{collection} per titolo, descrizione, ID o nome dell'autore. menu: @@ -121,6 +137,11 @@ it: email_outro: Hai ricevuto questa notifica perché stai seguendo %{resource_title}. È possibile interrompere la ricezione di notifiche seguendo il collegamento precedente. email_subject: Data di fine delle firme dell'iniziativa estesa! notification_title: La data di fine della raccolta firme per l'iniziativa %{resource_title} è stata estesa. + initiative_sent_to_technical_validation: + email_intro: L'iniziativa "%{resource_title}" è stata inviata alla convalida tecnica. Controlla il pannello di amministrazione + email_outro: Hai ricevuto questa notifica perché sei un amministratore della piattaforma. + email_subject: L'iniziativa%{resource_title}" è stata inviata alla convalida tecnica. + notification_title: L'iniziativa "%{resource_title}" è stata inviata alla convalida tecnica. Controlla il pannello di amministrazione milestone_completed: affected_user: email_intro: La tua iniziativa %{resource_title} ha raggiunto l' %{percentage}% delle firme! @@ -133,7 +154,10 @@ it: email_subject: Nuova pietra miliare completata! notification_title: L'iniziativa %{resource_title} ha raggiunto il %{percentage}% delle firme. support_threshold_reached: + email_intro: L'iniziativa %{resource_title} ha raggiunto la soglia dei supporti richiesti email_outro: Hai ricevuto questa notifica perché sei un amministratore della piattaforma. + email_subject: Soglia di sostegni raggiunta + notification_title: L'iniziativa %{resource_title} ha raggiunto la soglia di sostegni gamification: badges: initiatives: @@ -178,12 +202,17 @@ it: content_blocks: highlighted_initiatives: max_results: Quantità massima di elementi da mostrare + order: + default: Predefinito (meno recente) + label: 'Ordina gli elementi per:' + most_recent: Più recenti exports: initiatives: Iniziative initiatives: edit: accept: Accetta l'iniziativa confirm: Sei sicuro? + confirm_send_to_technical_validation: Sei sicuro? discard: Scartare l'iniziativa export_pdf_signatures: Esporta PDF delle firme export_votes: Esporta le firme @@ -192,6 +221,8 @@ it: success: L'iniziativa è stata inviata alla convalida tecnica update: Aggiornare form: + attachments: Allegati + settings: Impostazioni title: Informazione generale index: actions_title: Azione @@ -238,6 +269,8 @@ it: update: Aggiornare form: authorizations: Impostazioni di autorizzazione + child_scope_threshold_enabled_help: 'Questo flag di configurazione non supporta i voti offline, abilita i sotto-ambiti e funziona con un gestore di autorizzazioni che associa un ambito all''utente, assicurarsi di selezionare tale autorizzazione, sotto nelle impostazioni di autorizzazione. Affinché gli ambiti di lavoro debbano essere configurati in modo gerarchico: 1 Genitore - N Bambino. Per ulteriori informazioni su come funziona questa configurazione, vedere questo link.' + only_global_scope_enabled_help: Seleziona questo contrassegno se hai abilitato "Child scope signature" e hai configurato l'ambito globale come ambito genitore. Abilitando questo, la selezione del tipo di iniziativa sarà saltata nella procedura guidata di creazione di iniziativa. Per ulteriori informazioni su come funziona questa configurazione, vedere questo link. options: Opzioni title: Informazione generale initiative_type_scopes: @@ -276,9 +309,13 @@ it: filter_type_values: all: Tutti committee_requests: + approve: + success: La richiesta è stata approvata. new: continue: Continua help_text: Stai per chiedere di diventare un membro del comitato promotore di questa iniziativa + revoke: + success: La richiesta è stata negata. spawn: success: La tua richiesta è stata inviata all'autore dell'iniziativa. content_blocks: @@ -288,6 +325,7 @@ it: fill_data: back: Indietro continue: Continua + fill_data_help: "
    • Rivedi il contenuto della tua iniziativa. Il tuo titolo è facile da capire? L'obiettivo della tua iniziativa è chiaro?
    • Devi scegliere il tipo di firma. Di persona, online o una combinazione di entrambe
    • Qual è l'ambito territoriale dell'iniziativa? Città, municipio, quartiere?
    " initiative_type: Tipo di iniziativa more_information: "(Maggiori informazioni)" select_area: Seleziona un'area @@ -295,8 +333,15 @@ it: finish: back: Indietro back_to_initiatives: Torna alle iniziative + callout_text: Complimenti! La tua iniziativa è stata creata con successo. + confirm: Stai per inviare l'iniziativa per un amministratore per la revisione e pubblicarla. Una volta pubblicato non sarai in grado di modificarlo. Sei sicuro? + edit_my_initiative: Modifica la mia iniziativa go_to_my_initiatives: Vai alle mie iniziative more_information: "(Maggiori informazioni)" + send_my_initiative: Invia la mia iniziativa alla convalida tecnica + finish_help: + access_reminder: Puoi accedere alle tue iniziative tramite il filtro %{link} nella pagina Iniziative. + publish_helper_text: Ricorda che affinché la tua iniziativa sia pubblicata, devi completare le informazioni richieste e inviarle alla convalida tecnica per un amministratore per rivederle. previous_form: back: Indietro continue: Continua @@ -304,12 +349,14 @@ it: more_information: "(Maggiori informazioni)" promotal_committee: back: Indietro + individual_help_text: Questo tipo di iniziativa richiede una commissione promotrice composta da almeno %{committee_size} persone (valutatori). Devi condividere il seguente link con gli altri partecipanti all'iniziativa. Quando i tuoi contatti riceveranno il link, dovranno seguire la procedura indicata. more_information: "(Maggiori informazioni)" select_initiative_type: back: Indietro choose_html: Voglio creare uno %{title} more_information: "(Maggiori informazioni)" select: Voglio promuovere questa iniziativa + select_initiative_type_help: Le iniziative sono un mezzo attraverso il quale i partecipanti possono intervenire in modo che l'organizzazione possa intraprendere azioni in difesa dell'interesse generale. Quale iniziativa vuoi lanciare? share_committee_link: continue: Continua invite_to_committee_help: Link per invitare persone che faranno parte del comitato promotore @@ -318,7 +365,22 @@ it: compare_help: Se una qualsiasi delle seguenti iniziative è simile alla tua, ti incoraggiamo a supportarla. La tua proposta avrà più possibilità di essere scelta. continue: La mia iniziativa è diversa more_information: "(Maggiori informazioni)" + edit: + accept: Accetta l'iniziativa + back: Indietro + confirm: Sei sicuro? + discard: Scarta l'iniziativa + export_pdf_signatures: Esporta PDF delle firme + export_votes: Esporta le firme + reject: Rifiuta l'iniziativa + title: Modifica la mia iniziativa + update: Modifica events: + approve_membership_request: + email_intro: "%{author_nickname} ha respinto la tua richiesta di far parte del comitato promotore per la seguente iniziativa %{resource_title}." + email_outro: 'Hai ricevuto questa notifica perché sei l''autore di questa iniziativa: %{resource_title}' + email_subject: "%{author_nickname} ha accettato la tua candidatura al comitato promoter" + notification_title: %{author_nickname} ha respinto la tua richiesta di far parte del comitato di promozione per la seguente iniziativa %{resource_title}. create_initiative_event: email_intro: "%{author_name} %{author_nickname}, che stai seguendo, ha creato una nuova iniziativa, dai un'occhiata e dai il tuo contributo:" email_outro: Hai ricevuto questa notifica perché stai seguendo %{author_nickname}. È possibile interrompere la ricezione di notifiche seguendo il collegamento precedente. @@ -329,6 +391,20 @@ it: email_outro: Hai ricevuto questa notifica perché stai seguendo %{author_nickname}. È possibile interrompere la ricezione di notifiche seguendo il collegamento precedente. email_subject: Iniziativa approvata da %{author_nickname} notification_title: L'iniziativa %{resource_title} è stata approvata da %{author_name} %{author_nickname}. + revoke_membership_request: + email_intro: "%{author_nickname} ha respinto la tua richiesta di far parte del comitato promoter per la seguente iniziativa %{resource_title}." + email_outro: 'Hai ricevuto questa notifica perché sei l''autore di questa iniziativa: %{resource_title}.' + email_subject: "%{author_nickname} ha respinto la tua richiesta per il comitato promoter" + notification_title: %{author_nickname} ha respinto la tua richiesta di far parte del comitato di promozione per la seguente iniziativa %{resource_title}. + spawn_committee_request_event: + email_intro: "%{applicant_nickname} ha fatto domanda per il comitato promoter della tua iniziativa %{resource_title}. Per accettare o respingere l'applicazione, vai al modulo di modifica della tua iniziativa." + email_outro: 'Hai ricevuto questa notifica perché sei l''autore di questa iniziativa: %{resource_title}' + email_subject: "%{applicant_nickname} vuole unirsi alla tua iniziativa" + notification_title: %{applicant_nickname} ha fatto domanda per il comitato promoter della tua iniziativa %{resource_title}. Per accettare o rifiutare clicca qui. + form: + add_attachments: Documenti + attachment_legend: "(Opzionale) Aggiungere un allegato" + delete_attachment: Cancella index: title: Iniziative initiative_signatures: @@ -365,6 +441,13 @@ it: hidden_authors_count: one: e 1 altra persona other: e altre %{count} persone + committee_members: + approve: Approva + confirm_revoke: Sei sicuro? + invite_to_committee_help: Condividi questo link per invitare altri utenti al comitato di promozione + no_members_yet: Non vi sono membri nel comitato promotore + revoke: Revoca + title: Membri del comitato count: title: one: "%{count} iniziativa" @@ -390,6 +473,9 @@ it: close: Chiudi explanation: È necessario essere verificati per creare una nuova iniziativa. title: Autorizzazione richiesta + initiatives: + closed_initiatives_warning: Attualmente non vi sono iniziative aperte, ma qui puoi trovare un elenco di tutte le iniziative chiuse. + no_initiatives_warning: Nessuna iniziativa corrisponde ai criteri di ricerca. interactions: comments_count: count: @@ -403,11 +489,37 @@ it: recent: Piu recente recently_published: Pubblicati più di recente print: + address: Indirizzo + author_title: Autore dell'iniziativa city: Città + email: Email + full_name: Nome e cognome + general_title: Domanda di ammissione di un’iniziativa + id_number: Numero del documento + initiative: + attachments: Documentazione allegata (si prega di scrivere il nome di ogni documento qui sotto) + description: 'Descrizione:' + title: 'Titolo:' + type: Tipo di iniziativa + legal_text: I dati personali raccolti saranno inseriti e trattati in modo riservato dall'organizzazione, secondo la legislazione vigente. + phone_number: Numero di telefono + place_date: Luogo, data + postal_code: Codice postale/CAP + print: Stampa + province: Provincia/Stato + section: 'Se richiesto dall''organizzazione, si prega di stampare e compilare il presente modulo per inviare dove indicato:' + signature: Firma result: + answer_title: Questa iniziativa ha ricevuto una risposta initiative_rejected_reason: Questa iniziativa è stata respinta a causa della mancanza di firme. show: + any_vote_method: Questa iniziativa raccoglie solo firme autografe. + confirm: Stai per inviare l'iniziativa per un amministratore per rivederla e pubblicarla. Una volta pubblicato non sarai in grado di modificarlo. Sei sicuro? + edit: Modifica follow_description: Ricevi una notifica quando ci sono novità in questa iniziativa + offline_method: Questa iniziativa dei cittadini raccoglie solo firme autografe. + print: Stampa Iniziativa + send_to_technical_validation: Invia per la convalida tecnica signatures_count: one: " firma" other: " firme" @@ -453,6 +565,9 @@ it: accepted: Accettato expired: Scaduto unavailable_scope: Ambito non disponibile + update: + error: Qualcosa è andato storto + success: L'iniziativa è stata aggiornata correttamente versions: shared: back_to_resource: Torna all'iniziativa @@ -467,6 +582,7 @@ it: decidim: admin: initiative: + attachments: Allegati committee_members: membri del Comitato components: componenti information: Informazione diff --git a/decidim-meetings/config/locales/it.yml b/decidim-meetings/config/locales/it.yml index a27fe9a612588..fd514604a87be 100644 --- a/decidim-meetings/config/locales/it.yml +++ b/decidim-meetings/config/locales/it.yml @@ -21,17 +21,22 @@ it: end_time: Orario fine location: Luogo location_hints: Informazione sul luogo + online_meeting_url: Url riunione online organizer_gid: Crea come organizer_id: Organizzatore private_meeting: Incontro privato registration_form_enabled: Modulo di registrazione abilitato registration_terms: Termini di registrazione + registration_url: URL di iscrizione registrations_enabled: Registrazioni abilitate start_time: Orario inizio title: Titolo transparent: Trasparente + type_of_meeting: Tipo minutes: + audio_url: URL Audio description: Descrizione + video_url: URL Video visible: È visibile errors: models: @@ -85,7 +90,11 @@ it: creation_enabled_for_participants: I partecipanti possono creare riunioni default_registration_terms: Termini di registrazione predefiniti enable_pads_creation: Abilita la creazione di pad + registration_code_enabled: Codice di registrazione abilitato resources_permissions_enabled: Le autorizzazioni delle azioni possono essere impostate per ogni riunione + scope_id: Ambito + scopes_enabled: Ambiti abilitati + terms_and_conditions_url_for_meeting_creators: Termini e condizioni URL per i creatori di riunione step: announcement: Annuncio comments_blocked: Commenti bloccati @@ -198,6 +207,7 @@ it: invalid: C'è stato un problema nell'aggiornare questo programma success: Agenda aggiornata con successo exports: + meeting_comments: Commenti meetings: Incontri registrations: Iscrizioni invite_join_meeting_mailer: @@ -245,10 +255,18 @@ it: other: La riunione non può essere annullata perché ha %{count} proposte associate success: OK, il meeting è stato cancellato. edit: + title: Modifica la riunione update: Modifica form: address_help: 'Indirizzo: usato da Geocoder per trovare la posizione' + available_slots_help: Lasciare a 0 se si dispone di posti illimitati disponibili + disclaimer: 'Disclaimer: Utilizzando un sistema di registrazione esterno, sei consapevole che gli organizzatori di %{organization} non sono responsabili per i dati forniti dagli utenti al servizio esterno.' location_help: 'Posizione: messaggio diretto agli utenti che riporta il luogo dell''incontro' + location_hints_help: 'Suggerimenti: informazioni aggiuntive. Esempio: il pavimento dell''edificio se si tratta di una riunione di persona o la password di riunione se si tratta di una riunione online con accesso ristretto.' + online_meeting_url_help: 'Link: permette ai partecipanti di connettersi direttamente alla tua riunione' + registration_url_help: 'Link: consentire ai partecipanti di accedere al servizio esterno che stai utilizzando per le iscrizioni' + select_a_meeting_type: Seleziona un tipo di riunione + select_a_registration_type: Seleziona un tipo di registrazione index: title: Incontri new: @@ -272,6 +290,7 @@ it: invalid: Si è verificato un problema durante la creazione di questi minuti success: Minuti creati con successo edit: + title: Modifica il verbale update: Aggiornare new: create: Creare @@ -342,6 +361,7 @@ it: space_type: Spazio partecipativo upcoming: Prossime last_activity: + meeting_updated_at_html: "Dibattito aggiornato su %{link}" new_meeting_at_html: "Nuovo incontro al %{link}" mailer: invite_join_meeting_mailer: @@ -352,6 +372,11 @@ it: subject: La tua registrazione alla riunione è stata confermata meeting: not_allowed: Non sei autorizzato a visualizzare questo incontro + meeting_closes: + edit: + back: Indietro + close: Chiusura meeting + title: Chiudi riunione meetings: count: meetings_count: @@ -365,12 +390,15 @@ it: title: Modifica riunione update: Aggiorna filters: + activity: La mia attività + all: Tutti category: Categoria date: Data date_values: all: Tutte past: Passata upcoming: Imminente + my_meetings: I miei meeting origin: Origine origin_values: all: Tutte @@ -379,6 +407,12 @@ it: user_groups: Gruppi scope: Ambito search: Cerca + type: Tipo + type_values: + all: Tutti + hybrid: Entrambi + in_person: Faccia a faccia + online: Online filters_small_view: close_modal: Chiudi modalità filter: Filtra @@ -386,9 +420,16 @@ it: unfold: Espandi form: address_help: 'Indirizzo: usato da Geocoder per trovare la posizione' + available_slots_help: Lasciare a 0 se disponi di slot illimitati create_as: Crea riunione come + disclaimer: 'Disclaimer: Utilizzando un sistema di registrazione esterno, sei consapevole che gli organizzatori di %{organization} non sono responsabili per i dati forniti dagli utenti al servizio esterno.' location_help: 'Posizione: messaggio diretto agli utenti che riporta il luogo dell''incontro' + location_hints_help: 'Suggerimenti: informazioni aggiuntive. Esempio: il pavimento dell''edificio se si tratta di una riunione di persona o la password di riunione se si tratta di una riunione online con accesso ristretto.' + online_meeting_url_help: 'Link: permette ai partecipanti di connettersi direttamente alla tua riunione' + registration_url_help: 'Link: consentire ai partecipanti di accedere al servizio esterno che stai utilizzando per le iscrizioni' select_a_category: Scegli una categoria + select_a_meeting_type: Seleziona un tipo di riunione + select_a_registration_type: Seleziona un tipo di registrazione index: new_meeting: Nuova riunione meeting_minutes: @@ -407,6 +448,7 @@ it: show: attendees: Conteggio dei partecipanti back: Torna alla lista + close_meeting: Chiusura meeting contributions: Conteggio dei contributi date: Data edit_meeting: Modifica la riunione @@ -453,6 +495,10 @@ it: confirmed_html: La registrazione per il %{title} di riunione è stata confermata. details: Puoi trovare i dettagli della riunione in allegato. registration_code: Il tuo codice di registrazione è %{code}. + registration_type: + on_different_platform: Su una piattaforma diversa + on_this_platform: Usa questa piattaforma + registration_disabled: Registrazione disattivata registrations: create: invalid: C'è stato un problema a partecipare a questa riunione. @@ -463,6 +509,10 @@ it: destroy: invalid: C'è stato un problema lasciare questa riunione. success: Hai lasciato l'incontro con successo. + type_of_meeting: + hybrid: Entrambi + in_person: Di persona + online: Online types: private_meeting: Incontro privato transparent: Trasparente diff --git a/decidim-meetings/config/locales/nl.yml b/decidim-meetings/config/locales/nl.yml index 31bc1cdd4e75b..3918b5b665510 100644 --- a/decidim-meetings/config/locales/nl.yml +++ b/decidim-meetings/config/locales/nl.yml @@ -280,6 +280,7 @@ nl: invalid: Er is een probleem opgetreden bij het maken van deze notulen success: Notulen met succes gemaakt edit: + title: Verslag bewerken update: Bijwerken new: create: creëren diff --git a/decidim-participatory_processes/config/locales/it.yml b/decidim-participatory_processes/config/locales/it.yml index f517e2492168b..c647d047e933c 100644 --- a/decidim-participatory_processes/config/locales/it.yml +++ b/decidim-participatory_processes/config/locales/it.yml @@ -37,8 +37,17 @@ it: weight: Peso participatory_process_group: description: Descrizione + developer_group: Gruppo promotore + group_url: Sito web + hashtag: Hashtag hero_image: Immagine + local_area: Area di organizzazione + meta_scope: Ambito metadati participatory_process_ids: Processi correlati + participatory_scope: Cosa si decide + participatory_structure: Come si decide + target: A chi è destinato il processo + title: Titolo participatory_process_step: cta_path: Percorso della chiamata all'azione cta_text: Testo della chiamata all'azione @@ -94,6 +103,9 @@ it: unpublish: Non pubblicarlo menu: participatory_process_groups: Gruppo di processi + participatory_process_groups_submenu: + info: Informazioni + landing_page: Pagina di destinazione participatory_processes: Processi participatory_processes_submenu: attachment_collections: Cartelle @@ -116,6 +128,8 @@ it: title: Nome name: Processo partecipativo participatory_process_group: + fields: + title: Titolo name: Gruppo di processi participatory_process_step: fields: @@ -143,6 +157,13 @@ it: copy: Copia select: Scegli quale dato vuoi duplicare title: Duplica il processo partecipativo + participatory_process_group_landing_page: + edit: + active_content_blocks: Blocchi di contenuti attivi + inactive_content_blocks: Blocchi di contenuti inattivi + participatory_process_group_landing_page_content_blocks: + edit: + update: Aggiorna participatory_process_groups: destroy: error: Si è verificato un errore durante la cancellazione del gruppo di processi partecipativi. @@ -300,8 +321,25 @@ it: related_assemblies: Assemblee collegate participatory_process_groups: content_blocks: + html_1: + name: Primo blocco HTML + html_2: + name: Secondo blocco HTML + html_3: + name: Terzo blocco HTML + metadata: + developer_group: Promosso da + name: Metadati + participatory_scope: Che cosa si decide + participatory_structure: Come si decide + target: A chi è destinato il processo + participatory_processes: + name: Processi partecipativi stats: name: Attività + title: + meta_scope: Ambito + name: Titolo, descrizione e hashtag show: title: Gruppi di processi partecipativi participatory_process_steps: @@ -313,11 +351,16 @@ it: content_blocks: highlighted_processes: max_results: Quantità massima di elementi da mostrare + new_import: + accepted_types: + json: JSON participatory_process_copies: form: slug_help: 'Gli slug URL vengono utilizzati per generare gli URL che puntano a questo processo. Accetta solo lettere, numeri e trattini, e deve iniziare con una lettera. Esempio: %{url}' participatory_process_groups: form: + metadata: Metadati + title: Informazioni generali visibility: Visibilità participatory_process_imports: form: @@ -390,6 +433,7 @@ it: loading: Caricamento risultati... show: area: Area + belongs_to_group: Questo processo appartiene a dates: Date developer_group: Promotore end_date: Data di fine diff --git a/decidim-participatory_processes/config/locales/nl.yml b/decidim-participatory_processes/config/locales/nl.yml index 3f5bb51b5d90e..4c4643d104b9d 100644 --- a/decidim-participatory_processes/config/locales/nl.yml +++ b/decidim-participatory_processes/config/locales/nl.yml @@ -34,6 +34,7 @@ nl: subtitle: Ondertitel target: Wie doet mee title: Titel + weight: Gewicht participatory_process_group: description: Beschrijving developer_group: Promoter groep diff --git a/decidim-participatory_processes/config/locales/pl.yml b/decidim-participatory_processes/config/locales/pl.yml index 5204db12e7309..57550f6e64a59 100644 --- a/decidim-participatory_processes/config/locales/pl.yml +++ b/decidim-participatory_processes/config/locales/pl.yml @@ -58,7 +58,7 @@ pl: title: Tytuł participatory_process_user_role: email: Adres e-mail - name: Nazwa + name: Imię role: Rola errors: models: diff --git a/decidim-proposals/config/locales/it.yml b/decidim-proposals/config/locales/it.yml index 5a99e1627e69b..18d6df8e169b1 100644 --- a/decidim-proposals/config/locales/it.yml +++ b/decidim-proposals/config/locales/it.yml @@ -27,6 +27,9 @@ it: user_group_id: Crea proposta come proposal_answer: answer: Risposta + cost: Costo + cost_report: Relazione sui costi + execution_period: Periodo di esecuzione proposals_copy: copy_proposals: Capisco che questo importerà tutte le proposte dal componente selezionato a quello corrente e che questa azione non può essere annullata. origin_component_id: Componente per copiare le proposte da @@ -80,6 +83,28 @@ it: admin: filters: proposals: + category_id_eq: + label: Categoria + is_emendation_true: + label: Tipo + values: + 'false': Proposte + 'true': Emendamenti + scope_id_eq: + label: Ambito + state_eq: + label: Stato + values: + accepted: Accettato + evaluating: Valutato + published: Pubblicato + rejected: Rifiutato + validating: Convalida Tecnica + withdrawn: Ritirato + state_null: + label: Stato + values: + 'true': Senza risposta valuator_role_ids_has: label: Assegnato al valutatore search_placeholder: @@ -115,6 +140,10 @@ it: participatory_texts_enabled_readonly: Non è possibile interagire con questa impostazione se ci sono proposte esistenti. Per favore, crea un nuovo componente `Proposte` se si desidera abilitare questa funzione o elimina tutte le proposte importate nel menu `Testi partecipativi` se si desidera disabilitarla. proposal_answering_enabled: Risposta alla proposta abilitata proposal_edit_before_minutes: Minuti dall'inserimento dopo i quali le proposte non potranno piùessere modificate dagli autori + proposal_edit_time: Modifica proposta + proposal_edit_time_choices: + infinite: Consenti la modifica delle proposte per un tempo infinito + limited: Consenti la modifica delle proposte entro un periodo di tempo specifico proposal_length: Lunghezza massima della proposta proposal_limit: Numero di proposte che possono essere create da ciascun utente proposal_wizard_step_1_help_text: Procedura guidata proposta "Crea" testo guida passo @@ -122,6 +151,8 @@ it: proposal_wizard_step_3_help_text: Procedura guidata "Completa" del testo della guida guidata della proposta proposal_wizard_step_4_help_text: Procedura guidata "Pubblica" del testo della guida per la procedura guidata resources_permissions_enabled: Le autorizzazioni delle azioni possono essere impostate per ogni proposta + scope_id: Ambito + scopes_enabled: Ambiti abilitati threshold_per_proposal: Voti necessari per l'approvazione della proposta vote_limit: Limite di voto per utente step: @@ -328,6 +359,7 @@ it: actions: preview: Anteprima exports: + proposal_comments: Commenti proposals: Proposte models: proposal: @@ -351,7 +383,9 @@ it: new_import: accepted_mime_types: md: .md + odt: ODT bottom_hint: "(Sarai in grado di visualizzare in anteprima e ordinare le sezioni del documento)" + document_legend: 'Aggiungi un documento di dimensione inferiore a 2MB. Ciascuna sezione contenente fino a 3 livelli di profondità sarà suddivisa in proposte. I formati accettati sono i seguenti: %{valid_mime_types}' title: AGGIUNGI DOCUMENTO upload_document: Carica il documento publish: @@ -392,6 +426,7 @@ it: form: attachment_legend: "(Opzionale) Aggiungere un allegato" created_in_meeting: Questa proposta proviene da una riunione + delete_attachment: Elimina allegato select_a_category: Scegli una categoria select_a_meeting: Seleziona una riunione index: @@ -466,6 +501,7 @@ it: no_components: Non ci sono altri componenti di proposta in questo spazio partecipativo per importare le proposte da. select_component: Si prega di selezionare un componente select_states: Controlla gli stati delle proposte da importare + title: Importa proposte proposals_merges: create: invalid: Si è verificato un errore durante l'unione delle proposte selezionate. @@ -618,6 +654,9 @@ it: info: Stai creando una bozza collaborativa . wizard_header: title: Crea la tua bozza collaborativa + content_blocks: + highlighted_proposals: + proposals: Proposte create: error: C'è stato un errore durante il salvataggio di questa proposta. success: Proposta creata con successo. Salvato come bozza. @@ -626,6 +665,7 @@ it: success: La bozza della proposta è stata cancellata con successo. last_activity: new_proposal_at_html: "Nuova proposta al %{link}" + proposal_updated_at_html: "Proposta aggiornata a%{link}" models: collaborative_draft: fields: @@ -670,6 +710,8 @@ it: proposals_count: one: "%{count} proposta" other: "%{count} proposte" + dynamic_map_instructions: + instructions:

    Puoi spostare il punto sulla mappa.

    Non dimenticare di cliccare sul pulsante "Aggiorna posizione" prima di pubblicare la tua proposta.

    edit: add_documents: Documenti add_images: File @@ -730,6 +772,8 @@ it: document_index: Indice del documento view_index: see_index: Vedi indice + placeholder: + address: Homewood Drive 37, Brownsburg, IN 46112 preview: announcement_body: La tua proposta è stata salvata come bozza. Deve essere pubblicata affinché appaia sul sito. announcement_title: La tua proposta non è stata ancora pubblicata @@ -739,6 +783,7 @@ it: other: Potrai modificare questa proposta durante i primi %{count} minuti dopo la pubblicazione della proposta. Una volta passato questo periodo, non sarai più in grado di modificare la proposta. publish: Pubblica title: Pubblica la tua proposta + update_position: Aggiorna posizione proposal: creation_date: 'Creazione: %{date}' view_proposal: Visualizza la proposta diff --git a/decidim-verifications/config/locales/it.yml b/decidim-verifications/config/locales/it.yml index 467cad39c08aa..7abbbe1f8a43a 100644 --- a/decidim-verifications/config/locales/it.yml +++ b/decidim-verifications/config/locales/it.yml @@ -34,8 +34,16 @@ it: confirm: Le autorizzazioni di revoca prima della data non possono essere annullate. Sei sicuro di voler continuare? confirm_all: Revocare tutte le autorizzazioni non può essere annullato. Sei sicuro di voler continuare? destroy_nok: C'è stato un problema durante la revoca delle autorizzazioni. + destroy_ok: Tutte le autorizzazioni corrispondenti sono state revocate correttamente. info: Ci sono un totale di %{count} partecipanti verificati. no_data: Nessun partecipante verificato + title: Revoca delle autorizzazioni + authorization_workflows: Autorizzazioni + admin_log: + organization: + update_id_documents_config: "%{user_name} configurazione di verifica dei documenti di identità aggiornata" + user: + grant_id_documents_offline_verification: "%{user_name} ha verificato %{resource_name} utilizzando un sistema di verifica offline dei documenti di identità" authorization_handlers: admin: csv_census: @@ -67,6 +75,10 @@ it: postal_letter: explanation: Ti invieremo una lettera postale con un codice che dovrai inserire per poter verificare il tuo indirizzo name: Codice via lettera postale + events: + verifications: + verify_with_managed_user: + notification_title: La partecipante %{resource_title} ha provato a verificarsi con i dati della partecipante gestita %{managed_user_name} verifications: authorizations: authorization_metadata: @@ -123,6 +135,7 @@ it: title: Dati di censimento attuali instructions: body: Per fare ciò è necessario inserire l'amministrazione del sistema e aggiungere le autorizzazioni csv_census all'organizzazione + title: È necessario attivare il censimento CVS per questa organizzazione new: file: "file .csv con dati di posta elettronica" info: 'Deve essere un file in formato CSV con una sola colonna con l''indirizzo email:' @@ -138,6 +151,10 @@ it: one: La partecipazione è riservata agli utenti con il codice postale %{postal_codes}. other: 'La partecipazione è riservata agli utenti con uno dei seguenti codici postali: %{postal_codes}.' scope: La partecipazione è limitata ai partecipanti con l'ambito %{scope_name}. + user_postal_codes: + one: La partecipazione è limitata alle partecipanti con il codice postale %{postal_codes}, e il tuo codice postale è %{user_postal_code}. + other: 'La partecipazione è limitata alle partecipanti con il codice postale %{postal_codes}, e il tuo codice postale è %{user_postal_code}.' + user_scope: La partecipazione è limitata a partecipanti con ambito %{scope_name} e il tuo ambito è %{user_scope_name}. id_documents: admin: config: From 03643e4b293092f42f7cc87fd39be0bdf643a2b1 Mon Sep 17 00:00:00 2001 From: Oliver Valls <199462+tramuntanal@users.noreply.github.com> Date: Tue, 15 Jun 2021 11:18:50 +0200 Subject: [PATCH 28/71] Backport "Add missing templates translations" to 0.24 (#8135) --- decidim-templates/config/locales/en.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/decidim-templates/config/locales/en.yml b/decidim-templates/config/locales/en.yml index a69820d8a57d9..cb86a07b47834 100644 --- a/decidim-templates/config/locales/en.yml +++ b/decidim-templates/config/locales/en.yml @@ -1,5 +1,12 @@ --- en: + activemodel: + attributes: + questionnaire: + title: Title + template: + description: Description + name: Name decidim: admin: menu: From 27611244037487d38618c56820e482bd81eacd17 Mon Sep 17 00:00:00 2001 From: Oliver Valls <199462+tramuntanal@users.noreply.github.com> Date: Tue, 15 Jun 2021 11:19:43 +0200 Subject: [PATCH 29/71] Backport "Add missing translation for authorization_modals" to 0.24 (#8134) --- decidim-core/config/locales/en.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/decidim-core/config/locales/en.yml b/decidim-core/config/locales/en.yml index 202c8f7d5a185..367608c363780 100644 --- a/decidim-core/config/locales/en.yml +++ b/decidim-core/config/locales/en.yml @@ -314,6 +314,8 @@ en: authorize: Authorize with "%{authorization}" explanation: In order to perform this action, you need to be authorized with "%{authorization}". title: Authorization required + ok: + title: You've been authorized while in this page. Please, reload the page to perform your action pending: explanation: In order to perform this action, you need to be authorized with "%{authorization}", but your authorization is still in progress resume: Check your "%{authorization}" authorization progress From 200bfd2e3a444915c6c00662277c0b62b30a60e1 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Mon, 21 Jun 2021 13:17:21 +0200 Subject: [PATCH 30/71] New Crowdin updates (#8125) --- .../config/locales/pt-BR.yml | 47 ++ decidim-admin/config/locales/pl.yml | 2 +- decidim-admin/config/locales/pt-BR.yml | 298 ++++++++++++ decidim-assemblies/config/locales/it.yml | 2 +- decidim-assemblies/config/locales/pt-BR.yml | 86 ++++ decidim-blogs/config/locales/pt-BR.yml | 8 +- decidim-budgets/config/locales/pt-BR.yml | 154 ++++++ decidim-comments/config/locales/nl.yml | 2 +- decidim-comments/config/locales/pt-BR.yml | 37 ++ decidim-conferences/config/locales/pt-BR.yml | 55 +++ .../config/locales/pt-BR.yml | 85 ++++ decidim-core/config/locales/ca.yml | 2 + decidim-core/config/locales/cs.yml | 2 + decidim-core/config/locales/fi.yml | 2 + decidim-core/config/locales/fr-CA.yml | 2 + decidim-core/config/locales/fr-LU.yml | 2 + decidim-core/config/locales/fr.yml | 2 + decidim-core/config/locales/it.yml | 2 + decidim-core/config/locales/nl.yml | 2 + decidim-core/config/locales/pl.yml | 2 +- decidim-core/config/locales/pt-BR.yml | 446 +++++++++++++++++- decidim-debates/config/locales/pt-BR.yml | 76 +++ decidim-dev/config/locales/pt-BR.yml | 16 + decidim-elections/config/locales/it.yml | 190 ++++++++ decidim-elections/config/locales/ja.yml | 133 ++++++ decidim-elections/config/locales/pl.yml | 324 ++++++------- decidim-elections/config/locales/pt-BR.yml | 191 ++++++++ decidim-forms/config/locales/pt-BR.yml | 91 ++++ decidim-initiatives/config/locales/pt-BR.yml | 183 +++++++ decidim-meetings/config/locales/ja.yml | 72 +-- decidim-meetings/config/locales/pt-BR.yml | 111 +++++ .../config/locales/it.yml | 3 + .../config/locales/pt-BR.yml | 100 ++++ decidim-proposals/config/locales/nl.yml | 2 +- decidim-proposals/config/locales/pt-BR.yml | 189 ++++++++ decidim-sortitions/config/locales/pt-BR.yml | 2 + decidim-surveys/config/locales/pt-BR.yml | 10 + decidim-system/config/locales/pt-BR.yml | 107 +++++ decidim-templates/config/locales/ca.yml | 7 + decidim-templates/config/locales/cs.yml | 7 + decidim-templates/config/locales/fi-plain.yml | 7 + decidim-templates/config/locales/fi.yml | 7 + decidim-templates/config/locales/fr-CA.yml | 7 + decidim-templates/config/locales/fr-LU.yml | 7 + decidim-templates/config/locales/fr.yml | 7 + decidim-templates/config/locales/it.yml | 7 + decidim-templates/config/locales/ja.yml | 7 + decidim-templates/config/locales/nl.yml | 7 + decidim-templates/config/locales/pt-BR.yml | 66 +++ .../config/locales/pt-BR.yml | 47 ++ 50 files changed, 3016 insertions(+), 207 deletions(-) diff --git a/decidim-accountability/config/locales/pt-BR.yml b/decidim-accountability/config/locales/pt-BR.yml index a0a6a4126883b..73a5ceed84fc2 100644 --- a/decidim-accountability/config/locales/pt-BR.yml +++ b/decidim-accountability/config/locales/pt-BR.yml @@ -32,16 +32,29 @@ pt: decidim: accountability: actions: + attachment_collections: Pastas + attachments: Anexos confirm_destroy: Deseja mesmo excluir %{name}? destroy: Excluir edit: Editar + import_csv: Importar CSV new: Novo %{name} preview: Pré-visualização timeline_entries: Evolução do projeto title: Ações admin: exports: + result_comments: Comentários results: Resultados + import_results: + new: + import: Importar + info: "

    Nós recomendamos que vosê siga os seguintes passos:

    1. Crie os Status para os Resultados que você gostaria de adicionar(link)
    2. Crie o último Resultado manualmente através do Painel de Administração(link) antes de usar Importação, para ter um melhor entendimento do formato e o que você precisa preencher.
    3. Baixe a Exportação em formato CSV (%{link_export_csv})
    4. Faça as mudanças localmente. Você só pode fazer mudanças nas seguintes colunas do CSV:
    • categoria/id: ID da Categoria
    • escopo/id: ID do Escopo
    • pai/id: ID do pai(para resultados Relacionados). Opcional
    • Título/I18N: Título na liinguagem X
    • Descrição/I18N: Descrição na linguagem X
    • data_inicial: data em que os resultados começaram a ser executados (formato YYYY-MM-DD)
    • data_final: em que os resultados pararam de ser executados (formato YYYY-MM-DD)
    • status/id: ID do Status para este resultado
    • progresso: Percentual (De 0 a 100) de execução
    • id_propostas: ID interno relacionado às propostas (separados por vírgula). Ele é convertido automaticamente paraurl_proposta
    " + link: link + title: Importar resultados de CSV + imports: + create: + success: O arquivo começou a importar. Você receberá um e-mail nos próximos minutos com o resultado da importação models: result: name: Resultado @@ -111,13 +124,29 @@ pt: value_types: parent_presenter: not_found: 'O pai não foi encontrado no banco de dados (ID: %{id})' + content_blocks: + highlighted_results: + dates: Datas + results: Resultados + unspecified: Não especificado + import_mailer: + import: + errors: Erros + errors_present: Houve um problema na exportação + row_number: Linha + subject: Importação bem sucedida de resultados + success: Importação bem sucedida de resultados. Você pode revisar os resultados na interface de administração. last_activity: new_result_at_html: "Novo resultado em %{link}" models: result: fields: + category: Categoria + created_at: Criado end_date: Data final + id: ID progress: Progresso + scope: Escopo start_date: Data de início status: Status title: Título @@ -131,6 +160,9 @@ pt: fields: description: Descrição entry_date: Data + result_m: + executed: Executado + view: Visualizar results: count: results_count: @@ -161,6 +193,15 @@ pt: votes: Suporta timeline: title: Evolução do projeto + admin: + filters: + results: + category_id_eq: + label: Categoria + scope_id_eq: + label: Escopo + status_id_eq: + label: Status components: accountability: name: Prestação de contas @@ -168,10 +209,13 @@ pt: global: categories_label: Nome para "Categorias" comments_enabled: Comentários ativados + comments_max_length: Tamanho máximo de comentários (deixe 0 para o valor padrão) display_progress_enabled: Mostrar progresso heading_leaf_level_results: Nome para "Projetos" heading_parent_level_results: Nome para "Resultados" intro: Introdução + scope_id: Escopo + scopes_enabled: Escopos habilitados subcategories_label: Nome para "Subcategorias" step: comments_blocked: Comentários bloqueados @@ -192,6 +236,9 @@ pt: description: Número de resultados gerados object: resultados title: Resultados + participatory_spaces: + highlighted_results: + see_all: Ver todos os resultados (%{count}) resource_links: included_projects: result_project: Projetos incluídos neste resultado diff --git a/decidim-admin/config/locales/pl.yml b/decidim-admin/config/locales/pl.yml index 9cc85c108f3be..9f5606f12165f 100644 --- a/decidim-admin/config/locales/pl.yml +++ b/decidim-admin/config/locales/pl.yml @@ -871,7 +871,7 @@ pl: scope_types: Typy zakresów scopes: Zakresy static_pages: Strony - statistics: Działania + statistics: Aktywność user_groups: Grupy użytkowników users: Administratorzy user_group: diff --git a/decidim-admin/config/locales/pt-BR.yml b/decidim-admin/config/locales/pt-BR.yml index 61b8e9cfecf45..751c0e76cd90d 100644 --- a/decidim-admin/config/locales/pt-BR.yml +++ b/decidim-admin/config/locales/pt-BR.yml @@ -13,6 +13,7 @@ pt: attachment_collection_id: Pasta description: Descrição file: Arquivo + title: Nome da imagem ou anexo attachment_collection: description: Descrição name: Nome @@ -25,21 +26,32 @@ pt: published_at: Publicado em weight: Peso id: ID + import: + user_group_id: Criar importações como newsletter: body: Corpo subject: Assunto organization: + admin_terms_of_use_body: Corpo para os termos de uso do administrador alert_color: Alerta + available_authorizations: Autorizações disponíveis badges_enabled: Ativar emblemas + comments_max_length: Tamanho máximo de comentários (deixe 0 para o valor padrão) cta_button_path: Caminho do botão Chamar para Ação cta_button_text: Texto do botão Chamar para Ação + customize_welcome_notification: Personalizar notificação de boas-vindas default_locale: Idioma padrão description: Descrição enable_omnipresent_banner: Mostrar bandeira omnipresente facebook_handler: Manipulador do Facebook favicon: Ícone + force_authentication: Forçar autenticação + force_users_to_authenticate_before_access_organization: Forçar usuários a autenticar antes de acessar organização + from: Endereço de e-mail de origem github_handler: Manipulador GitHub header_snippets: Snippets de cabeçalho + highlight_alternative_color: Destaque, alternativa + highlight_color: Destaque highlighted_content_banner_action_subtitle: Legenda do botão de ação highlighted_content_banner_action_title: Título do botão Ação highlighted_content_banner_action_url: URL do botão de ação @@ -47,8 +59,12 @@ pt: highlighted_content_banner_image: Imagem highlighted_content_banner_short_description: Descrição curta highlighted_content_banner_title: Título + host: Hospedeiro instagram_handler: Manipulador de Instagram logo: Logotipo + machine_translation_display_priority: Prioridade na exibição da tradução automática + machine_translation_display_priority_original: Texto original primeiro + machine_translation_display_priority_translation: Texto traduzido primeiro name: Nome official_img_footer: Símbolo oficial do rodapé official_img_header: Cabeçalho do logotipo oficial @@ -56,14 +72,24 @@ pt: omnipresent_banner_short_description: Descrição curta omnipresent_banner_title: Título omnipresent_banner_url: URL + organization_admin_email: E-mail do administrador da organização + organization_admin_name: Nome do administrador da organização + organization_locales: Localidades da organização primary_color: Primário reference_prefix: Prefixo de referência + rich_text_editor_in_public_views: Habilitar o editor de texto rico para participantes secondary_color: Secundário + secondary_hosts: Espaço secundário + send_welcome_notification: Enviar notificação de boas-vindas success_color: Sucesso + time_zone: Fuso Horário tos_version: Versão dos termos de serviço twitter_handler: Manipulador do Twitter user_groups_enabled: Ativar grupos de usuários + users_registration_mode: Modo de registro de usuários warning_color: Aviso + welcome_notification_body: Corpo de notificação de boas-vindas + welcome_notification_subject: Corpo de notificação de boas-vindas youtube_handler: Manipulador do YouTube scope: code: Código @@ -76,7 +102,10 @@ pt: name: Nome organization: Organização plural: Plural + settings: + scope_id: Escopo static_page: + allow_public_access: Permitir acesso sem autenticação changed_notably: Houve mudanças notáveis. content: Conteúdo organization: Organização @@ -99,6 +128,10 @@ pt: allowed_file_content_types: Arquivo de imagem inválido official_img_header: allowed_file_content_types: Arquivo de imagem inválido + new_import: + attributes: + file: + invalid_mime_type: Tipo mime inválido activerecord: attributes: decidim/static_page: @@ -117,13 +150,42 @@ pt: admin: actions: add: Adicionar + attachment: + new: Novo anexo + attachment_collection: + new: Nova coleção de anexos browse: Navegar + category: + new: Nova categoria export: Exportar + import: Importar manage: Gerenciar new: Nova %{name} + newsletter: + new: Novo Boletim Informativo + participatory_space_private_user: + new: Novo espaço participativo de usuário privado + per_page: Por página permissions: Permissões reject: Negar + share: Compartilhar + user: + new: Novo usuário verify: Verificar + admin_terms_of_use: + accept: + error: Ocorreu um erro ao aceitar os termos de uso do administrador. + success: Ótimo! Você aceitou os termos de uso do administrador. + actions: + accept: Concordo com os seguintes termos + are_you_sure: Tem certeza de que deseja recusar os termos do administrador? + refuse: Recusar os termos do admin + title: Concorde com os termos e condições de uso + required_review: + alert: 'Obrigatório: Revise os termos de uso de nosso administrador' + callout: Por favor, reserve um momento para revisar os Termos de Uso do Administrador. Caso contrário, você não poderá administrar a plataforma. + cta: Reveja eles agora. + title: Termos de Uso do Administrador area_types: create: error: Ocorreu um erro ao criar um novo tipo de área. @@ -144,6 +206,7 @@ pt: error: Ocorreu um erro ao criar uma nova área. success: Área criada com sucesso. destroy: + has_spaces: A área tem espaços dependentes, não deve ter dependências para ser excluída. success: Área excluída com sucesso edit: title: Editar área @@ -193,6 +256,12 @@ pt: autocomplete: no_results: Nenhum resultado encontrado search_prompt: Digite, no mínimo, três caracteres para pesquisar + block_user: + new: + action: Bloquear conta e enviar justificativa + description: Bloquear um usuário irá tornar sua conta inutilizável, você pode fornecer em sua justificação e orientações sobre maneiras que achar que você consideraria desbloquear o usuário. + justification: Justificativa + title: Bloquear usuário %{name} categories: create: error: Ocorreu um erro ao criar esta categoria. @@ -214,6 +283,7 @@ pt: success: Categoria atualizada com sucesso. component_permissions: update: + error: Ocorreu um erro ao atualizar as permissões deste componente. success: Permissões atualizadas com sucesso. components: create: @@ -234,6 +304,7 @@ pt: headers: actions: Ações name: Nome do componente + scope: Escopo de componente type: Tipo de componente new: add: Adicionar componente @@ -246,22 +317,69 @@ pt: update: error: Ocorreu um erro ao atualizar este componente. success: O componente foi atualizado com sucesso. + conflicts: + attempts: Tentativas + 'false': 'Não' + managed_user_name: Usuário gerenciado + solved: Resolvido + title: Conflitos de verificações + transfer: + email: E-mail + error: Houve um erro ao transferir o usuário atual para o usuário gerenciado. + name: Nome + reason: Motivo + success: A transferência atual foi concluída com sucesso. + title: Transferência + 'true': 'Sim' + user_name: Usuário dashboard: show: view_more_logs: Ver mais registros welcome: Bem-vindo ao Decidim Admin Panel. exports: export_as: "%{name} como %{export_format}" + formats: + CSV: CSV + Excel: Excel + FormPDF: PDF + JSON: JSON notice: Sua exportação está atualmente em andamento. Você receberá um e-mail quando estiver completo. filters: category_id_eq: label: Categoria + filter_label: Filtro + moderations: + reportable_type_string_eq: + label: Tipo officialized_at_null: label: Situação values: 'false': Oficializado 'true': Não oficializado + private_space_eq: + label: Privado + values: + 'false': Público + 'true': Privado + published_at_null: + label: Publicado + values: + 'false': Publicado + 'true': Não publicado + scope_id_eq: + label: Escopo search_label: Buscar + search_placeholder: + name_or_nickname_or_email_cont: Pesquise %{collection} por e-mail, nome ou apelido. + reported_id_string_or_reported_content_cont: Pesquisar %{collection} por id ou conteúdo reportável. + title_cont: Pesquisar %{collection} por título. + state_eq: + label: Estado + forms: + file_help: + import: + explanation: 'Orientação para o arquivo:' + message_2: Para arquivos CSV, o separador entre colunas deve ser um ponto e vírgula (";") help_sections: error: Houve um erro ao atualizar as seções de ajuda form: @@ -300,6 +418,23 @@ pt: impersonate_existing_managed_user: Representar usuário gerenciado "%{name}" impersonate_existing_user: Representar usuário "%{name}" impersonate_new_managed_user: Representar novo usuário gerenciado + imports: + creators: + proposalcreator: Criação de propostas + error: Houve um problema durante a importação + help: + proposalcreator: O arquivo deve ter nomes de coluna título/en e corpo/en (ou outro idioma que você preferir. title/ca e corpo/ca). Também são suportadas colunas de escopo/id e categoria/id. + import_from_file: Importar de um arquivo + invalid_lines: Erro encontrado no número de recursos %{invalid_lines} + new: + accepted_mime_types: + csv: csv + json: json + actions: + back: Voltar + file_legend: Adicionar um arquivo de importação que será analisado. + import: Importar + notice: "%{number} %{resource_name} importado com sucesso" logs: logs_list: no_logs_yet: Ainda não há registros @@ -323,14 +458,19 @@ pt: help_sections: Seções de ajuda homepage: Pagina inicial impersonations: Imitações + moderation: Moderadores globais newsletters: Newsletters participants: Participantes + reported_users: Usuários Reportados scope_types: Tipos de âmbito scopes: Âmbitos settings: Configurações static_pages: Páginas user_groups: Grupos de usuários users: Usuários + metrics: + metrics: + see_more_metrics: Ver mais métricas models: area: fields: @@ -364,6 +504,7 @@ pt: created_at: Criado em progress: Andamento sent_at: Enviado em + sent_to: Enviado para subject: Sujeito name: Newsletter participatory_space_private_user: @@ -376,6 +517,14 @@ pt: fields: name: Nome plural: Plural + share_token: + fields: + created_at: Criado em + expires_at: Expira em + last_used_at: Última uso + times_used: Tempo Usado + token: Token + user: Criado por static_page: fields: created_at: Criado em @@ -400,6 +549,26 @@ pt: phone: Telefone state: Situação users_count: Total de usuários + moderated_users: + index: + actions: + block: Bloquear usuário + title: Ações + unblock: Desbloquear usuário + unreport: Anular denúncia + name: Nome + nickname: Apelido + reason: Motivo + reports: Número de denúncias + title: Listando usuários reportados + report: + reasons: + does_not_belong: Não pertence + offensive: Ofensivo + spam: Spam + tabs: + blocked: Bloqueado + unblocked: Não bloqueado moderations: index: title: Moderação @@ -408,9 +577,29 @@ pt: does_not_belong: Não pertence offensive: Ofensivo spam: Spam + reports: + index: + author: Autor(es) + callout_html: Um conteúdo aparece no painel de moderação quando foi sinalizado por um usuário (pode ser uma conta registrada) clicando na bandeira %{icon} ao lado do item. + content_original_language: Idioma original do conteúdo + participatory_space: Espaço participativo + reported_content: Conteúdo denunciado + see_current: Ver atual + see_original: Ver original + title: Relatórios de moderação + show: + report_details: Detalhes da razão + report_language: Reportar idioma + report_reason: Motivo + title: Detalhes da denúncia newsletter_templates: index: preview_template: Pré-visualização + title: Modelos de Newsletter + use_template: Utilizar este modelo + show: + preview: 'Pré-visualização de modelo: %{template_name}' + use_template: Utilizar este modelo newsletters: create: error: Ocorreu um erro ao criar este boletim informativo. @@ -425,21 +614,52 @@ pt: save_and_preview: Salvar e visualizar title: Editar boletim index: + all: todos + all_users: 'Todos usuários ' + and: 'e ' confirm_delete: Deseja mesmo excluir esta newsletter? + followers: 'seguidores ' + has_been_sent_to: 'Foi enviado para: ' + no_scopes: Nenhum escopo + not_sent: Não enviado + participants: 'participantes ' + segmented_to: 'Segmentado para %{subject}: ' + subscribed_count: 'Inscrever-se:' title: Newsletters new: save: Salvar title: Novo boletim informativo select_recipients_to_deliver: + all_spaces: Todos + all_users_help: Enviar newsletter para todos os usuários confirmados. confirm_deliver: Deseja mesmo enviar este boletim informativo? Essa ação não pode ser desfeita. deliver: Entregar boletim informativo + followers_help: Enviar newsletter para todos os usuários confirmados que seguem quaisquer espaços participativos selecionados na lista. + none: Nenhum + participants_help: Enviar newsletter para todos os usuários confirmados que participaram de qualquer um dos espaços participativos selecionados na lista. + recipients_count: Esta newsletter será enviada para %{count} usuários. + scopes_help: Enviar newsletter para os usuários que tenham qualquer um dos escopos selecionados nas configurações "Meus Interesses" de sua conta. + select_scopes: Filtrar por usuários que ativaram qualquer escopo selecionado nas configurações de meus interesses em sua conta. + select_spaces: Selecionar espaços para segmentar a newsletter + select_users: Selecione quais usuários você deseja enviar a newsletter + send_to_all_users: Enviar para todos os usuários + send_to_followers: Enviar para seguidores + send_to_participants: Enviar para participantes + title: Selecionar destinatários para entregar + warning: "Atenção: Esta newsletter será enviada apenas para usuários que ativaram quero receber newsletters nas configurações de notificação." + send: + no_recipients: Nenhum destinatário para esta seleção show: preview: Pré-visualização + select_recipients_to_deliver: Selecionar destinatários para entregar subject: Sujeito update: error: Ocorreu um erro ao atualizar este boletim informativo. success: Newsletter atualizada com sucesso. Por favor, reveja-o antes de enviar. officializations: + block: + error: Houve um erro ao bloquear o usuário + success: Usuário bloqueado com sucesso create: success: Usuário oficializado com sucesso destroy: @@ -447,6 +667,7 @@ pt: index: actions: Ações badge: Badge + block: Bloquear usuário created_at: Criado em name: Nome nickname: Apelido @@ -454,12 +675,26 @@ pt: officialize: Oficialize officialized: Oficializado reofficialize: Reorientar + reports: Denúncias + show_email: Mostrar endereço de e-mail status: Status + unblock: Desbloquear Usuário unofficialize: Não oficializar new: badge: Emblema de oficialização officialize: Oficialize title: Oficializar o usuário "%{name}" + show_email_modal: + close_modal: Fechar Modal + description: Se você precisar entrar em contato com um participante diretamente você pode clicar no botão Mostrar para ver o endereço de e-mail. Esta ação será registrada. + email_address: Endereço de E-mail + full_name: Nome completo + hidden: oculto + show: Mostrar + title: Mostrar endereço de e-mail do participante + unblock: + error: Ocorreu um erro ao desbloquear o participante + success: Usuário desbloqueado com sucesso organization: edit: title: Editar organização @@ -468,8 +703,10 @@ pt: facebook: Facebook github: GitHub instagram: Instagram + rich_text_editor_in_public_views_help: Em algumas áreas de texto, os participantes poderão inserir algumas tags HTML usando o editor de texto rico. social_handlers: Social twitter: Twitter + url: URL youtube: YouTube update: error: Ocorreu um erro ao atualizar essa organização. @@ -487,6 +724,7 @@ pt: homepage_highlighted_content_banner_title: Banner de conteúdo elevado images: layout_appearance_title: Editar aparência do layout + preview: Pré-visualização omnipresent_banner_appearance_title: Editar banner onipresente organization_homepage: edit: @@ -503,16 +741,29 @@ pt: error: Houve um erro ao excluir um usuário particular desse espaço participativo. success: Espaço participativo acesso de usuário privado excluído com sucesso. index: + import_via_csv: Importar via CSV title: Espaço participativo usuário particular new: create: Criar title: Novo usuário particular do Espaço Participativo. + participatory_space_private_users_csv_imports: + create: + invalid: Ocorreu um erro ao ler o arquivo CSV. + success: Arquivo CSV enviado com sucesso, estamos enviando um e-mail de convite para os participantes. Isso pode demorar um pouco. + new: + explanation: 'Envie seu arquivo CSV. Deve ter duas colunas com e-mail na primeira coluna do arquivo e nome na última coluna do arquivo (email, nome) dos usuários que você deseja adicionar ao espaço participativo, sem cabeçalhos. Evite usar caracteres inválidos como `<>?%&^*#@()[]=+:;"{}\├` no nome de usuário.' + title: Envie seu arquivo CSV + upload: Upload resource_permissions: edit: submit: Enviar title: Editar permissões update: success: Permissões atualizadas com sucesso. + resources: + index: + headers: + scope: Escopo scope_types: create: error: Ocorreu um erro ao criar um novo tipo de âmbito. @@ -544,6 +795,23 @@ pt: update: error: Ocorreu um erro ao atualizar este âmbito. success: Âmbito atualizado com sucesso + share_tokens: + actions: + confirm_destroy: Você tem certeza que quer excluir este token? + destroy: Excluir + share: Compartilhar + destroy: + error: Houve um problema ao destruir o token. + success: Token excluído com sucesso. + share_tokens: + empty: Não há tokens ativos + help: Esses tokens são usados para compartilhar publicamente esse recurso não publicado para qualquer usuário. Eles estarão ocultos quando o recurso estiver publicado. Clique no ícone de compartilhamento do token para visitar a URL compartilhável. + title: Compartilhar tokens + shared: + gallery: + add_images: Adicione imagens + delete_image: Excluir Imagem + gallery_legend: Adicionar uma galeria de imagens (Opcional) static_page_topics: create: error: Ocorreu um erro ao criar um novo tópico. @@ -573,6 +841,7 @@ pt: update: Atualizar form: none: Nenhum + slug_help: 'Use caminhos parciais, não URLs completos aqui. Aceita letras, números, traços e barras, e deve começar com uma letra. Se não estiver definido, o botão não será mostrado. Exemplo: %{url}' index: last_notable_change: Última alteração notável new: @@ -594,10 +863,13 @@ pt: dashboard: painel de controle impersonatable_users: Usuários gerenciáveis impersonations: Gerenciamento de usuários + metrics: Métricas + panel: Administrador participants: Comercial scope_types: Tipos de âmbito scopes: Âmbitos static_pages: Páginas + statistics: Atividade user_groups: Grupos de usuários users: Usuários user_group: @@ -646,14 +918,29 @@ pt: users_statistics: users_count: admins: Admins + last_day: Último dia + last_month: Último mês + last_week: Última semana + no_users_count_statistics_yet: Ainda não há nenhuma estatística de usuários participants: Participantes view_public_page: Ver página pública forms: errors: impersonate_user: reason: Você precisa fornecer um motivo ao representar um usuário não gerenciado + metrics: + blocked_users: + object: usuários bloqueados + title: Usuários bloqueados + reported_users: + object: usuários reportados + title: Usuários reportados + user_reports: + object: reports do usuário + title: Reports do usuário moderations: actions: + expand: Expandir hidden: Oculto hide: Ocultar not_hidden: Não oculto @@ -674,17 +961,28 @@ pt: models: moderation: fields: + created_at: Data de criação hidden_at: Escondido em + participatory_space: Espaço participativo report_count: Contagem + reportable_id: Id + reportable_type: Tipo reported_content_url: URL de conteúdo relatado reports: Denúncias visit_url: URL de visita + report: + fields: + details: Detalhes da razão + locale: Linguagem + reason: Motivo errors: messages: invalid_json: JSON inválido layouts: decidim: admin: + global_moderations: + title: Moderações globais newsletters: title: Boletins informativos settings: diff --git a/decidim-assemblies/config/locales/it.yml b/decidim-assemblies/config/locales/it.yml index 16dde27f5e145..be7d9ab183e88 100644 --- a/decidim-assemblies/config/locales/it.yml +++ b/decidim-assemblies/config/locales/it.yml @@ -219,7 +219,7 @@ it: name: Membro positions: other: Altro - president: Presidente + president: Presidente/Presidentessa secretary: Segretario vice_president: Vicepresidente assembly_user_role: diff --git a/decidim-assemblies/config/locales/pt-BR.yml b/decidim-assemblies/config/locales/pt-BR.yml index 2c56bac7cbff9..8ddc3388dcd2a 100644 --- a/decidim-assemblies/config/locales/pt-BR.yml +++ b/decidim-assemblies/config/locales/pt-BR.yml @@ -1,6 +1,8 @@ pt: activemodel: attributes: + assemblies_setting: + enable_organization_chart: Habilitar gráfico de organização assembly: area_id: Área assembly_type: Tipo de assembleia @@ -50,6 +52,7 @@ pt: target: Quem participa title: Título twitter: Twitter + weight: Peso youtube: YouTube assembly_member: birthday: Aniversário @@ -64,6 +67,12 @@ pt: email: E-mail name: Nome role: Cargo + errors: + models: + assembly: + attributes: + document: + invalid_document_type: 'Tipo de documento inválido. Formatos aceitos são: %{valid_mime_types}' activerecord: models: decidim/assembly: @@ -78,7 +87,9 @@ pt: decidim: admin: actions: + import_assembly: Importar new_assembly: Nova assembleia + new_assembly_type: Novo tipo de assembleia assemblies: create: error: Ocorreu um erro ao criar uma nova assembleia. @@ -100,14 +111,35 @@ pt: create: error: Ocorreu um erro ao duplicar esta assembleia. success: Assembleia duplicada com sucesso. + assemblies_settings: + update: + error: Houve um problema ao atualizar as configurações. + success: Configurações atualizadas com sucesso. assemblies_types: + create: + error: Ocorreu um erro ao criar um novo tipo de assembleia. + success: Tipo de assembleia criado com sucesso. + destroy: + success: Tipo de assembleia excluído com sucesso. new: create: Criar + title: Novo tipo de assembleia + update: + error: Ocorreu um erro ao atualizar este tipo de assembleia. + success: Tipo de assembleia atualizado com sucesso. assembly_copies: new: copy: Cópia select: Selecione os dados que você gostaria de duplicar title: Duplicar assembleia + assembly_imports: + create: + error: Ocorreu um erro ao importar esta assembleia. + success: Assembleia importada com sucesso. + new: + import: Importar + select: Selecione quais dados você gostaria de importar + title: Importar assembleia assembly_members: create: error: Ocorreu um erro ao adicionar um membro para esta assembleia. @@ -151,6 +183,7 @@ pt: success: Usuário atualizado com sucesso para esta montagem. menu: assemblies: Assembleias + assemblies_settings: Configurações assemblies_submenu: assembly_admins: Usuários da assembleia assembly_members: Membros @@ -162,6 +195,7 @@ pt: info: Informações moderations: Moderação private_users: Usuários particulares + assemblies_types: Tipos de assembleia models: assemblies_types: fields: @@ -197,8 +231,10 @@ pt: admin: Administrador collaborator: Colaborador moderator: Moderador + valuator: Avaliador titles: assemblies: Assembleias + assemblies_types: Tipos de assembleia admin_log: assembly: create: "%{user_name} criou o conjunto %{resource_name}" @@ -209,6 +245,14 @@ pt: create: "%{user_name} criou o membro %{resource_name} na montagem %{space_name}" delete: "%{user_name} removeu o membro %{resource_name} do conjunto %{space_name}" update: "%{user_name} atualizou o %{resource_name} membro na montagem %{space_name}" + assembly_setting: + update: "%{user_name} atualizou as configurações da assembleia" + assembly_type: + create: "%{user_name} criou o tipo de assembleia %{resource_name}" + delete: "%{user_name} removeu o tipo de assembleia %{resource_name}" + publish: "%{user_name} publicou o tipo de assembleia %{resource_name}" + unpublish: "%{user_name} despublicou o tipo de assembleia %{resource_name}" + update: "%{user_name} atualizou o tipo de assembleia %{resource_name}" assembly_user_role: create: "%{user_name} convidou %{resource_name} para o assembly %{space_name}" delete: "%{user_name} removeu o usuário %{resource_name} do conjunto %{space_name}" @@ -232,12 +276,21 @@ pt: social_handlers: Social title: Informação geral visbility: Visibilidade + assemblies_settings: + edit: + update: Atualizar + form: + title: Configurações para assembleias assemblies_types: form: title: Título assembly_copies: form: slug_help: 'Os slugs de URL são usados ​​para gerar os URLs que apontam para essa assembleia. Apenas aceita letras, números e traços, e deve começar com uma carta. Exemplo: %{url}' + assembly_imports: + form: + document_legend: Adicionar um documento + slug_help: 'Os slugs de URL são usados para gerar os URLs que apontam para este assembleia. Aceita apenas letras, números e traços, e deve começar com uma letra. Exemplo: %{url}' assembly_members: form: existing_user: Usuário existente @@ -255,6 +308,9 @@ pt: content_blocks: highlighted_assemblies: max_results: Quantidade máxima de elementos para mostrar + new_import: + accepted_types: + json: JSON assembly_members: index: members: Membros @@ -274,6 +330,7 @@ pt: others: Outras public: Público filter: + all: Todos os tipos commission: Comissão consultative_advisory: Consultivo / Consultivo executive: Executivo @@ -290,6 +347,7 @@ pt: home: highlighted_assemblies: active_assemblies: Conjuntos ativos + assemblies_button_title: Link para a página de Assembleias exibindo todos as assembleias see_all_assemblies: Veja todas as assembleias user_profile: member_of: @@ -320,6 +378,7 @@ pt: related_participatory_processes: Processos participativos relacionados scope: Âmbito social_networks: Redes sociais + social_networks_title: Compartilhar esta assembleia em target: Quem pode participar statistics: answers_count: Respostas @@ -327,10 +386,14 @@ pt: comments_count: Comentários debates_count: Debates endorsements_count: Endossos + followers_count: Seguidores + headline: Estatísticas meetings_count: Reuniões + no_stats: Ainda não há estatísticas. orders_count: Votos pages_count: Páginas participants_count: Participantes + processes_count: Processos projects_count: Projetos proposals_count: Propostas results_count: Resultados @@ -343,6 +406,19 @@ pt: designated_on: Designado em index: title: Membros + events: + assemblies: + create_assembly_member: + email_intro: Um administrador da assembleia%{resource_name} adicionou você como um de seus membros. + email_outro: Você recebeu esta notificação porque foi convidado para um assembleia. Verifique a página de assembleia para contribuir! + email_subject: Você foi convidado para ser um membro da assembleia %{resource_name}! + notification_title: Você foi registrado como um membro da Assembleia %{resource_name}. Verifique a página do assembleia para contribuir! + assembly: + role_assigned: + email_intro: Você foi atribuído como %{role} para assembleia "%{resource_title}". + email_outro: Você recebeu esta notificação porque você é %{role} da assembleia "%{resource_title}". + email_subject: Você foi designado como %{role} para "%{resource_title}". + notification_title: Você foi atribuído como %{role} para assembleia %{resource_title}. help: participatory_spaces: assemblies: @@ -353,6 +429,8 @@ pt: value_types: assembly_presenter: not_found: 'O assembly não foi encontrado no banco de dados (ID: %{id})' + assembly_type_presenter: + not_found: 'O tipo de assembleia não foi encontrado no banco de dados (ID: %{id})' menu: assemblies: Assembleias metrics: @@ -360,6 +438,13 @@ pt: description: Número de montagens criadas object: assembleias title: Assembleias + pages: + home: + sub_hero: + register_title: Cadastre-se para criar uma conta + participatory_processes: + show: + related_assemblies: Assembleias Relacionadas errors: messages: cannot_be_blank: nao pode estar em branco @@ -370,6 +455,7 @@ pt: more_info: Mais informações take_part: Participar index: + children: 'Assembleias: ' organizational_chart: Organograma promoted_assemblies: Montagens destacadas reset_chart: Restabelecer diff --git a/decidim-blogs/config/locales/pt-BR.yml b/decidim-blogs/config/locales/pt-BR.yml index 548cebcdd2603..531c1d6ba0ae1 100644 --- a/decidim-blogs/config/locales/pt-BR.yml +++ b/decidim-blogs/config/locales/pt-BR.yml @@ -1,7 +1,7 @@ pt: activemodel: models: - decidim/blogs/create_post_event: Novo post de blog + decidim/blogs/create_post_event: Nova postagem no blog activerecord: models: decidim/blogs/post: @@ -29,6 +29,7 @@ pt: success: Postagem excluída com sucesso edit: save: Atualizar + title: Editar publicação index: title: Postagens new: @@ -48,6 +49,8 @@ pt: title: título posts: show: + back: Voltar para a lista + comments: Comentários view: Visualizar sidebar_blog: comments: comentários @@ -60,9 +63,12 @@ pt: global: announcement: Anúncio comments_enabled: Comentários ativados + comments_max_length: Tamanho máximo de comentários (deixe 0 para o valor padrão) step: announcement: Anúncio comments_blocked: Comentários bloqueados + endorsements_blocked: Endossos bloqueados + endorsements_enabled: Endossos ativados events: blogs: post_created: diff --git a/decidim-budgets/config/locales/pt-BR.yml b/decidim-budgets/config/locales/pt-BR.yml index 995667c02181b..657357d48a8cd 100644 --- a/decidim-budgets/config/locales/pt-BR.yml +++ b/decidim-budgets/config/locales/pt-BR.yml @@ -1,11 +1,18 @@ pt: activemodel: attributes: + budget: + decidim_scope_id: Escopo + description: Descrição + title: Título + total_budget: Orçamento total project: + budget_amount: Valor do orçamento decidim_category_id: Categoria decidim_scope_id: Âmbito description: Descrição proposal_ids: Propostas relacionadas + selected: Selecionado para implementação title: Título activerecord: models: @@ -20,11 +27,39 @@ pt: confirm_destroy: Deseja mesmo excluir este projeto? destroy: Excluir edit: Editar + edit_projects: Gerenciar projetos import: Importar propostas para os projetos + new: Novo %{name} preview: Pré-visualização title: Ações admin: + budgets: + create: + invalid: Houve um problema ao criar este orçamento + success: Orçamento criado com sucesso + destroy: + invalid: Ocorreu um erro ao excluir este orçamento + success: Orçamento excluído com sucesso + edit: + title: Editar orçamento + update: Atualizar orçamento + index: + finished_orders: Votos finalizados + pending_orders: Votos pendentes + title: Orçamentos + users_with_finished_orders: Usuários com votos finalizados + users_with_pending_orders: Usuários com votos pendentes + new: + create: Criar orçamento + title: Novo orçamento + update: + invalid: Houve um erro ao atualizar este orçamento + success: Orçamento atualizado com sucesso + exports: + projects: Projetos models: + budget: + name: Orçamento project: name: Projeto projects: @@ -39,6 +74,7 @@ pt: index: finished_orders: Votos finais pending_orders: Votações pendentes + selected: Selecionado title: Projetos new: create: Criar @@ -54,26 +90,67 @@ pt: create: Importar propostas para projetos no_components: Não há outros componentes da proposta neste espaço participativo para importar as propostas para projetos. select_component: Selecione um componente + title: Importar propostas admin_log: + budget: + create: "%{user_name} criou o orçamento %{resource_name} no espaço %{space_name}" + delete: "%{user_name} excluiu o orçamento %{resource_name} no espaço %{space_name}" + update: "%{user_name} atualizou o orçamento %{resource_name} no espaço %{space_name}" project: create: "%{user_name} criou o projeto %{resource_name} no espaço %{space_name}" delete: "%{user_name} excluiu o projeto %{resource_name} no espaço %{space_name}" update: "%{user_name} atualizou o projeto %{resource_name} no espaço %{space_name}" + budget: + view: Ver todos os projetos orçamentais + budget_information_modal: + back_to: Voltar para %{component_name} + close_modal: Fechar modal + continue: Continuar + more_information: Mais informação + budgets_list: + cancel_order: + more_than_one: exclua seu voto em %{name} e comece de novo + only_one: exclua seu voto e comece novamente. + finished_message: Você terminou o processo de votação. Obrigado por participar! + highlighted_cta: Votar em %{name} + if_change_opinion: Se você mudou de ideia, você pode + my_budgets: Meus orçamentos + voted_on: Você votou em %{links} + limit_announcement: + cant_vote: Você não pode votar neste orçamento. Tente outro orçamento. + limit_reached: Você tem votos ativos em %{links}. Para votar neste orçamento você deve excluir seu voto e começar do zero. models: + budget: + fields: + name: Nome + projects_count: Contagem de projetos + total_budget: Orçamento total project: fields: title: Título + order_summary_mailer: + order_summary: + selected_projects: 'Os projetos que você selecionou são:' + subject: Você votou no espaço participativo %{space_name} + voted_on_space: Você votou no orçamento %{budget_name} para o espaço participativo %{space_name}. + voted_on_space_with_scope: Você votou no orçamento %{budget_name} para o espaço participativo %{space_name} em %{scope_name} (%{scope_type}). projects: budget_confirm: + are_you_sure: Se mudar de ideia, você pode mudar de voto mais tarde. cancel: Cancelar confirm: confirme description: Estes são os projetos que você escolheu para fazer parte do orçamento. title: Confirmar votação budget_excess: budget_excess: + description: Este projeto excede o orçamento máximo e não pode ser adicionado. Se você quiser, você pode excluir um projeto que você já selecionou para adicionar ou fazer seu voto de acordo com suas preferências. title: O orçamento máximo excedeu close: Fechar + description: Este projeto excede o orçamento máximo e não pode ser adicionado. Se você quiser, você pode excluir um projeto que você já selecionou para adicionar ou fazer seu voto de acordo com suas preferências. ok: OK + projects_excess: + description: Este projeto excede o número máximo de projetos e não pode ser adicionado. Se você quiser, você pode excluir um projeto que você já selecionou para adicionar ou fazer seu voto de acordo com suas preferências. + title: Máximo de projetos excedido budget_summary: are_you_sure: Deseja mesmo cancelar o seu voto? assigned: 'Atribuído:' @@ -81,7 +158,23 @@ pt: checked_out: description: Você já votou no orçamento. Se você mudou de idéia, você pode %{cancel_link}. title: Votação do orçamento concluída + minimum_projects_rule: + description: Em que projetos julga que devemos alocar o orçamento? Selecione pelo menos %{minimum_number} projeto que você deseja e vote de acordo com suas preferências para definir o orçamento. + instruction: "
  • Selecione pelo menos %{minimum_number} projetos que você deseja e vote de acordo com suas preferências para definir o orçamento.
  • " + projects_rule: + description: Em que projetos julga que devemos alocar o orçamento? Selecione pelo menos %{minimum_number} e até %{maximum_number} projetos que você deseja e vote de acordo com suas preferências para definir o orçamento. + instruction: "
  • Selecione pelo menos %{minimum_number} e até %{maximum_number} projetos que você deseja e vote de acordo com suas preferências para definir o orçamento.
  • " + projects_rule_maximum_only: + description: Em que projetos julga que devemos alocar o orçamento? Selecione até %{maximum_number} projetos que você deseja e vote de acordo com suas preferências para definir o orçamento. + instruction: "
  • Selecione até %{maximum_number} projetos que você desejar e vote de acordo com suas preferências para definir o orçamento.
  • " + rules: + title: Regras do orçamento title: Você decide o orçamento + total_budget: Orçamento total + total_projects: Total de votos + vote_threshold_percent_rule: + description: Em que projetos julga que devemos alocar o orçamento? Atribua pelo menos %{minimum_budget} aos projetos que você deseja e vote de acordo com suas preferências para definir o orçamento. + instruction: "
  • Atribua pelo menos %{minimum_budget} aos projetos que você deseja e vote de acordo com suas preferências para definir o orçamento.
  • " count: projects_count: one: 1 projeto @@ -90,6 +183,11 @@ pt: category: Categoria scope: Âmbito search: Pesquisa + status: Status + status_values: + all: Todos + not_selected: Não selecionado + selected: Selecionado filters_small_view: close_modal: Fechar modal filter: Filtro @@ -103,8 +201,28 @@ pt: one: projeto selecionado other: projetos selecionados view: Visão + orders: + highest_cost: Custo mais alto + label: Ordenar projetos por + lowest_cost: Custo mais baixo + most_voted: Mais votado + random: Ordem aleatória + selected: Selecionado project: + add: Adicione o projeto %{resource_name} ao seu voto + remove: Remover projeto %{resource_name} do seu voto + selected: Selecionado view: Ver + votes: + one: voto + other: votos + you_voted: Você votou nisto + project_budget_button: + add: Adicione ao seu voto + add_descriptive: Adicione o projeto %{resource_name} ao seu voto + added: Adicionado ao seu voto + added_descriptive: Projeto %{resource_name} adicionado ao seu voto + projects_for: Projetos para %{name} show: budget: Orçamento view_all_projects: Ver todos os projetos @@ -117,15 +235,51 @@ pt: global: announcement: Anúncio comments_enabled: Comentários ativados + comments_max_length: Tamanho máximo de comentários (deixe 0 para o valor padrão) + form: + errors: + budget_voting_rule_only_one: Apenas uma regra de votação deve estar habilitada + budget_voting_rule_required: Uma regra de votação é necessária + landing_page_content: Página inicial dos orçamentos + more_information_modal: Modal de mais informação projects_per_page: Projetos por página + resources_permissions_enabled: Permissões de ações podem ser definidas para cada projeto + scope_id: Escopo + scopes_enabled: Escopos habilitados + title: Título total_budget: Orçamento total + vote_minimum_budget_projects_number: Número mínimo de projetos para votar + vote_rule_minimum_budget_projects_enabled: 'Habilitar regra: Número mínimo de projetos a serem votados em' + vote_rule_selected_projects_enabled: 'Habilitar regra: Projetos selecionados com o número mínimo e máximo de projetos a serem votados' + vote_rule_threshold_percent_enabled: 'Ativar regra: Porcentagem mínima do orçamento' + vote_selected_projects_maximum: Quantidade máxima de projetos a serem selecionados + vote_selected_projects_minimum: Quantidade mínima de projetos a serem selecionados vote_threshold_percent: Porcentagem do limiar de voto + workflow: Fluxo de Trabalho + workflow_choices: + all: 'Votar em todos: permite que os participantes votem em todos os orçamentos.' + one: 'Vote em um: permite que os participantes votem em qualquer orçamento, mas apenas em um.' step: announcement: Anúncio comments_blocked: Comentários bloqueados + highlighted_heading: Cabeçalho destacado + landing_page_content: Página inicial dos orçamentos + list_heading: Cabeçalho da lista + more_information_modal: Modal de mais informação show_votes: Mostrar votos + title: Título + votes: Votação votes_choices: + disabled: Votação desativada enabled: Votação habilitada + finished: Votação finalizada + events: + budgets: + budget_published: + email_intro: 'O orçamento %{resource_title} agora está ativo para %{participatory_space_title}. Você pode vê-lo a partir desta página:' + email_outro: Você recebeu esta notificação porque está seguindo %{participatory_space_title}. Você pode parar de receber notificações após o link anterior. + email_subject: O orçamento %{resource_title} agora está ativo para %{participatory_space_title}. + notification_title: O orçamento %{resource_title} agora está ativo para %{participatory_space_title}. orders: checkout: error: Ocorreu um erro ao processar seu voto diff --git a/decidim-comments/config/locales/nl.yml b/decidim-comments/config/locales/nl.yml index f7b644d25d0f2..4e8de5488e136 100644 --- a/decidim-comments/config/locales/nl.yml +++ b/decidim-comments/config/locales/nl.yml @@ -69,7 +69,7 @@ nl: comment_thread: title: Gesprek met %{authorName} comments: - blocked_comments_for_user_warning: U kunt op dit moment geen opmerkingen maken, maar u kunt de vorige wel lezen. + blocked_comments_for_user_warning: Je kunt op dit moment geen opmerkingen toevoegen, maar je kunt eerdere reacties wel lezen. blocked_comments_warning: Reacties zijn op dit moment uitgeschakeld, maar je kan de vorige berichten lezen. comment_details_title: Reactieonderdelen loading: Reacties laden... diff --git a/decidim-comments/config/locales/pt-BR.yml b/decidim-comments/config/locales/pt-BR.yml index 0b381b89d087a..dda84599796dd 100644 --- a/decidim-comments/config/locales/pt-BR.yml +++ b/decidim-comments/config/locales/pt-BR.yml @@ -16,8 +16,14 @@ pt: other: Votos decidim: comments: + comments: + create: + error: Houveram erros ao criar o comentário. + comments_count: Contagem de Comentários + comments_title: Comentários last_activity: new_comment_at_html: "Novo comentário em %{link}" + view: Visualizar votes: create: error: Houve erros ao votar o comentário. @@ -42,6 +48,7 @@ pt: against: Contra in_favor: A favor deleted_user: Usuário excluído + hide_replies: Ocultar respostas reply: Resposta report: action: Relatório @@ -53,6 +60,9 @@ pt: does_not_belong: Contém atividades ilegais, ameaças suicidas, informações pessoais ou qualquer outra coisa que você acha que não pertence ao %{organization_name}. offensive: Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer tipo de discurso de ódio. spam: Contém clickbait, publicidade, fraudes ou script bots. + title: Reportar conteúdo impróprio + show_replies: Mostrar %{replies_count} respostas + single_comment_link_title: Obter link para um único comentário comment_order_selector: order: best_rated: Melhores avaliações @@ -65,7 +75,17 @@ pt: comments: blocked_comments_for_user_warning: Você não pode comentar neste momento, mas pode ler os anteriores. blocked_comments_warning: Os comentários estão desativados neste momento, mas você pode ler os anteriores. + comment_details_title: Detalhes do comentário loading: Carregando comentários ... + single_comment_warning: Você pode verificar o resto dos comentários aqui. + single_comment_warning_title: Você está vendo um único comentário + title: + one: "%{count} comentário" + other: "%{count} comentários" + down_vote_button: + text: Eu discordo deste comentário + up_vote_button: + text: Eu concordo com este comentário events: comments: comment_by_followed_user: @@ -74,6 +94,8 @@ pt: email_subject: Há um novo comentário por %{author_name} em %{resource_title} notification_title: Há um novo comentário por %{author_name} %{author_nickname} em %{resource_title}. comment_by_followed_user_group: + email_intro: 'O grupo %{author_name} deixou um comentário em %{resource_title}. Você pode lê-lo nesta página:' + email_outro: Você recebeu esta notificação porque está seguindo %{author_name}. Você pode deixar de seguir este grupo em sua página de perfil. email_subject: Há um novo comentário por %{author_name} em %{resource_title} notification_title: Há um novo comentário por %{author_name} %{author_nickname} em %{resource_title}. comment_created: @@ -81,11 +103,26 @@ pt: email_outro: Você recebeu esta notificação porque você está seguindo "%{resource_title}" ou seu autor. Você pode ignorá-lo do link anterior. email_subject: Há um novo comentário de %{author_name} em %{resource_title} notification_title: Há um novo comentário de %{author_name} %{author_nickname} em %{resource_title} + comment_downvoted: + email_intro: Seu comentário em%{resource_title}" foi negado. Agora tem um total de %{upvotes} votos positivos e %{downvotes} votos negativos. + email_outro: Você recebeu esta notificação porque é o autor deste comentário. + email_subject: Seu comentário em "%{resource_title}" foi negativado. + notification_title: Seu comentário em%{resource_title}" foi negativado. Agora tem um total de %{upvotes} votos positivos e %{downvotes} votos negativos. + comment_upvoted: + email_intro: Seu comentário em%{resource_title}" foi votado favoravelmente. Agora tem um total de %{upvotes} votos positivos e %{downvotes} votos negativos. + email_outro: Você recebeu esta notificação porque é o autor deste comentário. + email_subject: Seu comentário em "%{resource_title}" foi votado positivamente. + notification_title: Seu comentário em%{resource_title}" foi votado favoravelmente. Agora tem um total de %{upvotes} votos positivos e %{downvotes} votos negativos. reply_created: email_intro: "%{author_name} respondeu seu comentário em %{resource_title}. Você pode lê-lo nesta página:" email_outro: Você recebeu esta notificação porque o seu comentário foi respondido. email_subject: "%{author_name} respondeu seu comentário em %{resource_title}" notification_title: %{author_name} %{author_nickname} respondeu seu comentário em %{resource_title} + user_group_mentioned: + email_intro: Foi mencionado um grupo ao qual você pertence + email_outro: Você recebeu esta notificação porque é membro do grupo %{group_name} que foi mencionado em %{resource_title}. + email_subject: Você foi mencionado em %{resource_title} como membro de %{group_name} + notification_title: Você foi mencionado em %{resource_title} por %{author_name} %{author_nickname} como um membro de %{group_name} %{group_nickname} user_mentioned: email_intro: Você foi mencionado email_outro: Você recebeu esta notificação porque você foi mencionado em %{resource_title}. diff --git a/decidim-conferences/config/locales/pt-BR.yml b/decidim-conferences/config/locales/pt-BR.yml index 9f774f9dec0fb..82aafffdb7a32 100644 --- a/decidim-conferences/config/locales/pt-BR.yml +++ b/decidim-conferences/config/locales/pt-BR.yml @@ -3,6 +3,7 @@ pt: attributes: conference: assemblies_ids: Assembleias Relacionadas + available_slots: Vagas disponíveis banner_image: Imagem de banner consultations_ids: Consultas Relacionadas copy_categories: Copiar categorias @@ -10,26 +11,59 @@ pt: copy_features: Copiar recursos decidim_scope_id: Escopo description: Descrição + end_date: Data final hashtag: Palavras-chave hero_image: Imagem inicial + location: Localização + main_logo: Logo principal + objectives: Objetivos participatory_processes_ids: Processos participativos relacionados promoted: Promovido published_at: Publicado em + registration_terms: Termos de registro + registrations_enabled: Inscrições habilitadas scope_id: Escopo scopes_enabled: Escopos habilitados short_description: Pequena descrição show_statistics: Mostre estatisticas + sign_date: Data de assinatura + signature: Assinatura + signature_name: nome da assinatura slogan: Slogan slug: Lesma de URL + start_date: Data de início title: Título conference_media_link: + date: Data + link: Link + title: Título weight: Peso conference_partner: + link: Link + logo: Logo + name: Nome + partner_type: Tipo de parceiro weight: Peso + conference_registration_invite: + email: E-mail + name: Nome + registration_type_id: Tipo de Registro + user_id: Usuário conference_registration_type: + description: Descrição + price: Preço + title: Título weight: Peso conference_speaker: + affiliation: Afiliação + avatar: Avatar + conference_meeting_ids: Reuniões relacionadas full_name: Nome completo + personal_url: Url pessoal + position: Posição + short_bio: Pequena biografia + twitter_handle: Manipulador do Twitter + user_id: Usuário conference_user_role: email: O email name: Nome @@ -189,6 +223,7 @@ pt: admin: Administrador collaborator: Colaborador moderator: Moderador + valuator: Avaliador media_link: fields: date: Encontro @@ -271,6 +306,10 @@ pt: conferences: conference_registration: confirm: "%{user_name} confirmou o registro da conferência em %{resource_name} conferência" + partner: + create: "%{user_name} criou o parceiro %{resource_name} na conferência %{space_name}" + delete: "%{user_name} removeu o parceiro %{resource_name} da conferência de %{space_name}" + update: "%{user_name} atualizou o parceiro %{resource_name} na conferência %{space_name}" registration_type: create: "%{user_name} criou o tipo de registro %{resource_name} na conferência de %{space_name}" publish: "%{user_name} publicou o tipo de registro %{resource_name} na conferência %{space_name}" @@ -403,6 +442,7 @@ pt: personal_website: Site pessoal show: more_info: mais informações + speaking_at: Falando em conference_speaker_cell: personal_url: personal_website: Site pessoal @@ -463,6 +503,9 @@ pt: active_conferences: Conferências ativas see_all_conferences: Veja todas as conferências photo: + image: + attributes: + alt: Imagem da mídia show: close_modal: Fechar modal photo: Foto @@ -473,6 +516,7 @@ pt: index: choose_an_option: 'Escolha sua opção de registro:' login_as: Você está logado como %{name} <%{email}> + no_registrations: Sem inscrições register: registo title: Tipos de registro shared: @@ -526,11 +570,22 @@ pt: email_outro: Você recebeu esta notificação porque está seguindo a conferência "%{resource_title}". Você pode deixar de segui-lo no link anterior. email_subject: A conferência "%{resource_title}" habilitou os registros. notification_title: A conferência %{resource_title} permitiu registros. + role_assigned: + email_intro: Você foi designado como %{role} para conferência "%{resource_title}". + email_outro: Você recebeu esta notificação porque é %{role} da conferência "%{resource_title}". + email_subject: Você foi designado como %{role} para%{resource_title}". + notification_title: Você foi designado como %{role} para a conferência %{resource_title}. upcoming_conference: email_intro: 'A conferência "%{resource_title}" está ocorrendo em dois dias. Você pode ler a descrição de sua página:' email_outro: Você recebeu esta notificação porque está seguindo a conferência "%{resource_title}". Você pode deixar de segui-lo no link anterior. email_subject: A conferência "%{resource_title}" está chegando! notification_title: A conferência %{resource_title} está chegando em 2 dias. + help: + participatory_spaces: + conferences: + contextual: "

    Uma conferência é uma coleção de reuniões organizadas em um programa, com várias pessoas convidadas como palestrantes, e outros campos de informação típicos de grandes congressos ou eventos sociais (registro, lista de organizações que apoiam ou patrocinam o evento, etc.).

    Exemplos: Uma conferência pode ser um evento relevante para uma organização e seus membros, ou realiza como parte de um processo participativo ou segue uma consulta.

    \n" + page: "

    Uma conferência é uma coleção de reuniões organizadas em um programa, com várias pessoas convidadas como palestrantes, e outros campos de informação típicos de grandes congressos ou eventos sociais (registro, lista de organizações que apoiam ou patrocinam o evento, etc.).

    Exemplos: Uma conferência pode ser um evento relevante para uma organização e seus membros, ou realiza como parte de um processo participativo ou segue uma consulta.

    \n" + title: O que são conferências? log: value_types: conference_presenter: diff --git a/decidim-consultations/config/locales/pt-BR.yml b/decidim-consultations/config/locales/pt-BR.yml index 4ea147374dc44..a4422f31701f9 100644 --- a/decidim-consultations/config/locales/pt-BR.yml +++ b/decidim-consultations/config/locales/pt-BR.yml @@ -19,6 +19,9 @@ pt: hashtag: Hashtag hero_image: Imagem inicial i_frame_url: URL do sistema de votação externa + instructions: Instruções adicionais para votação + max_votes: Número máximo de votos + min_votes: Número mínimo de votos origin_scope: Âmbito origin_title: Origem origin_url: URL de origem @@ -31,11 +34,24 @@ pt: subtitle: Legenda vote: Sistema de voto externo what_is_decided: O que é decidido + response: + decidim_consultations_response_group_id: Grupo errors: + models: + question: + attributes: + max_votes: + lower_than_min: O número máximo de votos deve ser maior ou igual ao mínimo. vote: decidim_consultations_response_id: not_found: Resposta não encontrada. activerecord: + errors: + models: + decidim/consultations/vote: + attributes: + question: + invalid_num_votes: Número de votos é inválido models: decidim/consultation: one: Consulta @@ -52,10 +68,13 @@ pt: decidim: admin: actions: + back_to_responses: Voltar para respostas new_consultation: Nova consulta new_question: Nova pergunta new_response: Nova resposta + new_response_group: Novo grupo publish_results: Publicar resultados + response_groups: Gerenciar grupos de resposta unpublish_results: Cancelar publicação dos resultados consultation_publications: create: @@ -75,6 +94,7 @@ pt: create: error: Ocorreu um erro ao criar uma nova consulta. success: Consulta criada com sucesso. + deprecation_warning: O módulo de consultas será obsoleto em breve. Estamos trabalhando na próxima versão criptográficamente segura chamada Votações. edit: update: Atualizar form: @@ -86,6 +106,10 @@ pt: new: create: Criar title: Nova consulta + results: + not_visible: Os resultados estarão disponíveis quando a consulta for fechada + participants: "%{count} participantes" + total_votes: 'Total: %{count} votos' update: error: Ocorreu um erro ao atualizar esta consulta. success: Consulta atualizada com sucesso. @@ -94,8 +118,10 @@ pt: consultations_submenu: info: Em formação questions: Questões + results: Resultados questions_submenu: components: Componentes + configuration: Configuração consultation: Consulta info: Em formação responses: Respostas @@ -119,10 +145,16 @@ pt: response: fields: created_at: Criado em + response_group: Grupo title: Título name: one: Resposta other: Respostas + question_configuration: + disable_external_voting: Por favor, desative a votação externa para configurações avançadas + form: + help: Configure várias escolhas e aumente o número máximo de respostas que um participante pode escolher. O valor máximo padrão é 1, o que significa que apenas uma resposta pode ser votada. + title: Configuração avançada question_publications: create: error: Ocorreu um erro ao publicar esta questão. @@ -149,6 +181,24 @@ pt: update: error: Ocorreu um erro ao atualizar esta questão. success: Pergunta atualizada com sucesso. + response_groups: + create: + error: Ocorreu um erro ao criar um novo grupo de resposta. + success: Grupo de resposta criado com sucesso. + destroy: + error: Houve um problema ao remover o grupo de resposta. Verifique se nenhuma resposta depende dele. + success: Grupo de respostas excluído com sucesso. + edit: + update: Atualização + form: + title: Informação geral + help: Use grupos para organizar várias escolhas de questões em pacotes. + new: + create: Criar + title: Novo grupo de resposta + update: + error: Houve um erro ao atualizar essa resposta. + success: Resposta atualizada com sucesso. responses: create: error: Ocorreu um erro ao criar uma nova resposta. @@ -169,7 +219,9 @@ pt: titles: consultations: Consultas questions: Questões + response_groups: Grupos de Respostas responses: Respostas + results: Resultados consultations: admin: content_blocks: @@ -185,6 +237,8 @@ pt: label: 'Ordenar consultas por:' random: Aleatório recent: Mais recente + show: + dates: Datas content_blocks: highlighted_consultations: name: Consultas destacadas @@ -226,9 +280,28 @@ pt: votes_out_of: one: votar fora other: votos de + question_multiple_votes: + results_rules: + minimum_votes_per_user: + description: Os participantes poderiam distribuir um mínimo de %{votes} votos entre diferentes opções. + title: Nesta questão múltipla escolha quando permitido + total_participants: Um total de %{count} pessoas participaram da votação. + vote_limit: + description: Os participantes podem votar até %{limit} opções. + voting_rules: + minimum_votes_per_user: + description: Você deve distribuir um mínimo de %{votes} votos entre diferentes opções. + title: 'Os votos estão sujeitos às seguintes regras:' + vote_limit: + description: Você pode votar até %{limit} opções. + left: Restantes + votes: Votações question_votes: create: error: Houve erros ao votar a questão + success: Pode alterá-lo até ao final da consulta. Apenas a última votação será aceita. + title_error: Erro ao votar! + title_success: Voto registrado com sucesso regular_questions: title: Perguntas para esta consulta show: @@ -246,6 +319,8 @@ pt: help: participatory_spaces: consultations: + contextual: "

    Uma consulta é um espaço que permite que você faça uma pergunta clara para todas as pessoas que formam uma organização, faça uma chamada para participar na consulta, incitar e ordenar o debate a favor ou contra uma resposta. Quando chegar a data da consulta, podem votar e publicar os resultados das votações.

    Exemplos: As consultas podem ser sobre quase qualquer aspecto que afete uma organização: alguns exemplos estão mudando o nome ou o logotipo da organização oferecendo várias alternativas, decidir Sim ou Não para fazer parte de uma organização maior, validar ou rejeitar um novo plano estratégico ou o resultado de um grupo de trabalho. ou definir se as posições devem permanecer um máximo de 1, 2 ou 3 mandatos.

    \n" + page: "

    Uma consulta é um espaço que permite que você faça uma pergunta clara para todas as pessoas que formam uma organização, faça uma chamada para participar na consulta, incitar e ordenar o debate a favor ou contra uma resposta. Quando chegar a data da consulta, podem votar e publicar os resultados das votações.

    Exemplos: As consultas podem ser sobre quase qualquer aspecto que afete uma organização: alguns exemplos estão mudando o nome ou o logotipo da organização oferecendo várias alternativas, decidir Sim ou Não para fazer parte de uma organização maior, validar ou rejeitar um novo plano estratégico ou o resultado de um grupo de trabalho. ou definir se as posições devem permanecer um máximo de 1, 2 ou 3 mandatos na organização.

    \n" title: O que são consultas? menu: consultations: Consultas @@ -254,6 +329,8 @@ pt: statistics: consultations_count: Consultas questions: + next_button: Próxima pergunta + previous_button: Pergunta anterior results: title: Resultados show: @@ -269,15 +346,22 @@ pt: already_voted: Já votei already_voted_hover: Revogar suporte starting_from: A partir de %{date} + verification_required: Verifique sua conta para votar vote: Voto vote_modal: + close_modal: Fechar modal contextual_help: Selecione uma opção. title: 'Consulta: suporte a perguntas' vote_modal_confirm: change: mudança + close_modal: Fechar modal confirm: confirme contextual_help: Por favor, confirme a opção selecionada. title: 'Consulta: confirme o suporte' + resources: + consultations: + actions: + vote: Votar layouts: decidim: admin: @@ -291,3 +375,4 @@ pt: unfold: Desdobrar question_header: back_to_consultation: Veja todas as consultas + back_to_question: Voltar à pergunta diff --git a/decidim-core/config/locales/ca.yml b/decidim-core/config/locales/ca.yml index c4d46035e52ab..9f8adf4f975c4 100644 --- a/decidim-core/config/locales/ca.yml +++ b/decidim-core/config/locales/ca.yml @@ -310,6 +310,8 @@ ca: authorize: Autoritzar amb "%{authorization}" explanation: Per dur a terme aquesta acció, has de disposar de l'autorització "%{authorization}". title: Es requereix autorització + ok: + title: Heu estat autoritzats mentre éreu en aquesta pàgina. Si us plau, recarregueu la pàgina per a realitzar la vostra acció pending: explanation: Per realitzar aquesta acció, has d'estar autoritzat/da amb "%{authorization}", però la teva autorització encara està en curs resume: Comprova el progrés de l'autorització "%{authorization}" diff --git a/decidim-core/config/locales/cs.yml b/decidim-core/config/locales/cs.yml index 3f0c5dfd46eaf..ea41c276d0ccb 100644 --- a/decidim-core/config/locales/cs.yml +++ b/decidim-core/config/locales/cs.yml @@ -327,6 +327,8 @@ cs: authorize: Autorizujte s "%{authorization}" explanation: Chcete-li provést tuto akci, musíte být autorizováni pomocí "%{authorization}". title: Je potřebná autorizace + ok: + title: Byli jste autorizováni, když jste na této stránce. Prosím obnovte stránku pro provedení vaší akce pending: explanation: Chcete-li provést tuto akci, musíte být autorizováni "%{authorization}", ale vaše oprávnění stále probíhá resume: Zkontrolujte autorizaci "%{authorization}" diff --git a/decidim-core/config/locales/fi.yml b/decidim-core/config/locales/fi.yml index 969179b093775..e6e55b37560d7 100644 --- a/decidim-core/config/locales/fi.yml +++ b/decidim-core/config/locales/fi.yml @@ -313,6 +313,8 @@ fi: authorize: Vahvista palvelulla "%{authorization}" explanation: Suorittaaksesi tämän toiminnon, sinun tulee vahvistaa tilisi palvelulla "%{authorization}". title: Vahvistus vaaditaan + ok: + title: Sinut on valtuutettu sen aikana, kun olet ollut tällä sivulla. Lataa sivu uudelleen suorittaaksesi toiminnon, jota yritit suorittaa. pending: explanation: Tämän toiminnon suorittamiseksi sinun vahvistettava käyttäjätilisi palvelulla "%{authorization}", mutta vahvistuksesi on edelleen kesken resume: Tarkista "%{authorization}" vahvistuksen eteneminen diff --git a/decidim-core/config/locales/fr-CA.yml b/decidim-core/config/locales/fr-CA.yml index f9cc93079c193..657f296188d84 100644 --- a/decidim-core/config/locales/fr-CA.yml +++ b/decidim-core/config/locales/fr-CA.yml @@ -313,6 +313,8 @@ fr-CA: authorize: Autoriser avec "%{authorization}" explanation: Pour effectuer cette action, vous devez être autorisé avec "%{authorization}". title: Autorisation requise + ok: + title: Vous avez été autorisé pendant que vous étiez sur cette page. Veuillez recharger la page pour effectuer votre action pending: explanation: Pour effectuer cette action, vous devez être autorisé avec "%{authorization}", mais votre autorisation est toujours en cours de validation. resume: Vérifiez votre progression d'autorisation "%{authorization}" diff --git a/decidim-core/config/locales/fr-LU.yml b/decidim-core/config/locales/fr-LU.yml index 7b07aa0d1b6c3..8ccc0d8b1541c 100644 --- a/decidim-core/config/locales/fr-LU.yml +++ b/decidim-core/config/locales/fr-LU.yml @@ -313,6 +313,8 @@ fr-LU: authorize: Autoriser avec "%{authorization}" explanation: Pour effectuer cette action, vous devez être autorisé avec "%{authorization}". title: Autorisation requise + ok: + title: Vous avez été autorisé pendant que vous étiez sur cette page. Veuillez recharger la page pour effectuer votre action pending: explanation: Pour effectuer cette action, vous devez être autorisé avec "%{authorization}", mais votre autorisation est toujours en cours de validation. resume: Vérifiez votre progression d'autorisation "%{authorization}" diff --git a/decidim-core/config/locales/fr.yml b/decidim-core/config/locales/fr.yml index e1c41ec82aedd..715135f94c16b 100644 --- a/decidim-core/config/locales/fr.yml +++ b/decidim-core/config/locales/fr.yml @@ -313,6 +313,8 @@ fr: authorize: Autoriser avec "%{authorization}" explanation: Pour effectuer cette action, vous devez être autorisé avec "%{authorization}". title: Autorisation requise + ok: + title: Vous avez été autorisé pendant que vous étiez sur cette page. Veuillez recharger la page pour effectuer votre action pending: explanation: Pour effectuer cette action, vous devez être autorisé avec "%{authorization}", mais votre autorisation est toujours en cours de validation. resume: Vérifiez votre progression d'autorisation "%{authorization}" diff --git a/decidim-core/config/locales/it.yml b/decidim-core/config/locales/it.yml index a13e67e0548fa..b0472fb8da8a8 100644 --- a/decidim-core/config/locales/it.yml +++ b/decidim-core/config/locales/it.yml @@ -313,6 +313,8 @@ it: authorize: Autorizzare con "%{authorization}" explanation: Per effettuare questa operazione devi disporre della autorizzazione "%{authorization}". title: Autorizzazione richiesta + ok: + title: Sei stato autorizzato durante la navigazione su questa pagina. Ricarica la pagina per eseguire la tua azione pending: explanation: Per eseguire questa azione, devi essere autorizzato con "%{authorization}", ma la tua autorizzazione è ancora in corso resume: Controlla il tuo avanzamento dell'autorizzazione "%{authorization}" diff --git a/decidim-core/config/locales/nl.yml b/decidim-core/config/locales/nl.yml index aee3c3edbc9c0..aaddb03116e9a 100644 --- a/decidim-core/config/locales/nl.yml +++ b/decidim-core/config/locales/nl.yml @@ -304,6 +304,8 @@ nl: authorize: Autoriseren met "%{authorization}" explanation: Om deze actie uit te voeren, moet u autoriseren met "%{authorization}". title: Autorisatie vereist + ok: + title: Je toegang is toegestaan terwijl je op deze pagina was. Herlaad de pagina om je actie uit te voeren pending: explanation: Als u deze actie wilt uitvoeren, moet u zijn gemachtigd met '%{authorization}', maar uw autorisatie is nog in uitvoering resume: Controleer de voortgang van uw autorisatie bij "%{authorization}" diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index 58fc5f157bcc1..739cbd7479c9d 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -429,7 +429,7 @@ pl: title: Ostatnia aktywność view_all: Pokaż wszystkie metrics: - name: Dane organizacji + name: Partycypacja w liczbach stats: name: Statystyki organizacji sub_hero: diff --git a/decidim-core/config/locales/pt-BR.yml b/decidim-core/config/locales/pt-BR.yml index 8f7897cc77c93..5bae784b74fe3 100644 --- a/decidim-core/config/locales/pt-BR.yml +++ b/decidim-core/config/locales/pt-BR.yml @@ -3,6 +3,16 @@ pt: attributes: account: delete_reason: Motivo para excluir sua conta + common: + created_at: Criado em + group: + about: Sobre + avatar: Avatar + document_number: Número do documento + email: E-mail + name: Nome + nickname: Nome de usuário + phone: Telefone report: details: Comentários adicionais user: @@ -25,6 +35,7 @@ pt: decidim/profile_updated_event: Perfil atualizado decidim/promote_to_admin: Promovido a administrador de grupo decidim/removed_from_group: Removido do grupo + decidim/resource_endorsed_event: Recurso endossado activerecord: attributes: decidim/user: @@ -38,6 +49,9 @@ pt: decidim/amendment: one: Emenda other: Emendas + decidim/endorsement: + one: Endosso + other: Endossos decidim/user: one: Nenhum usuário other: Comercial @@ -49,7 +63,9 @@ pt: 'true': 'Sim' carrierwave: errors: + general: Erro ao processar a imagem image_too_big: A imagem é muito grande + not_inside_organization: O arquivo não está anexado a nenhuma organização date: formats: decidim_short: "%d/%m/%Y" @@ -58,11 +74,17 @@ pt: decidim_with_month_name: "%d %B %Y" decidim_with_month_name_short: "%d %b" decidim: + accessibility: + external_link: Link externo + logo: "Logotipo oficial de %{organization}" + skip_button: Pular para o conteúdo principal account: + blocked: Esta conta foi bloqueada devido a violação de Termos e Condições data_portability_export: file_no_exists: O arquivo não existe notice: Seus dados estão atualmente em andamento. Você receberá um e-mail quando estiver concluído. delete: + alert: Esta ação não pode ser desfeita. Se você excluir sua conta, não poderá fazer login com suas credenciais. A exclusão da sua conta resultará em anonimato das suas contribuições. Você ainda poderá criar uma nova conta, mas estas contribuições não serão associadas a ela. confirm: close: Fechar janela ok: Sim, eu quero excluir minha conta @@ -92,6 +114,8 @@ pt: delete: "%{user_name} removeu o componente %{resource_name} do espaço %{space_name}" publish: "%{user_name} publicou o componente %{resource_name} no espaço %{space_name}" unpublish: "%{user_name} não publicado o componente %{resource_name} do espaço %{space_name}" + impersonation_log: + manage: "%{user_name} gerenciou %{resource_name} porque %{reason}" moderation: hide: "%{user_name} Escondeu um recurso de tipo %{resource_type} no %{space_name} espaço" unreport: "%{user_name} Não declarou um recurso de tipo %{resource_type} no %{space_name} espaço" @@ -108,6 +132,7 @@ pt: update: "%{user_name} atualizou as configurações da organização" participatory_space_private_user: create: "%{user_name} Convidado %{resource_name} ser um usuário privado" + create_via_csv: "%{user_name} convidou %{resource_name} via CSV para ser um usuário privado" delete: "%{user_name} removeu o usuário %{resource_name} como usuário particular" scope: create: "%{user_name} criou o âmbito %{resource_name}" @@ -121,14 +146,25 @@ pt: delete: "%{user_name} apagou o %{resource_name} página estática" update: "%{user_name} atualizou o %{resource_name} página estática" user: + block: "%{user_name} bloqueou o usuário %{resource_name}" invite: "%{user_name} convidou o usuário %{resource_name} com papel: %{role}" officialize: "%{user_name} oficializou o usuário %{resource_name}" + promote: "%{user_name} promoveu %{resource_name}" remove_from_admin: "%{user_name} removeu o usuário %{resource_name} com papel: %{role}" + show_email: "%{user_name} recuperou o email do usuário %{resource_name}" + transfer: "%{user_name} transferiu o usuário %{resource_name}" + unblock: "%{user_name} desbloqueou o usuário %{resource_name}" unofficialize: "%{user_name} não oficializado o usuário %{resource_name}" user_group: reject: "%{user_name} rejeitou o %{resource_name} verificação do grupo de usuários" verify: "%{user_name} verificado o %{resource_name} grupo de usuários" verify_via_csv: "%{user_name} verificou o %{resource_name} grupo de usuários por meio de um arquivo CSV" + user_moderation: + unreport: "%{user_name} removeu a denuncia %{resource_type} - %{unreported_user_name}" + admin_terms_of_use: + default_body: "

    ADMIN TERMOS DE USO

    Confiamos que você tenha recebido a aula habitual do administrador do sistema local. Isso geralmente se resume a estas três coisas:

    1. Respeita a privacidade dos outros.
    2. Pense antes de clicar.
    3. Com grande poder vem grande responsabilidade.
    " + alert: + dismiss: Limpar notificação amendments: accepted: error: Ocorreu um erro ao aceitar a alteração. @@ -142,6 +178,21 @@ pt: promote_confirm_text: Tem certeza de que deseja promover essa emenda? promote_help_text: Você pode promover esta emendação e publicá-la como um %{model_name}independente section_heading: Alterações (%{count}) + compare_draft: + continue: Continuar + no_similars_found: Não foram encontradas emendas similares. + title: Emendas similares + created: + error: Ocorreu um erro ao criar o rascunho da alteração. + success: A proposta de alteração foi criada com êxito. + destroy_draft: + error: Houve um problema ao excluir o rascunho de alteração. + success: A proposta de alteração foi excluída com êxito. + edit_draft: + discard: Descarte este rascunho + discard_confirmation: Tem certeza de que deseja descartar este rascunho da alteração? + send: Pré-visualização + title: Editar o rascunho de alteração emendation: actions: button_accept: Aceitar @@ -154,15 +205,25 @@ pt: evaluating: |- Esta emenda para o %{amendable_type} %{amendable_link} está sendo avaliada. + promoted: Promovido para um %{amendable_type}. rejected: "Esta emenda para o %{amendable_type} %{amendable_link}\nfoi rejeitada em %{announcement_date}." withdrawn: |- Esta emenda para o %{amendable_type} %{amendable_link} foi retirada pelo autor. new: amendment_author: Autor de alteração + send: Criar + title: Criar rascunho de alteração + preview_draft: + modify: Modificar + publish: Publicar + title: Publicar rascunho de alteração promoted: error: Houve erros ao promover a emenda success: Emendação promovida com sucesso + publish_draft: + error: Houve um problema ao publicar a alteração. + success: Alteração publicada com sucesso. rejected: error: Ocorreu um erro ao rejeitar esta emenda, por favor, tente novamente mais tarde success: A emendação foi rejeitada com sucesso @@ -171,26 +232,38 @@ pt: heading: Revise a emenda help_text: Você está revisando uma emenda ao %{model_name} send: Aceitar alteração + update_draft: + error: Houve um problema ao atualizar o rascunho de alteração. + success: Rascunho de alteração atualizado com sucesso. + withdraw: + error: Ocorreu um erro ao retirar a alteração + success: A alteração foi retirada com sucesso wizard_step_form: steps: '1': Crie sua emenda - '2': Compare your amendment - '3': Complete your amendment - '4': Publish your amendment + '2': Compare sua alteração + '3': Completar sua alteração + '4': Publique sua alteração anonymous_user: Anônimo application: collection: documents: one: Documento other: Documentos + document: + download: Baixar arquivo documents: related_documents: Documentos relacionados photos: related_photos: Fotos relacionadas author: + avatar: Avatar comments: one: comentário other: comentários + endorsements: + one: endosso + other: endossos authorization_handlers: another_dummy_authorization_handler: explanation: Seja verificado introduzindo um número de passaporte começando com "A" @@ -201,11 +274,16 @@ pt: dummy_authorization_handler: explanation: Seja verificado através da introdução de um número de documento que termina com "X" fields: + allowed_postal_codes: Códigos postais permitidos (separados por vírgulas) + allowed_scope_id: Escopos Permitidos document_number: Número do documento postal_code: Código postal + scope_id: Escopo name: Exemplo de autorização dummy_authorization_workflow: name: Fluxo de trabalho de autorização falsa + errors: + duplicate_authorization: Um usuário já está autorizado com os mesmos dados. Um administrador entrará em contato para verificar suas informações. expired_at: Expirou em %{timestamp} expires_at: Expira em %{timestamp} foo_authorization: @@ -214,6 +292,7 @@ pt: foo: Foo name: Autorização Foo granted_at: Concedido em %{timestamp} + renew: Renovar Verificação sms: explanation: Envie seu número de celular para que possamos verificar sua identidade. name: Código por SMS @@ -234,6 +313,8 @@ pt: authorize: Autorizar com "%{authorization}" explanation: Para executar esta ação, você precisa ser autorizado com "%{authorization}". title: Autorização necessária + ok: + title: Você foi autorizado nesta página. Recarregue a página para executar sua ação pending: explanation: Para realizar esta ação, você precisa ser autorizado com "%{authorization}", mas sua autorização ainda está em progresso resume: Verifique o seu progresso de autorização "%{authorization}" @@ -248,6 +329,15 @@ pt: explanation_html: A fim de executar esta ação que você precisa ser autorizado, antes de fazer isso você precisa confirmar o seu e-mail %{email}. request_confirmation_instructions: Reenviar instruções de confirmação title: Confirme seu e-mail + show: + close_modal: Fechar modal + block_user_mailer: + notify: + body_1: Sua conta está bloqueada. + body_2: 'Motivo: %{justification}' + greetings: Saudações,
    %{organization_name}
    %{organization_url} + hello: Olá, + subject: A sua conta foi bloqueada por %{organization_name} collapsible_list: hidden_elements_count: one: e mais %{count} @@ -255,6 +345,19 @@ pt: see_less: "(ver menos)" see_more: "(ver mais)" components: + component_order_selector: + no_content: Não encontramos nenhum conteúdo com este critério + order: + all_types: Todos os tipos + collaborative_draft: Rascunho colaborativo + comment: Comentário + debate: Debate + initiative: Iniciativa + meeting: Reunião + post: Postagem + proposal: Proposta + question: Questão + title: 'Mostrar:' dummy: actions: bar: Barra @@ -264,22 +367,46 @@ pt: global: amendments_enabled: Alterações ativadas comments_enabled: Comentários ativados + comments_max_length: Comprimento máximo de comentários dummy_global_attribute_1: Dummy Atributo 1 dummy_global_attribute_2: Dummy Attribute 2 + dummy_global_translatable_text: Texto Tradutor Falso enable_pads_creation: Ativar criação de blocos resources_permissions_enabled: Permissões de recursos ativadas + scope_id: Escopo + scopes_enabled: Escopos habilitados step: + amendment_creation_enabled: Criação de alteração ativada + amendment_promotion_enabled: Promoção de alteração ativada + amendment_reaction_enabled: Reação da alteração habilitada + amendments_visibility: Visibilidade das alterações comments_blocked: Comentários bloqueados dummy_step_attribute_1: Dummy Step Attribute 1 dummy_step_attribute_2: Dummy Step Attribute 2 + dummy_step_translatable_text: Texto traduzível de Etapa falso contact: Contato content_blocks: + cta: + name: Imagens, textos e botões de chamada para ação + cta_settings_form: + background_image: Imagem de fundo + button_text: Texto de chamada para ação + button_url: Chamada para ação URL + description: Descrição footer_sub_hero: name: Rodapé do sub-herói banner hero: name: Imagem do herói + hero_settings_form: + background_image: Imagem de fundo + welcome_text: Texto de boas-vindas highlighted_content_banner: name: Banner de conteúdo destacado + highlighted_elements_settings_form: + orders: + label: 'Classificar elementos por:' + random: Aleatório + recent: Mais recente how_to_participate: name: Como participar html: @@ -297,12 +424,14 @@ pt: name: Banner de sub-herói core: actions: + login_before_access: Faça o login com sua conta antes de acessar unauthorized: Não está autorizado a realizar esta ação data_portability: export: ready: pronto show: download_data: Baixe os dados + download_data_description: Um arquivo contendo todas as informações associadas à sua conta será enviado para %{user_email}. Este e-mail conterá um arquivo .zip e uma senha para abri-lo.

    Para descompactar o arquivo, você precisará de 7-Zip (para Windows) ou Keka (para MacOS). Se você usar Linux, a maior parte do tempo você o terá instalado por padrão. Se não, você pode usar Rolagem de Arquivos ou PeaZip. ). request_data: Solicitar dados datepicker: help_text: 'Formato esperado: %{datepicker_format}' @@ -312,6 +441,7 @@ pt: email_already_exists: Outra conta está usando o mesmo endereço de e-mail new: complete_profile: Complete o seu perfil + nickname_help: Seu alias em %{organization}. Só pode conter letras, números, '-' e '_'. sign_up: Por favor, complete o seu perfil subtitle: Por favor, preencha o seguinte formulário para completar a inscrição username_help: Nome público que aparece em suas postagens. Com o objetivo de garantir o anonimato, pode ser qualquer nome. @@ -320,6 +450,8 @@ pt: already_have_an_account?: Você já tem uma conta? newsletter: Receba um boletim informativo ocasional com informações relevantes newsletter_title: Permissão de contato + nickname_help: Seu alias em %{organization}. Só pode conter letras, números, '-' e '_'. + password_help: "O mínimo de %{minimun_characters} caracteres, não deve ser muito comum (por exemplo, 123456) e deve ser diferente do seu apelido e do seu email." sign_in: Iniciar sessão sign_up: Inscreva-se sign_up_as: @@ -335,11 +467,14 @@ pt: register: Criar uma conta sign_in_disabled: Você pode acessar com uma conta externa sign_up_disabled: Inscrever-se está desabilitado, você pode usar um usuário existente para acessar + user: + timed_out: Você ficou inativo por muito tempo e foi automaticamente desconectado do serviço. Se você deseja continuar usando o serviço, entre novamente. shared: newsletter_modal: buttons: check: Verificar e continuar close_modal: Fechar modal + uncheck: Manter desmarcado notice: |-

    Tem certeza de que não quer receber uma newsletter?
    Por favor, considere novamente marcar a caixa de seleção do boletim informativo abaixo.
    @@ -367,6 +502,14 @@ pt: wants_to_use_your_account_html: "%{application_name} quer usar sua conta" endorsable: endorsements: Avais + endorsements_count: Contagem de endossos + endorsement_buttons_cell: + already_endorsed: Endossado + endorse: Endossar + endorsements: + identities: + done: Concluído + select_identity: Selecione a identidade errors: internal_server_error: title: Houve um problema com o nosso servidor @@ -485,8 +628,31 @@ pt: email_outro: Você recebeu esta notificação porque é um membro desse grupo. email_subject: Você foi removido do grupo %{user_group_name}! notification_title: Você foi removido do grupo %{user_group_name}. + user_group_created: + email_intro: Um novo grupo de usuários foi criado com o nome %{user_group_name}. Agora você pode verificá-lo no painel de administração. + email_outro: Você recebeu esta notificação porque é um administrador da plataforma. + email_subject: Um novo grupo de usuários foi criado + notification_title: O grupo de usuários %{user_group_name} foi criado. Agora você pode verificá-lo no painel de administração. + user_group_updated: + email_intro: Um grupo de usuários com o nome %{user_group_name} atualizou seu perfil, deixando-o não verificado. Agora você pode verificá-lo no painel de administração. + email_outro: Você recebeu esta notificação porque é um administrador da plataforma. + email_subject: Um grupo de usuários atualizou seu perfil + notification_title: O grupo de usuários %{user_group_name} atualizou seu perfil, deixando-o não verificado. Você pode verificá-lo no painel de administração . notification_event: notification_title: Ocorreu um evento em %{resource_title}. + reports: + resource_hidden: + email_intro: Um administrador removeu seu %{resource_type} porque ele foi reportado como %{report_reasons}. + email_outro: Você recebeu esta notificação porque você é um autor do conteúdo removido. + email_subject: Sua %{resource_type} foi removida + notification_title: |- + Um administrador removeu seu %{resource_type} porque ele foi reportado como %{report_reasons}.
    + %{resource_content} + resource_endorsed: + email_intro: '%{endorser_name} %{endorser_nickname}, que você está seguindo, acabou de aprovar "%{resource_title}" e achamos que pode ser interessante para você. Confira e contribua:' + email_outro: Você recebeu esta notificação porque está seguindo %{endorser_nickname}. Você pode parar de receber notificações após o link anterior. + email_subject: "%{endorser_nickname} realizou um novo endosso" + notification_title: O %{resource_title} %{resource_type} foi endossado por %{endorser_name} %{endorser_nickname}. users: profile_updated: email_intro: O profile page de %{name} (%{nickname}), quem você está seguindo, foi atualizado. @@ -495,6 +661,7 @@ pt: notification_title: O profile page de %{name} (%{nickname}), quem você está seguindo, foi atualizado. export_mailer: data_portability_export: + click_button: 'Clique no próximo link para baixar seus dados.
    O arquivo estará disponível até %{date}.
    Você vai precisar de 7-Zip (para Windows), Keka (para MacOS) ou PeaZip (para Linux) para abri-lo. Senha: %{password}' download: Download export: ready: Encontre em anexo uma versão com zíper da sua exportação. @@ -517,6 +684,9 @@ pt: title: Impressão digital value: Valor followers: + followers_count: + one: "%{count} seguidor" + other: "%{count} seguidores" no_followers: Nenhum seguidor. following: no_followings: Não segue ninguém ou nada ainda. @@ -524,6 +694,7 @@ pt: create: button: Seguir error: Ocorreu um erro ao seguir este recurso. + participatory_space: Seguindo %{resource_name} destroy: button: Parar de seguir error: Ocorreu um erro ao seguir esse recurso. @@ -532,7 +703,22 @@ pt: current_image: Imagem actual default_image: Imagem por defeito errors: + decidim/user: + password: Senha muito curta. + password_confirmation: A confirmação de senha deve ser igual à senha. error: Há um erro neste campo. + file_help: + file: + explanation: 'Orientação para o arquivo:' + message_1: Tem que ser uma imagem ou um documento. + message_2: Para imagens, use de preferência imagens de paisagem, o serviço cultiva a imagem. Para arquivos CSV, o separador entre colunas deve ser uma vírgula (",") + image: + explanation: 'Orientação da imagem:' + message_1: Preferencialmente, uma imagem de paisagem que não tem nenhum texto. + message_2: O serviço cultiva a imagem. + file_validation: + allowed_file_extensions: 'Extensões de arquivo permitidas: %{extensions}' + max_file_size: 'Tamanho máximo de arquivo: %{megabytes}MB' remove_this_file: Remover este ficheiro gamification: all_badges_link: Veja todos os emblemas disponíveis. @@ -686,6 +872,13 @@ pt: not_found: 'O tipo de âmbito não foi encontrado no banco de dados (ID: %{id})' managed_users: expired_session: A sessão de representação atual expirou. + map: + dynamic: + screen_reader_explanation: O elemento a seguir é um mapa que apresenta os itens nesta página como pontos de mapa. O elemento pode ser usado com um leitor de tela, mas pode ser difícil de entender. + skip_button: Pular mapa + static: + latlng_text: 'latitude: %{latitude}, longitude: %{longitude}' + map_service_brand: OpenStreetMap members: no_members: Este grupo de usuários ainda não possui nenhum membro. menu: @@ -693,32 +886,83 @@ pt: home: Inicio messaging: conversation_mailer: + comanagers_new_conversation: + admin_in_group: Você está recebendo isso porque você é um administrador do %{group}. + greeting: Olá, %{recipient}! + intro: "%{manager} iniciou uma nova conversa em nome de %{group}. Clique aqui para vê-la:" + outro: Desfrute do decidim! + subject: "%{manager} iniciou uma nova conversa como %{group}" + comanagers_new_message: + admin_in_group: Você está recebendo isso porque você é um administrador do %{group}. + greeting: Olá, %{recipient}! + intro: "%{manager} postou novas mensagens em uma conversa no nome de %{group}. Clique aqui para vê-las:" + outro: Desfrute do decidim! + subject: "%{manager} enviou novas mensagens como %{group}" new_conversation: greeting: Olá, %{recipient}! intro: "%{sender} iniciou uma nova conversa com você. Clique aqui para vê-lo:" outro: Aproveite decidim! subject: "%{sender} iniciou uma conversa com você" + new_group_conversation: + admin_in_group: Você está recebendo isso porque você é um administrador do %{group}. + greeting: Olá, %{recipient}! + intro: "%{sender} iniciou uma nova conversa com o grupo %{group}. Clique aqui para vê-la:" + outro: Desfrute do decidim! + subject: "%{sender} iniciou uma conversa com %{group}" + new_group_message: + admin_in_group: Você está recebendo isso porque você é um administrador do %{group}. + greeting: Hi, %{recipient}! + intro: "%{sender} postou novas mensagens em uma conversa com o grupo %{group}. Clique aqui para vê-la:" + outro: Desfrute do decidim! + subject: "%{group} tem novas mensagens de %{sender}" new_message: greeting: Olá, %{recipient}! intro: "%{sender} publicou novas mensagens na sua conversa. Clique aqui para vê-los:" outro: Aproveite decidim! subject: Você tem novas mensagens de %{sender} conversations: + add_conversation_users: + add_max_users: 'Adicionar usuários à conversa: máximo de 9 usuários' + add_users_placeholder: Buscar... + modal_title: Nova conversa + no_results: Nenhum resultado + participant_with_disabled_message_reception: Este usuário desativou o recebimento de mensagens + conversation: + show: Mostrar conversa com %{sender} create: error: Conversa não iniciada. Tente mais tarde + error_modal: + close: Fechar modal + correct_errors: Por favor, corrija os itens citados e tente novamente. + intro: 'Sua mensagem contém os seguintes erros:' + ok: OK index: + ago: atrás close: Fechar modal + from: De + groups: Meus grupos + last_message: Última mensagem + new_conversation: Nova conversa + next: Próxima no_conversations: Ainda não há conversas title: Conversas reply: + placeholder: Sua resposta... send: Mandar title: Resposta show: + back: Voltar para todas as conversas + chat_with: Conversa com + not_allowed: Este usuário não aceita mensagens diretas. title: Conversa com %{usernames} start: send: Enviar title: Comece uma conversa + update: + error: A mensagem não foi enviada devido a um erro metrics: + download: + csv: Download de dados (CSV) followers: description: Número de usuários que seguem este espaço de participação object: seguidores @@ -736,6 +980,25 @@ pt: note: Você recebeu este e-mail porque está inscrito em boletins informativos em %{organization_name}. Você pode alterar suas configurações em suas notifications page. see_on_website: Não é possível ver este email corretamente? Visualize-o no website. unsubscribe: Para optar por não receber esse tipo de email, Unsubscribe. + newsletter_templates: + basic_only_text: + body_preview: 'Texto falso para o Body: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.' + name: Básico (apenas texto) + basic_only_text_settings_form: + body: Corpo + interpolations_hint: 'Dica: Você pode usar "%{name}" em qualquer lugar do corpo ou assunto e ele será substituído pelo nome do destinatário.' + image_text_cta: + body_preview: 'Texto falso para o corpo: Maecenas ac nisl vitae lectus pretium facilisis. Etiam facilisis sem nibh, sit amet rutrum mi aliquam nec. Sed id urna at nisl pretium mollis eu vel velit. Proin vitae suscipit urna, sed faucibus urna. Pellentesque id libero vulputate ipsum scelerisque suscipit. Nam aliquam sodales mi sit amet cursus. Donec mattis faucibus purus. Aenean tincidunt porta lorem ac commodo. Vestibulum in mollis mi. Morbi eros erat, cursus ut tortor sit amet, imperdiet dapibus arcu. Suspendisse id egestas enim. In eget magna sed enim efficitur elementum sit amet aliquam quam. Donec fermentum metus eget urna luctus pulvinar.' + cta_text_preview: Texto de chamada para ação + introduction_preview: 'Texto falso para introdução: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.' + name: Imagens, textos e botões de chamada para ação + image_text_cta_settings_form: + body: Corpo + cta_text: Texto do botão Chamar para Ação + cta_url: Caminho do botão Chamar para Ação + interpolations_hint: 'Dica: você pode usar "%{name}" em qualquer lugar da introdução, corpo, texto do CTA ou assunto e ele será substituído pelo nome do destinatário.' + introduction: Introdução + main_image: Imagem principal newsletters: unsubscribe: check_subscription: Se você deseja alterar suas preferências, você pode fazê-lo na seção configuration @@ -761,6 +1024,10 @@ pt: no_notifications: Não há notificações. notifications_settings: show: + administrators: Administradores + allow_public_contact: Permita que qualquer pessoa me envie uma mensagem direta, mesmo que eu não as siga. + direct_messages: Receber mensagens diretas de qualquer pessoa + email_on_moderations: Quero receber um e-mail sempre que houver um relatório de moderação. email_on_notification: Quero receber um email sempre que recebo uma notificação. everything_followed: Tudo que eu sigo newsletter_notifications: Quero receber boletins informativos @@ -839,6 +1106,7 @@ pt: error: Houve um erro ao aceitar os termos e condições. success: Ótimo! Você aceitou os termos e condições. form: + agreement: Concordo com estes termos legend: Concorde com os termos e condições de uso refuse: modal_body: Se recusar, você não será capaz de usar a plataforma, você pode baixar seus dados e / ou excluir sua conta. @@ -855,6 +1123,7 @@ pt: not_allowed: Você não tem permissão para visualizar este conteúdo profile: deleted: Usuário excluído + inaccessible_message: Este perfil está inacessível devido a violação de Termos e Condições! view: Vista profiles: default_officialization_text_for_user_groups: Este grupo de usuários é verificado publicamente, seu nome foi verificado para corresponder com seu nome real @@ -862,10 +1131,13 @@ pt: show: activity: Atividade badges: Distintivos + conversations: Conversas followers: Seguidores following: Segue groups: Grupos members: Membros + officialized: Participante oficial + send_private_message: Enviar mensagem privada timeline: Timeline view_full_profile: Ver o perfil completo sidebar: @@ -891,22 +1163,39 @@ pt: report_html:

    O seguinte content foi ocultado automaticamente.

    subject: Um recurso foi escondido automaticamente report: + authors: Autores + content: Conteúdo denunciado + content_original_language: Idioma original do conteúdo + date: Relatado em + details: Detalhes hello: Olá %{name}, + id: ID + participatory_space: Espaço participativo + reason: Motivo report_html:

    O seguinte content foi reportado.

    + see_report: Ver relatório subject: Um recurso foi relatado reports: create: error: Ocorreu um erro ao criar o relatório. Por favor, tente novamente. success: O relatório foi criado com sucesso e será revisto por um administrador. + resource_endorsements: + create: + error: Houve um problema durante a ação de endosso. scopes: global: Âmbito global picker: cancel: Cancelar + change: Alterar o escopo selecionado choose: Selecionar + currently_selected: Escopo atualmente selecionado title: Selecione %{field} prompt: Selecione um âmbito scopes: Âmbitos + scopes_picker_input: + select_scope: 'Selecione um escopo (atualmente: %{current})' search: + results: Procurar resultados results_found_for_term: '%{count} Resultados para a pesquisa: "%{term}"' term_input_placeholder: Pesquisa searches: @@ -928,7 +1217,16 @@ pt: one: "%{count} resultado" other: "%{count} resultados" view_all: Ver todos (%{count}) + security: + selfxss_warning: + description: Este recurso de navegador é destinado a desenvolvedores e você não deve colar nada aqui se você for solicitado a fazê-lo. Colar conteúdo nesta janela pode comprometer sua privacidade e dar aos hackers acesso à sua conta. + title: Pare! shared: + confirm_modal: + cancel: Cancelar + close_modal: Fechar modal + ok: OK + title: Confirmar embed_modal: close_window: Fechar janela embed: Cole este código na sua página @@ -936,6 +1234,9 @@ pt: extended_navigation_bar: more: Mais unfold: Desdobrar + filter_form_help: + help: O formulário abaixo filtra os resultados da busca dinamicamente quando as condições de busca são alteradas. + skip: Pular para os resultados flag_modal: already_reported: Este conteúdo já foi relatado e será revisto por um administrador. close: Fechar @@ -945,15 +1246,27 @@ pt: report: Denunciar spam: Contém clickbait, publicidade, fraudes ou script bots. title: Reportar um problema + flag_user_modal: + already_reported: Este conteúdo já foi reportado e será revisado por um administrador. + close: Fechar + description: O que é inapropriado sobre o usuário? + does_not_belong: Contém atividades ilegais, ameaças suicidas, informações pessoais ou outra coisa que você acha que não pertence ao %{organization_name}. + offensive: Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer tipo de discurso de ódio. + report: Denunciar + spam: Contém clickbait, publicidade, fraudes ou scripts bots. + title: Denunciar usuário inapropriado floating_help: + close: Fechar Ajuda help: Socorro follow_button: sign_in_before_follow: Faça login antes de executar esta ação login_modal: + close_modal: Fechar modal please_sign_in: Por favor, inicie a sessão sign_up: Inscrever-se participatory_space_filters: filters: + areas: Áreas select_an_area: Selecione uma área reference: reference: 'Referência: %{reference}' @@ -962,14 +1275,50 @@ pt: select_user_group: Selecione um grupo results_per_page: label: 'Resultados por página:' + title: Selecione o número de resultados por página share_modal: close_window: Fechar janela share: Compartilhar share_link: Partilhar link + tags: + filter_results_for_category: 'Filtrar resultados para a categoria: %{resource}' + filter_results_for_scope: 'Resultados do filtro para escopo: %{resource}' + translation_bar: + help_text: "Aviso: O conteúdo pode ser traduzido automaticamente e não está 100% correto." + show_original: Exibir texto original + show_translated: Mostrar texto traduzido automaticamente user_activity: index: no_activities_warning: Este usuário ainda não possui nenhuma atividade. + user_contact_disabled: Este usuário não aceita mensagens diretas. user_conversations: + create: + error: A mensagem não pôde ser criada. Tente novamente mais tarde + existing_error: A mensagem não pôde ser criada. A conversa já existe, tente novamente agora. + success: Conversa iniciada com sucesso! + index: + add_max_users: 'Adicionar usuários à conversa: máximo de 9 usuários' + add_users_placeholder: Procurar... + close: Fechar + conversations_info: As conversas são privadas. Ninguém mais pode vê-las. Uma conversa pode ser iniciada com qualquer participante ou grupo registrado na plataforma. + from: De + last_message: Última mensagem + modal_title: Nova conversa + new_conversation: Nova conversa + next: Próxima + no_conversations_warning: Ainda não há nenhuma conversa. + no_results: Nenhum resultado + participant_with_disabled_message_reception: Este usuário desativou o recebimento de mensagens + time_ago: "%{time} atrás" + new: + title: Iniciar uma conversa + reply: + placeholder: Sua resposta... + send: Enviar + title_reply: Resposta + show: + not_allowed: Este usuário não aceita mais mensagens diretas. + title: Conversa com %{usernames} update: error: Mensagem não enviada. Tente mais tarde user_interests: @@ -981,12 +1330,49 @@ pt: update: error: Ocorreu um erro ao atualizar seus interesses. success: Seus interesses foram atualizados com sucesso. + user_report_mailer: + notify: + body_1: O usuário %{user} foi denunciado por %{token} + body_2: 'Motivo: %{reason}' + greetings: Saudações,
    %{organization_name}
    %{organization_url} + hello: Olá %{admin}, + subject: Um novo usuário foi denunciado em %{organization_name} + version: + show: + back_to_resource: Voltar + changes_at_title: Alterações em "%{title}" + number_of_versions: Versões + show_all_versions: Mostrar todas as versões + version_author: Autor da versão + version_created_at: Versão criada em + version_number: Número da versão + version_number_out_of_total: "%{current_version} de %{total_count}" version_author: show: deleted: Usuário excluído + versions: + resource_version: + of_versions: "(de %{number})" + see_other_versions: veja outras versões + version: Número de versão %{number} + versions_list: + show: + back_to_resource: Voltar + changes_at_title: Alterações em "%{title}" + number_of_versions: Versões + title: Versões + versions_list_item: + show: + version_index: Versão %{index} welcome_notification: default_body:

    Olá {{name}}, obrigado por se juntar a {{organization}} e seja bem-vindo!

    • Se você quiser ter uma idéia rápida do que pode fazer aqui, dê uma olhada na seção Ajuda .
    • Depois de ler, você receberá seu primeiro crachá. Aqui está uma lista de todos os crachás você pode começar como você participar de {{organization}}
    • Por último, mas não menos importante, se juntar a outras pessoas, compartilhar com eles a experiência de ser envolvido e participando de {{organization}}. Faça propostas, comentários, debata, pense em como contribuir para o bem comum, forneça argumentos para convencer, escute e leia para ser convencido, expresse suas idéias de maneira concreta e direta, responda com paciência e decisão, defenda suas ideias e mantenha uma mente aberta para colaborar e juntar-se às ideias de outras pessoas.
    default_subject: Obrigado por se juntar a {{organization}}! + wizard_step_form: + wizard_aside: + back: Voltar + wizard_header: + see_steps: ver etapas + step_of: Etapa %{current_step} de %{total_steps} devise: confirmations: confirmed: Seu endereço de e-mail foi confirmado com sucesso. @@ -1077,6 +1463,7 @@ pt: change_your_password: Mude sua senha confirm_new_password: Confirme a nova senha new_password: Nova senha + password_help: "O mínimo de %{minimun_characters} caracteres, não deve ser muito comum (por exemplo, 123456) e deve ser diferente do seu apelido e do seu email." new: forgot_your_password: Esqueceu sua senha? send_me_reset_password_instructions: Envie-me as instruções de redefinição de senha @@ -1139,15 +1526,26 @@ pt: cycle_detected: o pai de um âmbito não pode ser um dos seus descendentes expired: expirou, solicite um novo file_size_is_less_than_or_equal_to: o tamanho do arquivo deve ser menor ou igual a %{count} + invalid_time_zone: não é um fuso horário válido long_words: contém palavras muito longas (mais de 35 caracteres) must_start_with_caps: deve começar com letra maiúscula nesting_too_deep: não pode estar dentro de uma subcategoria + not_found: não pôde ser encontrado. Você se inscreveu anteriormente? not_locked: não estava trancado + not_saved: + one: 'Houve um erro ao processar seu pedido:' + other: 'Houve erros múltiplos ao processar sua solicitação:' too_many_marks: está usando muitos sinais de pontuação consecutivos (por exemplo,! e?) too_much_caps: está usando muitas letras maiúsculas (mais de 25% do texto) too_short: é muito curto (menos de 15 caracteres) forms: + correct_errors: Há erros no formulário, por favor corrija-os para continuar. + length_validator: + minimum: + one: Pelo menos %{count} caracter + other: Pelo menos %{count} caracteres required: Requeridos + required_explanation: "* Campos obrigatórios são marcados com um asterisco" invisible_captcha: sentence_for_humans: Se você é humano, ignore este campo timestamp_error_message: Desculpe, isso foi muito rápido! Reenvie. @@ -1160,6 +1558,8 @@ pt: edit_link: edit: Editar footer: + cc_by_license: Licença Creative Commons + decidim_logo: Logo Decidim download_open_data: Baixar arquivos Open Data made_with_open_source: Site criado com software livre. header: @@ -1171,9 +1571,24 @@ pt: close_session: Fechar sessão description_html: Você está representando o usuário %{user_name}. expire_time_html: Sua sessão expirará em %{minutes} minutos. + language_chooser: + choose_language: Escolher idioma notifications_dashboard: mark_all_as_read: Marcar tudo como lido + mark_as_read: Marcar como lida + social_media_links: + facebook: "%{organization} no Facebook" + github: "%{organization} no GitHub" + instagram: "%{organization} no Instagram" + twitter: "%{organization} no Twitter" + youtube: "%{organization} no YouTube" + timeout_modal: + body: Você está inativo por %{minutes} minutos. Se você continuar inativo, será automaticamente desconectado para sua própria segurança. + continue_session: Continuar sessão + sign_out: Sair + title: Deseja continuar sua sessão? user_menu: + account: 'Conta de usuário: %{name}' admin_dashboard: Painel de administração conversations: Conversas notifications: Notificações @@ -1193,6 +1608,7 @@ pt: see_more: Ver mais locale: name: Português + name_with_error: Inglês (erro!) password_validator: domain_included_in_password: é muito semelhante a este nome de domínio email_included_in_password: é muito parecido com o seu email @@ -1216,12 +1632,15 @@ pt: qq: Qzone reddit: Reddit share_to: Compartilhe %{name} + telegram: Telegram tumblr: Tumblr twitter: Twitter vkontakte: Vkontakte wechat: WeChat wechat_footer: Abra seu WeChat, clique no botão "Discover" e clique no menu "Scan QR Code". weibo: Sina Weibo + whatsapp_app: WhatsApp + whatsapp_web: WhatsApp xing: Xing time: formats: @@ -1231,15 +1650,36 @@ pt: day_of_year: "%d.%m.%y" decidim_day_of_year: "%d %B %Y" decidim_short: "%d/%m/%Y %H:%M" + default: "%a, %d %b %Y %H:%M:%S %z" devise: mailer: invitation_instructions: accept_until_format: "%B %d, %Y %I:%M %p" + long: "%B %d, %Y %H:%M" + long_dashed: "%Y-%m-%d %H:%M:%S" + short: "%d/%m/%Y %H:%M" time_of_day: "%H:%M" + versions: + directions: + left: Exclusões + right: Adições + dropdown: + choose_diff_view_html: 'Modo de visualização HTML:' + choose_diff_view_mode: 'Modo de visualização comparado:' + option_escaped: Escapou + option_split: Lado-por lado + option_unescaped: Abandonado + option_unified: Unificado views: pagination: first: "« Primeiro" + first_title: Link para a primeira página last: Última » + last_title: Link para a última página next: Próximo › + next_title: Link para a próxima página + pagination: Paginação previous: "‹ Anterior" + previous_title: Link para a página anterior + title: 'Número da página: ' truncate: "…" diff --git a/decidim-debates/config/locales/pt-BR.yml b/decidim-debates/config/locales/pt-BR.yml index 066bc26ecca1c..c5bbf4567bb39 100644 --- a/decidim-debates/config/locales/pt-BR.yml +++ b/decidim-debates/config/locales/pt-BR.yml @@ -3,6 +3,8 @@ pt: attributes: debate: category_id: Categoria + closed_at: Fechado em + conclusions: Conclusões decidim_category_id: Categoria description: Descrição end_time: Termina em @@ -12,6 +14,7 @@ pt: title: Título user_group_id: Criar debate como models: + decidim/debates/close_debate_event: Debate encerrado decidim/debates/create_debate_event: Debate decidim/debates/creation_disabled_event: Debates desativados decidim/debates/creation_enabled_event: Debates ativados @@ -25,23 +28,34 @@ pt: debates: actions: create: Criar + endorse: Endossar name: Debates settings: global: announcement: Anúncio comments_enabled: Comentários ativados + comments_max_length: Tamanho máximo de comentários (deixe 0 para o valor padrão) + scope_id: Escopo + scopes_enabled: Escopos habilitados step: announcement: Anúncio comments_blocked: Comentários bloqueados creation_enabled: Criação de debate por usuários habilitado + endorsements_blocked: Endossos bloqueados + endorsements_enabled: Endossos habilitados debates: actions: + close: Fechar confirm_destroy: Você tem certeza? destroy: Excluir edit: Editar new: Novo %{name} title: Ações admin: + debate_closes: + edit: + close: Fechar + title: Fechar debate debates: create: invalid: Houve um problema ao criar o debate. @@ -51,6 +65,10 @@ pt: edit: title: Editar debate update: Atualização do debate + form: + debate_type: Tipo de debate + finite: Finito (com hora de início e fim) + open: Abra (Sem horas de início ou fim) index: title: Debates new: @@ -59,14 +77,27 @@ pt: update: invalid: Ocorreu um problema ao atualizar esse debate. success: Debate atualizado com sucesso. + exports: + comments: Comentários models: debate: name: Debate admin_log: debate: + close: "%{user_name} fechou o debate %{resource_name} no espaço %{space_name}" create: "%{user_name} criou o debate %{resource_name} no espaço %{space_name}" update: "%{user_name} atualizou o debate %{resource_name} no espaço %{space_name}" + debate_m: + commented_time_ago: Comentou há %{time} atrás debates: + close: + invalid: Houve um problema ao encerrar o debate. + success: Debate encerrado com sucesso. + close_debate_modal: + close: Fechar + description: Qual é o resumo ou a conclusão deste debate? + send: Fechar debate + closed: Fechado count: debates_count: one: "%{count} debate" @@ -76,14 +107,27 @@ pt: success: Debate criado com sucesso. debate: participate: Participar + edit: + back: Voltar + save: Salvar alterações + title: Editar debate filters: + activity: Minha atividade all: Todos category: Categoria category_prompt: Selecione uma categoria citizens: Cidadãos + commented: Comentado + my_debates: Meus debates official: Oficial origin: Origem + scope: Escopo search: Procurar + state: Status + state_values: + closed: Fechado + open: Aberto + user_groups: Grupos filters_small_view: close_modal: Fechar modal filter: Filtro @@ -97,7 +141,37 @@ pt: back: Voltar create: Criar title: Novo debate + orders: + commented: Mais comentado + label: Ordenar debates por + random: Ordem aleatória + recent: Mais recente + updated: Atualizado recentemente + show: + back: Voltar para a lista + close_debate: Fechar debate + date: Data + debate_closed: Fechado + debate_conclusions_are: 'O debate foi encerrado em %{date} com estas conclusões:' + edit_conclusions: Editar conclusões + edit_debate: Editar debate + groups_count: Grupos + last_comment_by: Últimos comentários + no_comments_yet: Nenhum comentário ainda + open: Debate aberto + participants_count: Participantes + update: + invalid: Ocorreu um problema ao atualizar esse debate. + success: Debate atualizado com sucesso. + versions: + debates: + back_to_resource: Voltar ao debate + index: + title: Versões + versions_list: + back_to_resource: Voltar ao debate last_activity: + debate_updated_at_html: "Debate atualizado em %{link}" new_debate_at_html: "Novo debate em %{link}" models: debate: @@ -148,3 +222,5 @@ pt: metrics: debates: description: Número de debates criados + object: debates + title: Debates diff --git a/decidim-dev/config/locales/pt-BR.yml b/decidim-dev/config/locales/pt-BR.yml index eba13759ac330..83a0655a6e747 100644 --- a/decidim-dev/config/locales/pt-BR.yml +++ b/decidim-dev/config/locales/pt-BR.yml @@ -3,11 +3,27 @@ pt: attributes: dummy_resource: created_at: Criado em + decidim_scope_id: Escopo field: Meu campo start_date: Data de início title: Título + translatable_text: Texto traduzido updated_at: Atualizado em decidim: + components: + dummy: + settings: + global: + readonly_attribute: Atributo somente leitura + test: Teste A + test_choices: + a: Escolha A + b: Escolha B + c: Escolha C + step: + endorsements_blocked: Endossos bloqueados + endorsements_enabled: Endossos habilitados + readonly_step_attribute: Atributo passo somente leitura dummy: admin: exports: diff --git a/decidim-elections/config/locales/it.yml b/decidim-elections/config/locales/it.yml index f632d71040cd4..6f04ac471e5b7 100644 --- a/decidim-elections/config/locales/it.yml +++ b/decidim-elections/config/locales/it.yml @@ -593,6 +593,14 @@ it: email_outro: Hai ricevuto questa notifica perché ti è stato assegnato il ruolo di %{role} del %{polling_station_name}. email_subject: Sei %{role} del Seggio Elettorale %{polling_station_name}. notification_title: Sei %{role} del Seggio Elettorale %{polling_station_name} nella votazione %{resource_title}. + help: + participatory_spaces: + votings: + contextual: "

    Una votazione è uno spazio nel quale puoi sottoporre un quesito puntuale a tutti i membri di un'organizzazione, lanciare un invito a partecipare alla votazione stessa, dare vita a un dibattito pro o contro una determinata risposta. Alla data della consultazione potrai esprimere il tuo voto e pubblicare i risultati della votazione.

    Esempi: L'argomento di una votazione può riguardare pressoché ogni aspetto legato a un'organizzazione: ad esempio, modificarne il logo scegliendo tra diverse opzioni, approvare o respingere la proposta di confluire in un'organizzazione più ampia, convalidare o respingere un nuovo piano strategico o il risultato di un gruppo di lavoro oppure stabilire un limite di 1, 2 o 3 mandati per le diverse funzioni in seno all'organizzazione.

    \n" + page: "

    Una votazione è uno spazio nel quale puoi sottoporre un quesito puntuale a tutti i membri di un'organizzazione, lanciare un invito a partecipare alla votazione stessa, dare vita a un dibattito pro o contro una determinata risposta. Alla data della votazione potrai esprimere il tuo voto e pubblicare i risultati della votazione.

    Esempi: L'argomento di una votazione può riguardare pressoché ogni aspetto legato a un'organizzazione: ad esempio, modificarne il logo scegliendo tra diverse opzioni, approvare o respingere la proposta di confluire in un'organizzazione più ampia, convalidare o respingere un nuovo piano strategico o il risultato di un gruppo di lavoro oppure stabilire un limite di 1, 2 o 3 mandati per le diverse funzioni in seno all'organizzazione.

    \n" + title: Cosa sono le votazioni? + menu: + votings: Votazioni pages: home: statistics: @@ -602,13 +610,193 @@ it: elections_count: Elezioni votings: admin: + content_blocks: + highlighted_votings: + max_results: Quantità massima di elementi da mostrare + landing_page: + attachments_and_folders: + name: Allegati e cartelle della votazione + description: + name: Descrizione del voto + elections: + name: Votazioni elettorali + header: + name: Intestazione delle votazioni + html_block_1: + name: Votazioni html blocco 1 + html_block_2: + name: Votazioni html blocco 2 + html_block_3: + name: Votazioni html blocco 3 + metrics: + name: Metriche di voto + polling_stations: + name: Seggi elettorali + stats: + name: Statistiche di voto + timeline: + name: Calendario delle votazioni + index: + not_published: Non Pubblicato + published: Pubblicato + landing_page: + content_blocks: + edit: + update: Aggiorna + edit: + active_content_blocks: Blocchi di contenuti attivi + inactive_content_blocks: Blocchi di contenuti inattivi menu: + votings: Votazioni votings_submenu: + attachment_collections: Cartelle + attachment_files: Files + attachments: Allegati + components: Componenti + info: Info + landing_page: Pagina iniziale monitoring_committee_members: Comitato di Sorveglianza + polling_officers: Scrutatrici/tori + polling_stations: Seggi elettorali models: + monitoring_committee_member: + fields: + email: Email + name: Nome + name: Membro del Comitato di Sorveglianza + polling_officer: + fields: + email: Email + name: Nome + polling_station: Seggio elettorale (ruolo) + name: Scrutatrice/tore polling_station: fields: + address: Indirizzo + polling_station_managers: Gestori polling_station_president: Presidente/Presidentessa + title: Titolo + name: Seggio elettorale + voting: + fields: + created_at: Creato il + promoted: Evidenziato + published: Pubblicato + title: Titolo + monitoring_committee_members: + create: + invalid: Si è verificato un errore durante la creazione di questo Membro del Comitato di Sorveglianza + success: Membro del Comitato di Sorveglianza creato con successo + destroy: + invalid: Si è verificato un errore durante l'eliminazione di questo Membro del Comitato di Sorveglianza + success: Membro del comitato di sorveglianza eliminato con successo + form: + existing_user: Partecipante esistente + non_user: Invita un nuovo partecipante + select_user: Cerca per nome, email o nickname + user_type: Tipo di partecipante + index: + title: Comitato di sorveglianza + new: + create: Crea + title: Crea membro del comitato di sorveglianza + polling_officers: + create: + invalid: Si è verificato un errore durante la creazione di questa scrutinatrice + success: Scrutinatrice creata con successo + destroy: + invalid: Si è verificato un errore durante l'eliminazione di questa scrutinatrice + success: Scrutinatrice eliminata con successo + form: + existing_user: Partecipante esistente + non_user: Invita un nuovo partecipante + select_user: Cerca per nome, email o pseudonimo + user_type: Tipologia di utente + index: + role_manager: gestori + role_president: presidente/presidentessa + title: Scrutatore/trice + new: + create: Crea + title: Titolo + polling_officers_picker: + choose_polling_officers: Crea responsabile sondaggio + close: Chiudi + more_polling_officers: Ci sono altre %{number} proposte. Affina la tua ricerca per localizzarle. + no_polling_officers: Nessun funzionario di sondaggio corrisponde ai tuoi criteri di ricerca o non c'è alcun funzionario di sondaggio. + polling_stations: + create: + invalid: Si è verificato un errore durante la creazione di stazione di sondaggio + success: Stazione di sondaggio creata con successo + destroy: + invalid: Si è verificato un errore durante l'eliminazione di questa stazione di sondaggio + success: Stazione di sondaggio eliminata con successo + edit: + title: Modifica la stazione di sondaggio + update: Aggiorna la stazione di sondaggio + form: + address_help: 'Indirizzo: usato da Geocoder per trovare la posizione' + location_help: 'Posizione: messaggio diretto agli elettori che implica il luogo esatto del seggi elettorali' + location_hints_help: 'Suggerimenti di posizione: informazioni aggiuntive. Esempio: il piano dell''edificio in cui si trova la stazione elettorale.' + polling_station_managers_help: 'Dirigenti dei sondaggi: i dirigenti che fungeranno da direttori dei seggi elettorali. Assicurarsi che i dirigenti siano già stati creati negli uffici Elettorali e che non siano già assegnati ad un altro seggi elettorali' + polling_station_president_help: 'Dirigente seggio elettorale: il dirigente che agirà come presidente del seggio. Assicurarsi che sia già stato creato in nell''ufficio Elettorale e che non sia già assegnato ad un altro seggio' + select_president: Selezionare un funzionario dell'ufficio come presidente del seggio elettorale + index: + title: Seggio elettorale + new: + create: Crea + title: Crea un seggio per la votazione + update: + invalid: Si è verificato un problema durante l'aggiornamento di questa votazione + success: Stato del voto aggiornato con successo + titles: + votings: Votazioni + votings: + actions: + confirm_destroy: Sei sicuro? + destroy: Elimina + new_voting: Nuovo Spazio Di Votazione + publish: Pubblica + unpublish: Annulla la pubblicazione + create: + invalid: Si è verificato un problema durante la creazione di questa votazione + success: Votazione creata con successo + edit: + add_election_component: Non hai nessuna elezione configurata per questo voto. Si prega di aggiungerla nella sezione Componenti + assign_missing_officers: Ci sono stazioni di sondaggio senza Presidente e/o Manager. Si prega di assegnarle dalla sezione Postazioni di sondaggio + update: Aggiorna + form: + select_a_voting_type: Seleziona un tipo di votazione + title: Titolo + voting_type: + hybrid: Ibrido + in_person: Di persona + online: Online + new: + create: Crea + update: + invalid: Si è verificato un errore durante l'aggiornamento di questa votazione + success: Votazione aggiornata con successo + admin_log: + voting: + create: "%{user_name} ha creato la votazione %{resource_name}" + publish: "%{user_name} ha pubblicato la votazione %{resource_name}" + unpublish: "%{user_name} ha rimosso la votazione %{resource_name}" + content_blocks: + highlighted_votings: + name: Votazioni evidenziate + monitoring_committee_members: + actions: + confirm_destroy: Sei sicura? + destroy: Elimina + new: Nuovo membro + title: Azioni + pages: + home: + highlighted_votings: + active_votings: Votazioni attive + see_all_votings: Vedi tutte le votazioni + votings_button_title: Link alla pagina Votazioni che mostra tutte le votazioni polling_officer_zone: polling_officers: show: @@ -619,10 +807,12 @@ it: polling_stations: list: actions: Azioni + address: Indirizzo name: Nome role: Il tuo ruolo voting: Votazione no_polling_stations: Non sei ancora assegnato a nessun seggio elettorale. + title: Seggi elettorali polling_officers: roles: president: Presidente/Presidentessa diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index d4dff028056e7..fd509aa1416c4 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -75,6 +75,10 @@ ja: manager: マネージャー president: 責任者 unassigned: 未割り当て + search_placeholder: + name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: '%{collection} を名前/メールアドレス/ニックネーム/投票所で検索します。' + ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont + : '%{collection} をタイトル、住所、委員名/メールアドレス/ニックネームで検索します。' components: elections: actions: @@ -92,6 +96,9 @@ ja: edit: 編集 feedback: 投票者からのフィードバック import: 提案を回答にインポート + manage_answers: 回答の管理 + manage_questions: 質問の管理 + manage_steps: ステップの管理 new: 新しい %{name} preview: プレビュー publish: 公開 @@ -114,6 +121,14 @@ ja: new: create: 回答を作成 title: 新しい回答 + select: + disable: 回答の選択を解除 + enable: 回答を選択済みとしてマーク + invalid: 回答を選択する際に問題が発生しました + success: 回答が正常に選択されました + unselect: + invalid: 回答の選択解除中に問題が発生しました + success: 回答が正常に選択されました。 update: invalid: この回答の更新中に問題が発生しました success: 回答が更新されました @@ -141,6 +156,7 @@ ja: invalid: 選挙の更新中に問題が発生しました success: 選挙が正常に更新されました exports: + elections: 選挙 feedback_form_answers: フィードバックフォームの回答 models: answer: @@ -149,6 +165,8 @@ ja: name: 選挙 question: name: 質問 + trustee: + name: 受託者 proposals_imports: create: invalid: 提案を回答にインポートする際に問題が発生しました @@ -157,6 +175,7 @@ ja: create: 提案を回答にインポート no_components: この参加スペースには、回答に提案をインポートするための他の提案コンポーネントはありません。 select_component: コンポーネントを選択してください + title: 提案のインポート questions: create: invalid: この質問を作成中に問題が発生しました @@ -177,15 +196,105 @@ ja: success: 問題が正常に更新されました steps: create_election: + errors: + max_selections: 質問が 回答の数に対して正しくありません + minimum_answers: 質問には 少なくとも2つの回答が必要です + minimum_questions: 選挙には 少なくとも1つの質問が必要です。 + published: 選挙はが 公開されていません 。 + time_before: 開始時刻が、選挙開始まで3時間未満 しかありません。 + trustees_number: 参加スペースには 少なくとも %{number} 人の公開鍵を持つ受託者が必要です。 + invalid: この選挙の設定中に問題が発生しました + no_trustees: この参加スペースに設定された受託者はいません not_used_trustee: "(未使用)" public_key: 'false': 公開鍵がありません 'true': 公開鍵があります + requirements: + max_selections: すべての質問は正しい 回答の最大値 を持っています。 + minimum_answers: 各質問には 少なくとも2つの回答を持ちます。 + minimum_questions: 選挙には 少なくとも1つの質問があります。 + published: 選挙を 公開しました 。 + time_before: 選挙開始の 少なくとも %{hours} 時間前 までに準備を完了させます。 + trustees_number: 参加スペースには 少なくとも %{number} 人の公開鍵を持つ受託者がいます。 + submit: 選挙を設定 + success: 選挙は正常に告示板に送信されました + title: 選挙を設定する + trustees: 選挙受託者 + created: + invalid: キーセレモニーを開始する際に問題が発生しました + submit: キーセレモニーを開始 + success: キーセレモニーの開始リクエストは正常に告示板に送信されました + title: 選挙の作成 + trustees: 受託者 + key_ceremony: + title: キーセレモニー + trustees: 受託者 + key_ceremony_ended: + errors: + time_before: 選挙を開始する準備ができました。投票期間を開始するには、 開始時刻 ( %{start_time}) の%{hours} 時間前まで待つ必要があります。 + invalid: 投票期間開始中に問題が発生しました + requirements: + time_before: 選挙はまもなく開始されます。手動で投票期間を開始するか、開始時刻の %{start_time} より前に自動的に開始されます。 + submit: 投票期間を開始 + success: 投票期間の開始リクエストは正常に告示板に送信されました + title: 開始準備完了 + processing: 処理しています... + results_published: + title: 結果を公開しました + tally: + title: 集計処理 + trustees: 受託者 tally_ended: + submit: 結果を公開 title: 結果を集計しました + vote: + errors: + time_after: 選挙はまだ進行中です。投票期間を終了するには、終了時間(%{end_time})まで待つ必要があります。 + invalid: 投票期間の終了中に問題が発生しました + requirements: + time_after: 選挙は終了しました。投票期間を手動で終了するか、数分で自動的に終了します。 + submit: 投票を終了する + success: 投票期間の終了リクエストは正常に掲示板に送信されました + title: 投票期間 + vote_ended: + invalid: 集計開始中に問題が発生しました + submit: 集計を開始 + success: 集計開始リクエストは正常に掲示板に送信されました + title: 投票期間が終了しました + vote_stats: + no_vote_statistics_yet: まだ投票統計がありません + title: 投票統計 + voters: 投票者 + votes: 投票 + trustees_participatory_spaces: + actions: + disable: 無効 + enable: 検討する + create: + exists: この参加スペースに受託者が存在します + invalid: 受託者の作成中に問題が発生しました + success: 受託者の作成に成功しました + delete: + invalid: 受託者を削除する際に問題が発生しました + success: 受託者を削除しました + form: + select_user: ユーザーを選択 + index: + title: 受託者 + new: + create: 受託者を作成 + title: 新しい受託者 + update: + invalid: 受託者 %{trustee} の更新中に問題が発生しました + success: 受託者 %{trustee} が正常に更新されました admin_log: election: + end_vote: "%{user_name} が告示板で %{resource_name} 選挙の投票期間を終了しました" publish: "%{user_name} が %{resource_name} 選挙を公開しました" + setup: "%{user_name} が告示板に %{resource_name} 選挙を作成しました" + start_key_ceremony: "%{user_name} が告示板で %{resource_name} 選挙の重要なキーセレモニーを開始しました" + start_tally: "%{user_name} が告示板で %{resource_name} 選挙の集計を開始しました" + start_vote: "%{user_name} が告示板の %{resource_name} 選挙の投票期間を開始しました" unpublish: "%{user_name} が %{resource_name} 選挙を非公開にしました" election_m: badge_name: @@ -266,6 +375,30 @@ ja: label: 選挙の順序 older: 古い recent: 新しい + trustee_zone: + elections: + backup_modal: + download_icon: ダウンロードアクションを示すアイコン + title: '%{election} のバックアップ選挙キー' + key_ceremony_steps: + back: 戻る + description: この選挙は、告示板に作成されています。このプロセスを完了するには、受託者としての参加が必要です。 + keys: + create_election: キーの生成 + key_ceremony: + joint_election_key: キーの生成に参加する + step_1: キーの発行 + list: + status: ステータス + task: タスク + process_warning: プロセスが開始された後は、プロセスが終了するまでこのページを終了しないでください。 すべての受託者が連結され完了されるまで、数分かかることがあります。 + start: 開始 + start_icon: アイコンは、選挙キーの生成を開始するための開始ボタンを示します + status: + completed: 完了 + pending: 保留中 + processing: 処理中 + title: '%{election} の選挙用キーを作成' votes: confirm: answer: 回答 diff --git a/decidim-elections/config/locales/pl.yml b/decidim-elections/config/locales/pl.yml index 7ae13bb146690..dfaa63d50bd7b 100644 --- a/decidim-elections/config/locales/pl.yml +++ b/decidim-elections/config/locales/pl.yml @@ -55,9 +55,9 @@ pl: many: Odpowiedzi other: Odpowiedzi decidim/elections/election: - one: Wybór - few: Wybory - many: Wybory + one: Wybory + few: Wyborów + many: Wyborów other: Wybory decidim/elections/question: one: Pytanie @@ -68,7 +68,7 @@ pl: one: Oficer wyborczy few: Oficerów wyborczych many: Oficerów wyborczych - other: Oficerzy wyborczy + other: Oficerowie wyborczy decidim/votings/polling_station: one: Lokal wyborczy few: Lokale wyborcze @@ -155,52 +155,52 @@ pl: invalid: Wystąpił błąd podczas tworzenia wyborów success: Wybory zostały pomyślnie utworzone destroy: - invalid: Wystąpił błąd podczas usuwania wyboru - success: Wybór został usunięty + invalid: Wystąpił błąd podczas usuwania wyborów + success: Wybory zostały pomyślnie usunięte edit: - title: Edytuj wybór - update: Aktualizuj wybór + title: Edytuj wybory + update: Aktualizuj wybory index: - no_bulletin_board: Brak skonfigurowanego serwera tablicy ogłoszeń, który jest potrzebny do korzystania z tego modułu. Zadanie to powinno być wykonane przez administratora systemu. + no_bulletin_board: Brak skonfigurowanego serwera tablicy danych wyborczych, który jest potrzebny do korzystania z tego modułu. Zadanie to powinno być wykonane przez administratora systemu. title: Wybory new: - create: Utwórz wybór - title: Nowy wybór + create: Utwórz wybory + title: Nowe wybory publish: - success: Wybór został opublikowany. + success: Wybory zostały pomyślnie opublikowane. unpublish: - success: Cofnięto publikacje wyboru. + success: Cofnięto publikacje wyborów. update: - invalid: Wystąpił błąd podczas aktualizowania wyboru - success: Wybór zostały zaktualizowany + invalid: Wystąpił błąd podczas aktualizowania wyborów + success: Wybory zostały pomyślnie zaktualizowane exports: elections: Wybory - feedback_form_answers: Informacja zwrotna z odpowiedzi + feedback_form_answers: Odpowiedzi zebrane z formularza models: answer: name: Odpowiedź election: - name: Wybór + name: Wybory question: name: Pytanie trustee: - name: Powiernik + name: Mąż (osoba) zaufania proposals_imports: create: - invalid: Wystąpił błąd podczas importowania propozycji do odpowiedzi + invalid: Wystąpił problem podczas importowania propozycji do odpowiedzi success: "Liczba propozycji pomyślnie zaimportowanych do odpowiedzi: %{number}" new: create: Importuj propozycje do odpowiedzi - no_components: W tej przestrzeni partycypacyjnej nie ma żadnych innych komponentów propozycji żeby zaimportować propozycje do odpowiedzi. + no_components: W tej przestrzeni partycypacyjnej nie ma już żadnych innych komponentów propozycji do zaimportowania do odpowiedzi. select_component: Wybierz komponent title: Importuj propozycje questions: create: invalid: Wystąpił błąd podczas tworzenia pytania - success: Pytanie zostało utworzone + success: Pytanie zostało pomyślnie utworzone destroy: invalid: Wystąpił błąd podczas usuwania pytania - success: Pytanie zostało usunięte + success: Pytanie zostało pomyślnie usunięte edit: title: Edytuj pytanie update: Zaktualizuj pytanie @@ -211,113 +211,113 @@ pl: title: Nowe pytanie update: invalid: Wystąpił błąd podczas aktualizowania tego pytania - success: Pytanie zostało zaktualizowane + success: Pytanie zostało pomyślnie zaktualizowane steps: create_election: errors: - max_selections: Pytania nie mają poprawnej wartości dla ilości odpowiedzi + max_selections: Maksymalna liczba opcji do wybrania nie jest odpowiednia do pytania minimum_answers: Pytania muszą mieć co najmniej dwie odpowiedzi. minimum_questions: Wybory muszą mieć co najmniej jedno pytanie. published: Wybory nie zostały opublikowane. time_before: Godzina rozpoczęcia jest mniej niż 3 godziny przed rozpoczęciem wyborów. - trustees_number: Przestrzeń partycypacyjna musi mieć co najmniej %{number} powierników z kluczem publicznym. + trustees_number: Przestrzeń partycypacyjna musi mieć co najmniej %{number} mężów (osób) zaufania z kluczem publicznym. invalid: Wystąpił problem z konfiguracją tych wyborów - no_trustees: Nie ma powierników dla tej przestrzeni partycypacyjnej + no_trustees: Nie skonfigurowano mężów (osób) zaufania dla tej przestrzeni partycypacyjnej not_used_trustee: "(nieużywane)" public_key: 'false': nie posiada klucza publicznego 'true': posiada klucz publiczny requirements: - max_selections: Wszystkie pytania mają poprawną wartość dla maksymalnej liczby odpowiedzi. + max_selections: Maksymalna liczby opcji do wybrania jest odpowiednia dla wszystkich pytań. minimum_answers: Pytania muszą mieć co najmniej dwie odpowiedzi. minimum_questions: Wybory muszą mieć co najmniej jedno pytanie. published: Wybory zostały opublikowane. time_before: Konfiguracja odbywa się co najmniej %{hours} godzin(y) przed rozpoczęciem wyborów. - trustees_number: Przestrzeń partycypacyjna musi mieć co najmniej %{number} powierników z kluczem publicznym. - submit: Ustawienia wyborów - success: Wybory wysłano do tablicy ogłoszeń - title: Ustawienia wyborów - trustees: Powiernicy wyborczy + trustees_number: Przestrzeń partycypacyjna musi mieć co najmniej %{number} mężów (osób) zaufania z kluczem publicznym. + submit: Ustaw wybory + success: Wybory pomyślnie wysłano do tablicy danych wyborczych + title: Skonfiguruj wybory + trustees: Mężowie (osoby) zaufania created: - invalid: Wystąpił błąd podczas próby rozpoczęcia głównego wydarzenia - submit: Rozpocznij główne wydarzenie - success: Prośba o rozpoczęcie wydarzenia głównego została umieszczona na tablicy ogłoszeń + invalid: Wystąpił błąd przy rozpoczęciu "ceremonii kluczy" + submit: Rozpocznij "ceremonię kluczy" + success: Prośba o rozpoczęcie "ceremonii kluczy" została przesłana do Tablicy danych wyborczych title: Utworzono wybory - trustees: Powiernicy + trustees: Mężowie (osoby) zaufania key_ceremony: - title: Główne wydarzenie - trustees: Powiernicy + title: '"Ceremonia kluczy"' + trustees: Mężowie (osoby) zaufania key_ceremony_ended: errors: - time_before: Wybory są przygotowane. Musisz poczekać do %{hours} godzin(y) przed czasem rozpoczęcia (%{start_time}), aby rozpocząć głosowanie. + time_before: Wybory są gotowe do otwarcia. Aby rozpocząć głosowanie musisz poczekać do %{hours} godzin(y) przed czasem rozpoczęcia (%{start_time}). invalid: Wystąpił błąd podczas otwierania głosowania requirements: time_before: Wybory rozpoczną się wkrótce. Możesz otworzyć głosowanie ręcznie lub rozpocznie się ono automatycznie przed godziną rozpoczęcia o %{start_time}. - submit: Rozpocznij głosowanie - success: Prośba o rozpoczęcie głosowania została pomyślnie umieszczona na tablicy ogłoszeń - title: Gotowy do startu + submit: Otwórz głosowanie + success: Prośba o otwarcie głosowania została pomyślnie przesłana do Tablicy danych wyborczych + title: Gotowe do rozpoczęcia processing: Przetwarzanie... results_published: title: Opublikowano wyniki tally: - title: Podsumowanie procesu - trustees: Powiernicy + title: Ustalenie wyniku głosowania + trustees: Mężowie (osoby) zaufania tally_ended: - submit: Publikuj wyniki + submit: Opublikuj wyniki title: Kalkulacja wyników vote: errors: time_after: Wybory nadal trwają. Musisz poczekać do daty zakończenia (%{end_time}) aby zamknąć głosowanie. invalid: Wystąpił błąd podczas zamykania głosowania requirements: - time_after: Wybory zakończyły się. Możesz manualnie zakończyć głosowanie lub zostanie ono automatycznie zakończone za kilka minut. - submit: Zakończ głosowanie - success: Prośba o zakończenie głosowania została pomyślnie umieszczona na tablicy ogłoszeń + time_after: Wybory zakończyły się. Możesz ręcznie zamknąć głosowanie lub zostanie ono automatycznie zamknięte za kilka minut. + submit: Zamknij głosowanie + success: Prośba o zamknięcie głosowania została pomyślnie przesłana na Tablicy danych wyborczych title: Czas głosowania vote_ended: - invalid: Wystąpił błąd podczas próby rozpoczęcia podsumowania - submit: Rozpocznij podsumowanie - success: Prośba o rozpoczęcie podsumowywania została pomyślnie umieszczona na tablicy ogłoszeń + invalid: Wystąpił błąd przy rozpoczęciu liczenia głosów + submit: Ustal wynik głosowania + success: Prośba o rozpoczęcie liczenia głosów została pomyślnie przesłana do Tablicy danych wyborczych title: Czas głosowania zakończony vote_stats: no_vote_statistics_yet: Brak statystyk głosowania title: Statystyki głosowania - voters: Głosujący + voters: Wyborcy votes: Głosy trustees_participatory_spaces: actions: disable: Wyłącz enable: Rozważ create: - exists: Istnieją powiernicy dla tej przestrzeni partycypacyjnej - invalid: Podczas tworzenia powiernika wystąpił błąd - success: Powiernik został utworzony + exists: Istnieje mąż (osoba) zaufania dla tej przestrzeni partycypacyjnej + invalid: Podczas tworzenia męża (osoby) zaufania wystąpił błąd + success: Mąż (osoba) zaufania został utworzony delete: - invalid: Wystąpił błąd podczas usuwania powiernika - success: Powiernik został usunięty + invalid: Wystąpił błąd podczas usuwania męża (osoby) zaufania + success: Mąż (osoba) zaufania został usunięty form: select_user: Wybierz użytkownika index: - title: Powiernicy + title: Mężowie (osoby) zaufania new: - create: Utwórz powiernika - title: Nowy powiernik + create: Utwórz męża (osobę) zaufania + title: Nowy mąż (osoba) zaufania update: - invalid: Podczas aktualizacji %{trustee} wystąpił błąd - success: Powiernik %{trustee} został zaktualizowany + invalid: Podczas aktualizacji męża (osoby) zaufania %{trustee} wystąpił błąd + success: Mąż (osoba) zaufania %{trustee} został pomyślnie zaktualizowany admin_log: election: - end_vote: "%{user_name} zakończył(a) głosowanie w wyborach %{resource_name} na tablicy ogłoszeń" - publish: "%{user_name} opublikował(a) wybór %{resource_name}" - setup: "%{user_name} dodał wybory %{resource_name} na tablicy ogłoszeń" - start_key_ceremony: "%{user_name} rozpoczął/rozpoczęła główne wydarzenie w wyborach %{resource_name} na tablicy ogłoszeń" - start_tally: "%{user_name} rozpoczął podsumowywanie wyborów %{resource_name} na tablicy ogłoszeń" - start_vote: "%{user_name} rozpoczął/rozpoczęła głosowanie w wyborach %{resource_name} na tablicy ogłoszeń" - unpublish: "%{user_name} cofnął/cofnęła publikację wyboru %{resource_name}" + end_vote: "%{user_name} zamknął(ła) głosowanie w wyborach %{resource_name} na Tablicy danych wyborczych" + publish: "%{user_name} opublikował(a) wybory %{resource_name}" + setup: "%{user_name} utworzył wybory %{resource_name} na Tablicy danych wyborczych" + start_key_ceremony: "%{user_name} rozpoczął/rozpoczęła \"ceremonię kluczy\" w wyborach %{resource_name} na Tablicy danych wyborczych" + start_tally: "%{user_name} rozpoczął proces liczenia głosów %{resource_name} na Tablicy danych wyborczych" + start_vote: "%{user_name} otworzył/otwarła głosowanie w wyborach %{resource_name} na Tablicy danych wyborczych" + unpublish: "%{user_name} cofnął/cofnęła publikację wyborów %{resource_name}" election_m: badge_name: finished: Zakończone - ongoing: Aktualne + ongoing: Aktywne upcoming: Nadchodzące end_date: Data zakończenia footer: @@ -331,12 +331,12 @@ pl: elections: count: elections_count: - one: "%{count} wybór" - few: "%{count} wybory" - many: "%{count} wybory" + one: "%{count} wybory" + few: "%{count} wyborów" + many: "%{count} wyborów" other: "%{count} wybory" filters: - active: Aktualne + active: Aktywne all: Wszystkie finished: Zakończone search: Szukaj @@ -374,14 +374,14 @@ pl: verify-here: Sprawdź swój głos tutaj. will-verify: Po rozpoczęciu wyborów będziesz mógł zweryfikować swój głos. voting_period_status: - finished: Głosowanie rozpoczęło się %{start_time} i zakończyło %{end_time} + finished: Głosowanie rozpoczęło się %{start_time} i zakończyło się %{end_time} ongoing: 'Głosowanie aktywne do: %{end_time}' upcoming: Głosowanie rozpoczyna się %{start_time} feedback: answer: invalid: Wystąpił błąd podczas wysyłania Twojej informacji zwrotnej. spam_detected: Wystąpił błąd podczas wypełniania formularza. Być może zostało to zrobione zbyt szybko, czy możesz spróbować ponownie? - success: Wiadomość zwrotna została wysłana. + success: Opinia została wysłana. models: answer: fields: @@ -389,86 +389,86 @@ pl: title: Tytuł election: fields: - bb_status: Status tablicy ogłoszeń - end_time: Kończy się - start_time: Zaczyna się + bb_status: Status Tablicy danych wyborczych + end_time: Koniec o + start_time: Zaczyna się o title: Tytuł question: fields: answers: Odpowiedzi - max_selections: Maks. liczba opcji do zaznaczenia + max_selections: Maks. liczba opcji do wybrania title: Tytuł trustees_participatory_space: fields: - considered: rozważane + considered: uznany email: E-mail inactive: nieaktywne name: Imię - notification: Wysłano powiadomienie + notification: Wysłano powiadomienie o public_key: Klucz publiczny status: Status orders: - label: Sortuj według + label: Sortuj wybory według older: Najstarsze recent: Najnowsze trustee_zone: elections: backup_modal: - description: Te wybory są tworzone na tablicy ogłoszeń. Każdy przypisanych do nich powiernik powinien stworzyć kopię zapasową kluczy i przechowywał je w bezpiecznym miejscu. Po wykonaniu tego, proces będzie kontynuowany. + description: Te wybory są tworzone na Tablicy danych wyborczych. Każdy przypisany do niej mąż (osoba) zaufania powinien stworzyć kopię zapasową kluczy i przechowywać je w bezpiecznym miejscu. Po tym, proces będzie kontynuowany. download_election_keys: Pobierz klucze download_icon: Ikona wskazująca akcję pobierania title: Kopia zapasowa kluczy dla głosowania %{election} key_ceremony_steps: back: Wróć - description: Te wybory są tworzone na tablicy ogłoszeń. Aby zakończyć ten proces wymaga się twojego uczestnictwa jako powiernika. + description: Te wybory są tworzone na Tablicy danych wyborczych. Aby zakończyć ten proces potrzebny jest Twój udział jako męża (osoby) zaufania. keys: create_election: Generowanie kluczy key_ceremony: - joint_election_key: Wspólna generacja kluczy + joint_election_key: Wspólna tworzenie kluczy step_1: Publikowanie kluczy list: status: Status task: Zadanie - process_warning: Po rozpoczęciu procesu, nie powinieneś opuszczać tej strony do czasu jego zakończenia. Zajmie to kilka minut, ponieważ wszyscy powiernicy powinni być podłączeni w celu jego ukończenia. + process_warning: Po rozpoczęciu procesu, nie powinieneś opuszczać tej strony do czasu jego zakończenia. Zajmie to kilka minut, ponieważ wszyscy mężowie (osoby) zaufania powinni być podłączeni w celu jego ukończenia. start: Rozpocznij - start_icon: Ikona wskazująca przycisk startu dla generowania kluczy wyborczych + start_icon: Ikona wskazująca przycisk startu dla tworzenia kluczy wyborczych status: completed: Zakończono pending: Oczekujące processing: Przetwarzanie - title: Wygeneruj klucze dla wyborów %{election} + title: Utwórz klucze dla wyborów %{election} restore_modal: - description: Tablica ogłoszeń posiada informacje od Ciebie jako powiernika w tych wyborach. Aby kontynuować proces, najpierw wgraj plik kopii zapasowej wygenerowany podczas poprzedniej sesji. - title: Odzyskaj klucze dla wyborów %{election} + description: Tablica danych wyborczych posiada informacje od Ciebie jako męża (osoby) zaufania w tych wyborach. Aby kontynuować proces, najpierw wgraj plik kopii zapasowej wygenerowany podczas poprzedniej sesji. + title: Przywróć klucze dla wyborów %{election} upload_election_keys: Prześlij klucze wyborcze upload_icon: Ikona wskazująca akcję pobierania tally_steps: back: Wróć - description: Wyniki tego głosowania są generowane na tablicy ogłoszeń. Aby zakończyć ten proces niezbędne jest twoje uczestnictwo jako powiernika. + description: Wyniki tego głosowania są generowane na Tablicy danych wyborczych. Aby zakończyć ten proces niezbędne jest twoje uczestnictwo jako męża (osoby) zaufania. keys: - end_tally: Zakończono podsumowywanie + end_tally: Zakończono proces ustalania wyniku głosowania tally: - cast: Zliczanie danych - share: Udostępnij podsumowanie + cast: Suma oddanych głosów + share: Udostępnij ustalony wynik głosowania list: status: Status task: Zadanie - process_warning: Po rozpoczęciu procesu, nie powinieneś opuszczać tej strony do czasu jego zakończenia. Zajmie to kilka minut, ponieważ wszyscy powiernicy powinni być podłączeni w celu jego ukończenia. + process_warning: Po rozpoczęciu procesu, nie powinieneś opuszczać tej strony do czasu jego zakończenia. Zajmie to kilka minut, ponieważ wszyscy mężowie (osoby) zaufania powinni być podłączeni w celu jego ukończenia. start: Rozpocznij - start_icon: Ikona wskazująca przycisk startu dla generowania kluczy wyborczych + start_icon: Ikona wskazująca przycisk startu dla tworzenia kluczy wyborczych status: completed: Zakończono pending: Oczekujące processing: Przetwarzanie - title: Podsumowanie %{election} + title: Wynik głosowania dla %{election} update: error: Status wyborów nie został zaktualizowany. success: 'Status wyborów to: %{status}' menu: - trustee_zone: Strefa powierników + trustee_zone: Strefa mężów (osób) zaufania no_bulletin_board: - body: Ta sekcja wymaga skonfigurowania tablicy ogłoszeń. Aby uzyskać więcej informacji, skontaktuj się z administratorem. - title: Przykro nam, tablica ogłoszeń nie została jeszcze skonfigurowana. + body: Ta sekcja wymaga uprzedniego skonfigurowania Tablicy danych wyborczych. Aby uzyskać więcej informacji, skontaktuj się z administratorem. + title: Przykro nam, Tablica danych wyborczych nie została jeszcze skonfigurowana. trustees: show: elections: @@ -480,50 +480,50 @@ pl: bb_status: Status election: Wybory voting_period: Czas głosowania - no_elections: Nie ma głosowań, w których pełnisz rolę powiernika. + no_elections: Nie ma głosowań, w których pełnisz rolę męża (osoby) zaufania. title: Wybory identification_keys: cancel: Anuluj - generate: Generuj klucze identyfikacyjne - generate_error: Wystąpił błąd podczas generowania kluczy identyfikacyjnych. - generate_legend: Musisz wygenerować parę kluczy identyfikacyjnych do udziału w głosowaniu jako powiernik. - generate_legend_1: Po kliknięciu przycisku powinieneś pobrać plik z wygenerowanymi kluczami identyfikacyjnymi. - generate_legend_2: Skopiuj pobrany plik na czyste urządzenia USB + generate: Utwórz klucze identyfikacyjne + generate_error: Wystąpił błąd podczas tworzenia kluczy identyfikacyjnych. + generate_legend: Musisz utworzyć parę kluczy identyfikacyjnych do udziału w głosowaniu jako mąż (osoba) zaufania. + generate_legend_1: Po kliknięciu przycisku powinieneś pobrać plik z utworzonymi kluczami identyfikacyjnymi. + generate_legend_2: Skopiuj pobrany plik na puste urządzenia USB generate_legend_3: Upewnij się, że Twój komputer nie ma kopii pliku (np. sprawdź foldery Pobrane i Pulpit). generate_legend_4: Utwórz kolejną kopię pliku na innym urządzeniu zewnętrznym i przechowuj go w bezpiecznym miejscu. submit: Prześlij submit_legend: Po wykonaniu wszystkich opisanych wyżej kroków, zakończ proces wysyłania publicznego klucza identyfikacyjnego na serwer Decidim. submit_title: Prześlij publiczny klucz identyfikacyjny - title: Klucze identyfikacyjne powiernika + title: Klucze identyfikacyjne męża (osoby) zaufania upload: Prześlij swoje klucze identyfikacyjne upload_error: invalid_format: Wgrany plik nie zawiera żadnego klucza identyfikacyjnego. invalid_key: Nie można załadować kluczy identyfikacyjnych z przesłanego pliku. invalid_public_key: Klucze identyfikacyjne z przesłanego pliku nie pasują do publicznego klucza identyfikacyjnego przechowywanego przez Decidim. - upload_legend: Decidim posiada twoje publiczne klucze identyfikacyjne, ale Twoja przeglądarka nadal nie ma tych kluczy. Musisz zaimportować plik z kluczami identyfikacyjnymi do komputera z kopii zapasowej, którą utworzyłeś po ich wygenerowaniu. - not_supported_browser_description: Wygląda na to, że używasz przeglądarki internetowej, która nie może być użyta do działań Powiernika. Upewnij się, że używasz najnowszej wersji przeglądarki, lub spróbuj użyć dowolnej z najpopularniejszych przeglądarek, aby móc wykonać zadania Powiernicze. - not_supported_browser_title: Aktualizuj przeglądarkę by działać jako powiernik - trustee_role_description: Zostałeś wyznaczony na powiernika w niektórych głosowaniach na tej platformie. + upload_legend: Decidim posiada twoje publiczne klucze identyfikacyjne, ale Twoja przeglądarka nadal nie ma tych kluczy. Musisz zaimportować plik z kluczami identyfikacyjnymi do komputera z kopii zapasowej, którą utworzyłeś po ich utworzeniu. + not_supported_browser_description: Wygląda na to, że używasz przeglądarki internetowej, która nie może być użyta do działań męża (osoby) zaufania. Upewnij się, że używasz najnowszej wersji przeglądarki, lub spróbuj użyć dowolnej z najpopularniejszych przeglądarek, aby móc wykonać zadania męża (osoby) zaufania. + not_supported_browser_title: Aktualizuj przeglądarkę by działać jako mąż (osoba) zaufania + trustee_role_description: Zostałeś powołany do pełnienia funkcji męża (osoby) zaufania w niektórych głosowaniach na tej platformie. update: success: Twój publiczny klucz identyfikacyjny został zapisany. votes: confirm: answer: Odpowiedz - answer_number: odpowiedź %{number} + answer_number: odpowiedz %{number} confirm: Potwierdź edit: edytuj header: Potwierdź swój głos intro: Oto podsumowanie głosu, który zamierzasz oddać.
    Proszę potwierdzić swój głos lub edytuj swoje odpowiedzi. - nota_option: Puste + nota_option: Pusty question: Pytanie %{count} confirmed: - back: Powrót do wyborów + back: Wróć do wyborów error: Przepraszamy, wystąpił błąd podczas potwierdza głosu. Proszę zagłosować ponownie. - experience: Jak oceniasz to przeprowadzony proces? + experience: Jak oceniasz proces głosowania? feedback: Podziel się z nami swoją opinią header: Oddanie głosu potwierdzone lead: Twój głos został już wysłany! - text: 'Możesz sprawdzić, czy Twój głos został pomyślnie dodany do skrzynki wyborczej z następującym identyfikatorem: %{e_vote_poll_id}' + text: 'Możesz sprawdzić, czy Twój głos został pomyślnie dodany do urny wyborczej z następującym identyfikatorem: %{e_vote_poll_id}' verify_link: Aby sprawdzić, skopiuj identyfikator i wklej go na stronie weryfikacji głosowania encrypting: header: Kodowanie głosu... @@ -534,10 +534,10 @@ pl: text: Coś poszło nie tak. Spróbuj ponownie. header: confirm: Potwierdź swój głos - confirmed: Głosowanie potwierdzone + confirmed: Głos potwierdzony encrypting: Potwierdzanie głosu messages: - not_allowed: W tej chwili nie wolno Ci głosować na ten wybór. + not_allowed: W tej chwili nie wolno Ci głosować w tych wyborach. modal: close: Zamknij proposal_header: 'Propozycje:' @@ -562,7 +562,7 @@ pl: header: Nie znaleziono głosu! info: Kod głosu nie został znaleziony na urnie wyborczej %{link}, spróbuj ponownie. form: - back: Powrót do Decidim + back: Wróć do Decidim submit: Sprawdź vote_identifier: 'Kod identyfikacyjny:' header: @@ -572,28 +572,28 @@ pl: info: Twój zaszyfrowany głos jest w urnie wyborczej %{link} voting_step: back: Wróć - continue: Następny + continue: Dalej warnings: no_elections_warning: Brak wyborów spełniających kryteria wyszukiwania lub nie ma żadnych zaplanowanych wyborów. - no_scheduled_elections_warning: Obecnie nie ma żadnych zaplanowanych wyborów, ale możesz zobaczyć wszystkie przeszłe. + no_scheduled_elections_warning: Obecnie nie ma żadnych zaplanowanych wyborów, ale możesz zobaczyć wszystkie zakończone już wybory. events: elections: election_published: - email_intro: 'Wybór %{resource_title} jest teraz aktywny w %{participatory_space_title}. Możesz go zobaczyć na tej stronie:' - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz %{participatory_space_title}. Możesz przestać otrzymywać powiadomienia po kliknięciu w poprzedni link. - email_subject: Wybór %{resource_title} jest teraz aktywny w %{participatory_space_title}. - notification_title: Wybór %{resource_title} jest teraz aktywny w %{participatory_space_title}. + email_intro: 'Wybory %{resource_title} są teraz aktywne w %{participatory_space_title}. Możesz je zobaczyć na tej stronie:' + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz %{participatory_space_title}. Możesz wyłączyć powiadomienia po kliknięciu w powyższy link. + email_subject: Wybory %{resource_title} są teraz aktywne dla %{participatory_space_title}. + notification_title: Wybory %{resource_title} są teraz aktywne dla %{participatory_space_title}. trustees: new_election: - email_intro: Zostałeś dodany jako powiernik do głosowania %{resource_title}. - email_outro: Otrzymujesz to powiadomienie ponieważ zostałeś powołany na powiernika w głosowaniu %{resource_title}”. - email_subject: Jesteś powiernikiem w głosowaniu %{resource_title}. - notification_title: Jesteś powiernikiem w głosowaniu %{resource_title}. + email_intro: Zostałeś powołany do pełnienia funkcji męża (osoby) zaufania do głosowania %{resource_title}. + email_outro: Otrzymujesz to powiadomienie ponieważ zostałeś powołany do pełnienia funkcji męża (osoby) zaufania w głosowaniu %{resource_title}”. + email_subject: Jesteś mężem (osobą) zaufania w głosowaniu %{resource_title}.. + notification_title: Jesteś mężem (osobą) zaufania w głosowaniu %{resource_title}. new_trustee: - email_intro: Administrator ustanowił Cię powiernikiem w %{resource_name}. Powinieneś utworzyć klucz publiczny w strefie powiernika - email_outro: Otrzymujesz to powiadomienie ponieważ zostałeś powołany na powiernika w %{resource_name}”. - email_subject: Jesteś powiernikiem w %{resource_name}. - notification_title: Jesteś powiernikiem w %{resource_name}. + email_intro: Administrator ustanowił Cię mężem (osobą) zaufania w %{resource_name}. Powinieneś utworzyć klucz publiczny w strefie osób zaufania + email_outro: Otrzymujesz to powiadomienie ponieważ zostałeś powołany do pełnienia funkcji męża (osoby) zaufania w %{resource_name}”. + email_subject: Jesteś mężem (osobą) zaufania w %{resource_name}. + notification_title: Jesteś mężem (osobą) zaufania w %{resource_name}. votes: accepted_votes: email_intro: 'Twój głos został zaakceptowany! Używając tokenu głosowania: %{encrypted_vote_hash}, możesz zweryfikować swój głos tutaj.' @@ -610,8 +610,8 @@ pl: help: participatory_spaces: votings: - contextual: "

    Głosowanie jest przestrzenią, która pozwala na zadawanie pytani wszystkim użytkownikom organizacji, poinformuj o możliwości uczestnictwa w głosowaniu, załóż i poprowadź debatę za lub przeciw odpowiedziom. Gdy data głosowania nadejdzie, możesz oddać głos i opublikować rezultaty głosowania.

    Przykłady: Glosowania mogą dotyczyć niemal każdej rzeczy którą zajmuje się organizacja: przykładami są zmiana nazwy i logo organizacji po przedstawieniu kilku propozycji, decydowanie Tak lub Nie w kwestii dołączenia do większej organizacji, akceptacja lub odrzucenie planów strategicznych lub wyników pracy grup lub określenie, czy stanowiska powinny wynosić maksymalnie 1, 2, czy 3 mandatów.

    \n" - page: "

    Głosowanie jest przestrzenią, która pozwala na zadawanie pytani wszystkim użytkownikom organizacji, poinformuj o możliwości uczestnictwa w głosowaniu, załóż i poprowadź debatę za lub przeciw odpowiedziom. Gdy data głosowania nadejdzie, możesz oddać głos i opublikować rezultaty głosowania.

    Przykłady: Glosowania mogą dotyczyć niemal każdej rzeczy którą zajmuje się organizacja: przykładami są zmiana nazwy i logo organizacji po przedstawieniu kilku propozycji, decydowanie Tak lub Nie w kwestii dołączenia do większej organizacji, akceptacja lub odrzucenie planów strategicznych lub wyników pracy grup lub określenie, czy stanowiska powinny wynosić maksymalnie 1, 2, czy 3 mandatów.

    \n" + contextual: "

    Głosowanie jest przestrzenią, która pozwala na zadawanie pytań wszystkim użytkownikom organizacji, poinformuj o możliwości uczestnictwa w głosowaniu, rozpocznij i poprowadź debatę za lub przeciw. Gdy data głosowania nadejdzie, możesz oddać głos i opublikować rezultaty głosowania.

    Przykłady: Glosowania mogą dotyczyć niemal każdej rzeczy którą zajmuje się organizacja: przykładami są zmiana nazwy i logo organizacji po przedstawieniu kilku propozycji, decydowanie Tak lub Nie w kwestii dołączenia do większej organizacji, akceptacja lub odrzucenie planów strategicznych lub wyników pracy grup lub określenie, czy stanowiska w organizacji powinny wynosić maksymalnie 1, 2, czy 3 mandaty.

    \n" + page: "

    Głosowanie jest przestrzenią, która pozwala na zadawanie pytań wszystkim użytkownikom organizacji, poinformuj o możliwości uczestnictwa w głosowaniu, rozpocznij i poprowadź debatę za lub przeciw. Gdy data głosowania nadejdzie, możesz oddać głos i opublikować rezultaty głosowania.

    Przykłady: Glosowania mogą dotyczyć niemal każdej rzeczy którą zajmuje się organizacja: przykładami są zmiana nazwy i logo organizacji po przedstawieniu kilku propozycji, decydowanie Tak lub Nie w kwestii dołączenia do większej organizacji, akceptacja lub odrzucenie planów strategicznych lub wyników pracy grup lub określenie, czy stanowiska w organizacji powinny wynosić maksymalnie 1, 2, czy 3 mandaty.

    \n" title: Czym są głosowania? menu: votings: Głosowania @@ -633,19 +633,19 @@ pl: description: name: Opis głosowania elections: - name: Wybory do głosowania + name: Wybory header: name: Nagłówek głosowania html_block_1: - name: 1 blok html głosowania + name: Pierwszy blok html głosowania html_block_2: - name: 2 blok html głosowania + name: Drugi blok html głosowania html_block_3: - name: 3 blok html głosowania + name: Trzeci blok html głosowania metrics: - name: Metryki głosowania + name: Metryka głosowania polling_stations: - name: Lokal wyborczy głosowania + name: Lokale wyborcze stats: name: Statystyki głosowania timeline: @@ -668,16 +668,16 @@ pl: attachments: Załączniki components: Komponenty info: Informacje - landing_page: Strona docelowa + landing_page: Strona Startowa monitoring_committee_members: Komisja monitorująca - polling_officers: Oficerzy wyborczy + polling_officers: Oficerowie wyborczy polling_stations: Lokale wyborcze models: monitoring_committee_member: fields: email: Adres e-mail name: Imię - name: Członek komisji monitorującej + name: Członek Komisji Wyborczej polling_officer: fields: email: Adres e-mail @@ -699,21 +699,21 @@ pl: title: Tytuł monitoring_committee_members: create: - invalid: Wystąpił błąd podczas tworzenia członka komisji monitorującej - success: Utworzono członka komisji monitorującej + invalid: Wystąpił błąd podczas tworzenia członka Komisji Wyborczej + success: Utworzono członka Komisji Wyborczej destroy: - invalid: Podczas usuwania członka komisji monitorującej wystąpił błąd - success: Usunięto członka komisji monitorującej + invalid: Podczas usuwania członka Komisji Wyborczej wystąpił błąd + success: Usunięto członka Komisji Wyborczej form: existing_user: Istniejący użytkownik non_user: Zaproś użytkownika select_user: Przeszukaj według adresu e-mail, imienia lub nazwy użytkownika user_type: Typ użytkownika index: - title: Komisja monitorująca + title: Komisja Wyborcza new: create: Utwórz - title: Dodaj członka komisji monitorującej + title: Dodaj członka Komisji Wyborczej polling_officers: create: invalid: Przy tworzeniu oficera wyborczego wystąpił błąd @@ -732,11 +732,11 @@ pl: title: Oficerowie wyborczy new: create: Utwórz - title: Utwórz oficer wyborczy + title: Utwórz oficera wyborczego polling_officers_picker: choose_polling_officers: Wybierz oficerów wyborczych close: Zamknij - more_polling_officers: Jest %{number} oficerów wyborczych. Doprecyzuj kryteria wyszukiwania, aby ich zlokalizować. + more_polling_officers: Jest jeszcze %{number} więcej oficerów wyborczych. Doprecyzuj kryteria wyszukiwania, aby ich zlokalizować. no_polling_officers: Brak oficerów wyborczych spełniających kryteria wyszukiwania lub nie ma żadnego oficera wyborczego. polling_stations: create: @@ -752,9 +752,9 @@ pl: address_help: 'Adres: używany przez Geocoder do znalezienia lokalizacji' location_help: 'Lokalizacja: wiadomość kierowana do wyborców wskazująca dokładne miejsce lokalu wyborczego' location_hints_help: 'Wskazówki dotyczące lokalizacji. Przykład: piętro budynku, w którym znajduje się lokal wyborczy.' - polling_station_managers_help: 'Kierownicy lokali wyborczych: oficerowie pełniący funkcję kierowników lokali wyborczej. Upewnij się, że oficerowie zostali już powołani na oficerów wyborczych i że nie zostali jeszcze przydzieleni do innego lokalu wyborczego' - polling_station_president_help: 'Przewodniczący lokalu wyborczego: oficer pełniący funkcję przewodniczącego lokalu wyborczego. Upewnij się, że oficer zostali już powołany na oficera wyborczego i że nie został jeszcze przydzielony do innego lokalu wyborczego' - select_president: Wybierz oficera wyborczego na przewodniczącego lokalu wyborczego + polling_station_managers_help: 'Kierownicy lokali wyborczych: oficerowie pełniący funkcję kierowników lokali wyborczej. Upewnij się, że te osoby zostały już powołane na oficerów wyborczych i że nie zostały jeszcze przydzielone do innego lokalu wyborczego' + polling_station_president_help: 'Przewodniczący lokalu wyborczego: oficer pełniący funkcję przewodniczącego lokalu wyborczego. Upewnij się, że ta osoba została już powołana na oficera wyborczego i że nie została jeszcze przydzielona do innego lokalu wyborczego' + select_president: Wybierz przewodniczącego lokalu wyborczego spośród oficerów wyborczych index: title: Lokale wyborcze new: @@ -785,7 +785,7 @@ pl: title: Tytuł voting_type: hybrid: Hybrydowe - in_person: Osobiście + in_person: Osobiste online: Online new: create: Utwórz @@ -816,7 +816,7 @@ pl: highlighted_votings: active_votings: Aktywne głosowania see_all_votings: Zobacz wszystkie głosowania - votings_button_title: Link do strony Głosowań wyświetla wszystkie głosy + votings_button_title: Link do strony Głosowań wyświetla wszystkie głosowania polling_officer_zone: menu: polling_officer_zone: Strefa oficera wyborczego @@ -873,7 +873,7 @@ pl: unfold: Rozwiń index: no_votings: Brak głosowań spełniających kryteria wyszukiwania. - only_finished: Obecnie nie ma żadnych zaplanowanych głosowań, ale możesz zobaczyć wszystkie przeszłe. + only_finished: Obecnie nie ma żadnych zaplanowanych głosowań, ale możesz zobaczyć wszystkie zakończone głosowania. title: Głosowania orders: label: 'Sortuj głosowania według:' @@ -884,7 +884,7 @@ pl: votings_m: badge_name: finished: Zakończone - ongoing: Trwające + ongoing: W toku upcoming: Nadchodzące footer_button_text: participate: Dołącz @@ -893,13 +893,13 @@ pl: unspecified: Nie określono voting_type: hybrid: Hybrydowe - in_person: Osobiście + in_person: Osobiste online: Online voting_types_label: Typ głosowania layouts: decidim: election_votes_header: - exit: Wyjście + exit: Zakończ votings: index: promoted_votings: Wyróżnione głosowania diff --git a/decidim-elections/config/locales/pt-BR.yml b/decidim-elections/config/locales/pt-BR.yml index 9cbe1f038722e..9a3264de4e838 100644 --- a/decidim-elections/config/locales/pt-BR.yml +++ b/decidim-elections/config/locales/pt-BR.yml @@ -1 +1,192 @@ pt: + activemodel: + attributes: + answer: + description: Descrição + image: Imagem + proposals: Propostas relacionadas + title: Título + election: + description: Descrição + end_time: A votação termina às + start_time: Votação começa às + title: Título + question: + description: Descrição + max_selections: Número máximo de seleções + min_selections: Nenhuma das opções acima + title: Título + voting: + end_time: Votação termina + start_time: A votação começa + errors: + models: + answer: + attributes: + attachment: + needs_to_be_reattached: Precisa ser reanexado + election: + attributes: + attachment: + needs_to_be_reattached: Precisa ser reanexado + trustee: + attributes: + name: + cant_be_changed: não pode ser alterado + public_key: + cant_be_changed: não pode ser alterado + activerecord: + errors: + models: + decidim/votings/polling_officer: + attributes: + presided_polling_station: + president_and_manager: O oficial de votação já é presidente/gerente da estação de voto + voting: + different_organization: A votação deve estar na mesma organização que o usuário + decidim/votings/polling_station: + attributes: + polling_station_president: + different_voting: O consultor de voto deve estar na mesma votação que a estação de voto + models: + decidim/elections/answer: + one: Responda + other: Respostas + decidim/elections/election: + one: Eleição + other: Eleições + decidim/elections/question: + one: Questão + other: Questões + decidim/votings/polling_officer: + one: Agente de votação + other: Agentes de votação + decidim/votings/polling_station: + one: Estação de voto + other: Estação de votos + decidim/votings/voting: + one: Votação + other: Votações + decidim: + admin: + filters: + officers_assigned_eq: + label: Oficiais + values: + assigned: Atribuído + unassigned: Não atribuído + role_eq: + label: Função + values: + manager: Gerente + president: Presidente + unassigned: Não Atribuido + search_placeholder: + name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Pesquisa %{collection} por nome/e-mail/apelido ou estação de voto. + ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont + : Pesquisar %{collection} por título, endereço ou nome do oficial/e-mail/apelido. + components: + elections: + actions: + vote: Voto + name: Eleições + settings: + global: + announcement: Anúncio + step: + announcement: Anúncio + elections: + actions: + confirm_destroy: Você tem certeza? + destroy: Destruir + edit: Editar + feedback: Feedback do eleitor + import: Importar propostas para respostas + manage_answers: Gerenciar respostas + manage_questions: Gerenciar perguntas + manage_steps: Gerenciar etapas + new: Novo %{name} + preview: Pré-visualização + publish: Publicar + title: Ações + unpublish: Despublicar + admin: + answers: + create: + invalid: Tem havido um problema ao criar esta resposta + success: Resposta criada com sucesso + destroy: + invalid: Houve um problema ao excluir esta resposta + success: Resposta excluída com sucesso + edit: + title: Editar resposta + update: Atualizar resposta + index: + invalid_max_selections: Você precisa de mais %{missing_answers} resposta/s para combinar com a seleção máxima + title: Respostas + steps: + create_election: + errors: + max_selections: As perguntas não têm um valor correto para a quantidade de respostas + minimum_answers: As perguntas devem ter pelo menos duas respostas. + minimum_questions: A eleição deve ter pelo menos uma questão. + published: A eleição não está publicada. + time_before: O horário de início é em menos de 3 horas antes do início da eleição. + trustees_number: O espaço participativo deve ter pelo menos %{number} administradores com chave pública. + invalid: Houve um problema ao configurar essa eleição + no_trustees: Não há Agentes fiduciários configurados para este espaço participativo + not_used_trustee: "(não usado)" + public_key: + 'false': não tem uma chave pública + 'true': tem uma chave pública + requirements: + max_selections: Todas as questões têm um valor correto para o máximo de respostas. + minimum_answers: Cada questão tem pelo menos 2 respostas. + minimum_questions: A eleição tem pelo menos 1 pergunta. + published: A eleição está publicada. + time_before: A instalação está sendo feita pelo menos %{hours} horas antes do início da eleição. + trustees_number: O espaço participativo tem pelo menos %{number} agentes fiduciários com chave pública. + submit: Configurar eleição + success: Eleição enviada com sucesso para o Quadro de avisos + title: Configurar eleição + trustees: Agentes fiduciários da Eleição + created: + invalid: Houve um problema ao iniciar a cerimônia de chave + submit: Inicie a cerimônia de chaves + success: Pedido de cerimônia inicial foi enviado com sucesso para o Quadro de avisos + title: Eleição criada + trustees: Agentes fiduciários + key_ceremony: + title: Cerimônia de chave + trustees: Agentes fiduciários + key_ceremony_ended: + errors: + time_before: A eleição está pronta para começar. Você tem que esperar até %{hours} horas antes da hora de início (%{start_time}) para iniciar o período de votação. + invalid: Houve um problema ao iniciar o período de votação + requirements: + time_before: A eleição começará em breve. Você pode iniciar o período de votação manualmente ou ele será iniciado automaticamente antes da hora inicial, às %{start_time}. + submit: Iniciar período de votação + success: O pedido de período de votação foi enviado com sucesso para o Conselho Boletim + title: Preparado para começar + processing: Processando... + results_published: + title: Resultados publicados + tally: + title: Processo de registro + trustees: Agentes fiduciários + tally_ended: + submit: Publicar resultados + pages: + home: + statistics: + elections_count: Eleições + participatory_processes: + statistics: + elections_count: Eleições + votings: + polling_officer_zone: + polling_officers: + show: + polling_stations: + list: + actions: Ações diff --git a/decidim-forms/config/locales/pt-BR.yml b/decidim-forms/config/locales/pt-BR.yml index 7797fba4b8e69..b99e38d7a809b 100644 --- a/decidim-forms/config/locales/pt-BR.yml +++ b/decidim-forms/config/locales/pt-BR.yml @@ -3,18 +3,27 @@ pt: attributes: answer: body: Responda + choices: Escolhas + selected_choices: Escolhas selecionadas question: max_choices: Número máximo de escolhas question_type: Tipo questionnaire_question: mandatory: Obrigatório + max_characters: Limite de caracteres (deixe para 0 se não houver limite) errors: models: answer: attributes: + add_documents: + needs_to_be_reattached: Precisa ser reanexado + body: + too_long: é longo demais choices: missing: não estão completos too_many: são muitos + questionnaire: + request_invalid: Houve um erro ao lidar com a solicitação. Por favor, tente novamente decidim: forms: admin: @@ -23,35 +32,99 @@ pt: description: Descrição tos: Termos de serviço questionnaires: + actions: + back: Voltar às perguntas + show: Mostrar respostas answer_option: answer_option: Opção de resposta free_text: Texto livre remove: Remover statement: Declaração + answers: + actions: + back: Voltar para respostas + export: Exportar + show: Mostrar respostas + empty: Ainda não há respostas + export: + answer: + title: 'Resposta #%{number}' + export_response: + title: pesquisa_respostas_do_usuário_%{token} + index: + title: "%{total} respostas totais" + show: + title: 'Resposta #%{number}' + display_condition: + answer_option: Opção de resposta + condition_question: Questão + condition_type: Condição + condition_types: + answered: Respondido + equal: Igual + match: Incluir texto + not_answered: Não respondido + not_equal: Diferente + condition_value: Incluir texto + display_condition: Exibir condição + mandatory: Esta condição precisa ser sempre satisfeita independentemente do status de outras condições + remove: Remover + save_warning: Lembre-se de salvar o formulário antes de configurar condições de exibição + select_answer_option: Selecionar opção de resposta + select_condition_question: Selecione uma pergunta + select_condition_type: Selecione um tipo de condição edit: save: Salvar + title: Editar questionário form: add_question: Adicionar pergunta + add_separator: Adicionar separador already_answered_warning: O questionário já foi respondido por alguns usuários então você não pode modificar suas perguntas. + collapse: Recolher todas as questões + expand: Expandir todas as questões + preview: Pré-visualização + title: Editar formulário para %{questionnaire_for} + unpublished_warning: O formulário não foi publicado. Você pode modificar suas perguntas, mas apagará as respostas atuais. matrix_row: + matrix_row: Linha remove: Remover statement: Declaração question: add_answer_option: Adicionar opção de resposta + add_display_condition: Adicionar condição de exibição + add_display_condition_info: Salve o formulário para configurar condições de exibição + add_matrix_row: Adicionar linha any: Qualquer + collapse: Recolher description: Descrição down: Baixa + expand: Expandir question: Questão remove: Remover statement: Declaração up: Acima + separator: + down: Para Baixo + remove: Remover + separator: Separador + up: Para Cima update: invalid: Houve erros ao salvar o questionário. + success: Formulário salvo com sucesso. errors: answer: body: O corpo não pode ficar em branco + images: + dimensions: "%{width} x %{height} px" + dimensions_info: 'Esta imagem será:' + processors: + resize_and_pad: Redimensionado e acolchoado para + resize_to_fit: Redimensionado para caber question_types: + files: Arquivos long_answer: Resposta longa + matrix_multiple: Matriz (Múltipla opção) + matrix_single: Matriz (opção única) multiple_option: Opção múltipla short_answer: Resposta curta single_option: Opção única @@ -59,6 +132,7 @@ pt: questionnaires: answer: invalid: Houve erros ao responder a pesquisa. + max_choices_alert: Há muitas opções selecionadas success: Questionário respondido com sucesso. question: max_choices: 'Escolhas máximas: %{n}' @@ -66,6 +140,8 @@ pt: answer_questionnaire: anonymous_user_message: Entre com sua conta ou inscreva-se para responder ao questionário. title: Responda o questionário + current_step: Passo %{step} + of_total_steps: de %{total_steps} questionnaire_answered: body: Você já respondeu esta pesquisa. title: Já respondido @@ -75,11 +151,26 @@ pt: questionnaire_for_private_users: body: O questionário está disponível apenas para usuários particulares title: Questionário fechado + questionnaire_js_disabled: + body: Algumas das funcionalidades deste formulário serão desativadas. Para melhorar sua experiência, por favor ative o JavaScript no seu navegador. + title: JavaScript está desativado + questionnaire_not_published: + body: Este formulário ainda não foi publicado. tos_agreement: Ao participar você aceita seus Termos de Serviço step_navigation: show: are_you_sure: Esta ação não pode ser desfeita e você não poderá editar suas respostas. Você tem certeza? + back: Voltar + continue: Continuar submit: Enviar user_answers_serializer: + body: Resposta + completion: Conclusão created_at: Respondido em id: ID da resposta + ip_hash: Hash IP + question: Questão + registered: Registrado + session_token: Identificador de Usuário + unregistered: Não registrado + user_status: Status do usuário diff --git a/decidim-initiatives/config/locales/pt-BR.yml b/decidim-initiatives/config/locales/pt-BR.yml index b9b62beb16036..d472c4f239a6d 100644 --- a/decidim-initiatives/config/locales/pt-BR.yml +++ b/decidim-initiatives/config/locales/pt-BR.yml @@ -5,6 +5,7 @@ pt: decidim_user_group_id: Autor description: Descrição offline_votes: Suporte face a face + offline_votes_for_scope: Assinaturas presenciais para %{scope_name} scope_id: Escopo signature_end_date: Fim do período de coleta de assinaturas signature_start_date: Início do período de coleta de assinaturas @@ -18,13 +19,19 @@ pt: initiatives_committee_member: user: membro do Comitê initiatives_type: + area_enabled: Permitir aos autores escolher a área para sua iniciativa + attachments_enabled: Ativar anexos banner_image: Imagem de banner + child_scope_threshold_enabled: Ativar assinaturas de escopo filho collect_user_extra_fields: Colete dados pessoais do usuário na assinatura + custom_signature_end_date_enabled: Permitir aos autores escolher o fim do período de coleta de assinaturas description: Descrição document_number_authorization_handler: Autorização para verificar o número do documento nos votos extra_fields_legal_information: Informações legais sobre a coleta de dados pessoais minimum_committee_members: Mínimo dos membros do comitê online_signature_enabled: Assinatura on-line ativada + only_global_scope_enabled: Só permitir criação de iniciativas de escopo global + promoting_committee_enabled: Ativar comitê de promoção title: Título undo_online_signatures_enabled: Permitir que os usuários desfizessem suas assinaturas on-line validate_sms_code_on_votes: Adicionar etapa de validação do código SMS ao processo de assinatura @@ -37,6 +44,14 @@ pt: address: Endereço id_document: Documento de identificação name: Nome completo + errors: + models: + initiative: + attributes: + attachment: + file: O arquivo é inválido + needs_to_be_reattached: Precisa ser reanexado + title: O título não pode ficar vazio activerecord: models: decidim/initiative: @@ -52,6 +67,23 @@ pt: admin: actions: new_initiative_type: Novo tipo de iniciativa + filters: + initiatives: + decidim_area_id_eq: + label: Área + state_eq: + label: Estado + values: + accepted: Assinaturas suficientes + created: Criado + discarded: Descartado + published: Publicado + rejected: Não há assinaturas suficientes + validating: Validação técnica + type_id_eq: + label: Tipo + search_placeholder: + title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Pesquisar %{collection} por título, descrição, ID ou nome do autor. menu: initiatives: Iniciativas initiatives_types: Tipos de iniciativa @@ -60,6 +92,7 @@ pt: fields: created_at: Criado em id: identidade + published_at: Publicado em state: Estado supports_count: Assinaturas title: Iniciativas @@ -85,6 +118,7 @@ pt: initiative_title: Título da iniciativa name_and_surname: Nome e sobrenome postal_code: Código postal + scope: Escopo time_and_date: Hora e data timestamp: Timestamp titles: @@ -92,11 +126,22 @@ pt: initiatives_types: Tipos de iniciativa events: initiatives: + admin: + initiative_sent_to_technical_validation: + email_intro: A iniciativa "%{resource_title}" foi enviada para validação técnica. Confira no painel de administração + email_outro: Você recebeu esta notificação porque é um administrador da plataforma. + email_subject: Iniciativa "%{resource_title}" foi enviada para validação técnica. + notification_title: A iniciativa "%{resource_title}" foi enviada para validação técnica. Confira no painel de administração initiative_extended: email_intro: A data final das assinaturas da iniciativa %{resource_title} foi estendida! email_outro: Você recebeu esta notificação porque está seguindo %{resource_title}. Você pode parar de receber notificações após o link anterior. email_subject: Assinatura da iniciativa data final estendida! notification_title: A data final das assinaturas para a iniciativa %{resource_title} foi ampliada. + initiative_sent_to_technical_validation: + email_intro: A iniciativa "%{resource_title}" foi enviada para validação técnica. Confira no painel de administração + email_outro: Você recebeu esta notificação porque é um administrador da plataforma. + email_subject: Iniciativa "%{resource_title}" foi enviada para validação técnica. + notification_title: A iniciativa "%{resource_title}" foi enviada para validação técnica. Confira no painel de administração milestone_completed: affected_user: email_intro: Sua iniciativa %{resource_title} alcançou o %{percentage}% de assinaturas! @@ -108,6 +153,11 @@ pt: email_outro: Você recebeu esta notificação porque está seguindo %{resource_title}. Você pode parar de receber notificações após o link anterior. email_subject: Novo marco concluído! notification_title: A %{resource_title} iniciativa obteve %{percentage}% de assinaturas. + support_threshold_reached: + email_intro: A iniciativa %{resource_title} atingiu o limite de assinaturas + email_outro: Você recebeu esta notificação porque é um administrador da plataforma. + email_subject: Limite de assinaturas atingido + notification_title: A iniciativa %{resource_title} atingiu o limite de assinaturas gamification: badges: initiatives: @@ -152,10 +202,17 @@ pt: content_blocks: highlighted_initiatives: max_results: Quantidade máxima de elementos para mostrar + order: + default: Padrão (Mínimo Recente) + label: 'Ordenar elemento por:' + most_recent: Mais recente + exports: + initiatives: Iniciativas initiatives: edit: accept: Aceitar iniciativa confirm: Você tem certeza? + confirm_send_to_technical_validation: Você tem certeza? discard: Descartar a iniciativa export_pdf_signatures: Exportar PDF de assinaturas export_votes: Suporta Exportação @@ -164,11 +221,18 @@ pt: success: A iniciativa foi enviada para validação técnica update: Atualizar form: + attachments: Anexos + settings: Configurações title: Informação geral index: actions_title: Açao preview: Visualizar print: Impressão + initiative_attachments: + documents: Documentos + edit: Editar + new: Novo + photos: Fotos show: print: Impressão update: @@ -204,6 +268,10 @@ pt: destroy: Excluir update: Atualizar form: + authorizations: Opções de autorização + child_scope_threshold_enabled_help: 'Esse parâmetro de configuração não suporta votos off-line, permite subescopos e funciona com um manipulador de autorização que associa o escopo ao usuário, certifique-se de selecionar a autorização, abaixo nas configurações de autorização. Para que funcione, os escopos precisam ser configurados de forma hierárquica: 1 Pai - N Criança. Para mais informações sobre como essa configuração funciona, consulte este link.' + only_global_scope_enabled_help: Marque este sinalizador se você habilitou "Assinatura de escopo Filho" e configurou o escopo global como seu escopo pai. Habilitando esta possibilidade, a selecção do tipo de iniciativa será ignorada no assistente de criação de iniciativa. Para mais informações sobre como essa configuração funciona, consulte este link. + options: Opções title: Informação geral initiative_type_scopes: title: Escopos para o tipo de iniciativa @@ -220,18 +288,34 @@ pt: unpublish: "%{user_name} descartou a iniciativa %{resource_name}" update: "%{user_name} atualizou a iniciativa %{resource_name}" admin_states: + accepted: Assinaturas suficientes created: Criada discarded: Descartado published: Publicados + rejected: Não há assinaturas suficientes validating: Validação técnica application_helper: + filter_area_values: + all: Tudo + filter_scope_values: + all: Tudo filter_state_values: + accepted: Assinaturas suficientes + all: Tudo + answered: Respondido closed: Fechadas open: Aberto + rejected: Não há assinaturas suficientes + filter_type_values: + all: Tudo committee_requests: + approve: + success: A Publicação foi aprovada. new: continue: Continuar help_text: Você está prestes a pedir para se tornar membro do comitê de promotores desta iniciativa + revoke: + success: Pedido foi revogado. spawn: success: Sua solicitação foi enviada ao autor da iniciativa. content_blocks: @@ -241,14 +325,23 @@ pt: fill_data: back: Costas continue: Continuar + fill_data_help: "
    • Revise o conteúdo de sua iniciativa. Seu título é fácil de entender? O objetivo da sua iniciativa é claro?
    • Você tem que escolher o tipo de assinatura. Pessoalmente, online ou uma combinação de ambos
    • Qual é o âmbito geográfico da iniciativa?
    " initiative_type: Tipo de iniciativa more_information: "(Mais Informações)" + select_area: Selecione uma área select_scope: Selecione um âmbito finish: back: Costas back_to_initiatives: De volta às iniciativas + callout_text: Parabéns! Sua iniciativa cidadã foi criada com sucesso. + confirm: Você vai enviar a iniciativa para um administrador revisá-lo e publicá-lo. Uma vez publicado, você não será capaz de editá-lo. Você tem certeza? + edit_my_initiative: Editar minha iniciativa go_to_my_initiatives: Vá para minhas iniciativas more_information: "(Mais Informações)" + send_my_initiative: Enviar minha iniciativa para validação técnica + finish_help: + access_reminder: Você pode acessar suas iniciativas através do filtro %{link} na página de iniciativas. + publish_helper_text: Lembre-se de que para que sua iniciativa seja publicada, você precisa preencher as informações necessárias e enviá-las à validação técnica para que um administrador as analise. previous_form: back: Costas continue: Continuar @@ -256,12 +349,14 @@ pt: more_information: "(Mais Informações)" promotal_committee: back: Costas + individual_help_text: Este tipo de iniciativa requer uma Comissão Promover composta por pelo menos %{committee_size} pessoas (atestadores). Têm de partilhar o seguinte link com as outras pessoas que fazem parte desta iniciativa. Quando seus contatos receberem este link eles terão que seguir os passos indicados. more_information: "(Mais Informações)" select_initiative_type: back: Costas choose_html: Eu quero criar um %{title} more_information: "(Mais Informações)" select: Eu quero promover essa iniciativa + select_initiative_type_help: As iniciativas são um meio através do qual os participantes podem intervir para que a organização possa empreender acções em defesa do interesse geral. Qual iniciativa você quer lançar? share_committee_link: continue: Continuar invite_to_committee_help: Link para convidar pessoas que farão parte do comitê de promotores @@ -270,7 +365,22 @@ pt: compare_help: Se alguma das seguintes iniciativas for semelhante à sua, incentivamos você a apoiá-la. Sua proposta terá mais possibilidades de ser feita. continue: Minha iniciativa é diferente more_information: "(Mais Informações)" + edit: + accept: Aceitar a iniciativa + back: Voltar + confirm: Você tem certeza? + discard: Descartar a iniciativa + export_pdf_signatures: Exportar PDF de assinaturas + export_votes: Exportar assinaturas + reject: Rejeitar iniciativa + title: Editar Iniciativa + update: Atualizar events: + approve_membership_request: + email_intro: "%{author_nickname} aceitou seu pedido para fazer parte do comitê de promotores da iniciativa %{resource_title}." + email_outro: 'Você recebeu esta notificação porque você aplicou nesta iniciativa: %{resource_title}' + email_subject: "%{author_nickname} aceitou seu pedido ao comitê de promotores" + notification_title: %{author_nickname} aceitou seu pedido como parte do comitê de promotores da seguinte iniciativa %{resource_title}. create_initiative_event: email_intro: "%{author_name} %{author_nickname}, que você está seguindo, criou uma nova iniciativa, confira e contribua:" email_outro: Você recebeu esta notificação porque está seguindo %{author_nickname}. Você pode parar de receber notificações após o link anterior. @@ -281,6 +391,20 @@ pt: email_outro: Você recebeu esta notificação porque está seguindo %{author_nickname}. Você pode parar de receber notificações após o link anterior. email_subject: Iniciativa endossada por %{author_nickname} notification_title: A %{resource_title} iniciativa foi endossada por %{author_name} %{author_nickname}. + revoke_membership_request: + email_intro: "%{author_nickname} rejeitou sua solicitação para fazer parte do comitê de promotores para a seguinte iniciativa %{resource_title}." + email_outro: 'Você recebeu esta notificação porque você aplicou nesta iniciativa: %{resource_title}.' + email_subject: "%{author_nickname} rejeitou seu pedido ao comitê de promotores" + notification_title: %{author_nickname} rejeitou seu pedido de adesão por fazer parte do comitê de promotores da seguinte iniciativa %{resource_title}. + spawn_committee_request_event: + email_intro: "%{applicant_nickname} candidatou-se ao comitê de promotores da sua iniciativa %{resource_title}. Para aceitar ou rejeitar a solicitação, vá ao formulário de edição da sua iniciativa." + email_outro: 'Você recebeu esta notificação porque você é o autor desta iniciativa: %{resource_title}' + email_subject: "%{applicant_nickname} quer participar de sua iniciativa" + notification_title: %{applicant_nickname} se candidatou ao comitê de promotores da sua iniciativa %{resource_title}. Para aceitar ou rejeitar, clique aqui. + form: + add_attachments: Documentos + attachment_legend: "(Opcional) Adicionar um anexo" + delete_attachment: Excluir index: title: Iniciativas initiative_signatures: @@ -317,14 +441,23 @@ pt: hidden_authors_count: one: e mais 1 pessoa other: e mais %{count} pessoas + committee_members: + approve: Aprovar + confirm_revoke: Você tem certeza? + invite_to_committee_help: Compartilhe este link para convidar outros participantes para o comitê de promotores + no_members_yet: Não há membros no comitê de promotores + revoke: Revogar + title: Membros do Comitê count: title: one: "%{count} iniciativa" other: "%{count} iniciativas" filters: any: Qualquer + area: Área author: Autor myself: Minhas iniciativas + scope: Escopo search: Pesquisa state: Estado type: Tipo @@ -335,6 +468,14 @@ pt: unfold: Desdobrar index_header: new_initiative: Nova iniciativa + not_authorized: + authorizations_page: Ver autorizações + close: Fechar + explanation: Você precisa ser verificado para criar uma nova iniciativa. + title: Autorização necessária + initiatives: + closed_initiatives_warning: Actualmente, não existem iniciativas abertas, mas aqui pode encontrar todas as iniciativas encerradas na lista de iniciativas. + no_initiatives_warning: Nenhuma iniciativa corresponde aos seus critérios de pesquisa. interactions: comments_count: count: @@ -346,12 +487,39 @@ pt: most_voted: Mais assinadas random: Aleatória recent: Mais recente + recently_published: Mais recentemente publicado print: + address: Endereço + author_title: Autor da iniciativa city: Cidade + email: E-mail + full_name: Nome Completo + general_title: Pedido de admissão de uma iniciativa + id_number: Número do ID + initiative: + attachments: Documentação anexada (por favor, escreva o nome de cada documento abaixo) + description: 'Descrição:' + title: 'Título:' + type: Tipo de iniciativa + legal_text: Os dados pessoais recolhidos serão incorporados e tratados confidencialmente pela organização, de acordo com a legislação em vigor. + phone_number: Número de telefone + place_date: Local, data + postal_code: CEP/CEP + print: Imprimir + province: Cidade/Estado + section: 'Se solicitado pela organização, por favor imprima e preencha este formulário para enviar quando indicado:' + signature: Assinatura result: + answer_title: Esta iniciativa foi respondida initiative_rejected_reason: Esta iniciativa foi rejeitada devido à falta de suporte. show: + any_vote_method: Essa iniciativa coleta assinaturas on-line e presencial. + confirm: Você vai enviar a iniciativa para um administrador revisá-lo e publicá-lo. Uma vez publicado, você não será capaz de editá-lo. Você tem certeza? + edit: Editar follow_description: Receber uma notificação quando houver notícias nesta iniciativa + offline_method: Esta iniciativa recolhe apenas assinaturas presenciais. + print: Imprimir Iniciativa + send_to_technical_validation: Enviar para validação técnica signatures_count: one: " assinatura" other: " assinaturas" @@ -385,10 +553,24 @@ pt: highlighted_initiatives: active_initiatives: Iniciativas ativas see_all_initiatives: Veja todas as iniciativas + show: + badge_name: + accepted: Assinaturas suficientes + created: Criado + discarded: Descartado + published: Publicados + rejected: Não há assinaturas suficientes + validating: Validação técnica states: accepted: Aceitaram expired: Expirado unavailable_scope: Escopo não disponível + update: + error: Ocorreu um erro + success: A iniciativa foi atualizada com sucesso + versions: + shared: + back_to_resource: Voltar à iniciativa menu: initiatives: Iniciativas resources: @@ -400,6 +582,7 @@ pt: decidim: admin: initiative: + attachments: Anexos committee_members: membros do Comitê components: Componentes information: Em formação diff --git a/decidim-meetings/config/locales/ja.yml b/decidim-meetings/config/locales/ja.yml index cb56ef9f54185..f09f698236891 100644 --- a/decidim-meetings/config/locales/ja.yml +++ b/decidim-meetings/config/locales/ja.yml @@ -10,10 +10,10 @@ ja: attending_organizations: 参加した組織一覧 closing_report: レポート contributions_count: 貢献数 - proposal_ids: 会議で作成された提案 + proposal_ids: ミーティングで作成された提案 meeting: address: 住所 - available_slots: この会議で利用可能なスロット + available_slots: このミーティングで利用可能なスロット decidim_category_id: カテゴリ decidim_scope_id: スコープ decidim_user_group_id: ユーザーグループ @@ -25,10 +25,10 @@ ja: organizer_gid: '次として作成:' organizer_id: オーガナイザー private_meeting: プライベートミーティング - registration_form_enabled: 登録フォームは有効です + registration_form_enabled: 登録フォームが有効 registration_terms: 登録条件 registration_url: 登録URL - registrations_enabled: 登録が有効です + registrations_enabled: 登録が有効 start_time: 開始時刻 title: タイトル transparent: 透明度 @@ -51,8 +51,8 @@ ja: already_invited: このメールアカウントは既に招待されています models: decidim/meetings/close_meeting_event: ミーティングは終了しました - decidim/meetings/create_meeting_event: 会議 - decidim/meetings/meeting_registrations_enabled_event: 登録が有効です + decidim/meetings/create_meeting_event: ミーティング + decidim/meetings/meeting_registrations_enabled_event: 登録が有効 decidim/meetings/meeting_registrations_over_percentage_event: 上限を超える登録 decidim/meetings/upcoming_meeting_event: 今後のミーティング decidim/meetings/update_meeting_event: ミーティングが更新されました @@ -68,8 +68,8 @@ ja: admin: meeting_copies: create: - error: この会議を複製する際に問題が発生しました。 - success: 会議を複製しました。 + error: このミーティングを複製する際に問題が発生しました。 + success: ミーティングを複製しました。 new: copy: コピー select: 複製したいデータを選択してください @@ -87,7 +87,7 @@ ja: creation_enabled_for_participants: 出席者はミーティングを作成できます default_registration_terms: デフォルトの登録条件 enable_pads_creation: パッドの作成を有効にする - registration_code_enabled: 登録コードが有効になりました + registration_code_enabled: 登録コードが有効 resources_permissions_enabled: アクションの権限はミーティングごとに設定できます scope_id: スコープ scopes_enabled: スコープが有効 @@ -102,14 +102,14 @@ ja: meeting_closed: affected_user: email_intro: 'あなたのミーティング "%{resource_title}" は終了しました.そのページから結論を読むことができます:' - email_outro: '"%{resource_title}"の会議を組織化したため、この通知を受け取りました。' + email_outro: '"%{resource_title}" のミーティングを開催したため、この通知を受け取りました。' email_subject: '「%{resource_title}」のミーティングは終了しました' - notification_title: %{resource_title} の会合は終了しました。 + notification_title: %{resource_title} のミーティングは終了しました。 follower: email_intro: '"%{resource_title}" ミーティングは終了しました.そのページから結論を読むことができます:' email_outro: '「%{resource_title}」ミーティングをフォローしているため、この通知を受け取りました.前のリンクからフォローを解除することができます.' email_subject: '「%{resource_title}」のミーティングは終了しました' - notification_title: %{resource_title} の会合は終了しました。 + notification_title: %{resource_title} のミーティングは終了しました。 meeting_created: email_intro: フォローしているミーティング "%{resource_title}" が "%{participatory_space_title}" に追加されました. email_outro: '「%{participatory_space_title}」をフォローしているため、この通知を受け取りました。前のリンクからこの通知をアンフォローすることができます。' @@ -118,19 +118,19 @@ ja: meeting_registration_confirmed: notification_title: ミーティング %{resource_title} の登録が確認されました.登録コードは %{registration_code}です. meeting_registrations_over_percentage: - email_intro: '"%{resource_title}" 会議に割り当てられたスロットは %{percentage} %以上です。' + email_intro: '"%{resource_title}" のミーティングに割り当てられたスロットは %{percentage} %以上です。' email_outro: あなたはミーティングの参加スペースの管理者であるため、この通知を受け取りました. - email_subject: '「%{resource_title}」会議の割り当てられたスロットは %{percentage} %を超えています' - notification_title: %{resource_title} 会議に割り当てられたスロットは %{percentage}%を超えています。 + email_subject: '「%{resource_title}」ミーティングに割り当てられたスロットは %{percentage} %を超えています' + notification_title: %{resource_title} ミーティングに割り当てられたスロットは %{percentage}%を超えています。 meeting_updated: email_intro: '"%{resource_title}" ミーティングが更新されました.新しいバージョンはそのページから読むことができます:' email_outro: '「%{resource_title}」ミーティングをフォローしているため、この通知を受け取りました.前のリンクからフォローを解除することができます.' email_subject: '"%{resource_title}" のミーティングが更新されました' notification_title: %{resource_title} のミーティングを更新しました。 registration_code_validated: - email_intro: '「%{registration_code}」会議の登録コード「%{resource_title}」が確認されました。' - email_outro: '"%{resource_title}" 会議の登録コードが検証されたため、この通知を受け取りました。' - email_subject: あなたの "%{registration_code}" 会議の登録コード "%{resource_title}" が検証されました + email_intro: '「%{registration_code}」ミーティングの登録コード「%{resource_title}」が確認されました。' + email_outro: '"%{resource_title}" ミーティングの登録コードが検証されたため、この通知を受け取りました。' + email_subject: あなたの "%{registration_code}" ミーティングの登録コード "%{resource_title}" が検証されました notification_title: ミーティング %{resource_title} に対するあなたの登録コード "%{registration_code}" が認証されました。 registrations_enabled: email_intro: '"%{resource_title}" ミーティングは登録を有効にしました.あなた自身をそのページに登録することができます:' @@ -153,7 +153,7 @@ ja: name: 出席したミーティング next_level_in: さらに %{score} 件のミーティングに参加して、次のレベルに到達しましょう! unearned_another: この参加者はまだミーティングに出席していません. - unearned_own: まだ会議に出席していません。 + unearned_own: まだミーティングに出席していません。 meetings: actions: agenda: 予定 @@ -165,7 +165,7 @@ ja: edit: 編集 invalid_destroy: proposals_count: - other: '%{count} 件の提案が関連付けられているため、会議を削除できません:' + other: '%{count} 件の提案が関連付けられているため、ミーティングを削除できません:' minutes: 議事録 new: 新しいミーティング preview: プレビュー @@ -214,12 +214,12 @@ ja: invites: create: error: 参加者をミーティングに招待する際に問題が発生しました. - success: 参加者が会議に参加するように招待されました。 + success: 参加者がミーティングに参加するように招待されました。 form: attendee_type: 参加者の種類 existing_user: 既存の参加者 invite: 招待 - invite_explanation: 参加者は、会議や団体にも招待されます。 + invite_explanation: 参加者は、ミーティングや組織にも招待されます。 non_user: 非既存の参加者 select_user: 参加者を選択 index: @@ -239,7 +239,7 @@ ja: title: ミーティングを閉じる meetings: close: - invalid: この会議を終了する際に問題が発生しました + invalid: このミーティングを終了する際に問題が発生しました success: ミーティングが正常に閉じられました create: invalid: このミーティングを作成する際に問題が発生しました @@ -247,7 +247,7 @@ ja: destroy: invalid: proposals_count: - other: '%{count} 件の提案が関連付けられているため、会議を削除できません' + other: '%{count} 件の提案が関連付けられているため、ミーティングを削除できません' success: ミーティングを削除しました edit: title: ミーティングを編集 @@ -278,7 +278,7 @@ ja: add_service: サービスを追加 services: サービス update: - invalid: この会議の更新中に問題が発生しました + invalid: このミーティングの更新中に問題が発生しました success: ミーティングを更新しました minutes: create: @@ -295,11 +295,11 @@ ja: success: 議事録が正常に更新されました models: meeting: - name: 会議 + name: ミーティング registrations: edit: save: 保存 - validate: Validate + validate: 検証 validate_registration_code: 登録コードを検証する form: available_slots_help: 無制限のスロットがある場合は0のままにしてください。 @@ -326,7 +326,7 @@ ja: close: "%{user_name} が %{resource_name} スペースの %{space_name} ミーティングを閉鎖しました" create: "%{user_name} が %{resource_name} スペースで %{space_name} ミーティングを作成しました" delete: "%{user_name} が %{resource_name} スペースの %{space_name} ミーティングを削除しました" - export_registrations: "%{user_name} は %{resource_name} スペースに %{space_name} 会議の登録をエクスポートしました" + export_registrations: "%{user_name} は %{resource_name} スペースに %{space_name} ミーティングの登録をエクスポートしました" update: "%{user_name} が %{resource_name} スペースの %{space_name} ミーティングを更新しました" value_types: organizer_presenter: @@ -338,7 +338,7 @@ ja: calendar_url: カレンダー URL close_window: ウィンドウを閉じる export_calendar: カレンダーをエクスポート - conference_venues: 会議場 + conference_venues: ミーティング会場 content_blocks: upcoming_events: name: 今後の予定 @@ -446,7 +446,7 @@ ja: date: 日付 edit_meeting: ミーティングを編集 going: 次へ - join: 会議に参加 + join: ミーティングに参加 meeting_report: ミーティングレポート no_slots_available: 利用可能なスロットがありません organizations: 組織に参加 @@ -458,7 +458,7 @@ ja: other: "残り%{count} スロット" view: 表示 update: - invalid: 会議の更新に問題がありました。 + invalid: ミーティングの更新に問題がありました。 success: ミーティングを更新しました. meetings_map: view_meeting: ミーティングを表示 @@ -485,7 +485,7 @@ ja: registration_mailer: confirmation: confirmed_html: ミーティング %{title} の登録が確認されました。 - details: 会議の詳細は添付ファイルにあります。 + details: ミーティングの詳細は添付ファイルにあります。 registration_code: 登録コードは %{code} です。 registration_type: on_different_platform: 異なるプラットフォーム @@ -493,14 +493,14 @@ ja: registration_disabled: 登録不可 registrations: create: - invalid: この会議に参加する際に問題がありました。 + invalid: このミーティングに参加する際に問題がありました。 success: ミーティングに正常に参加しました.このミーティングに登録したため,更新がある場合は通知されます. decline_invitation: invalid: 招待を辞退するのに問題があった。 success: 招待を拒否しました。 destroy: - invalid: この会合から出発する問題があった。 - success: 会議を正常に退会しました。 + invalid: このミーティングから出発する問題があった。 + success: ミーティングを正常に退会しました。 type_of_meeting: hybrid: ハイブリッド in_person: 対面 @@ -509,7 +509,7 @@ ja: private_meeting: プライベートミーティング transparent: 透明度 versions: - back_to_resource: 会議に戻る + back_to_resource: ミーティングに戻る metrics: meetings: description: 作成されたミーティング数 diff --git a/decidim-meetings/config/locales/pt-BR.yml b/decidim-meetings/config/locales/pt-BR.yml index f216a740d9e5e..d82ca3af9cca0 100644 --- a/decidim-meetings/config/locales/pt-BR.yml +++ b/decidim-meetings/config/locales/pt-BR.yml @@ -16,20 +16,27 @@ pt: available_slots: Slots disponíveis para esta reunião decidim_category_id: Categoria decidim_scope_id: Âmbito + decidim_user_group_id: Grupo de usuários description: Descrição end_time: Fim do tempo location: Localização location_hints: Dicas de localização + online_meeting_url: URL da reunião on-line + organizer_gid: Criar como organizer_id: Organizador private_meeting: Reunião privada registration_form_enabled: Formulário de inscrição ativado registration_terms: Termos de registro + registration_url: URL de Registro registrations_enabled: Registos habilitados start_time: Hora de início title: Título transparent: Transparente + type_of_meeting: Tipo minutes: + audio_url: URL do Áudio description: Descrição + video_url: URL do vídeo visible: É visível errors: models: @@ -79,12 +86,20 @@ pt: global: announcement: Anúncio comments_enabled: Comentários ativados + comments_max_length: Tamanho máximo de comentários (deixe 0 para o valor padrão) + creation_enabled_for_participants: Os participantes podem criar reuniões default_registration_terms: Termos de registro padrão enable_pads_creation: Ativar criação de blocos + registration_code_enabled: Código de registro habilitado resources_permissions_enabled: Permissões de ações podem ser definidas para cada encontro + scope_id: Escopo + scopes_enabled: Escopos habilitados + terms_and_conditions_url_for_meeting_creators: URL de Termos e condições para criadores da reunião step: announcement: Anúncio comments_blocked: Comentários bloqueados + creation_enabled_for_participants: Criação de reunião por participantes habilitada + creation_enabled_for_user_groups: Criação de reunião por grupos de usuários habilitados events: meetings: meeting_closed: @@ -151,6 +166,10 @@ pt: confirm_destroy: Deseja mesmo excluir este encontro? destroy: Excluir edit: Editar + invalid_destroy: + proposals_count: + one: 'A reunião não pode ser destruída porque tem %{count} proposta associada a ela:' + other: 'A reunião não pode ser destruída porque tem %{count} propostas associadas a ela:' minutes: Minutos new: Nova reunião preview: Visualização @@ -188,6 +207,7 @@ pt: invalid: Houve um problema ao atualizar esta agenda success: Agenda atualizada com sucesso exports: + meeting_comments: Comentários meetings: Reuniões registrations: Inscrições invite_join_meeting_mailer: @@ -229,9 +249,24 @@ pt: invalid: Tem havido um problema ao criar esta reunião success: Reunião criada com sucesso destroy: + invalid: + proposals_count: + one: A reunião não pode ser destruída porque tem %{count} proposta associada a ela + other: A reunião não pode ser destruída porque tem %{count} propostas associadas a ela success: Reunião excluída com sucesso edit: + title: Editar reuniões update: Atualizar + form: + address_help: 'Endereço: usado pelo Geocodificador para encontrar a localização' + available_slots_help: Deixe-o em 0 se você tiver slots ilimitados disponíveis + disclaimer: 'Aviso: ao usar um sistema de registro externo, você está ciente de que os organizadores do %{organization} não são responsáveis pelos dados fornecidos pelos usuários ao serviço externo.' + location_help: 'Localização: mensagem direcionada aos usuários que imprimem o local para' + location_hints_help: 'Dicas de localização: informações adicionais Exemplo: o piso do edifício se é uma reunião presencial, ou a senha da reunião, se é uma reunião online com acesso restrito.' + online_meeting_url_help: 'Link: permitir que os participantes se conectem diretamente à sua reunião' + registration_url_help: 'Link: permitir que os participantes possam acessar o serviço externo que você está usando para inscrições' + select_a_meeting_type: Por favor, selecione um tipo de reunião + select_a_registration_type: Por favor, selecione um tipo de registro index: title: Reuniões new: @@ -255,6 +290,7 @@ pt: invalid: Houve um problema ao criar esta ata success: Minutos criados com sucesso edit: + title: Editar minutos update: Atualizar new: create: Crio @@ -273,12 +309,14 @@ pt: form: available_slots_help: Deixe-o para 0 se você tiver slots ilimitados disponíveis. invites: Convites + recommendation_message: Por razões de privacidade, recomendamos que você exclua esse formulário de inscrição quando não precisar mais dele. Por padrão, isso será daqui a 3 meses após o fim da reunião. registration_form: Formulário de registro registrations_count: one: Houve %{count} registro. other: Houve %{count} inscrições. reserved_slots_help: Deixe para 0 se você não tiver slots reservados reserved_slots_less_than: Deve ser menor ou igual a %{count} + title: Registros update: invalid: Ocorreu um problema ao salvar as configurações de registro. success: Configurações de registro de reunião salvas com sucesso. @@ -323,6 +361,7 @@ pt: space_type: Espaço participativo upcoming: próximos last_activity: + meeting_updated_at_html: "Novo debate em %{link}" new_meeting_at_html: "Nova reunião em %{link}" mailer: invite_join_meeting_mailer: @@ -333,28 +372,86 @@ pt: subject: O registro da sua reunião foi confirmado meeting: not_allowed: Você não tem permissão para ver esta reunião + meeting_closes: + edit: + back: Voltar + close: Reunião próxima + title: Reunião próxima meetings: + count: + meetings_count: + one: "%{count} reunião" + other: "%{count} reuniões" + create: + invalid: Houve um problema ao criar esta reunião. + success: Você criou a reunião com sucesso. + edit: + back: Voltar + title: Editar sua reunião + update: Atualizar filters: + activity: Minha atividade + all: Todos category: Categoria date: Data + date_values: + all: Tudo + past: Passado + upcoming: Próximos + my_meetings: Minhas reuniões + origin: Origem + origin_values: + all: Tudo + citizens: Cidadãos + official: Oficial + user_groups: Grupos + scope: Escopo search: Pesquisa + type: Tipo + type_values: + all: Tudo + hybrid: Ambos + in_person: Pessoalmente + online: On-line filters_small_view: close_modal: Fechar modal filter: Filtro filter_by: Filtrar por unfold: Desdobrar + form: + address_help: 'Endereço: usado pelo Geocodificador para encontrar a localização' + available_slots_help: Deixe-o em 0 se você tiver slots ilimitados disponíveis + create_as: Criar reunião como + disclaimer: 'Aviso: ao usar um sistema de registro externo, você está ciente de que os organizadores do %{organization} não são responsáveis pelos dados fornecidos pelos usuários ao serviço externo.' + location_help: 'Localização: mensagem direcionada aos usuários que imprimem o local para' + location_hints_help: 'Dicas de localização: informações adicionais Exemplo: o piso do edifício se é uma reunião presencial, ou a senha da reunião, se é uma reunião online com acesso restrito.' + online_meeting_url_help: 'Link: permitir que os participantes se conectem diretamente à sua reunião' + registration_url_help: 'Link: permitir que os participantes possam acessar um serviço externo que você está usando para inscrições' + select_a_category: Por favor, selecione uma categoria + select_a_meeting_type: Por favor, selecione um tipo de reunião + select_a_registration_type: Por favor, selecione um tipo de registro + index: + new_meeting: Nova reunião meeting_minutes: meeting_minutes: Atas de Reunião related_information: Informação relacionada meetings: no_meetings_warning: Nenhuma reunião corresponde aos seus critérios de pesquisa ou não há nenhuma reunião agendada. upcoming_meetings_warning: Atualmente, não há reuniões agendadas, mas aqui você pode encontrar todas as reuniões anteriores listadas. + new: + back: Voltar + create: Criar + title: Criar uma reunião registration_confirm: cancel: Cancelar confirm: confirme show: attendees: Contagem de participantes + back: Voltar para a lista + close_meeting: Reunião próxima contributions: Contagem de Contribuições + date: Encontro + edit_meeting: Editar Reunião going: Indo join: Participe da reunião meeting_report: Relatório de reunião @@ -368,6 +465,9 @@ pt: one: "%{count} slot restante" other: "%{count} slots restantes" view: Visualizar + update: + invalid: Houve um problema ao atualizar a reunião. + success: Você atualizou a reunião com sucesso. meetings_map: view_meeting: Ver reunião models: @@ -386,6 +486,7 @@ pt: closed: Fechadas end_time: Data final map: Mapa + official_meeting: Reunião oficial start_time: Data de início title: Título read_more: "(saiba mais)" @@ -394,6 +495,10 @@ pt: confirmed_html: Seu registro para a reunião %{title} foi confirmado. details: Você encontrará os detalhes da reunião no anexo. registration_code: Seu código de registro é %{code}. + registration_type: + on_different_platform: Em uma plataforma diferente + on_this_platform: Nesta plataforma + registration_disabled: Registro desabilitado registrations: create: invalid: Houve um problema ao se juntar a essa reunião. @@ -404,9 +509,15 @@ pt: destroy: invalid: Tem havido um problema ao sair desta reunião. success: Você saiu da reunião com sucesso. + type_of_meeting: + hybrid: Ambos + in_person: Pessoalmente + online: On-line types: private_meeting: Reunião privada transparent: Transparente + versions: + back_to_resource: Voltar à reunião metrics: meetings: description: Número de reuniões criadas diff --git a/decidim-participatory_processes/config/locales/it.yml b/decidim-participatory_processes/config/locales/it.yml index c647d047e933c..eb17ea7cca6ed 100644 --- a/decidim-participatory_processes/config/locales/it.yml +++ b/decidim-participatory_processes/config/locales/it.yml @@ -340,6 +340,9 @@ it: title: meta_scope: Ambito name: Titolo, descrizione e hashtag + participatory_processes: + one: 1 processo + other: "%{count} processi" show: title: Gruppi di processi partecipativi participatory_process_steps: diff --git a/decidim-participatory_processes/config/locales/pt-BR.yml b/decidim-participatory_processes/config/locales/pt-BR.yml index 1555d46186854..dde0c5b61bad0 100644 --- a/decidim-participatory_processes/config/locales/pt-BR.yml +++ b/decidim-participatory_processes/config/locales/pt-BR.yml @@ -24,18 +24,30 @@ pt: published_at: Publicado em related_process_ids: Processos relacionados scope_id: Âmbito + scope_type_max_depth_id: Profundidade de filtro de escopo scopes_enabled: Âmbitos ativados short_description: Descrição curta + show_metrics: Mostrar métricas show_statistics: Mostrar estatísticas slug: Slug de URL start_date: Data de início subtitle: Subtítulo target: Quem participa title: Título + weight: Peso participatory_process_group: description: Descrição + developer_group: Grupo promotor + group_url: Site + hashtag: Hashtag hero_image: Imagem + local_area: Área de organização + meta_scope: Metadados do escopo participatory_process_ids: Processos relacionados + participatory_scope: O que é decidido + participatory_structure: Como é decidido + target: Quem participa + title: Título participatory_process_step: cta_path: Caminho de chamada para ação cta_text: Texto de chamada para ação @@ -48,6 +60,12 @@ pt: email: O email name: Nome role: Cargo + errors: + models: + participatory_process: + attributes: + document: + invalid_document_type: 'Tipo de documento inválido. Formatos aceitos são: %{valid_mime_types}' models: decidim/participatory_process_step_activated_event: Passo ativado decidim/participatory_process_step_changed_event: Passo alterado @@ -74,6 +92,7 @@ pt: filter: all_processes: Mostrar todos os processos process_groups: Grupos de Processos + import_process: Importar new_process: Novo processo new_process_group: Novo grupo de processos new_process_step: Novo passo @@ -84,6 +103,9 @@ pt: unpublish: Unpublish menu: participatory_process_groups: Grupos de processo + participatory_process_groups_submenu: + info: Informações + landing_page: Página principal participatory_processes: Processos participatory_processes_submenu: attachment_collections: Pastas @@ -106,6 +128,8 @@ pt: title: Título name: Processo participativo participatory_process_group: + fields: + title: Título name: Grupo de processo participatory_process_step: fields: @@ -123,6 +147,7 @@ pt: admin: Administrador collaborator: Colaborador moderator: Moderador + valuator: Avaliador user: fields: invitation_accepted_at: Convite aceito em @@ -132,8 +157,16 @@ pt: copy: cópia de select: Selecione os dados que você gostaria de duplicar title: Duplicar processo participativo + participatory_process_group_landing_page: + edit: + active_content_blocks: Blocos de conteúdo ativo + inactive_content_blocks: Blocos de conteúdo inativo + participatory_process_group_landing_page_content_blocks: + edit: + update: Atualizar participatory_process_groups: destroy: + error: Ocorreu um erro ao destruir o grupo de processos participativos. success: Grupo de processos participativo excluído com sucesso. edit: title: Editar grupo de processos @@ -144,6 +177,14 @@ pt: update: error: Ocorreu um erro ao atualizar este grupo de processos participativos. success: Grupo de processo participativo atualizado com sucesso. + participatory_process_imports: + create: + error: Ocorreu um erro ao importar este processo participativo. + success: Processo participativo importado com sucesso. + new: + import: Importar + select: Selecione quais dados você gostaria de importar + title: Importar processo participativo participatory_process_publications: create: error: Ocorreu um erro ao publicar este processo participativo. @@ -185,11 +226,13 @@ pt: destroy: success: Usuário removido com sucesso deste processo participativo. edit: + title: Atualize o administrados do processo participativo update: Atualizar index: process_admins_title: Usuários do processo participativo new: create: Criar + title: Novo administrador do processo participativo update: error: Ocorreu um erro ao atualizar um usuário para esse processo participativo. success: Usuário atualizado com sucesso para este processo participativo. @@ -231,6 +274,9 @@ pt: publish: "%{user_name} publicou o %{resource_name} processo participativo" unpublish: "%{user_name} não publicado o %{resource_name} processo participativo" update: "%{user_name} atualizou o processo participativo %{resource_name}" + participatory_process_group: + create: "%{user_name} criou o grupo de processo participativo %{resource_name}" + update: "%{user_name} atualizou o grupo de processo participativo %{resource_name}" participatory_process_step: activate: "%{user_name} ativou o passo %{resource_name} no processo participativo %{space_name}" create: "%{user_name} criou o passo %{resource_name} no processo participativo %{space_name}" @@ -242,6 +288,11 @@ pt: update: "%{user_name} alterou o papel do usuário %{resource_name} no %{space_name} processo participativo" events: participatory_process: + role_assigned: + email_intro: Você foi atribuído como %{role} para o processo participativo "%{resource_title}". + email_outro: Você recebeu esta notificação porque você é %{role} do processo participativo "%{resource_title}". + email_subject: Você foi designado como %{role} para%{resource_title}". + notification_title: Você foi atribuído como %{role} para o processo participativo %{resource_title}. step_activated: email_intro: 'O passo %{resource_title} agora está ativo para %{participatory_space_title}. Você pode vê-lo a partir desta página:' email_outro: Você recebeu esta notificação porque está seguindo %{participatory_space_title}. Você pode parar de receber notificações após o link anterior. @@ -265,10 +316,33 @@ pt: description: Número de processos participativos nesta organização object: processos participativos title: Processos participativos + participatory_process: + show: + related_assemblies: Assembleias Relacionadas participatory_process_groups: content_blocks: + html_1: + name: Primeiro bloco HTML + html_2: + name: Segundo bloco HTML + html_3: + name: Terceiro bloco HTML + metadata: + developer_group: Promovido por + name: Metadados + participatory_scope: O que é decidido + participatory_structure: Como é decidido + target: Quem participa + participatory_processes: + name: Processos participativos stats: name: Atividade + title: + meta_scope: Escopo + name: Título, descrição e hashtag + participatory_processes: + one: 1 processo + other: "%{count} processos" show: title: Grupos de processos participativos participatory_process_steps: @@ -280,9 +354,21 @@ pt: content_blocks: highlighted_processes: max_results: Quantidade máxima de elementos para mostrar + new_import: + accepted_types: + json: JSON participatory_process_copies: form: slug_help: 'Os slugs de URL são usados ​​para gerar os URLs que apontam para esse processo. Apenas aceita letras, números e traços, e deve começar com uma carta. Exemplo: %{url}' + participatory_process_groups: + form: + metadata: Metadados + title: Informação geral + visibility: Visibilidade + participatory_process_imports: + form: + document_legend: Adicionar um documento + slug_help: 'Os slugs de URL são usados ​​para gerar os URLs que apontam para esse processo. Apenas aceita letras, números e traços, e deve começar com uma carta. Exemplo: %{url}' participatory_process_steps: form: cta_path_help: 'Use caminhos parciais, não URLs completos aqui. Aceita letras, números, traços e barras, e deve começar com uma letra. Se não estiver definido, o botão não será mostrado. Exemplo: %{url}' @@ -296,6 +382,7 @@ pt: metadata: Metadados other: De outros related_processes: Processos relacionados + scope_type_max_depth_help: Restringir a profundidade do filtro de escopo; O filtro será mostrado de modo geral ao tipo de escopo selecionado. select_an_area: Selecione uma área select_process_group: Selecione um grupo de processos slug_help: 'Os slugs de URL são usados ​​para gerar os URLs que apontam para esse processo. Apenas aceita letras, números e traços, e deve começar com uma carta. Exemplo: %{url}' @@ -315,7 +402,11 @@ pt: active_step: Passo ativo more_information: Mais Informações participate: Participar + participate_in: Participe do processo %{resource_name} see_all_processes: Ver todos os processos + participatory_process_steps: + index: + back_to_process: Voltar à página do processo participatory_processes: filters: counters: @@ -345,6 +436,8 @@ pt: loading: Carregando os resultados ... show: area: Área + belongs_to_group: Este processo pertence a + dates: Datas developer_group: Grupo promotor end_date: Data final local_area: Área de organização @@ -378,6 +471,7 @@ pt: participatory_process_groups: participatory_process_group: browse: Navegar + browse_resource: Buscar grupo de processos %{resource_name} processes_count: 'Processos:' participatory_process_widgets: show: @@ -389,11 +483,17 @@ pt: participatory_process: active_step: 'Etapa atual:' more_info: Mais informações + more_info_about: Mais informações sobre o processo %{resource_name} take_part: Participar + take_part_in: Participe do processo %{resource_name} promoted_process: active_step: 'Etapa atual:' more_info: Mais informações + more_info_about: Mais informações sobre o processo %{resource_name} take_part: Participar + take_part_in: Participe do processo %{resource_name} + promoted_process_group: + more_info: Mais informações process_header_steps: step: Passo %{current} de %{total} view_steps: Ver as etapas diff --git a/decidim-proposals/config/locales/nl.yml b/decidim-proposals/config/locales/nl.yml index df2f50de4e4c3..aadc375e6a04e 100644 --- a/decidim-proposals/config/locales/nl.yml +++ b/decidim-proposals/config/locales/nl.yml @@ -240,7 +240,7 @@ nl: notification_title: Het %{resource_title} voorstel werd gepubliceerd door %{author_name} %{author_nickname}. proposal_published_for_space: email_intro: Het voorstel "%{resource_title}" is toegevoegd aan "%{participatory_space_title}" dat je volgt. - email_outro: U heeft deze melding ontvangen omdat u "%{participatory_space_title}" volgt. Schakel de meldingen uit door op de voorgaande link te klikken. + email_outro: Je hebt deze melding ontvangen omdat je "%{participatory_space_title}" volgt. Schakel de meldingen uit door op bovenstaande link te klikken en te stoppen met volgen. email_subject: Nieuw voorstel "%{resource_title}" toegevoegd aan %{participatory_space_title} notification_title: Het voorstel %{resource_title} is toegevoegd aan %{participatory_space_title} proposal_rejected: diff --git a/decidim-proposals/config/locales/pt-BR.yml b/decidim-proposals/config/locales/pt-BR.yml index 7e35c3d8a0bb1..f130db2cd88c0 100644 --- a/decidim-proposals/config/locales/pt-BR.yml +++ b/decidim-proposals/config/locales/pt-BR.yml @@ -7,6 +7,7 @@ pt: category_id: Categoria decidim_scope_id: Escopo has_address: Tem endereço + scope_id: Escopo state: Estado title: Título user_group_id: Criar rascunho colaborativo como @@ -17,19 +18,27 @@ pt: automatic_hashtags: Hashtags adicionados automaticamente body: Corpo category_id: Categoria + decidim_scope_id: Escopo has_address: Tem endereço + scope_id: Escopo state: Estado suggested_hashtags: Hashtags sugeridos title: Título user_group_id: Criar proposta como proposal_answer: answer: Responder + cost: Custo + cost_report: Relatório de custos + execution_period: Período de execução proposals_copy: copy_proposals: Eu entendo que isso irá importar todas as propostas do componente selecionado para o atual e que esta ação não pode ser revertida. origin_component_id: Componente para copiar as propostas de proposals_import: import_proposals: Importar propostas keep_authors: Mantenha os autores originais + valuation_assignment: + admin_log: + valuator_role_id: Nome do Avaliador errors: models: participatory_text: @@ -41,12 +50,14 @@ pt: attachment: needs_to_be_reattached: Precisa ser recolocado body: + cant_be_equal_to_template: não pode ser igual ao modelo identical: E o título não pode ser idêntico title: identical: E o corpo não pode ser idêntico models: decidim/proposals/accepted_proposal_event: Proposta aceita decidim/proposals/admin/update_proposal_category_event: Categoria da proposta alterada + decidim/proposals/admin/update_proposal_scope_event: Escopo da proposta alterado decidim/proposals/creation_enabled_event: Criação de proposta ativada decidim/proposals/endorsing_enabled_event: Endosso da proposta ativado decidim/proposals/evaluating_proposal_event: Esta proposta está sendo avaliada @@ -69,9 +80,39 @@ pt: one: Voto other: Votos decidim: + admin: + filters: + proposals: + category_id_eq: + label: Categoria + is_emendation_true: + label: Tipo + values: + 'false': Propostas + 'true': Emendas + scope_id_eq: + label: Escopo + state_eq: + label: Estado + values: + accepted: Aceitou + evaluating: Avaliando + published: Publicado + rejected: Rejeitado + validating: Validação técnica + withdrawn: Retirado + state_null: + label: Estado + values: + 'true': Não respondido + valuator_role_ids_has: + label: Atribuído ao avaliador + search_placeholder: + id_string_or_title_cont: Buscar %{collection} por ID ou título. components: proposals: actions: + amend: Alterar create: Criar endorse: Endossar vote: Voto @@ -79,19 +120,30 @@ pt: name: Propostas settings: global: + allow_card_image: Permitir imagem do cartão amendments_enabled: Alterações ativadas + amendments_enabled_help: Se estiver ativo, configure as características da alteração em cada passo. + amendments_wizard_help_text: Texto de ajuda do Assistente announcement: Anúncio attachments_allowed: Permitir anexos can_accumulate_supports_beyond_threshold: Pode acumular suportes além do limiar collaborative_drafts_enabled: Rascunhos colaborativos ativados comments_enabled: Comentários ativados + comments_max_length: Tamanho máximo de comentários (deixe 0 para o valor padrão) geocoding_enabled: Geocoding habilitado minimum_votes_per_user: Mínimo de votos por usuário + new_proposal_body_template: Novo modelo de corpo da proposta + new_proposal_body_template_help: Você pode definir o texto pré-preenchido que as novas propostas terão new_proposal_help_text: Novo texto de ajuda da proposta official_proposals_enabled: Proposta oficial habilitada participatory_texts_enabled: Textos participativos habilitados + participatory_texts_enabled_readonly: Não é possível interagir com esta configuração se houver propostas existentes. Por Favor, crie um novo componente `Propostas` se você quiser habilitar esta funcionalidade ou descartar todas as propostas importadas no menu `Textos Participatórios` se você quiser desativá-la. proposal_answering_enabled: Resposta de proposta ativada proposal_edit_before_minutes: As propostas podem ser editadas pelos autores antes que muitos minutos passem. + proposal_edit_time: Editando proposta + proposal_edit_time_choices: + infinite: Permitir a edição de propostas por um período infinito de tempo + limited: Permitir a edição de propostas em um período de tempo específico proposal_length: Comprimento máximo do corpo da proposta proposal_limit: Limite da proposta por usuário proposal_wizard_step_1_help_text: Assistente de propostas "Criar" passo ajuda texto @@ -99,22 +151,43 @@ pt: proposal_wizard_step_3_help_text: Texto de ajuda da etapa "Completa" do assistente de proposta proposal_wizard_step_4_help_text: Assistente de propostas "Publicar" passo ajuda texto resources_permissions_enabled: Permissões de ações podem ser definidas para cada proposta + scope_id: Escopo + scopes_enabled: Escopos habilitados threshold_per_proposal: Limiar por proposta vote_limit: Limite de voto por usuário step: + amendment_creation_enabled: Criação de alteração ativada + amendment_creation_enabled_help: O usuário pode alterar propostas. + amendment_promotion_enabled: Promoção de alteração ativada + amendment_promotion_enabled_help: Os autores de emendas poderão promover a proposta para a rejeição da emenda. + amendment_reaction_enabled: Reação da alteração habilitada + amendment_reaction_enabled_help: Os autores da proposta poderão aceitar ou rejeitar as emendas dos participantes. + amendments_visibility: Visibilidade das alterações + amendments_visibility_choices: + all: As alterações são visíveis para todos + participants: As alterações são visíveis apenas para seus autores + amendments_visibility_help: Se for seleccionada a opção "as alterações são visíveis apenas para os seus autores", será necessário registar o registo dos participantes para ver as alterações introduzidas. announcement: Anúncio + answers_with_costs: Ativar custos na resposta da proposta automatic_hashtags: Hashtags adicionados a todas as propostas comments_blocked: Comentários bloqueados creation_enabled: Criação de proposta ativada endorsements_blocked: Endossos bloqueados endorsements_enabled: Endossos habilitados proposal_answering_enabled: Resposta de proposta ativada + publish_answers_immediately: Publicar respostas da proposta imediatamente suggested_hashtags: Hashtags sugeridos aos usuários para novas propostas votes_blocked: Votação desativada votes_enabled: Votação habilitada votes_hidden: Votos ocultos (se os votos estiverem ativados, verificar isso esconderá o número de votos) events: proposals: + admin: + proposal_note_created: + email_intro: Alguém deixou uma nota na proposta "%{resource_title}". Confira no painel de administração + email_outro: Você recebeu esta notificação porque pode avaliar a proposta. + email_subject: Alguém deixou uma nota na proposta %{resource_title}. + notification_title: Alguém deixou uma nota na proposta %{resource_title}. Confira no painel de administração collaborative_draft_access_accepted: email_intro: '%{requester_name} foi aceito para acessar como colaborador do rascunho colaborativo %{resource_title}.' email_outro: Você recebeu esta notificação porque é colaborador de %{resource_title}. @@ -178,6 +251,7 @@ pt: email_subject: Uma proposta que você está seguindo está sendo avaliada notification_title: A proposta %{resource_title} está sendo avaliada. proposal_mentioned: + email_intro: Sua proposta "%{mentioned_proposal_title}" foi mencionada neste espaço nos comentários. email_outro: Você recebeu esta notificação porque é um autor de "%{resource_title}". email_subject: Sua proposta "%{mentioned_proposal_title}" foi mencionada notification_title: Sua proposta "%{mentioned_proposal_title}" foi mencionada neste espaço nos comentários. @@ -208,7 +282,10 @@ pt: email_subject: A categoria de proposta %{resource_title} foi atualizada notification_title: A %{resource_title} categoria de proposta foi atualizada por um administrador. proposal_update_scope: + email_intro: 'Um administrador atualizou o escopo de sua proposta "%{resource_title}", confira nesta página:' email_outro: Você recebeu esta notificação porque você é o autor da proposta. + email_subject: O escopo da proposta %{resource_title} foi atualizado + notification_title: O escopo da proposta %{resource_title} foi atualizado por um administrador. voting_enabled: email_intro: 'Você pode votar propostas em %{participatory_space_title}! Comece a participar nesta página:' email_outro: Você recebeu esta notificação porque está seguindo %{participatory_space_title}. Você pode parar de receber notificações após o link anterior. @@ -271,15 +348,18 @@ pt: see_all: Ver todos (%{count}) proposals: actions: + answer_proposal: Responder proposta edit_proposal: Editar proposta import: Importar de outro componente new: Nova proposta participatory_texts: Textos participativos + show: Mostrar proposta title: Ações admin: actions: preview: Previsualização exports: + proposal_comments: Comentários proposals: Propostas models: proposal: @@ -293,6 +373,7 @@ pt: success: Todos os rascunhos de texto participativos foram descartados. import: invalid: O formato é inválido! + invalid_file: O arquivo contém algum erro, por favor, tente editar o conteúdo do arquivo e reenviá-lo novamente. success: Parabéns, as seções a seguir foram analisadas do documento importado, elas foram convertidas em propostas. Agora você pode revisar e ajustar o que precisar antes de publicar. index: info_1: As seções a seguir foram analisadas a partir do documento importado, elas foram convertidas em propostas. Agora você pode revisar e ajustar o que precisar antes de publicar. @@ -300,7 +381,11 @@ pt: save_draft: Salvar rascunho title: Visualizar texto participativo new_import: + accepted_mime_types: + md: Markdown + odt: ODT bottom_hint: "(Você será capaz de visualizar e classificar as seções do documento)" + document_legend: 'Adicione um documento menor que 2MB, cada seção até que 3 níveis de profundidade sejam analisados em propostas. Formatos suportados são: %{valid_mime_types}' title: ADICIONAR DOCUMENTO upload_document: Carregar documento publish: @@ -341,37 +426,72 @@ pt: form: attachment_legend: "(Opcional) Adicionar um anexo" created_in_meeting: Esta proposta vem de uma reunião + delete_attachment: Excluir anexo select_a_category: Selecionar uma categoria select_a_meeting: Selecione uma reunião index: actions: Ações + assign_to_valuator: Atribuir ao avaliador + assign_to_valuator_button: Atribuir cancel: Cancelar change_category: Alterar categoria + change_scope: Alterar o escopo merge: Junte-se a um novo merge_button: Combinar publish: Publicar + publish_answers: Publicar respostas select_component: Selecionar componente selected: selecionado split: Dividir propostas split_button: Dividir title: Propostas + unassign_from_valuator: Desatribuir do avaliador + unassign_from_valuator_button: Desatribuir update: Atualizar + update_scope_button: Atualizar Escopo new: create: Criar title: Criar proposta publish_answers: + number_of_proposals: Respostas para propostas de %{number} serão publicadas. select_a_proposal: Selecione uma proposta show: + amendments_count: As alterações contam + assigned_valuators: Avaliadores atribuídos authors: Autores body: Corpo + comments_count: Contagem de Comentários + comments_negative_count: Contra + comments_neutral_count: Neutro + comments_positive_count: Favor created_at: Data de criação + documents: Documentos + endorsements_count: Contagem de endossos + endorsements_ranking: Classificação por endossos + endorsers: Endossar + link: Link + n_more_endorsers: + one: e mais 1 + other: e mais %{count} + photos: Fotos proposals: Propostas + ranking: "%{ranking} de %{total}" + related_meetings: Reuniões relacionadas + remove_assignment: Remover Atribuição + remove_assignment_confirmation: Tem certeza que deseja remover o avaliador desta proposta? + valuators: Avaliadores votes_count: Contagem de votos + votes_ranking: Classificação por votos update_category: + invalid: 'Estas propostas já tinham a categoria %{subject_name}: %{proposals}.' select_a_category: Selecione uma categoria select_a_proposal: Selecione uma proposta + success: 'Propostas atualizadas com sucesso para a categoria %{subject_name}: %{proposals}.' update_scope: + invalid: 'Estas propostas já tinham o escopo %{subject_name}: %{proposals}.' select_a_proposal: Selecione uma proposta + select_a_scope: Por favor, selecione um escopo + success: 'Propostas atualizadas com sucesso para o escopo %{subject_name}: %{proposals}.' proposals_imports: create: invalid: Tem havido um problema ao importar as propostas @@ -381,6 +501,7 @@ pt: no_components: Não há outros componentes da proposta neste espaço participativo para importar as propostas. select_component: Selecione um componente select_states: Verifique os estados das propostas para importar + title: Importar propostas proposals_merges: create: invalid: Ocorreu um erro ao mesclar as propostas selecionadas. @@ -389,13 +510,24 @@ pt: create: invalid: Ocorreu um erro ao dividir as propostas selecionadas. success: Dividiu com sucesso as propostas em novas. + valuation_assignments: + create: + invalid: Ocorreu um erro ao atribuir propostas a um avaliador + success: Propostas atribuídas a um avaliador com sucesso + delete: + invalid: Houve um erro ao desatribuir propostas de um avaliador + success: Avaliador desatribuído de propostas com sucesso admin_log: proposal: answer: "%{user_name} respondeu a proposta %{resource_name} no espaço %{space_name}" create: "%{user_name} criou a proposta %{resource_name} no espaço %{space_name} como uma proposta oficial" + publish_answer: "%{user_name} publicou a resposta para a proposta %{resource_name} no espaço %{space_name}" update: "%{user_name} atualizou a proposta oficial %{resource_name} no espaço %{space_name}" proposal_note: create: "%{user_name} deixou uma nota privada na proposta %{resource_name} no espaço %{space_name}" + valuation_assignment: + create: "%{user_name} atribuiu a proposta %{resource_name} a um valor" + delete: "%{user_name} desatribuiu um valor à proposta %{proposal_title}" answers: accepted: Aceitaram evaluating: Avaliando @@ -518,9 +650,13 @@ pt: error: Houve erros ao salvar o rascunho colaborativo. success: Rascunho colaborativo atualizado com sucesso. wizard_aside: + back_from_collaborative_draft: Voltar para rascunhos colaborativos info: Você está criando um projecto de colaboração. wizard_header: title: Crie seu rascunho colaborativo + content_blocks: + highlighted_proposals: + proposals: Propostas create: error: Ocorreu erros ao salvar a proposta. success: Proposta criada com sucesso. Salvo como um rascunho. @@ -529,6 +665,7 @@ pt: success: O rascunho da proposta foi excluído com sucesso. last_activity: new_proposal_at_html: "Nova proposta em %{link}" + proposal_updated_at_html: "Proposta atualizada no %{link}" models: collaborative_draft: fields: @@ -542,10 +679,13 @@ pt: id: ID notes: Notas official_proposal: Proposta oficial + published_answer: Resposta publicada published_at: Publicado em scope: Âmbito state: Estado title: Título + valuator: Avaliador + valuators: Avaliadores votes: Votos new: limit_reached: Você não pode criar novas propostas desde que você excedeu o limite. @@ -570,9 +710,16 @@ pt: proposals_count: one: "%{count} proposta" other: "%{count} propostas" + dynamic_map_instructions: + instructions:

    Você pode mover o ponto no mapa.

    Não se esqueça de clicar no botão "Atualizar Posição" antes de publicar sua proposta.

    edit: + add_documents: Documentos + add_images: Arquivo attachment_legend: "(Opcional) Adicione um anexo" back: Voltar + delete_document: Apagar Documento + delete_image: Excluir Imagem + gallery_legend: "(Opcional) Adicione uma imagem à carta da proposta" select_a_category: Selecione uma categoria send: Enviar title: Editar proposta @@ -582,8 +729,11 @@ pt: send: Visualização title: Editar proposta de rascunho filters: + activity: Minha atividade + all: Tudo amendment_type: Tipo category: Categoria + my_proposals: Minhas propostas origin: Origem related_to: Relacionado a scope: Escopo @@ -610,41 +760,67 @@ pt: title: Crie sua proposta orders: label: 'Ordene propostas por:' + most_commented: Mais comentados + most_endorsed: Mais endossados + most_followed: Mais seguidos most_voted: Mais votados random: Aleatório recent: Recente + with_more_authors: Com mais autores participatory_texts: index: document_index: Índice de documentos view_index: see_index: Veja o índice + placeholder: + address: 37 Homewood Drive Brownsburg, IN 46112 preview: + announcement_body: Sua proposta foi salva como rascunho. Precisa ser publicada para aparecer no site. + announcement_title: Sua proposta ainda não foi publicada modify: Modificar a proposta proposal_edit_before_minutes: one: Você poderá editar esta proposta durante o primeiro minuto após a publicação da proposta. Uma vez que esta janela de tempo passa, você não poderá editar a proposta. other: Você poderá editar esta proposta durante o primeiro %{count} minutos após a publicação da proposta. Uma vez que esta janela de tempo passa, você não poderá editar a proposta. publish: Publicar title: Publique sua proposta + update_position: Atualizar posição proposal: creation_date: 'Criação: %{date}' view_proposal: Ver proposta + proposals: + empty: Ainda não há nenhuma proposta + empty_filters: Não há nenhuma proposta com este critério show: answer: Responda back_to: De volta a + back_to_list: Voltar para a lista + changes_at_title: Alteração para "%{title}" comments: Comentários edit_proposal: Editar proposta endorsements_list: Lista de avais + estimated_cost: Custo estimado hidden_endorsers_count: one: e mais %{count} pessoa other: e mais %{count} pessoas link_to_collaborative_draft_help_text: Esta proposta é o resultado de um rascunho colaborativo. Revise o histórico link_to_collaborative_draft_text: Veja o rascunho colaborativo + link_to_promoted_emendation_help_text: Esta proposta é uma emenda promovida + link_to_promoted_emendation_text: Veja a emenda rejeitada. + link_to_proposal_from_emendation_help_text: Esta é uma emenda rejeitada + link_to_proposal_from_emendation_text: Veja a proposta proposal_accepted_reason: 'Esta proposta foi aceita porque:' proposal_in_evaluation_reason: Esta proposta está sendo avaliada proposal_rejected_reason: 'Esta proposta foi rejeitada porque:' + read_less: Leia menos + read_more: Ler Mais report: Relatório withdraw_btn_hint: Você pode retirar sua proposta se mudar de idéia, desde que não tenha recebido nenhum suporte. A proposta não é excluída, ela aparecerá na lista de propostas retiradas. + withdraw_confirmation_html: Tem certeza que deseja retirar esta proposta?

    Esta ação não pode ser cancelada! withdraw_proposal: Retirar proposta + tags: + changed_from: "(alterado de %{previous_name} por um administrador)" + update: + title: Atualizar proposta vote_button: already_voted: Já votou already_voted_hover: Unvote @@ -676,17 +852,30 @@ pt: votes: Votos wizard_aside: back: Costas + back_from_step_1: Voltar às propostas + back_from_step_2: Voltar às propostas + back_from_step_3: Voltar para a proposta de comparação + back_from_step_4: Voltar à edição de rascunho info: Você está criando uma proposta. wizard_steps: + current_step: Etapa atual see_steps: ver etapas step_1: Crie sua proposta step_2: Comparar step_3: Completo step_4: Publique sua proposta step_of: Etapa %{current_step_num} de %{total_steps} + title: Etapas de criação proposta + proposals_picker: + choose_proposals: Escolher propostas + close: Fechar + more_proposals: Existem mais %{number} propostas. Refine sua pesquisa para localizá-los. + no_proposals: Nenhuma proposta corresponde aos seus critérios de pesquisa ou não há propostas. publish: error: Houve erros ao publicar a proposta. success: Proposta publicada com sucesso. + publish_answers: + success: Propostas de resposta publicadas com sucesso. update: error: Ocorreu erros ao salvar a proposta. success: Proposta atualizada com sucesso. diff --git a/decidim-sortitions/config/locales/pt-BR.yml b/decidim-sortitions/config/locales/pt-BR.yml index a13eb27269ec9..4db012bb848af 100644 --- a/decidim-sortitions/config/locales/pt-BR.yml +++ b/decidim-sortitions/config/locales/pt-BR.yml @@ -23,6 +23,7 @@ pt: settings: global: comments_enabled: Comentários ativados + comments_max_length: Tamanho máximo de comentários (deixe 0 para o valor padrão) events: sortitions: sortition_created: @@ -124,6 +125,7 @@ pt: show: algorithm: Código de Algoritmo da Classificação any_category: de todas as categorias + back: Voltar para a lista cancelled: Sortição cancelada candidate_proposal_ids: Ordem de propostas de classificação e IDs candidate_proposals_info: 'A ordenação foi realizada entre as seguintes propostas (%{category_label}), com os seguintes IDs (em negrito as propostas selecionadas) ' diff --git a/decidim-surveys/config/locales/pt-BR.yml b/decidim-surveys/config/locales/pt-BR.yml index e2529ec270f4b..17bf00ae31496 100644 --- a/decidim-surveys/config/locales/pt-BR.yml +++ b/decidim-surveys/config/locales/pt-BR.yml @@ -20,8 +20,17 @@ pt: settings: global: announcement: Anúncio + clean_after_publish: Excluir respostas ao publicar a pesquisa + ends_at: Respostas aceitas até + ends_at_help: Deixe em branco para nenhuma data específica + scope_id: Escopo + scopes_enabled: Escopos habilitados + starts_at: Respostas aceitas de + starts_at_help: Deixe em branco para nenhuma data específica step: allow_answers: Permitir respostas + allow_unregistered: Permitir que usuários não registrados respondam à pesquisa + allow_unregistered_help: Se ativo, nenhum login será necessário para responder a pesquisa. Isso pode levar a dados ruins ou não confiáveis e será mais vulnerável a ataques automatizados. Use com cuidado! announcement: Anúncio events: surveys: @@ -53,4 +62,5 @@ pt: surveys: answer: invalid: Houve erros ao responder a pesquisa. + spam_detected: Houve algum problema ao responder ao formulário. Talvez você tenha sido rápido demais, pode tentar novamente? success: Pesquisa respondida com sucesso. diff --git a/decidim-system/config/locales/pt-BR.yml b/decidim-system/config/locales/pt-BR.yml index 49fcb14a40f10..a2225ba00ac24 100644 --- a/decidim-system/config/locales/pt-BR.yml +++ b/decidim-system/config/locales/pt-BR.yml @@ -1,4 +1,36 @@ pt: + activemodel: + attributes: + oauth_application: + name: Nome do aplicativo OAuth + organization_logo: Logotipo da organização (quadrado) + organization_name: Organização + organization_url: URL da organização + redirect_uri: Redirecionar URI + organization: + address: Nome do host SMTP + from_email: Endereço de E-mail + from_label: Rótulo + password: Senha + port: Porta + user_name: Nome de usuário + organization_file_uploads: + allowed_content_types: + admin: Tipos MIME do Admin + default: Tipos MIME padrão + allowed_file_extensions: + admin: Extensões de arquivo admin + default: Extensões de arquivo padrão + image: Extensões de arquivo de imagem + maximum_file_size: + avatar: Tamanho do arquivo Avatar + default: Tamanho do arquivo padrão + errors: + models: + oauth_application: + attributes: + redirect_uri: + must_be_ssl: O URI de redirecionamento deve ser um URI com SSL decidim: system: actions: @@ -32,6 +64,7 @@ pt: menu: admins: Administradores dashboard: painel de controle + oauth_applications: Aplicações OAuth organizations: Organizações models: admin: @@ -41,25 +74,99 @@ pt: name: Administrador validations: email_uniqueness: outro administrador com o mesmo e-mail já existe + oauth_application: + fields: + created_at: Criado em + name: Nome do aplicativo OAuth + organization_name: Organização + name: Aplicação OAuth organization: actions: save_and_invite: Criar organização e convidar admin fields: created_at: Criado em + file_upload_settings: Configurações de upload de arquivo name: Nome + omniauth_settings: Configurações Omniauth + smtp_settings: Configurações de SMTP name: Organização + oauth_applications: + create: + error: Houve um erro ao criar este aplicativo. + success: Aplicativo criado com sucesso. + destroy: + error: Houve um erro ao excluir este aplicativo. + success: Aplicativo excluído com sucesso. + edit: + save: Salvar + title: Editar aplicativo + form: + select_organization: Selecione uma organização + index: + confirm_delete: Tem certeza de que deseja excluir este aplicativo? + title: Aplicações OAuth + new: + save: Salvar + title: Nova aplicação + update: + error: Houve um erro ao atualizar este aplicativo. + success: Aplicativo atualizado com sucesso. organizations: create: error: Ocorreu um erro ao criar uma nova organização. success: Organização criada com sucesso. edit: secondary_hosts_hint: Insira cada um deles em uma nova linha + file_upload_settings: + content_types: + admin_hint: Esses tipos MIME são permitidos para uploads de seções do admin. Os usuários de administração devem estar cientes dos riscos de carregar alguns formatos de documento, então você pode esperar que eles sejam mais cautelosos com o envio de arquivos. + default_hint: Estes tipos MIME são permitidos para todos os usuários por padrão. + intro_html: Você adiciona caracteres curinga com o caractere asterisco para os tipos MIME, por exemplo, image/*. + title: Tipos MIME permitidos + file_extensions: + admin_hint: Essas extensões de arquivos são permitidas para uploads de seção admin. Os usuários de administração devem estar cientes dos riscos de carregar alguns formatos de documento, então você pode esperar que eles sejam mais cautelosos com o envio de arquivos. + default_hint: Essas extensões de arquivo são permitidas para todos os usuários por padrão. + image_hint: Estas extensões de arquivo são permitidas para qualquer tipo de upload de imagem. + title: Extensões de arquivos permitidas + file_sizes: + avatar_hint: Megabytes (MB). Este limite de tamanho de arquivo é usado para upload de imagem de avatar. + default_hint: Megabytes (MB). Este limite de tamanho de arquivo é o padrão que é usado para todos os uploads de arquivos a menos que especificado. + title: Tamanho máximo do arquivo + intro: | + Por favor, tenha um cuidado extra ao considerar alterar estas configurações. Quanto menos você permitir, melhor. + Permitir extensões de arquivo ou tipos MIME específicos pode expor os usuários do sistema a riscos de segurança e também pode afetar a acessibilidade do site. index: title: Organizações new: reference_prefix_hint: O prefixo de referência é usado para identificar exclusivamente recursos em todas as organizações secondary_hosts_hint: Insira cada um deles em uma nova linha title: Nova organização + omniauth_settings: + decidim: + client_id: ID do cliente + client_secret: Segredo do Cliente + site_url: URL do site + enabled: Habilitado + enabled_by_default: Este provedor está habilitado por padrão. Ele pode ser editado, mas não desabilitado. + facebook: + app_id: ID do Aplicativo + app_secret: App secret + google_oauth2: + client_id: ID do cliente + client_secret: Segredo do Cliente + icon: Ícone + icon_path: Caminho do ícone + twitter: + api_key: Chave da API + api_secret: Senha API + smtp_settings: + fieldsets: + sender: Remetente + instructions: + from_label: 'Remetente do e-mail será: "seu-nome da organização ". Deixe em branco para usar o ''Endereço de e-mail'' como rótulo' + placeholder: + from_email: sua-organização@exemplo.org + from_label: nome-da-organizacao update: error: Ocorreu um erro ao atualizar essa organização. success: Organização atualizada com sucesso. diff --git a/decidim-templates/config/locales/ca.yml b/decidim-templates/config/locales/ca.yml index 9e9415065bda9..ca407acc63033 100644 --- a/decidim-templates/config/locales/ca.yml +++ b/decidim-templates/config/locales/ca.yml @@ -1,4 +1,11 @@ ca: + activemodel: + attributes: + questionnaire: + title: Títol + template: + description: Descripció + name: Nom decidim: admin: menu: diff --git a/decidim-templates/config/locales/cs.yml b/decidim-templates/config/locales/cs.yml index a6108b51ac66c..b6eb7ed775441 100644 --- a/decidim-templates/config/locales/cs.yml +++ b/decidim-templates/config/locales/cs.yml @@ -1,4 +1,11 @@ cs: + activemodel: + attributes: + questionnaire: + title: Název + template: + description: Popis + name: Jméno decidim: admin: menu: diff --git a/decidim-templates/config/locales/fi-plain.yml b/decidim-templates/config/locales/fi-plain.yml index 7a7c01771398f..ebec082bb8b52 100644 --- a/decidim-templates/config/locales/fi-plain.yml +++ b/decidim-templates/config/locales/fi-plain.yml @@ -1,4 +1,11 @@ fi-pl: + activemodel: + attributes: + questionnaire: + title: Otsikko + template: + description: Kuvaus + name: Nimi decidim: admin: menu: diff --git a/decidim-templates/config/locales/fi.yml b/decidim-templates/config/locales/fi.yml index 7c5a598dca0cc..018e4708c3c50 100644 --- a/decidim-templates/config/locales/fi.yml +++ b/decidim-templates/config/locales/fi.yml @@ -1,4 +1,11 @@ fi: + activemodel: + attributes: + questionnaire: + title: Otsikko + template: + description: Kuvaus + name: Nimi decidim: admin: menu: diff --git a/decidim-templates/config/locales/fr-CA.yml b/decidim-templates/config/locales/fr-CA.yml index d86e019564387..73266acf99568 100644 --- a/decidim-templates/config/locales/fr-CA.yml +++ b/decidim-templates/config/locales/fr-CA.yml @@ -1,4 +1,11 @@ fr-CA: + activemodel: + attributes: + questionnaire: + title: Titre + template: + description: Description + name: Nom decidim: admin: menu: diff --git a/decidim-templates/config/locales/fr-LU.yml b/decidim-templates/config/locales/fr-LU.yml index 41254e56e73bd..7721a75fb29b8 100644 --- a/decidim-templates/config/locales/fr-LU.yml +++ b/decidim-templates/config/locales/fr-LU.yml @@ -1,4 +1,11 @@ fr-LU: + activemodel: + attributes: + questionnaire: + title: Titre + template: + description: Description + name: Nom decidim: admin: menu: diff --git a/decidim-templates/config/locales/fr.yml b/decidim-templates/config/locales/fr.yml index 0a506e53a401a..639da2651dc9e 100644 --- a/decidim-templates/config/locales/fr.yml +++ b/decidim-templates/config/locales/fr.yml @@ -1,4 +1,11 @@ fr: + activemodel: + attributes: + questionnaire: + title: Titre + template: + description: Description + name: Nom decidim: admin: menu: diff --git a/decidim-templates/config/locales/it.yml b/decidim-templates/config/locales/it.yml index 0c20131b3b8b4..f645490d559ae 100644 --- a/decidim-templates/config/locales/it.yml +++ b/decidim-templates/config/locales/it.yml @@ -1,4 +1,11 @@ it: + activemodel: + attributes: + questionnaire: + title: Titolo + template: + description: Descrizione + name: Nome decidim: admin: menu: diff --git a/decidim-templates/config/locales/ja.yml b/decidim-templates/config/locales/ja.yml index 82eb6d9a999a7..a10174ad5c111 100644 --- a/decidim-templates/config/locales/ja.yml +++ b/decidim-templates/config/locales/ja.yml @@ -1,4 +1,11 @@ ja: + activemodel: + attributes: + questionnaire: + title: タイトル + template: + description: 説明 + name: 名前 decidim: admin: menu: diff --git a/decidim-templates/config/locales/nl.yml b/decidim-templates/config/locales/nl.yml index 2133e53fe6e8b..4af6c73fd8dcc 100644 --- a/decidim-templates/config/locales/nl.yml +++ b/decidim-templates/config/locales/nl.yml @@ -1,4 +1,11 @@ nl: + activemodel: + attributes: + questionnaire: + title: Titel + template: + description: Beschrijving + name: Naam decidim: admin: menu: diff --git a/decidim-templates/config/locales/pt-BR.yml b/decidim-templates/config/locales/pt-BR.yml index 9cbe1f038722e..c7024cca3c31f 100644 --- a/decidim-templates/config/locales/pt-BR.yml +++ b/decidim-templates/config/locales/pt-BR.yml @@ -1 +1,67 @@ pt: + activemodel: + attributes: + questionnaire: + title: Título + template: + description: Descrição + name: Nome + decidim: + admin: + menu: + templates: Modelos + templates: + apply: + error: Ocorreu um erro ao aplicar este modelo. + success: Modelo aplicado com sucesso + copy: + error: Ocorreu um erro ao copiar este modelo. + success: Modelo copiado com sucesso + create: + error: Ocorreu um erro ao criar este modelo. + success: Modelo criado com sucesso + destroy: + success: Modelo excluído com sucesso + empty: Ainda não existem modelos. + update: + error: Ocorreu um erro ao atualizar este modelo. + success: Modelo atualizado com sucesso + titles: + template_types: + questionnaires: Modelos de questionário + templates: Modelos + models: + questionnaire_template: + fields: + questions: Número de Questões + title: Nome do questionário + template: + fields: + created_at: Criado em + name: Modelo + templates: + admin: + questionnaire_templates: + choose: + create_from_template: Criar a partir de modelo + description: Você está prestes a criar um novo questionário. Você pode escolher um modelo predefinido e modificá-lo depois. + label: Selecionar modelo + placeholder: Selecionar modelo + skip_template: Ignorar + edit: + edit: Editar + empty: Ainda não há questões + questionnaire: Questionário + form: + save: Salvar + template_title: Informações do Template + title: Modelo de questionário %{questionnaire_for} + index: + confirm_delete: Tem certeza de que deseja excluir este modelo? + title: Modelos de questionário + preview: + current_step: Passo %{step} + of_total_steps: de %{total_steps} + tos_agreement: Ao participar você aceita os Termos de Serviço + template_types: + questionnaires: Questionários diff --git a/decidim-verifications/config/locales/pt-BR.yml b/decidim-verifications/config/locales/pt-BR.yml index e53182736980d..8bdd15d44e533 100644 --- a/decidim-verifications/config/locales/pt-BR.yml +++ b/decidim-verifications/config/locales/pt-BR.yml @@ -24,6 +24,26 @@ pt: full_address: Endereço completo verification_code: Código de verificação decidim: + admin: + menu: + authorization_revocation: + before_date_info: Útil se o processo já começou e você deseja revogar as permissões do processo anterior. + button: Revogar todos + button_before: Revogar antes da data + destroy: + confirm: Revogar antes da data as autorizações não podem ser desfeitas. Tem certeza que deseja continuar? + confirm_all: Revogar todas as autorizações não pode ser desfeito. Tem certeza que deseja continuar? + destroy_nok: Houve um problema ao revogar as autorizações. + destroy_ok: Todas as autorizações correspondentes foram revogadas com sucesso. + info: Há um total de %{count} participantes verificados. + no_data: Nenhum participante verificado + title: Revogação de Autorizações + authorization_workflows: Autorizações + admin_log: + organization: + update_id_documents_config: "%{user_name} atualizou a configuração de autorização de Documentos de Identidade" + user: + grant_id_documents_offline_verification: "%{user_name} verificado %{resource_name} usando a autorização dos Documentos de Identidade offline" authorization_handlers: admin: csv_census: @@ -55,12 +75,22 @@ pt: postal_letter: explanation: Nós lhe enviaremos uma carta postal com um código que você terá que inserir para que possamos verificar seu endereço name: Código por carta postal + events: + verifications: + verify_with_managed_user: + notification_title: O usuário %{resource_title} tentou se verificar com os dados do usuário gerenciado %{managed_user_name} verifications: authorizations: + authorization_metadata: + info: 'Estes são os dados da verificação atual:' + no_data_stored: Nenhum dado armazenado. create: error: Ocorreu um erro ao criar a autorização. success: Você foi autorizado com sucesso. unconfirmed: Você precisa confirmar seu e-mail para se autorizar. + destroy: + error: Ocorreu um erro ao excluir a autorização. + success: Você excluiu a autorização com sucesso. first_login: actions: another_dummy_authorization_handler: Verificar contra outro exemplo de manipulador de autorização @@ -69,13 +99,23 @@ pt: dummy_authorization_workflow: Verifique o exemplo de fluxo de trabalho de autorização id_documents: Seja verificado ao fazer o upload do documento de identidade postal_letter: Seja verificado ao receber um código de verificação por correio postal + sms: Seja verificado ao receber um código de verificação por SMS title: Verifique sua identidade verify_with_these_options: 'Estas são as opções disponíveis para verificar sua identidade:' + index: + expired_verification: O código de verificação expirou + pending_verification: Verificação pendente + show_renew_info: Clique para renovar a verificação + unauthorized_verification: Nova verificação new: authorize: Enviar authorize_with: Verifique com %{authorizer} renew_modal: cancel: Cancelar + close: fechar + continue: Continuar + info_renew: Se você quiser atualizar os dados, continue com a renovação + title: Renovar Verificação skip_verification: Você pode ignorar isso por enquanto e %{link} start_exploring: comece a explorar csv_census: @@ -95,8 +135,10 @@ pt: title: Dados do censo atual instructions: body: Para fazer isso, você deve entrar na administração do sistema e adicionar as autorizações csv_census à organização + title: Você precisa ativar o censo CSV para esta organização new: file: "arquivo .csv com dados de e-mails" + info: 'Deve ser um arquivo no formato CSV com apenas uma coluna com o endereço de e-mail:' submit: Subir arquivo title: Carregar um novo censo authorizations: @@ -108,6 +150,11 @@ pt: postal_codes: one: A participação é restrita aos usuários com o código postal %{postal_codes}. other: 'A participação é restrita aos usuários com qualquer um dos seguintes códigos postais: %{postal_codes}.' + scope: A participação é restrita aos participantes com o escopo %{scope_name}. + user_postal_codes: + one: A participação é restrita aos usuários com o código postal %{postal_codes} e seu código postal é %{user_postal_code}. + other: 'A participação é restrita aos usuários com qualquer um dos seguintes códigos postais: %{postal_codes}. Seu código postal é %{user_postal_code}.' + user_scope: A participação é restrita aos participantes com o escopo %{scope_name}, e seu escopo é %{user_scope_name}. id_documents: admin: config: From 5ed369155244ad4112e02243239611403387b193 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Fri, 25 Jun 2021 12:19:16 +0300 Subject: [PATCH 31/71] Fix user report notification reported user name (#8157) --- .../user_report_mailer/notify.html.erb | 2 +- .../spec/mailers/user_report_mailer_spec.rb | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 decidim-core/spec/mailers/user_report_mailer_spec.rb diff --git a/decidim-core/app/views/decidim/user_report_mailer/notify.html.erb b/decidim-core/app/views/decidim/user_report_mailer/notify.html.erb index e2701482e856b..eefc315d48b94 100644 --- a/decidim-core/app/views/decidim/user_report_mailer/notify.html.erb +++ b/decidim-core/app/views/decidim/user_report_mailer/notify.html.erb @@ -1,6 +1,6 @@

    <%= t ".hello", admin: h(@admin.name) %>

    -

    <%= t ".body_1", user: h(@user.name), token: h(@token.name) %>

    +

    <%= t ".body_1", user: h(@user.user_name), token: h(@token.name) %>

    <%= t ".body_2", reason: h(@reason) %>

    diff --git a/decidim-core/spec/mailers/user_report_mailer_spec.rb b/decidim-core/spec/mailers/user_report_mailer_spec.rb new file mode 100644 index 0000000000000..ef15589297737 --- /dev/null +++ b/decidim-core/spec/mailers/user_report_mailer_spec.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim + describe UserReportMailer, type: :mailer do + let(:organization) { create(:organization, name: "Test Organization") } + let(:admin) { create(:user, :admin, organization: organization) } + let(:reporter) { create(:user, :confirmed, organization: organization) } + let(:user) { create(:user, :confirmed, organization: organization) } + let(:reason) { "spam" } + + describe "#notify" do + let(:mail) { described_class.notify(admin, reporter, reason, user) } + + describe "email body" do + it "includes the reported user name" do + expect(email_body(mail)).to include(user.name) + end + + it "includes the reporter name" do + expect(email_body(mail)).to include(reporter.name) + end + + it "includes the reason" do + expect(email_body(mail)).to include(reason) + end + + context "when the user is already blocked" do + let(:user) { create(:user, :blocked, organization: organization) } + + it "includes the reported user's original name" do + # The `user.name` is set to "Blocked user" + expect(email_body(mail)).not_to include(user.name) + expect(email_body(mail)).to include(user.user_name) + end + end + end + end + end +end From fb8a58b9f3782cb6cd9905d1306788ee8e3aef4c Mon Sep 17 00:00:00 2001 From: Quentin Champ <26109239+Quentinchampenois@users.noreply.github.com> Date: Fri, 25 Jun 2021 11:24:29 +0200 Subject: [PATCH 32/71] Fix proposal map for on release/0.24-stable (#8160) --- .../app/views/decidim/proposals/proposals/preview.html.erb | 3 ++- decidim-proposals/spec/shared/proposals_wizards_examples.rb | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/decidim-proposals/app/views/decidim/proposals/proposals/preview.html.erb b/decidim-proposals/app/views/decidim/proposals/proposals/preview.html.erb index a3cae424c69c1..6ea422c765eac 100644 --- a/decidim-proposals/app/views/decidim/proposals/proposals/preview.html.erb +++ b/decidim-proposals/app/views/decidim/proposals/proposals/preview.html.erb @@ -33,7 +33,8 @@ <%= decidim_form_for(@form, url: update_draft_proposal_path(@form), html: { method: :patch }) do |form| %> <%= form.hidden_field :title, value: form_presenter.title %> <%= form.hidden_field :body, value: form_presenter.body %> - <%= form.hidden_field :address %> + <%= form.hidden_field :has_address, value: true %> + <%= form.hidden_field :address, value: form_presenter.address %> <%= form.hidden_field :latitude, data: { type: "latitude" } %> <%= form.hidden_field :longitude, data: { type: "longitude" } %>
    diff --git a/decidim-proposals/spec/shared/proposals_wizards_examples.rb b/decidim-proposals/spec/shared/proposals_wizards_examples.rb index 7f160472e7813..4a62e58e1c4fc 100644 --- a/decidim-proposals/spec/shared/proposals_wizards_examples.rb +++ b/decidim-proposals/spec/shared/proposals_wizards_examples.rb @@ -299,6 +299,7 @@ within "#edit_proposal_#{proposal_draft.id}" do expect(page).to have_field("proposal_title", type: :hidden, with: proposal_title) expect(page).to have_field("proposal_body", type: :hidden, with: proposal_body) + expect(page).to have_field("proposal_has_address", type: :hidden, with: true) expect(page).to have_field("proposal_address", type: :hidden, with: address) expect(page).to have_field("proposal_longitude", type: :hidden, with: longitude) expect(page).to have_field("proposal_latitude", type: :hidden, with: latitude) From f0ba41385387da9828fc8f7f44554a9a8986ffec Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Mon, 28 Jun 2021 09:27:59 +0200 Subject: [PATCH 33/71] New Crowdin updates (#8151) --- decidim-accountability/config/locales/hu.yml | 27 + decidim-admin/config/locales/hu.yml | 57 ++ decidim-admin/config/locales/pt-BR.yml | 2 + decidim-assemblies/config/locales/hu.yml | 8 + decidim-assemblies/config/locales/it.yml | 2 +- decidim-assemblies/config/locales/pt-BR.yml | 13 + decidim-budgets/config/locales/fr-LU.yml | 2 +- decidim-budgets/config/locales/fr.yml | 2 +- decidim-budgets/config/locales/pt-BR.yml | 1 + decidim-core/config/locales/fi-plain.yml | 2 + decidim-core/config/locales/fi.yml | 2 +- decidim-core/config/locales/ja.yml | 2 + decidim-core/config/locales/pl.yml | 2 +- decidim-debates/config/locales/pl.yml | 2 +- decidim-debates/config/locales/pt-BR.yml | 11 + decidim-elections/config/locales/hu.yml | 54 ++ decidim-elections/config/locales/it.yml | 72 +- decidim-elections/config/locales/pt-BR.yml | 706 +++++++++++++++++- decidim-forms/config/locales/hu.yml | 2 + decidim-forms/config/locales/pt-BR.yml | 2 + decidim-meetings/config/locales/hu.yml | 3 + .../config/locales/hu.yml | 1 + .../config/locales/pt-BR.yml | 2 + decidim-proposals/config/locales/hu.yml | 3 + decidim-proposals/config/locales/pl.yml | 4 +- decidim-templates/config/locales/gl.yml | 7 + 26 files changed, 979 insertions(+), 12 deletions(-) diff --git a/decidim-accountability/config/locales/hu.yml b/decidim-accountability/config/locales/hu.yml index e0249dc4ccfcf..b84a476bd8578 100644 --- a/decidim-accountability/config/locales/hu.yml +++ b/decidim-accountability/config/locales/hu.yml @@ -32,6 +32,8 @@ hu: decidim: accountability: actions: + attachment_collections: Mappák + attachments: Csatolmányok confirm_destroy: 'Biztosan törölni szeretnéd ezt: %{name}?' destroy: Törlés edit: Szerkesztés @@ -42,10 +44,12 @@ hu: title: Műveletek admin: exports: + result_comments: Hozzászólások results: Eredmények import_results: new: import: Importál + info: "

    Javasoljuk, hogy kövesse az alábbi lépéseket:

    1. Hozza létre a hozzáadni kívánt Eredmények állapotait (link).
    2. Az Importálás lehetőség használata előtt hozzon létre legalább egy eredményt manuálisan ezen az Adminisztrációs panelen keresztül (link), hogy jobban megismerje a használni kívánt formátumot, valamint az adatokat, amelyeket meg kell adnia.
    3. Töltse le az Exportált elemet CSV-formátumban (%{link_export_csv})
    4. A módosításokat helyileg végezze el. A CSV-fájlban kizárólag a következő oszlopokat módosíthatja:
    • category/id: a Kategória azonosítója
    • scope/id: az Alkalmazási kör azonosítója
    • parent/id: a Fölérendelt objektum azonosítója (a kapcsolódó Eredmények esetében). Opcionális
    • title/I18N: Cím X nyelven
    • description/I18N: Leírás X nyelven
    • start_date: az eredmény végrehajtásának kezdő dátuma (formátum: ÉÉÉÉ-HH-NN)
    • end_date: az eredmény végrehajtásának záró dátuma (formátum: ÉÉÉÉ-HH-NN)
    • status/id: az eredmény Állapotának azonosítója
    • progress: a végrehajtás mértéke százalékban kifejezve (0 és 100 közötti érték)
    • proposals_ids: a kapcsolódó javaslatok belső azonosítói (vesszővel elválasztva). Automatikusan a következőre konvertálva: proposal_url
    " link: link title: Eredmények betöltése CSV-ből imports: @@ -120,6 +124,11 @@ hu: value_types: parent_presenter: not_found: 'Nem található az adatbázisban (ID: %{id})' + content_blocks: + highlighted_results: + dates: Dátumok + results: Találatok + unspecified: Nincs meghatározva import_mailer: import: errors: Hibák @@ -132,8 +141,12 @@ hu: models: result: fields: + category: Kategória + created_at: Létrehozva end_date: Befejezés dátuma + id: ID progress: Folyamat + scope: Hatáskör start_date: Kezdő dátum status: Állapot title: Cím @@ -147,6 +160,9 @@ hu: fields: description: Leírás entry_date: Dátum + result_m: + executed: Végrehajtva + view: Nézet results: count: results_count: @@ -177,6 +193,15 @@ hu: votes: Támogatás timeline: title: Projekt alakulása + admin: + filters: + results: + category_id_eq: + label: Kategória + scope_id_eq: + label: Hatáskör + status_id_eq: + label: Állapot components: accountability: name: Elszámoltathatóság @@ -189,6 +214,8 @@ hu: heading_leaf_level_results: '"Projektek" neve' heading_parent_level_results: '"Eredmények" neve' intro: Intro + scope_id: Hatáskör + scopes_enabled: Hatáskörök engedélyezve subcategories_label: '"Alkategóriák" neve' step: comments_blocked: Megjegyzések letiltva diff --git a/decidim-admin/config/locales/hu.yml b/decidim-admin/config/locales/hu.yml index bfe735bd6c353..c0114cfb81d69 100644 --- a/decidim-admin/config/locales/hu.yml +++ b/decidim-admin/config/locales/hu.yml @@ -305,6 +305,9 @@ hu: category_id_eq: label: Kategória filter_label: Szűrés + moderations: + reportable_type_string_eq: + label: Típus officialized_at_null: label: Állapot values: @@ -328,6 +331,10 @@ hu: title_cont: Keresés %{collection} cím alapján. state_eq: label: Állapot + forms: + file_help: + import: + message_1: A CSV, JSON és Excel (.xls) fájlok támogatottak help_sections: error: Hiba történt a súgószakaszok frissítésekor form: @@ -366,6 +373,17 @@ hu: impersonate_existing_managed_user: '"%{name}" felhasználó kezelése' impersonate_existing_user: '"%{name}" felhasználó kezelése' impersonate_new_managed_user: Új résztvevő kezelése + imports: + import_from_file: Importálás fájlból + invalid_lines: Hiba található a(z) erőforrásban %{invalid_lines} + new: + accepted_mime_types: + csv: csv + json: json + xls: xls + actions: + back: Vissza + import: Import logs: logs_list: no_logs_yet: Még nincsenek naplók @@ -478,6 +496,21 @@ hu: does_not_belong: Nem tartozik hozzá offensive: Offenzív spam: Spam + reports: + index: + author: Szerző(k) + callout_html: A tartalom akkor jelenik meg a moderációs panelen, amikor a felhasználó (regisztrált fiókkal rendelkező) jelezte az elem melletti %{icon} zászlóra kattintva. + content_original_language: Tartalom eredeti nyelve + participatory_space: Részvételi tér + reported_content: Jelentett tartalom + see_current: Jelenlegi megtekintése + see_original: Eredeti megtekintése + title: Moderálási jelentések + show: + report_details: Ok részletei + report_language: Jelentés nyelve + report_reason: Ok + title: Jelentés részletei newsletter_templates: index: preview_template: Előnézet @@ -543,6 +576,9 @@ hu: error: Hiba történt a hírlevél frissítése során. success: Hírlevél frissítse sikeres volt. Ellenőrizd le, mielőtt elküldenéd. officializations: + block: + error: Hiba történt a résztvevő blokkolásakor + success: A résztvevő sikeresen blokkolva lett create: success: A felhasználó hivatalos lett destroy: @@ -550,6 +586,7 @@ hu: index: actions: Műveletek badge: Jelvény + block: Felhasználó tiltása created_at: 'Létrehozva:' name: Név nickname: Becenév @@ -557,8 +594,10 @@ hu: officialize: Hivatalossá tétel officialized: Hivatalos reofficialize: Újbóli hivatalossá tétel + reports: Jelentések show_email: E-mail cím megjelenítése status: Állapot + unblock: Felhasználó tiltásának törlése unofficialize: Hivatalossá tétel visszavonása new: badge: A hitelesítés jelvénye @@ -572,6 +611,8 @@ hu: hidden: rejtett show: Megjelenítés title: A résztvevő e-mail címének megjelenítése + unblock: + error: Hiba történt a résztvevő feloldásának feloldása során organization: edit: title: Szervezet szerkesztése @@ -785,8 +826,13 @@ hu: errors: impersonate_user: reason: Indokolnod kell a nem menedzselt résztvevők felhatalmazását + metrics: + user_reports: + object: felhasználói jelentések + title: Felhasználói jelentések moderations: actions: + expand: Kibont hidden: Rejtett hide: Elrejt not_hidden: Nem rejtett @@ -807,17 +853,28 @@ hu: models: moderation: fields: + created_at: Létrehozás dátuma hidden_at: 'Rejtett itt:' + participatory_space: Részvételi tér report_count: Számol + reportable_id: Id + reportable_type: Típus reported_content_url: Jelentett URL tartalom reports: Jelentések visit_url: URL meglátogatása + report: + fields: + details: Ok részletei + locale: Nyelv + reason: Ok errors: messages: invalid_json: Érvénytelen JSON layouts: decidim: admin: + global_moderations: + title: Globális moderációk newsletters: title: Hírlevelek settings: diff --git a/decidim-admin/config/locales/pt-BR.yml b/decidim-admin/config/locales/pt-BR.yml index 751c0e76cd90d..af7f4ca1b714a 100644 --- a/decidim-admin/config/locales/pt-BR.yml +++ b/decidim-admin/config/locales/pt-BR.yml @@ -379,6 +379,7 @@ pt: file_help: import: explanation: 'Orientação para o arquivo:' + message_1: Arquivos CSV, JSON e Excel (xlsx) são suportados message_2: Para arquivos CSV, o separador entre colunas deve ser um ponto e vírgula (";") help_sections: error: Houve um erro ao atualizar as seções de ajuda @@ -430,6 +431,7 @@ pt: accepted_mime_types: csv: csv json: json + xls: xls actions: back: Voltar file_legend: Adicionar um arquivo de importação que será analisado. diff --git a/decidim-assemblies/config/locales/hu.yml b/decidim-assemblies/config/locales/hu.yml index 86d718d6de786..d08b412d1ad29 100644 --- a/decidim-assemblies/config/locales/hu.yml +++ b/decidim-assemblies/config/locales/hu.yml @@ -50,6 +50,7 @@ hu: target: Ki vesz részt title: Cím twitter: Twitter + weight: Súly youtube: Youtube assembly_member: birthday: Születésnap @@ -60,6 +61,7 @@ hu: full_name: Teljes név gender: Neme position: Pozíció + user_id: Felhasználó assembly_user_role: email: Email name: Név @@ -378,11 +380,15 @@ hu: comments_count: Hozzászólások debates_count: Viták endorsements_count: Jóváhagyások + followers_count: Követők + headline: Statisztikák meetings_count: Találkozók + no_stats: Még nincsenek statisztikák. orders_count: Támogatja pages_count: Oldalak participants_count: Résztvevők posts_count: Bejegyzések + processes_count: Folyamatok projects_count: Projektek proposals_count: Javaslatok results_count: Eredmények @@ -423,6 +429,8 @@ hu: home: hero: participate_title: Részvétel a platform folyamataiban + sub_hero: + register_title: Jelentkezz be vagy hozz létre fiókot participatory_processes: pages: home: diff --git a/decidim-assemblies/config/locales/it.yml b/decidim-assemblies/config/locales/it.yml index be7d9ab183e88..f983c02240942 100644 --- a/decidim-assemblies/config/locales/it.yml +++ b/decidim-assemblies/config/locales/it.yml @@ -219,7 +219,7 @@ it: name: Membro positions: other: Altro - president: Presidente/Presidentessa + president: Presidentessa/Presidente secretary: Segretario vice_president: Vicepresidente assembly_user_role: diff --git a/decidim-assemblies/config/locales/pt-BR.yml b/decidim-assemblies/config/locales/pt-BR.yml index 8ddc3388dcd2a..e229a3200d05c 100644 --- a/decidim-assemblies/config/locales/pt-BR.yml +++ b/decidim-assemblies/config/locales/pt-BR.yml @@ -63,6 +63,7 @@ pt: full_name: Nome completo gender: Gênero position: Posição + user_id: Usuário assembly_user_role: email: E-mail name: Nome @@ -393,6 +394,7 @@ pt: orders_count: Votos pages_count: Páginas participants_count: Participantes + posts_count: Postagens processes_count: Processos projects_count: Projetos proposals_count: Propostas @@ -406,6 +408,11 @@ pt: designated_on: Designado em index: title: Membros + conferences: + pages: + home: + highlighted_conferences: + conferences_button_title: Link para a página de Conferências exibindo todas as conferências events: assemblies: create_assembly_member: @@ -440,9 +447,15 @@ pt: title: Assembleias pages: home: + hero: + participate_title: Participar dos processos da plataforma sub_hero: register_title: Cadastre-se para criar uma conta participatory_processes: + pages: + home: + highlighted_processes: + processes_button_title: Link para a página de Processos, a qual exibe todos os processos show: related_assemblies: Assembleias Relacionadas errors: diff --git a/decidim-budgets/config/locales/fr-LU.yml b/decidim-budgets/config/locales/fr-LU.yml index f1ecda96f3709..f0acaf79b97cd 100644 --- a/decidim-budgets/config/locales/fr-LU.yml +++ b/decidim-budgets/config/locales/fr-LU.yml @@ -206,7 +206,7 @@ fr-LU: highest_cost: Prix décroissant label: Trier les projets par lowest_cost: Prix croissant - most_voted: Le plus populaire + most_voted: Les plus votés random: Ordre aléatoire selected: Sélectionné project: diff --git a/decidim-budgets/config/locales/fr.yml b/decidim-budgets/config/locales/fr.yml index dc621f130fa3e..45436ff6b3239 100644 --- a/decidim-budgets/config/locales/fr.yml +++ b/decidim-budgets/config/locales/fr.yml @@ -206,7 +206,7 @@ fr: highest_cost: Prix décroissant label: Trier les projets par lowest_cost: Prix croissant - most_voted: Le plus populaire + most_voted: Les plus votés random: Ordre aléatoire selected: Sélectionné project: diff --git a/decidim-budgets/config/locales/pt-BR.yml b/decidim-budgets/config/locales/pt-BR.yml index 657357d48a8cd..c3193df4cd89e 100644 --- a/decidim-budgets/config/locales/pt-BR.yml +++ b/decidim-budgets/config/locales/pt-BR.yml @@ -6,6 +6,7 @@ pt: description: Descrição title: Título total_budget: Orçamento total + weight: Peso project: budget_amount: Valor do orçamento decidim_category_id: Categoria diff --git a/decidim-core/config/locales/fi-plain.yml b/decidim-core/config/locales/fi-plain.yml index 1e0a80d80de13..b39421c3b5e25 100644 --- a/decidim-core/config/locales/fi-plain.yml +++ b/decidim-core/config/locales/fi-plain.yml @@ -313,6 +313,8 @@ fi-pl: authorize: Varmenna varmennustavalla "%{authorization}" explanation: Suorittaaksesi tämän toiminnon, sinun tulee varmentaa tilisi varmennustavalla "%{authorization}". title: Varmennus vaaditaan + ok: + title: Sinut on valtuutettu sen aikana, kun olet ollut tällä sivulla. Lataa sivu uudelleen suorittaaksesi toiminnon, jota yritit suorittaa. pending: explanation: Tämän toiminnon suorittamiseksi sinun varmennettava itsesi palvelulla "%{authorization}", mutta varmennuksesi on edelleen kesken resume: Tarkista "%{authorization}" varmennuksen eteneminen diff --git a/decidim-core/config/locales/fi.yml b/decidim-core/config/locales/fi.yml index e6e55b37560d7..84de48cf68de6 100644 --- a/decidim-core/config/locales/fi.yml +++ b/decidim-core/config/locales/fi.yml @@ -131,7 +131,7 @@ fi: organization: update: "%{user_name} päivitti organisaation asetuksia" participatory_space_private_user: - create: "%{user_name} kutsui %{resource_name} yksityiseksi käyttäjaksi" + create: "%{user_name} kutsui käyttäjän %{resource_name} yksityiseksi käyttäjäksi" create_via_csv: "%{user_name} kutsui yksityisen osallistujan %{resource_name} CSV-tuonnin kautta" delete: "%{user_name} poisti yksityisen käyttäjän %{resource_name}" scope: diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml index e8eb94cd8b2f2..e9f26c5fc19f4 100644 --- a/decidim-core/config/locales/ja.yml +++ b/decidim-core/config/locales/ja.yml @@ -306,6 +306,8 @@ ja: authorize: '"%{authorization}" で認証' explanation: このアクションを実行するには、"%{authorization}" で認証する必要があります。 title: 認証が必要です + ok: + title: このページにいる間は許可されています。アクションを実行するにはページを再読み込みしてください。 pending: explanation: このアクションを実行するには、"%{authorization}" で認証される必要がありますが、承認はまだ進行中です resume: '「%{authorization}」認証の進行状況を確認してください' diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index 739cbd7479c9d..2583c1db86884 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -1653,7 +1653,7 @@ pl: twitter: Twitter vkontakte: Vkontakte wechat: WeChat - wechat_footer: Otwórz program WeChat, kliknij przycisk "Odkryj", a następnie kliknij menu "Zeskanuj kod QR Code". + wechat_footer: Otwórz program WeChat, kliknij przycisk "Odkryj", a następnie kliknij menu "Skan kodu QR". weibo: Sina Weibo whatsapp_app: WhatsApp whatsapp_web: WhatsApp diff --git a/decidim-debates/config/locales/pl.yml b/decidim-debates/config/locales/pl.yml index 79663fde0f14c..728fb87379dee 100644 --- a/decidim-debates/config/locales/pl.yml +++ b/decidim-debates/config/locales/pl.yml @@ -162,7 +162,7 @@ pl: groups_count: Grupy last_comment_by: Ostatni komentarz autorstwa no_comments_yet: Brak komentarzy - open: Otwórz + open: Otwarta participants_count: Użytkownicy update: invalid: Podczas aktualizowania debaty wystąpił błąd. diff --git a/decidim-debates/config/locales/pt-BR.yml b/decidim-debates/config/locales/pt-BR.yml index c5bbf4567bb39..5cd013e80345e 100644 --- a/decidim-debates/config/locales/pt-BR.yml +++ b/decidim-debates/config/locales/pt-BR.yml @@ -207,6 +207,17 @@ pt: email_outro: Você recebeu esta notificação porque está seguindo %{participatory_space_title}. Você pode parar de receber notificações após o link anterior. email_subject: Debates agora disponíveis em %{participatory_space_title} notification_title: Agora você pode começar novos debates em %{participatory_space_title} + debate_closed: + affected_user: + email_intro: 'O debate "%{resource_title}" foi encerrado. Você pode ler as conclusões em sua página:' + email_outro: Você recebeu esta notificação porque está seguindo "%{resource_title}". Você pode deixar de segui-lo no link anterior. + email_subject: O debate "%{resource_title}" foi encerrado + notification_title: O debate %{resource_title} foi encerrado. + follower: + email_intro: 'O debate "%{resource_title}" foi encerrado. Você pode ler as conclusões em sua página:' + email_outro: Você recebeu esta notificação porque está seguindo "%{resource_title}". Você pode deixar de segui-lo no link anterior. + email_subject: O debate "%{resource_title}" foi encerrado + notification_title: O debate %{resource_title} foi encerrado. gamification: badges: commented_debates: diff --git a/decidim-elections/config/locales/hu.yml b/decidim-elections/config/locales/hu.yml index c3eca930dbae0..4b432fef4e0e9 100644 --- a/decidim-elections/config/locales/hu.yml +++ b/decidim-elections/config/locales/hu.yml @@ -10,6 +10,43 @@ hu: success: A választás sikeresen publikálásra került. unpublish: success: A választás publikálását sikeresen visszavonta. + steps: + tally_ended: + title: Eredmények kiszámítva + elections: + preview: + available_answers: Rendelkezésre álló válaszok + description: Ezeket a kérdéseket a szavazás folyamán találod meg + results: + description: Ezek az egyes kérdésekre vonatkozó szavazás eredményei + votes: + one: "%{count} szavazat" + other: "%{count} szavazat" + zero: "%{count} szavazat" + show: + action-button: + change-vote: Szavazatának megváltoztatása + vote: Szavazás kezdete + vote-again: Újraszavaz + callout: + already-voted: Már szavaztál ezen a választáson. Megváltoztathatod szavazatod, vagy ellenőrizheted. + vote-rejected: Nem volt lehetséges szavazatod ellenőrzése. Kérjük, dobd be újra. + verify: + already-voted: Már szavaztál? + verify-here: Itt ellenőrizheted szavazatod. + will-verify: A választás megkezdését követően ellenőrizheted szavazatod. + feedback: + answer: + invalid: Hiba történt a visszajelzésed elküldése során. + votes: + confirmed: + error: Sajnos hiba történt a szavazat megerősítésekor. Kérjük, szavazz újra. + processing: + header: A szavazat feldolgozás alatt... + text: A szavazata megérkezett, és feldolgozása folyamatban van. Kérlek várj. + update: + error: Hiba történt a szavazat állapotának frissítése során + success: Szavazat állapota sikeresen frissítve events: elections: election_published: @@ -17,3 +54,20 @@ hu: email_outro: Azért kapta ezt az értesítést, mert a %{participatory_space_title}-t követi. Az értesítések küldését leállíthatja az előző linkkel. email_subject: 'A %{resource_title} választás aktív itt: %{participatory_space_title}.' notification_title: 'A %{resource_title} választás aktív itt: %{participatory_space_title}.' + votings: + admin: + menu: + votings_submenu: + monitoring_committee_members: Ellenőrző Bizottság + polling_officer_zone: + polling_officers: + show: + actions: + count_votes: Az urnában lévő szavazatok megszámolálása + identify_person: Azonosít és ellenőriz egy személyt + polling_officer_role_description: Szavazóhelyiségi Tisztnek jelöltek (Elnökként vagy Ügyvezetőként) azért, hogy ezen platformon megtartott választásokon intézkedj. + polling_stations: + list: + role: A te szereped + voting: Szavazás + no_polling_stations: Még nem vagy kijelölve egyetlen szavazóhelyiséghez sem. diff --git a/decidim-elections/config/locales/it.yml b/decidim-elections/config/locales/it.yml index 6f04ac471e5b7..bef144acf8b1f 100644 --- a/decidim-elections/config/locales/it.yml +++ b/decidim-elections/config/locales/it.yml @@ -674,7 +674,7 @@ it: fields: address: Indirizzo polling_station_managers: Gestori - polling_station_president: Presidente/Presidentessa + polling_station_president: Presidentessa/Presidente title: Titolo name: Seggio elettorale voting: @@ -767,6 +767,7 @@ it: update: Aggiorna form: select_a_voting_type: Seleziona un tipo di votazione + slug_help: 'Gli URL slugs sono usati per generare gli URL che puntano a questo voto. Accetta solo lettere, numeri e trattini e deve iniziare con una lettera. Esempio: %{url}' title: Titolo voting_type: hybrid: Ibrido @@ -774,6 +775,11 @@ it: online: Online new: create: Crea + title: Nuova Votazione + publish: + success: Votazione pubblicata con successo + unpublish: + success: Votazione annullata con successo update: invalid: Si è verificato un errore durante l'aggiornamento di questa votazione success: Votazione aggiornata con successo @@ -798,6 +804,8 @@ it: see_all_votings: Vedi tutte le votazioni votings_button_title: Link alla pagina Votazioni che mostra tutte le votazioni polling_officer_zone: + menu: + polling_officer_zone: Zona di sondaggio ufficiale polling_officers: show: actions: @@ -814,9 +822,71 @@ it: no_polling_stations: Non sei ancora assegnato a nessun seggio elettorale. title: Seggi elettorali polling_officers: + actions: + confirm_destroy: Sei sicuro? + destroy: Cancella + new: Nuovo + title: Azioni roles: + manager: Gestore president: Presidente/Presidentessa + unassigned: Non Assegnato + polling_stations: + actions: + confirm_destroy: Sei sicuro? + destroy: Cancella + edit: Modifica + new: Nuovo + title: Azioni + votings: + count: + title: + one: "%{count} votazioni" + other: "%{count} votazioni" + filters: + active: Attivo + all: Tutti + finished: Finito + search: Ricerca + state: Stato + upcoming: Prossimi + filters_small_view: + close_modal: Chiudi modalità + filter: Filtro + filter_by: Filtra per + unfold: Dispiega + index: + no_votings: Nessun voto corrisponde ai criteri di ricerca. + only_finished: Al momento non sono previste elezioni, ma qui puoi trovare un elenco di tutte quelle passate. + title: Votazioni + orders: + label: 'Ordina le votazioni per:' + random: Casuale + recent: Più recente + show: + dates: Date + votings_m: + badge_name: + finished: Completata + ongoing: In corso + upcoming: In arrivo + footer_button_text: + participate: Partecipa + view: Visualizza + vote: Vota + unspecified: Non specificato + voting_type: + hybrid: Ibrido + in_person: Di persona + online: Online + voting_types_label: Tipo di votazione layouts: decidim: election_votes_header: exit: Esci + votings: + index: + promoted_votings: Votazioni in evidenza + promoted_voting: + more_info: Ulteriori informazioni + vote: Vota diff --git a/decidim-elections/config/locales/pt-BR.yml b/decidim-elections/config/locales/pt-BR.yml index 9a3264de4e838..fa080d14a9bd4 100644 --- a/decidim-elections/config/locales/pt-BR.yml +++ b/decidim-elections/config/locales/pt-BR.yml @@ -124,6 +124,82 @@ pt: index: invalid_max_selections: Você precisa de mais %{missing_answers} resposta/s para combinar com a seleção máxima title: Respostas + new: + create: Criar resposta + title: Nova resposta + select: + disable: Resposta desmarcada + enable: Marcar resposta como selecionada + invalid: Houve um problema ao selecionar esta resposta + success: Resposta selecionada com sucesso + unselect: + invalid: Houve um problema ao desmarcar esta resposta + success: Resposta não selecionada com sucesso + update: + invalid: Houve um problema ao atualizar esta resposta + success: Resposta atualizada com sucesso + elections: + create: + invalid: Houve um problema ao criar essa eleição + success: Eleição criada com sucesso + destroy: + invalid: Houve um problema ao excluir essa eleição + success: Eleição excluída com sucesso + edit: + title: Editar eleição + update: Atualizar eleição + index: + no_bulletin_board: Não há Quadro de Notas configurado, que é necessário para utilizar este módulo. Esta tarefa deve ser feita pelo Administrador do Sistema. + title: Eleições + new: + create: Criar uma nova eleição + title: Nova eleição + publish: + success: A eleição foi publicada com sucesso. + unpublish: + success: A eleição deixou de ser publicada com sucesso. + update: + invalid: Houve um problema ao atualizar essa eleição + success: Eleição atualizada com sucesso + exports: + elections: Eleições + feedback_form_answers: Respostas do formulário de feedback + models: + answer: + name: Resposta + election: + name: Eleição + question: + name: Questão + trustee: + name: Curador + proposals_imports: + create: + invalid: Houve um problema ao importar as propostas para respostas + success: "%{number} propostas importadas com sucesso para respostas" + new: + create: Importar propostas para respostas + no_components: Não há outros componentes de proposta neste espaço participativo para importar as propostas para respostas. + select_component: Por favor, selecione um componente + title: Importar propostas + questions: + create: + invalid: Ocorreu um erro ao criar uma nova pergunta + success: Questão criada com sucesso + destroy: + invalid: Houve um problema ao excluir esta pergunta + success: Questão criada com sucesso + edit: + title: Editar pergunta + update: Atualizar pergunta + index: + title: Questões + new: + create: Criar questão + title: Nova questão + update: + invalid: Ocorreu um erro ao atualizar esta questão + success: Questão atualizada com sucesso steps: create_election: errors: @@ -147,13 +223,13 @@ pt: time_before: A instalação está sendo feita pelo menos %{hours} horas antes do início da eleição. trustees_number: O espaço participativo tem pelo menos %{number} agentes fiduciários com chave pública. submit: Configurar eleição - success: Eleição enviada com sucesso para o Quadro de avisos + success: Eleição enviada com sucesso para o Quadro de Notas title: Configurar eleição trustees: Agentes fiduciários da Eleição created: invalid: Houve um problema ao iniciar a cerimônia de chave submit: Inicie a cerimônia de chaves - success: Pedido de cerimônia inicial foi enviado com sucesso para o Quadro de avisos + success: Pedido de cerimônia inicial foi enviado com sucesso para o Quadro de Notas title: Eleição criada trustees: Agentes fiduciários key_ceremony: @@ -166,7 +242,7 @@ pt: requirements: time_before: A eleição começará em breve. Você pode iniciar o período de votação manualmente ou ele será iniciado automaticamente antes da hora inicial, às %{start_time}. submit: Iniciar período de votação - success: O pedido de período de votação foi enviado com sucesso para o Conselho Boletim + success: O pedido de período de votação foi enviado com sucesso para o Quadro de Notas title: Preparado para começar processing: Processando... results_published: @@ -176,6 +252,355 @@ pt: trustees: Agentes fiduciários tally_ended: submit: Publicar resultados + title: Resultados calculados + vote: + errors: + time_after: A eleição ainda está em curso. Você tem que esperar até o fim do período de votação (%{end_time}). + invalid: Houve um problema ao terminar o período de votação + requirements: + time_after: A eleição terminou. Você pode terminar o período de votação manualmente ou terminará automaticamente em alguns minutos. + submit: Fim período de votação + success: Período de votação final foi enviado com sucesso para o Quadro de Notas + title: Período de votação + vote_ended: + invalid: Houve um problema ao iniciar a apuração + submit: Iniciar a apuração + success: O início da apuração foi enviado com sucesso para o Quadro de Notas + title: O período de votação terminou + vote_stats: + no_vote_statistics_yet: Nenhuma estatística de voto ainda + title: Estatísticas de Voto + voters: Votantes + votes: Votos + trustees_participatory_spaces: + actions: + disable: Desabilitado + enable: Considere + create: + exists: Curador existente para este espaço participativo + invalid: Houve um problema ao criar um curador + success: Curador criado com sucesso + delete: + invalid: Houve um erro ao remover o curador + success: Curador removido com sucesso + form: + select_user: Selecionar usuário + index: + title: Curadores + new: + create: Criar curador + title: Novo curador + update: + invalid: Ocorreu um erro ao atualizar %{trustee} como curador + success: Curador %{trustee} atualizado com sucesso + admin_log: + election: + end_vote: "%{user_name} terminou o período de votação para a eleição %{resource_name} no Quadro de Notas" + publish: "%{user_name} publicou a eleição %{resource_name}" + setup: "%{user_name} criou a eleição %{resource_name} no Quadro de Notas" + start_key_ceremony: "%{user_name} iniciou a cerimônia chave para a eleição %{resource_name} no Quadro de Notas" + start_tally: "%{user_name} começou a apuração para a eleição %{resource_name} no Quadro de Notas" + start_vote: "%{user_name} começou o período de votação para a eleição %{resource_name} no Quadro de Notas" + unpublish: "%{user_name} despublicizou a eleição %{resource_name}" + election_m: + badge_name: + finished: Finalizado + ongoing: Ativo + upcoming: Próximos + end_date: Finaliza + footer: + view: Visualizar + vote: Votar + label: + date: Datas + questions: Questões %{count} + start_date: Começar + unspecified: Não especificado + elections: + count: + elections_count: + one: "%{count} eleição" + other: "%{count} eleições" + filters: + active: Ativo + all: Todos + finished: Finalizado + search: Pesquisa + state: Status + upcoming: Próximos + filters_small_view: + close_modal: Fechar modal + filter: Filtro + filter_by: Filtrar por + unfold: Revelar + preview: + available_answers: Respostas disponíveis + description: Estas são as perguntas que você encontrará no processo de votação + title: Perguntas eleitorais + results: + description: Esses são os resultados da votação, para cada questão + selected: Selecionado + title: Resultados da eleição + votes: + one: "%{count} votos" + other: "%{count} votos" + zero: "%{count} votos" + show: + action-button: + change-vote: Mude seu voto + vote: Começar a votar + vote-again: Votar novamente + back: Eleições disponíveis + callout: + already-voted: Você já votou nesta eleição. Você pode alterar seu voto ou verificá-lo. + vote-rejected: Não foi possível verificar o seu voto. Por favor, vote novamente. + preview: Pré-visualização + verify: + already-voted: Já votou? + verify-here: Verifique seu voto aqui. + will-verify: Você poderá verificar seu voto quando as eleições forem iniciadas. + voting_period_status: + finished: A votação começou em %{start_time} e terminou em %{end_time} + ongoing: 'Votação ativa até: %{end_time}' + upcoming: A votação começa em %{start_time} + feedback: + answer: + invalid: Ocorreu um erro ao enviar seu feedback. + spam_detected: Houve algum problema ao responder ao formulário. Talvez você tenha sido rápido demais, pode tentar novamente? + success: Feedback enviado com sucesso. + models: + answer: + fields: + proposals: Proposta + title: Título + election: + fields: + bb_status: Satus do Bulletin Board + end_time: Termina às + start_time: Começa às + title: Título + question: + fields: + answers: Respostas + max_selections: Máx. seleções + title: Título + trustees_participatory_space: + fields: + considered: considerado + email: E-mail + inactive: inativo + name: Nome + notification: Notificação enviada em + public_key: Chave Pública + status: Status + orders: + label: Ordenar eleições por + older: Mais antigo + recent: Recente + trustee_zone: + elections: + backup_modal: + description: Esta eleição está a ser criada no Quadro de Notas. É muito importante que cada curador que participe crie uma cópia de segurança dessas chaves e as armazene em um lugar seguro. Depois disso, o processo prossegue. + download_election_keys: Baixar chaves + download_icon: Ícone que indica uma ação de download + title: Backup das chaves eleitorais para %{election} + key_ceremony_steps: + back: Voltar + description: Esta eleição está sendo criada no Quadro de Notas. Para completar este processo, é necessária a sua participação como Curador. + keys: + create_election: Geração de chaves + key_ceremony: + joint_election_key: Geração de chave comum + step_1: Publicação de chaves + list: + status: Status + task: Tarefa + process_warning: Depois que o processo for iniciado, você não deverá sair desta página até que o processo termine. Levará vários minutos, pois todos os curadores deverão estar conectados para completá-lo. + start: Iniciar + start_icon: Ícone que indica um botão iniciar para começar a geração de chaves eleitorais + status: + completed: Concluído + pending: Pendente + processing: Processando + title: Criar chaves eleitorais para %{election} + restore_modal: + description: O Quadro de Notas tem informações suas, na sua qualidade de membro da Presidência, sobre esta eleição. Para continuar o processo, primeiro carregue o arquivo de backup gerado durante a sessão anterior. + title: Restaurar chaves eleitorais para %{election} + upload_election_keys: Upload das chaves eleitorais + upload_icon: Ícone que indica uma ação de download + tally_steps: + back: Voltar + description: Os resultados para esta eleição estão sendo calculados no Quadro de Notas. Para completar este processo, é necessário a sua participação como um curador. + keys: + end_tally: Apuração encerrada + tally: + cast: Transmissão de apuração + share: Compartilhar apuração + list: + status: Status + task: Tarefa + process_warning: Depois que o processo for iniciado, você não deverá sair desta página até que o processo termine. Levará vários minutos, pois todos os curadores deverão estar conectados para completá-lo. + start: Iniciar + start_icon: Ícone que indica um botão iniciar para começar a geração de chaves eleitorais + status: + completed: Concluído + pending: Pendente + processing: Processando + title: Apuração para %{election} + update: + error: O status da eleição não foi atualizado. + success: 'O status da eleição é: %{status}' + menu: + trustee_zone: Zona dos curadores + no_bulletin_board: + body: Um Quadro de Notas é necessário para esta seção. Entre em contato com o Administrador para obter mais detalhes. + title: Desculpe, o Quadro de Notas ainda não está configurado. + trustees: + show: + elections: + list: + action_required: + 'false': 'Não' + name: Ação necessária? + 'true': Executar ação + bb_status: Status + election: Eleição + voting_period: Período de votação + no_elections: Não há eleições em que você esteja como um curador. + title: Eleições + identification_keys: + cancel: Cancelar + generate: Gerar chaves de identificação + generate_error: Ocorreu um erro ao gerar as chaves de identificação. + generate_legend: Você precisa gerar um par de chaves de identificação para participar das eleições como um Trustee. + generate_legend_1: Depois de pressionar o botão, você deve baixar o arquivo com as chaves de identificação geradas. + generate_legend_2: Copie o arquivo baixado para um dispositivo USB limpo + generate_legend_3: Certifique-se de que seu computador não tenha uma cópia do arquivo (por exemplo, verifique as pastas Downloads e Desktop). + generate_legend_4: Faça outra cópia do arquivo em um dispositivo externo diferente e armazene-o em um lugar muito seguro. + submit: Enviar + submit_legend: Depois de seguir todos os passos explicados acima, complete o processo de envio da chave de identificação pública para o servidor Decidim. + submit_title: Enviar a chave de identificação pública + title: Chaves de identificação de curadores + upload: Envie suas chaves de identificação + upload_error: + invalid_format: O arquivo enviado não contém nenhuma chave de identificação. + invalid_key: As chaves de identificação no arquivo enviado não podem ser carregadas. + invalid_public_key: As chaves de identificação no arquivo enviado não correspondem à chave de identificação pública armazenada pelo Decidim. + upload_legend: O Decidim tem suas chaves públicas de identificação, mas seu navegador ainda não tem. Você precisa importar o arquivo com as suas chaves de identificação para o seu computador a partir do backup que você criou após gerá-las. + not_supported_browser_description: Parece que você está usando um navegador da web que não pode ser usado para atuar como um curador. Certifique-se de estar usando a versão mais recente do seu navegador, ou tente usar qualquer um dos navegadores mais populares para conseguir completar suas tarefas de confiança. + not_supported_browser_title: Atualize o navegador para agir como um curador + trustee_role_description: Você foi designado para agir como um curador em algumas das eleições realizadas nesta plataforma. + update: + success: Sua chave pública de identificação foi armazenada com sucesso. + votes: + confirm: + answer: Resposta + answer_number: responder %{number} + confirm: Confirmar + edit: editar + header: Confirme seu voto + intro: Aqui está um resumo do voto que você está prestes a transmitir.
    Por favor, confirme seu voto ou edite suas respostas. + nota_option: Em Branco + question: Questão %{count} + confirmed: + back: Voltar para as eleições + error: Desculpe, ocorreu um erro ao confirmar seu voto. Por favor, vote novamente. + experience: Como foi sua experiência? + feedback: Deixe sua opinião + header: Voto confirmado + lead: Seu voto já foi recebido! + text: 'Você pode verificar se o seu voto foi adicionado com sucesso à urna com o seguinte identificador: %{e_vote_poll_id}' + verify_link: Para verificá-lo, copie o identificador e cole-o na página de verificação do voto + encrypting: + header: Codificando voto... + text: Seu voto está sendo criptografado para garantir que você pode transmiti-lo anonimamente. + failed: + header: Votação falhou + lead: Seu voto não foi transmitido! + text: Algo deu errado, por favor, tente novamente. + header: + confirm: Confirme seu voto + confirmed: Voto confirmado + encrypting: Confirmando voto + messages: + not_allowed: Não está autorizado a votar nesta eleição neste momento. + modal: + close: Fechado + proposal_header: 'Propostas:' + new: + answer_choices: Você pode selecionar até %{choices} respostas + more_information: Mais informações + nota_option: Branco/ Nenhuma das alternativas acima + preview_alert: Esta é uma prévia da cabina de votação. + question_steps: Questão %{current_step} de %{total_steps} + selections: "%{selected} de %{max_selections}
    seleções" + processing: + header: Processando o voto... + text: Seu voto foi recebido e está sendo processado. Por favor, aguarde. + update: + error: Houve um problema ao atualizar o do voto + success: Status do voto atualizado com sucesso + verify: + content: + heading: Verifique seu voto + info: Este verificador verifica se seu voto, identificado com uma string de texto criptografada, foi transmitido corretamente e está dentro das urnas. + error: + header: Voto não encontrado! + info: O código de voto não foi encontrado na urna %{link}. Tente novamente. + form: + back: Voltar ao Decidim + submit: Check + vote_identifier: 'Código de identificador:' + header: + title: Verifique seu voto + success: + header: Voto localizado! + info: Seu voto criptografado está na urna %{link} + voting_step: + back: Voltar + continue: Próxima + warnings: + no_elections_warning: Nenhuma eleição corresponde aos seus critérios de pesquisa ou não há nenhuma eleição agendada. + no_scheduled_elections_warning: Atualmente, não há eleições agendadas, mas aqui podem encontrar uma lista de todas as últimas eleições. + events: + elections: + election_published: + email_intro: 'A eleição %{resource_title} agora está ativa para %{participatory_space_title}. Você pode vê-lo a partir desta página:' + email_outro: Você recebeu esta notificação porque está seguindo %{participatory_space_title}. Você pode parar de receber notificações através o link anterior. + email_subject: A eleição %{resource_title} agora está ativa para %{participatory_space_title}. + notification_title: A eleição %{resource_title} agora está ativa para %{participatory_space_title}. + trustees: + new_election: + email_intro: Você foi adicionado como curador para a eleição %{resource_title}. + email_outro: Você recebeu esta notificação porque foi adicionado como curador da eleição %{resource_title}. + email_subject: Você é um curador às eleições %{resource_title}.. + notification_title: Você é um curador pela eleição de %{resource_title}. + new_trustee: + email_intro: Um administrador adicionou você como curador em %{resource_name}. Você deve criar sua chave pública na sua zona de curador + email_outro: Você recebeu esta notificação porque foi adicionado como curador por %{resource_name}. + email_subject: Você é um curador por %{resource_name}. + notification_title: Você é um curador de %{resource_name}. + votes: + accepted_votes: + email_intro: 'Seu voto foi aceito! Usando o seu token de voto: %{encrypted_vote_hash}, você pode verificar seu voto aqui.' + email_outro: Você recebeu esta notificação porque votou na eleição %{resource_name}. + email_subject: Seu voto para %{resource_name} foi aceito. + notification_title: 'Seu voto foi aceito. Verifique o seu voto aqui usando o seu token de voto: %{encrypted_vote_hash}' + votings: + polling_officers: + polling_station_assigned: + email_intro: Você foi designado como %{role} da Estação de votos %{polling_station_name} em %{resource_title}. Você pode gerenciar a Estação de Votos na Zona de Agente de Votação dedicada. + email_outro: Você recebeu esta notificação porque foi designado como %{role} de %{polling_station_name}. + email_subject: Você é %{role} da Estação de voto %{polling_station_name}. + notification_title: Você está em %{role} da Estação de Voto %{polling_station_name} em %{resource_title}. + help: + participatory_spaces: + votings: + contextual: "

    Uma votação é um espaço que permite que você faça uma pergunta clara para todas as pessoas que formam uma organização, faça uma chamada para participar na votação, incitar e ordenar o debate a favor ou contra uma resposta. Quando chegar a data da consulta, podem votar e publicar os resultados das votações.

    Exemplos: As consultas podem ser sobre quase qualquer aspecto que afete uma organização: alguns exemplos estão mudando o nome ou o logotipo da organização oferecendo várias alternativas, decidir Sim ou Não para fazer parte de uma organização maior, validar ou rejeitar um novo plano estratégico ou o resultado de um grupo de trabalho. ou definir se as posições devem permanecer um máximo de 1, 2 ou 3 mandatos.

    \n" + page: "

    Uma votação é um espaço que permite que você faça uma pergunta clara para todas as pessoas que formam uma organização, faça uma chamada para participar na votação, incitar e ordenar o debate a favor ou contra uma resposta. Quando chegar a data da consulta, podem votar e publicar os resultados das votações.

    Exemplos: As consultas podem ser sobre quase qualquer aspecto que afete uma organização: alguns exemplos estão mudando o nome ou o logotipo da organização oferecendo várias alternativas, decidir Sim ou Não para fazer parte de uma organização maior, validar ou rejeitar um novo plano estratégico ou o resultado de um grupo de trabalho. ou definir se as posições devem permanecer um máximo de 1, 2 ou 3 mandatos.

    \n" + title: O que são votações? + menu: + votings: Votações pages: home: statistics: @@ -184,9 +609,284 @@ pt: statistics: elections_count: Eleições votings: + admin: + content_blocks: + highlighted_votings: + max_results: Quantidade máxima de elementos para mostrar + landing_page: + attachments_and_folders: + name: Anexos e pastas de votação + description: + name: Descrição da votação + elections: + name: Eleição + header: + name: Cabeçalho do voto + html_block_1: + name: Bloco de votação html 1 + html_block_2: + name: Bloco de votação html 2 + html_block_3: + name: Bloco de votação html 3 + metrics: + name: Métricas de votação + polling_stations: + name: Estações de votação + stats: + name: Estatísticas de votação + timeline: + name: Linha do tempo da votação + index: + not_published: Despublicado + published: Publicado + landing_page: + content_blocks: + edit: + update: Atualizar + edit: + active_content_blocks: Blocos de conteúdo ativo + inactive_content_blocks: Blocos de conteúdo inativo + menu: + votings: Votações + votings_submenu: + attachment_collections: Pastas + attachment_files: Arquivos + attachments: Anexos + components: Componentes + info: Informação + landing_page: Página inicial + monitoring_committee_members: Comitê de Monitoramento + polling_officers: Agentes de votação + polling_stations: Estação de votos + models: + monitoring_committee_member: + fields: + email: E-mail + name: Nome + name: Monitoramento de Membros de Comitê + polling_officer: + fields: + email: E-mail + name: Nome + polling_station: Estação de votação (regra) + name: Oficial de Enquete + polling_station: + fields: + address: Endereço + polling_station_managers: Gerentes + polling_station_president: Presidente + title: Título + name: Estação de enquete + voting: + fields: + created_at: Criado em + promoted: Destaque + published: Publicado + title: Título + monitoring_committee_members: + create: + invalid: Houve um problema ao criar este membro do comitê de monitoramento + success: Membro do comitê de monitoramento criado com sucesso + destroy: + invalid: Houve um problema ao excluir este membro do comitê de monitoramento + success: Membro do comitê de monitoramento excluído com sucesso + form: + existing_user: Usuário existente + non_user: Convidar novo usuário + select_user: Pesquisar por nome, e-mail ou apelido + user_type: Tipo de usuário + index: + title: Comitê de Monitoramento + new: + create: Criar + title: Criar membro do comitê de monitoramento + polling_officers: + create: + invalid: Houve um problema ao criar este Agente de Enquete + success: Agente de Enquete criado com sucesso + destroy: + invalid: Houve um problema ao excluir este oficial de enquete + success: Agente de enquete excluído com sucesso + form: + existing_user: Usuário existente + non_user: Convidar novo usuário + select_user: Pesquisar por nome, e-mail ou apelido + user_type: Tipo de usuário + index: + role_manager: gerente + role_president: presidente + title: Agente de Enquete + new: + create: Criar + title: Criar agente de enquete + polling_officers_picker: + choose_polling_officers: Escolher agentes de enquete + close: Fechado + more_polling_officers: Existem mais %{number} agentes de enquete. Refine sua pesquisa para localizá-los. + no_polling_officers: Nenhum agente de enquete corresponde aos seus critérios de pesquisa ou não há nenhum agente de enquete. + polling_stations: + create: + invalid: Houve um problema ao criar esta estação de voto + success: Estação de voto criada com sucesso + destroy: + invalid: Houve um problema ao excluir esta estação de voto + success: Estação de voto excluída com sucesso + edit: + title: Editar estação de voto + update: Atualizar estação de voto + form: + address_help: 'Endereço: usado pelo Geocodificador para encontrar a localização' + location_help: 'Local: mensagem direcionada aos eleitores implicando o local exato da estação de voto' + location_hints_help: 'Dicas de localização: informações adicionais. Exemplo: o piso do edifício onde a estação de voto está localizada.' + polling_station_managers_help: 'Gerentes das estações de voto: os oficiais que atuarão como gestores das estações de voto. Assegure-se de que os oficiais já foram criados nos Agentes de Enquete e de que eles ainda não estão atribuídos a outra estação de voto' + polling_station_president_help: 'Oficial da estação de voto: o oficial que atuará como presidente da estação de voto. Verifique se o oficial já foi criado em Agentes de enquete e que ele(a) ainda não está atribuído a outra estação de voto' + select_president: Selecione um Agente de Enquete como presidente da estação de voto + index: + title: Estações de votação + new: + create: Criar + title: Criar estação de votação + update: + invalid: Houve um problema ao atualizar esta estação de voto + success: Estação de voto atualizada com sucesso + titles: + votings: Votações + votings: + actions: + confirm_destroy: Você tem certeza? + destroy: Destruir + new_voting: Novo espaço de votação + publish: Publicar + unpublish: Despublicar + create: + invalid: Tem havido um problema ao criar esta votação + success: Votação criada com sucesso + edit: + add_election_component: Você não tem nenhuma eleição configurada para este voto. Por favor adicione-a na seção Componentes + assign_missing_officers: Existem estações de votação sem Presidente e/ou gerentes. Por favor atribua-as a partir da seção estações de enquete + update: Atualizar + form: + select_a_voting_type: Por favor, selecione um tipo de votação + slug_help: 'Os slugs de URL são usados ​​para gerar os URLs que apontam para esse processo. Apenas aceita letras, números e traços, e deve começar com uma carta. Exemplo: %{url}' + title: Título + voting_type: + hybrid: Híbrido + in_person: Pessoalmente + online: On-line + new: + create: Criar + title: Nova votação + publish: + success: Votação publicada com sucesso + unpublish: + success: Votação despublicada com sucesso + update: + invalid: Houve um problema ao atualizar esta votação + success: Votação atualizada com sucesso + admin_log: + voting: + create: "%{user_name} criou a votação %{resource_name}" + publish: "%{user_name} publicou a votação %{resource_name}" + unpublish: "%{user_name} despublicizou a votação %{resource_name}" + content_blocks: + highlighted_votings: + name: Destaque da votação + monitoring_committee_members: + actions: + confirm_destroy: Você tem certeza? + destroy: Excluir + new: Novo membro + title: Ações + pages: + home: + highlighted_votings: + active_votings: Votações Ativas + see_all_votings: Ver todos os votações + votings_button_title: Link para a Página de Votação exibindo todos os votos polling_officer_zone: + menu: + polling_officer_zone: Zona de Agente de Enquete polling_officers: show: + actions: + count_votes: Conte os votos na urna + identify_person: Identificar e verificar uma pessoa + polling_officer_role_description: Você foi foi designado como um Agente da Estação de Apuração (Presidente ou Gerente) em alguma das eleições realizadas nesta plataforma. polling_stations: list: actions: Ações + address: Endereço + name: Nome + role: Seu papel + voting: Votação + no_polling_stations: Você ainda não está atribuído a nenhuma Estação de Apuração no momento. + title: Estação de votos + polling_officers: + actions: + confirm_destroy: Você tem certeza? + destroy: Excluir + new: Novo + title: Ações + roles: + manager: Gerente + president: Presidente + unassigned: Não Atribuido + polling_stations: + actions: + confirm_destroy: Você tem certeza? + destroy: Excluir + edit: Editar + new: Novo + title: Ações + votings: + count: + title: + one: "%{count} votação" + other: "%{count} votações" + filters: + active: Ativo + all: Todos + finished: Finalizado + search: Pesquisar + state: Status + upcoming: Próximos + filters_small_view: + close_modal: Fechar modal + filter: Filtro + filter_by: Filtrar por + unfold: Revelar + index: + no_votings: Nenhuma votação corresponde ao seu critério de pesquisa. + only_finished: Neste momento, não há votações agendadas, mas aqui podem encontrar as votações já finalizadas. + title: Votações + orders: + label: 'Classificar votos por:' + random: Aleatório + recent: Mais recente + show: + dates: Datas + votings_m: + badge_name: + finished: Finalizado + ongoing: Em andamento + upcoming: Próximos + footer_button_text: + participate: Participar + view: Visualizar + vote: Votar + unspecified: Não especificado + voting_type: + hybrid: Híbrido + in_person: Pessoalmente + online: On-line + voting_types_label: Tipo de votação + layouts: + decidim: + election_votes_header: + exit: Sair + votings: + index: + promoted_votings: Destaque da votação + promoted_voting: + more_info: Mais informações + vote: Votar diff --git a/decidim-forms/config/locales/hu.yml b/decidim-forms/config/locales/hu.yml index 041ac066245ab..4184e9e14c1ef 100644 --- a/decidim-forms/config/locales/hu.yml +++ b/decidim-forms/config/locales/hu.yml @@ -56,6 +56,8 @@ hu: errors: answer: body: A szövegtörzs nem lehet üres + files: + extension_allowlist: 'Elfogadott formátumok:' question_types: long_answer: Hosszú válasz multiple_option: Több választási lehetőség diff --git a/decidim-forms/config/locales/pt-BR.yml b/decidim-forms/config/locales/pt-BR.yml index b99e38d7a809b..e726bb3ffa536 100644 --- a/decidim-forms/config/locales/pt-BR.yml +++ b/decidim-forms/config/locales/pt-BR.yml @@ -114,6 +114,8 @@ pt: errors: answer: body: O corpo não pode ficar em branco + files: + extension_allowlist: 'Formatos aceitos:' images: dimensions: "%{width} x %{height} px" dimensions_info: 'Esta imagem será:' diff --git a/decidim-meetings/config/locales/hu.yml b/decidim-meetings/config/locales/hu.yml index f57c31ffcbce0..5c8d141df5db2 100644 --- a/decidim-meetings/config/locales/hu.yml +++ b/decidim-meetings/config/locales/hu.yml @@ -29,7 +29,9 @@ hu: title: Cím transparent: Átlátszó minutes: + audio_url: Hang URL description: Leírás + video_url: Videó URL visible: Látható errors: models: @@ -266,6 +268,7 @@ hu: invalid: Probléma történt a jegyzőkönyv létrehozásakor success: Jegyzőkönyv létrehozása sikeres edit: + title: Jegyzőkönyv szerkesztése update: Frissítés new: create: Létrehozás diff --git a/decidim-participatory_processes/config/locales/hu.yml b/decidim-participatory_processes/config/locales/hu.yml index 61e1e88d91d2b..7c67bead2c235 100644 --- a/decidim-participatory_processes/config/locales/hu.yml +++ b/decidim-participatory_processes/config/locales/hu.yml @@ -34,6 +34,7 @@ hu: subtitle: Felirat target: Ki vesz részt benne title: Cím + weight: Súly participatory_process_group: description: Leírás hero_image: Kép diff --git a/decidim-participatory_processes/config/locales/pt-BR.yml b/decidim-participatory_processes/config/locales/pt-BR.yml index dde0c5b61bad0..a5f3309112e7b 100644 --- a/decidim-participatory_processes/config/locales/pt-BR.yml +++ b/decidim-participatory_processes/config/locales/pt-BR.yml @@ -454,8 +454,10 @@ pt: comments_count: Comentários debates_count: Debates endorsements_count: Endossos + followers_count: Seguidores headline: Atividade meetings_count: Reuniões + no_stats: Ainda não há estatísticas ainda. orders_count: Votos pages_count: Páginas participants_count: Participantes diff --git a/decidim-proposals/config/locales/hu.yml b/decidim-proposals/config/locales/hu.yml index 11f3b1eed3014..68cf69a330eb7 100644 --- a/decidim-proposals/config/locales/hu.yml +++ b/decidim-proposals/config/locales/hu.yml @@ -682,6 +682,8 @@ hu: proposals_count: one: "%{count} javaslat" other: "%{count} javaslatot" + dynamic_map_instructions: + instructions:

    Áthelyezheti a pontot a térképen.

    A javaslat közzététele előtt ne felejtsen el rákattintani a "Pozíció frissítése" gombra.

    edit: attachment_legend: "(Nem kötelező) Melléklet hozzáadása" back: Vissza @@ -744,6 +746,7 @@ hu: other: Ezt a javaslatot a közzétételt követő %{count}. percben már szerkesztheted. Miután azonban ez az ablak bezárult, többé nem fogod tudni szerkeszteni a javaslatot. publish: Közzétesz title: Javaslatod közzététele + update_position: Pozíció frissítése proposal: creation_date: 'Létrehozás: %{date}' view_proposal: Javaslat megtekintése diff --git a/decidim-proposals/config/locales/pl.yml b/decidim-proposals/config/locales/pl.yml index ae89cf700133b..9b1b39da57f2c 100644 --- a/decidim-proposals/config/locales/pl.yml +++ b/decidim-proposals/config/locales/pl.yml @@ -104,7 +104,7 @@ pl: label: Stan values: accepted: Zaakceptowano - evaluating: Ewaluacja + evaluating: Ocena published: Opublikowano rejected: Odrzucono validating: Walidacja techniczna @@ -558,7 +558,7 @@ pl: filter_state_values: accepted: Przyjęto all: Wszystko - evaluating: Ewaluacja + evaluating: Ocena not_answered: Bez odpowiedzi rejected: Odrzucono filter_type_values: diff --git a/decidim-templates/config/locales/gl.yml b/decidim-templates/config/locales/gl.yml index 3676471ac75cb..7f47fe5924d5e 100644 --- a/decidim-templates/config/locales/gl.yml +++ b/decidim-templates/config/locales/gl.yml @@ -1,4 +1,11 @@ gl: + activemodel: + attributes: + questionnaire: + title: Título + template: + description: Descrición + name: Nome decidim: admin: menu: From f441c3b72837bca7b49bd9f0bbaff560fb590042 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eero=20Lahdenper=C3=A4?= Date: Tue, 29 Jun 2021 18:36:35 +0300 Subject: [PATCH 34/71] Backport fix dont save timeout path to session (#8170) --- .../concerns/decidim/force_authentication.rb | 1 - .../decidim/timeouts_controller.rb | 13 ++++-- .../decidim/timeouts_controller_spec.rb | 45 +++++++++++++++++++ 3 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 decidim-core/spec/controllers/decidim/timeouts_controller_spec.rb diff --git a/decidim-core/app/controllers/concerns/decidim/force_authentication.rb b/decidim-core/app/controllers/concerns/decidim/force_authentication.rb index 00c830cda423b..872b75a31dfc3 100644 --- a/decidim-core/app/controllers/concerns/decidim/force_authentication.rb +++ b/decidim-core/app/controllers/concerns/decidim/force_authentication.rb @@ -22,7 +22,6 @@ def ensure_authenticated! # Next stop: Let's check whether auth is ok unless user_signed_in? flash[:warning] = t("actions.login_before_access", scope: "decidim.core") - store_location_for(:user, request.path) redirect_to decidim.new_user_session_path end end diff --git a/decidim-core/app/controllers/decidim/timeouts_controller.rb b/decidim-core/app/controllers/decidim/timeouts_controller.rb index bb901821b87e5..5c0f101e1856b 100644 --- a/decidim-core/app/controllers/decidim/timeouts_controller.rb +++ b/decidim-core/app/controllers/decidim/timeouts_controller.rb @@ -5,11 +5,10 @@ module Decidim # Tells/Extends time before inactivity warning or automatic logout. class TimeoutsController < Decidim::ApplicationController - prepend_before_action :skip_timeout, only: :seconds_until_timeout + # Skip these methods because they can call Devise's store_location_for, which can save timeouts path to session. + skip_before_action :store_current_location - def skip_timeout - request.env["devise.skip_timeoutable"] = true - end + prepend_before_action :skip_timeout, only: :seconds_until_timeout def seconds_until_timeout time_remaining = current_user ? ::Devise.timeout_in - (Time.current - Time.zone.at(user_session["last_request_at"])) : 0 @@ -24,5 +23,11 @@ def heartbeat format.js end end + + private + + def skip_timeout + request.env["devise.skip_timeoutable"] = true + end end end diff --git a/decidim-core/spec/controllers/decidim/timeouts_controller_spec.rb b/decidim-core/spec/controllers/decidim/timeouts_controller_spec.rb new file mode 100644 index 0000000000000..4f70c725e9d50 --- /dev/null +++ b/decidim-core/spec/controllers/decidim/timeouts_controller_spec.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +require "spec_helper" + +module Decidim + describe TimeoutsController, type: :controller do + routes { Decidim::Core::Engine.routes } + + let(:current_user) { create(:user, :confirmed, organization: organization) } + let(:timeout_time) { 30.minutes } + let(:last_request) { (Time.current - time_since_last_request).to_i } + let(:user_session) { { "last_request_at" => last_request } } + let(:time_since_last_request) { 1.minute } + let(:params) { {} } + let(:max_delay) { 5 } + + before do + allow(Devise).to receive(:timeout_in).and_return(timeout_time) + allow(controller).to receive(:user_session).and_return(user_session) + end + + describe "#seconds_until_timeout" do + let(:parsed_response) { JSON.parse(response.body) } + + context "when forcing users to authenticate before access organization" do + let(:organization) { create(:organization, force_users_to_authenticate_before_access_organization: true) } + + before do + request.env["decidim.current_organization"] = organization + sign_in current_user, scope: :user + end + + it "returns seconds until timeout" do + expect(controller).not_to receive(:store_current_location) + + get :seconds_until_timeout, format: :json, params: params + + expect(response.status).to eq(200) + expect(parsed_response["seconds_remaining"]) + .to be_between(timeout_time.to_i - time_since_last_request.to_i - max_delay, timeout_time.to_i - time_since_last_request.to_i) + end + end + end + end +end From da536979782c2a060c833d806984474dc3f9ed2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eero=20Lahdenper=C3=A4?= Date: Tue, 29 Jun 2021 18:41:07 +0300 Subject: [PATCH 35/71] Backport/timeout conflicting remember me (#8171) --- .../decidim/session_timeouter.js.es6 | 76 ++++++++++++++++--- .../decidim/timeouts_controller.rb | 2 +- decidim-core/app/models/decidim/user.rb | 3 +- .../layouts/decidim/_timeout_modal.html.erb | 7 +- decidim-core/config/initializers/devise.rb | 2 +- decidim-core/lib/decidim/core.rb | 21 +++-- .../spec/system/session_timeout_spec.rb | 19 +++-- .../app/models/decidim/system/admin.rb | 6 +- 8 files changed, 104 insertions(+), 32 deletions(-) diff --git a/decidim-core/app/assets/javascripts/decidim/session_timeouter.js.es6 b/decidim-core/app/assets/javascripts/decidim/session_timeouter.js.es6 index a6d26d90e778a..6b02e4167ccd8 100644 --- a/decidim-core/app/assets/javascripts/decidim/session_timeouter.js.es6 +++ b/decidim-core/app/assets/javascripts/decidim/session_timeouter.js.es6 @@ -1,30 +1,48 @@ ((exports) => { exports.$(() => { const Foundation = exports.Foundation; + let sessionTimeOutEnabled = true; const $timeoutModal = $("#timeoutModal"); const timeoutInSeconds = parseInt($timeoutModal.data("session-timeout"), 10); const secondsUntilTimeoutPath = $timeoutModal.data("seconds-until-timeout-path"); - const interval = $timeoutModal.data("session-timeouter-interval"); + const heartbeatPath = $timeoutModal.data("heartbeat-path"); + const interval = parseInt($timeoutModal.data("session-timeout-interval"), 10); let endsAt = exports.moment().add(timeoutInSeconds, "seconds"); + let lastAction = exports.moment(); const popup = new Foundation.Reveal($timeoutModal); const $continueSessionButton = $("#continueSession"); + let lastActivityCheck = exports.moment(); + // 5 * 60 seconds = 5 Minutes + const activityCheckInterval = 5 * 60; // Ajax request is made at timeout_modal.html.erb $continueSessionButton.on("click", () => { - $("#timeoutModal").foundation("close") + $("#timeoutModal").foundation("close"); // In admin panel we have to hide all overlays $(".reveal-overlay").css("display", "none"); + lastActivityCheck = exports.moment(); }) + if (isNaN(interval)) { + return; + } if (!timeoutInSeconds) { return; } + const disableSessionTimeout = () => { + sessionTimeOutEnabled = false; + } + + const enableSessionTimeout = () => { + sessionTimeOutEnabled = true; + } + const setTimer = (secondsUntilExpiration) => { if (!secondsUntilExpiration) { return; } - endsAt = exports.moment().add(secondsUntilExpiration, "seconds") + endsAt = exports.moment().add(secondsUntilExpiration, "seconds"); } const sessionTimeLeft = () => { @@ -35,21 +53,48 @@ headers: { "X-CSRF-Token": $("meta[name=csrf-token]").attr("content") } - }) + }); + } + + const heartbeat = () => { + return $.ajax({ + method: "POST", + url: heartbeatPath, + contentType: "application/javascript", + headers: { + "X-CSRF-Token": $("meta[name=csrf-token]").attr("content") + } + }); + } + + const userBeenActiveSince = (seconds) => { + return (exports.moment() - lastAction) / 1000 < seconds; } const exitInterval = setInterval(() => { - const diff = endsAt - exports.moment(); - const diffInSeconds = Math.round(diff / 1000); - if (diffInSeconds > 150) { + const timeSinceLastActivityCheckInSeconds = Math.round((exports.moment() - lastActivityCheck) / 1000); + + const popupOpen = $("#timeoutModal").parent().css("display") === "block"; + if (!popupOpen && timeSinceLastActivityCheckInSeconds >= activityCheckInterval) { + lastActivityCheck = exports.moment(); + if (userBeenActiveSince(activityCheckInterval)) { + heartbeat(); + return; + } + } + + const timeRemaining = Math.round((endsAt - exports.moment()) / 1000); + if (timeRemaining > 150) { return; } sessionTimeLeft().then((result) => { const secondsUntilSessionExpires = result.seconds_remaining; - setTimer(secondsUntilSessionExpires) + setTimer(secondsUntilSessionExpires); - if (secondsUntilSessionExpires <= 90) { + if (!sessionTimeOutEnabled) { + heartbeat(); + } else if (secondsUntilSessionExpires <= 90) { $timeoutModal.find("#reveal-hidden-sign-out")[0].click(); } else if (secondsUntilSessionExpires <= 150) { popup.open(); @@ -57,6 +102,16 @@ }); }, interval); + $(document).mousemove(() => { + lastAction = exports.moment(); + }) + $(document).scroll(() => { + lastAction = exports.moment(); + }) + $(document).keypress(() => { + lastAction = exports.moment(); + }) + // Devise restarts its own timer on ajax requests, // so here we restart our. $(document).on("ajax:complete", () => { @@ -74,5 +129,8 @@ clearInterval(exitInterval); return; }); + + window.Decidim.enableSessionTimeout = enableSessionTimeout + window.Decidim.disableSessionTimeout = disableSessionTimeout }) })(window) diff --git a/decidim-core/app/controllers/decidim/timeouts_controller.rb b/decidim-core/app/controllers/decidim/timeouts_controller.rb index 5c0f101e1856b..91d95eed7d1a2 100644 --- a/decidim-core/app/controllers/decidim/timeouts_controller.rb +++ b/decidim-core/app/controllers/decidim/timeouts_controller.rb @@ -11,7 +11,7 @@ class TimeoutsController < Decidim::ApplicationController prepend_before_action :skip_timeout, only: :seconds_until_timeout def seconds_until_timeout - time_remaining = current_user ? ::Devise.timeout_in - (Time.current - Time.zone.at(user_session["last_request_at"])) : 0 + time_remaining = current_user ? Decidim.config.expire_session_after - (Time.current - Time.zone.at(user_session["last_request_at"])) : 0 respond_to do |format| format.json { render json: { seconds_remaining: time_remaining.to_i }, status: :ok } end diff --git a/decidim-core/app/models/decidim/user.rb b/decidim-core/app/models/decidim/user.rb index 56d548b987f0c..4ee4f4a3f8177 100644 --- a/decidim-core/app/models/decidim/user.rb +++ b/decidim-core/app/models/decidim/user.rb @@ -22,11 +22,12 @@ def self.all end devise :invitable, :database_authenticatable, :registerable, :confirmable, :timeoutable, - :recoverable, :rememberable, :trackable, :lockable, + :recoverable, :trackable, :lockable, :decidim_validatable, :decidim_newsletterable, :omniauthable, omniauth_providers: Decidim::OmniauthProvider.available.keys, request_keys: [:env], reset_password_keys: [:decidim_organization_id, :email], confirmation_keys: [:decidim_organization_id, :email] + devise :rememberable if Decidim.enable_remember_me has_many :identities, foreign_key: "decidim_user_id", class_name: "Decidim::Identity", dependent: :destroy has_many :memberships, class_name: "Decidim::UserGroupMembership", foreign_key: :decidim_user_id, dependent: :destroy diff --git a/decidim-core/app/views/layouts/decidim/_timeout_modal.html.erb b/decidim-core/app/views/layouts/decidim/_timeout_modal.html.erb index 1d40f6d31f46a..90271a2573ab3 100644 --- a/decidim-core/app/views/layouts/decidim/_timeout_modal.html.erb +++ b/decidim-core/app/views/layouts/decidim/_timeout_modal.html.erb @@ -1,9 +1,10 @@ -<% if current_user %> - <% timeout_time_seconds = Devise.timeout_in.to_i %> +<% if current_user && !current_user.remember_created_at %> + <% timeout_time_seconds = Decidim.config.expire_session_after.to_i %>
    + data-session-timeout-interval="<%= Decidim.config.session_timeout_interval.to_i * 1000 %>" data-reveal>

    <%= t(".title") %>

    <%= t(".body", minutes: (timeout_time_seconds / 60) - 2) %>

    diff --git a/decidim-core/config/initializers/devise.rb b/decidim-core/config/initializers/devise.rb index b3ad20228e450..95fc14090cd11 100644 --- a/decidim-core/config/initializers/devise.rb +++ b/decidim-core/config/initializers/devise.rb @@ -225,7 +225,7 @@ def respond # ==> Configuration for :timeoutable # The time you want to timeout the user session without activity. After this # time the user will be asked for credentials again. Default is 30 minutes. - config.timeout_in = 30.minutes + config.timeout_in = Decidim.config.expire_session_after # ==> Configuration for :lockable # Defines which strategy will be used to lock an account. diff --git a/decidim-core/lib/decidim/core.rb b/decidim-core/lib/decidim/core.rb index cdf7901dc46c7..067d285e98958 100644 --- a/decidim-core/lib/decidim/core.rb +++ b/decidim-core/lib/decidim/core.rb @@ -270,9 +270,21 @@ def self.seed! false end - # How long can a user remained logged in before the session expires + # How long can a user remained logged in before the session expires. Notice that + # this is also maximum time that user can idle before getting automatically signed out. config_accessor :expire_session_after do - 1.day + 30.minutes + end + + # If set to true, users have option to "remember me". Notice that expire_session_after won't take + # effect when the user wants to be remembered. + config_accessor :enable_remember_me do + true + end + + # Defines how often session_timeouter.js checks time between current moment and last request + config_accessor :session_timeout_interval do + 10.seconds end # Exposes a configuration option: an object to configure Etherpad @@ -360,11 +372,6 @@ def self.seed! "decidim-cc" end - # Defines how often session_timeouter.js checks time between current moment and last request - config_accessor :session_timeouter_interval do - 10_000 - end - # Public: Registers a global engine. This method is intended to be used # by component engines that also offer unscoped functionality # diff --git a/decidim-core/spec/system/session_timeout_spec.rb b/decidim-core/spec/system/session_timeout_spec.rb index 630ec8c4fc306..be3477b762e9e 100644 --- a/decidim-core/spec/system/session_timeout_spec.rb +++ b/decidim-core/spec/system/session_timeout_spec.rb @@ -10,8 +10,8 @@ context "when session is about to timeout" do before do - allow(Devise).to receive(:timeout_in).and_return(2.minutes) - allow(Decidim.config).to receive(:session_timeouter_interval).and_return(1000) + allow(Decidim.config).to receive(:expire_session_after).and_return(2.minutes) + allow(Decidim.config).to receive(:session_timeout_interval).and_return(1.second) switch_to_host(organization.host) login_as current_user, scope: :user end @@ -19,7 +19,7 @@ it "timeouts if the user idles for too long" do visit decidim.root_path travel 1.minute - expect(page).to have_content("You were inactive for too long", wait: 3) + expect(page).to have_content("You were inactive for too long", wait: 4) end it "doesnt timeout when user is active in another window" do @@ -29,15 +29,24 @@ switch_to_window(open_new_window) visit decidim.root_path 2.times.each do - expect(page).to have_content("If you continue being inactive", wait: 3) + expect(page).to have_content("If you continue being inactive", wait: 4) find("#continueSession").click travel 20.seconds end switch_to_window(win1) - expect(page).to have_content("If you continue being inactive", wait: 3) + expect(page).to have_content("If you continue being inactive", wait: 4) find("#continueSession").click expect(page).not_to have_content("You were inactive for too long") end + + it "doesnt timeout user who wants to be remembered" do + current_user.remember_created_at = Time.current + current_user.save! + visit decidim.root_path + travel 1.minute + sleep 1 + expect(page).not_to have_content("You were inactive for too long") + end end end diff --git a/decidim-system/app/models/decidim/system/admin.rb b/decidim-system/app/models/decidim/system/admin.rb index 70a3f2f0a5292..92983c66d31db 100644 --- a/decidim-system/app/models/decidim/system/admin.rb +++ b/decidim-system/app/models/decidim/system/admin.rb @@ -4,16 +4,12 @@ module Decidim module System # Admins are the users in charge of managing a Decidim installation. class Admin < ApplicationRecord - devise :database_authenticatable, :rememberable, :validatable, :timeoutable + devise :database_authenticatable, :validatable, :timeoutable validates :email, uniqueness: true private - def timeout_in - 1.hour - end - # Changes default Devise behaviour to use ActiveJob to send async emails. def send_devise_notification(notification, *args) devise_mailer.send(notification, self, *args).deliver_later From b820897fb05648f54b8558063fef99bd62c2b045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eero=20Lahdenper=C3=A4?= Date: Wed, 30 Jun 2021 13:21:03 +0300 Subject: [PATCH 36/71] Backport proposal picker click on span (#8175) --- .../spec/shared/manage_projects_examples.rb | 20 +++++++++++++++++++ .../javascripts/decidim/data_picker.js.es6 | 9 ++++++++- .../test/capybara_proposals_picker.rb | 10 ++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/decidim-budgets/spec/shared/manage_projects_examples.rb b/decidim-budgets/spec/shared/manage_projects_examples.rb index 2fbb82b244e5f..f70ff9922bccb 100644 --- a/decidim-budgets/spec/shared/manage_projects_examples.rb +++ b/decidim-budgets/spec/shared/manage_projects_examples.rb @@ -156,6 +156,26 @@ end end + it "removes proposals from project", :slow do + project.link_resources(proposals, "included_proposals") + not_removed_projects_title = project.linked_resources(:proposals, "included_proposals").first.title + expect(project.linked_resources(:proposals, "included_proposals").count).to eq(5) + + within find("tr", text: translated(project.title)) do + click_link "Edit" + end + + within ".edit_project" do + proposals_remove(select_data_picker(:project_proposals, multiple: true), proposals.last(4)) + + find("*[type=submit]").click + end + + expect(page).to have_admin_callout("successfully") + expect(project.linked_resources(:proposals, "included_proposals").count).to eq(1) + expect(project.linked_resources(:proposals, "included_proposals").first.title).to eq(not_removed_projects_title) + end + it "creates a new project", :slow do find(".card-title a.button.new").click diff --git a/decidim-core/app/assets/javascripts/decidim/data_picker.js.es6 b/decidim-core/app/assets/javascripts/decidim/data_picker.js.es6 index e6a969a38a844..401d1b8b83b0f 100644 --- a/decidim-core/app/assets/javascripts/decidim/data_picker.js.es6 +++ b/decidim-core/app/assets/javascripts/decidim/data_picker.js.es6 @@ -40,6 +40,8 @@ if ($(this._targetFromEvent(event)).hasClass("picker-prompt") || !isMultiPicker) { this._openPicker($picker, this._targetFromEvent(event)); + } else if (this._targetFromEvent(event).tagName === "A") { + this._removeValue($picker, this._targetFromEvent(event).parentNode); } else { this._removeValue($picker, this._targetFromEvent(event)); } @@ -239,7 +241,12 @@ _removeValue($picker, target) { if (target) { this._setCurrentPicker($picker, target); - this.current.target.fadeOut(500, () => { + // Fadeout (with time) doesn't work in system tests + let fadeoutTime = 500; + if (navigator && navigator.webdriver) { + fadeoutTime = 0; + } + this.current.target.fadeOut(fadeoutTime, () => { this.current.target.remove(); this.current.target = null; }); diff --git a/decidim-proposals/lib/decidim/proposals/test/capybara_proposals_picker.rb b/decidim-proposals/lib/decidim/proposals/test/capybara_proposals_picker.rb index 78d6e9ffa0607..5bfaf41b3f5cb 100644 --- a/decidim-proposals/lib/decidim/proposals/test/capybara_proposals_picker.rb +++ b/decidim-proposals/lib/decidim/proposals/test/capybara_proposals_picker.rb @@ -41,6 +41,16 @@ def proposals_pick(proposals_picker, proposals) expect(proposals_picker).to have_proposals_picked(proposals) end + + def proposals_remove(proposals_picker, proposals) + data_picker = proposals_picker.data_picker + + proposals.each do |proposal| + data_picker.find("a", text: proposal.title["en"]).find("span").click + end + + expect(proposals_picker).to have_proposals_not_picked(proposals) + end end end From 94ad32d1fb4aede15ee8a88fad6a98d0c84db036 Mon Sep 17 00:00:00 2001 From: Oliver Valls <199462+tramuntanal@users.noreply.github.com> Date: Thu, 1 Jul 2021 10:26:50 +0200 Subject: [PATCH 37/71] Backport "Fix access to import CSV results in accountability" to 0.24 (#8164) --- .../admin/import_results_controller.rb | 12 +------- .../admin/import_results/new.html.erb | 2 +- .../admin/import_results_controller_spec.rb | 29 ++++++++++++++----- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/decidim-accountability/app/controllers/decidim/accountability/admin/import_results_controller.rb b/decidim-accountability/app/controllers/decidim/accountability/admin/import_results_controller.rb index 52d41c63c6a68..f376459b5bbf2 100644 --- a/decidim-accountability/app/controllers/decidim/accountability/admin/import_results_controller.rb +++ b/decidim-accountability/app/controllers/decidim/accountability/admin/import_results_controller.rb @@ -16,17 +16,7 @@ def create Decidim::Accountability::Admin::ImportResultsCSVJob.perform_later(current_user, current_component, @csv_file.read.force_encoding("utf-8").encode("utf-8")) flash[:notice] = I18n.t("imports.create.success", scope: "decidim.accountability.admin") - redirect_to import_results_path(current_participatory_process, current_component) - end - - private - - def current_component - @current_component ||= current_participatory_process.components.find(params[:component_id]) - end - - def current_participatory_process - @current_participatory_process ||= ParticipatoryProcess.find_by(slug: params[:participatory_process_slug]) + redirect_to import_results_path(current_participatory_space, current_component) end end end diff --git a/decidim-accountability/app/views/decidim/accountability/admin/import_results/new.html.erb b/decidim-accountability/app/views/decidim/accountability/admin/import_results/new.html.erb index 29266de3dde6c..314b389e4a0ee 100644 --- a/decidim-accountability/app/views/decidim/accountability/admin/import_results/new.html.erb +++ b/decidim-accountability/app/views/decidim/accountability/admin/import_results/new.html.erb @@ -17,6 +17,6 @@ <%= submit_tag t(".import"), class: "button" %>
    - <%= t(".info", link_new_status: new_status_path, link_new_result: new_result_path, link_export_csv: link_to(t(".link"), exports_path(@current_component, id: "results", format: "CSV"), method: :post)).try("html_safe") %> + <%= t(".info", link_new_status: new_status_path, link_new_result: new_result_path, link_export_csv: link_to(t(".link"), exports_path(current_component, id: "results", format: "CSV"), method: :post)).try("html_safe") %>
    <% end %> diff --git a/decidim-accountability/spec/controllers/decidim/accountability/admin/import_results_controller_spec.rb b/decidim-accountability/spec/controllers/decidim/accountability/admin/import_results_controller_spec.rb index 8756fb0abf013..383dfa39f6d32 100644 --- a/decidim-accountability/spec/controllers/decidim/accountability/admin/import_results_controller_spec.rb +++ b/decidim-accountability/spec/controllers/decidim/accountability/admin/import_results_controller_spec.rb @@ -10,14 +10,13 @@ module Admin let(:organization) { create(:organization) } let(:current_user) { create(:user, :confirmed, :admin, organization: organization) } - let(:participatory_space) { create(:participatory_process, organization: organization) } + let(:params) { { participatory_process_slug: participatory_space.slug, component_id: component.id } } let!(:component) do create( :accountability_component, participatory_space: participatory_space ) end - let(:params) { { participatory_process_slug: participatory_space.slug, component_id: component.id } } before do request.env["decidim.current_organization"] = organization @@ -25,15 +24,29 @@ module Admin sign_in current_user end - describe "GET the import result process new" do - before do - get :new, params: params - end + shared_examples "renders the import new result page" do + describe "GET the import result process new" do + before do + get :new, params: params + end - it "renders the import result form" do - expect(response).to render_template("decidim/accountability/admin/import_results/new") + it "renders the import result form" do + expect(response).to render_template("decidim/accountability/admin/import_results/new") + end end end + + describe "when in a participatory process" do + let(:participatory_space) { create(:participatory_process, organization: organization) } + + it_behaves_like "renders the import new result page" + end + + describe "when in an assembly" do + let(:participatory_space) { create(:assembly, organization: organization) } + + it_behaves_like "renders the import new result page" + end end end end From 32bf6a5a0ba1b55d706156313e42c536ce5141f3 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Fri, 2 Jul 2021 11:15:49 +0300 Subject: [PATCH 38/71] Backport "Fix admin log blocked user name" to 0.24 (#8176) --- .../app/commands/decidim/admin/block_user.rb | 6 + .../commands/decidim/admin/block_user_spec.rb | 10 ++ ...25_fix_blocked_user_names_in_action_log.rb | 45 +++++++ .../admin_log_presenter_examples.rb | 4 +- ...x_blocked_user_names_in_action_log_spec.rb | 114 ++++++++++++++++++ .../decidim/admin_log/user_presenter_spec.rb | 15 +++ .../dev/test/rspec_support/migration.rb | 49 ++++++++ 7 files changed, 242 insertions(+), 1 deletion(-) create mode 100644 decidim-core/db/migrate/20210629172525_fix_blocked_user_names_in_action_log.rb create mode 100644 decidim-core/spec/db/migrate/fix_blocked_user_names_in_action_log_spec.rb create mode 100644 decidim-dev/lib/decidim/dev/test/rspec_support/migration.rb diff --git a/decidim-admin/app/commands/decidim/admin/block_user.rb b/decidim-admin/app/commands/decidim/admin/block_user.rb index cd8d3a33c3a10..e734500a81cfd 100644 --- a/decidim-admin/app/commands/decidim/admin/block_user.rb +++ b/decidim-admin/app/commands/decidim/admin/block_user.rb @@ -55,6 +55,12 @@ def block! extra: { reportable_type: form.user.class.name, current_justification: form.justification + }, + resource: { + # Make sure the action log entry gets the original user name instead + # of "Blocked user". Otherwise the log entries would show funny + # messages such as "Mr. Admin blocked user Blocked user"- + title: form.user.name } ) do form.user.blocked = true diff --git a/decidim-admin/spec/commands/decidim/admin/block_user_spec.rb b/decidim-admin/spec/commands/decidim/admin/block_user_spec.rb index a6fb56a187bde..23a48c243db20 100644 --- a/decidim-admin/spec/commands/decidim/admin/block_user_spec.rb +++ b/decidim-admin/spec/commands/decidim/admin/block_user_spec.rb @@ -38,6 +38,13 @@ module Decidim::Admin expect(form.user.name).to eq("Blocked user") end + it "original username is stored in the action log entry's resource title" do + subject.call + log = Decidim::ActionLog.last + expect(log.resource).to eq(form.user) + expect(log.extra["resource"]["title"]).to eq("Testingname") + end + it "tracks the changes" do expect(Decidim.traceability).to receive(:perform_action!).with("block", user_to_block, @@ -45,6 +52,9 @@ module Decidim::Admin extra: { reportable_type: form.user.class.name, current_justification: form.justification + }, + resource: { + title: form.user.name }) subject.call end diff --git a/decidim-core/db/migrate/20210629172525_fix_blocked_user_names_in_action_log.rb b/decidim-core/db/migrate/20210629172525_fix_blocked_user_names_in_action_log.rb new file mode 100644 index 0000000000000..25e4417334e00 --- /dev/null +++ b/decidim-core/db/migrate/20210629172525_fix_blocked_user_names_in_action_log.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +class FixBlockedUserNamesInActionLog < ActiveRecord::Migration[5.2] + def change + reversible do |dir| + dir.up do + execute_query( + update_query( + "coalesce(decidim_users.extended_data->>'user_name', decidim_users.name)" + ) + ) + end + + dir.down do + execute_query(update_query("'Blocked user'::text")) + end + end + end + + private + + def update_query(user_name_replacement) + <<~SQL.squish + UPDATE decidim_action_logs + SET extra = jsonb_set( + decidim_action_logs.extra, + '{resource,title}', + to_jsonb(#{user_name_replacement}) + ) + FROM decidim_users + WHERE decidim_users.id = decidim_action_logs.resource_id + AND decidim_action_logs.resource_type = $1 AND decidim_action_logs.action = $2 + SQL + end + + def execute_query(query) + rawconn.prepare("statement1", query) + rawconn.exec_prepared("statement1", ["Decidim::User", "block"]) + rawconn.exec("DEALLOCATE statement1") + end + + def rawconn + ActiveRecord::Base.connection.raw_connection + end +end diff --git a/decidim-core/lib/decidim/core/test/shared_examples/admin_log_presenter_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/admin_log_presenter_examples.rb index 2f65380869b40..956b2f9905ba5 100644 --- a/decidim-core/lib/decidim/core/test/shared_examples/admin_log_presenter_examples.rb +++ b/decidim-core/lib/decidim/core/test/shared_examples/admin_log_presenter_examples.rb @@ -8,12 +8,14 @@ let(:organization) { create(:organization) } let(:user) { create(:user, organization: organization) } let(:action) { "create" } + let(:admin_log_extra_data) { {} } let(:action_log) do create( :action_log, user: user, action: action, - resource: admin_log_resource + resource: admin_log_resource, + extra_data: admin_log_extra_data ) end diff --git a/decidim-core/spec/db/migrate/fix_blocked_user_names_in_action_log_spec.rb b/decidim-core/spec/db/migrate/fix_blocked_user_names_in_action_log_spec.rb new file mode 100644 index 0000000000000..a6ac130f8c54e --- /dev/null +++ b/decidim-core/spec/db/migrate/fix_blocked_user_names_in_action_log_spec.rb @@ -0,0 +1,114 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe "FixBlockedUserNamesInActionLog", type: :migration do + let(:organization) { create(:organization) } + let(:admin) { create(:user, :admin, :confirmed) } + let(:users) { create_list(:user, 4, :blocked, organization: organization) } + + let(:user_logs_extra) { {} } + let!(:dummy_logs) { create_list(:action_log, 10, organization: organization) } + let!(:user_logs) do + users.map do |u| + create( + :action_log, + organization: organization, + resource: u, + resource_type: u.class.name, + action: "block", + user: admin, + extra_data: user_logs_extra + ) + end + end + + shared_examples "working migration" do |direction| + subject { migration.migrate(direction) } + + context "when there are no matching log entries" do + let!(:user_logs) { [] } + + it "does not change any log entries" do + expect { subject }.not_to(change { Decidim::ActionLog.order(:id).pluck(:extra) }) + end + end + + context "when there are matching log entries" do + let(:user_logs_extra) do + if direction == :up + {} + else + { resource: { title: "User name" } } + end + end + + it "updates the entries that match" do + matching_before = Decidim::ActionLog.where(resource_type: "Decidim::User").order(:id).pluck(:extra) + not_matching_before = Decidim::ActionLog.where.not(resource_type: "Decidim::User").order(:id).pluck(:extra) + + expect { subject }.not_to change(Decidim::ActionLog, :count) + + expect(matching_before).not_to eq( + Decidim::ActionLog.where(resource_type: "Decidim::User").order(:id).pluck(:extra) + ) + expect(not_matching_before).to eq( + Decidim::ActionLog.where.not(resource_type: "Decidim::User").order(:id).pluck(:extra) + ) + end + + it "updates the correct resource titles" do + subject + + block_logs = Decidim::ActionLog.where(resource_type: "Decidim::User", action: "block").map do |log| + [log.resource_id, log.extra["resource"]["title"]] + end.to_h + expected_logs = users.map do |user| + if direction == :up + [user.id, user.extended_data["user_name"]] + else + [user.id, "Blocked user"] + end + end.to_h + expect(block_logs).to match(expected_logs) + end + + context "with the user's extended data being empty" do + before do + users.each do |u| + # rubocop:disable Rails/SkipsModelValidations + u.update_columns( + name: generate(:name), + extended_data: nil + ) + # rubocop:enable Rails/SkipsModelValidations + end + end + + it "updates the log entries with the expected user names" do + subject + + block_logs = Decidim::ActionLog.where(resource_type: "Decidim::User", action: "block").map do |log| + [log.resource_id, log.extra["resource"]["title"]] + end.to_h + expected_logs = users.map do |user| + if direction == :up + [user.id, user.name] + else + [user.id, "Blocked user"] + end + end.to_h + expect(block_logs).to match(expected_logs) + end + end + end + end + + describe "#migrate :up" do + it_behaves_like "working migration", :up + end + + describe "#migrate :down" do + it_behaves_like "working migration", :down + end +end diff --git a/decidim-core/spec/presenters/decidim/admin_log/user_presenter_spec.rb b/decidim-core/spec/presenters/decidim/admin_log/user_presenter_spec.rb index 13e9f039765e9..eb5b1589827b1 100644 --- a/decidim-core/spec/presenters/decidim/admin_log/user_presenter_spec.rb +++ b/decidim-core/spec/presenters/decidim/admin_log/user_presenter_spec.rb @@ -15,5 +15,20 @@ let(:admin_log_resource) { organization } let(:action) { "block" } end + + include_examples "present admin log entry" do + let(:admin_log_resource) { create(:user, :blocked, organization: organization) } + let(:admin_log_extra_data) { { resource: { title: "John Doe" } } } + let(:action) { "block" } + + describe "#present" do + subject { presenter.present } + + it "presents the blocked user's name prior to blocking" do + expect(subject).not_to include("Blocked user") + expect(subject).to include(admin_log_extra_data[:resource][:title]) + end + end + end end end diff --git a/decidim-dev/lib/decidim/dev/test/rspec_support/migration.rb b/decidim-dev/lib/decidim/dev/test/rspec_support/migration.rb new file mode 100644 index 0000000000000..f0a8e8f0bd9f3 --- /dev/null +++ b/decidim-dev/lib/decidim/dev/test/rspec_support/migration.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +module Decidim + module MigrationTestGroup + extend ActiveSupport::Concern + + included do + subject { migration } + + let(:migration) do |example| + struct = migration_for(example) + require Rails.root.join(struct.filename) + struct.name.constantize.new + end + + around do |example| + ActiveRecord::Migration.suppress_messages do + example.run + end + end + end + + private + + def migration_name_for(example) + group = example.metadata[:example_group] + group = group[:parent_example_group] while group[:parent_example_group] + group[:description] + end + + def migration_for(example) + migration_name = migration_name_for(example) + struct = migrations.find { |m| m.name == migration_name } + raise NameError, "Unexisting migration: `#{migration_name}`" unless struct + + struct + end + + def migrations + ActiveRecord::MigrationContext.new( + [Rails.root.join("db/migrate")] + ).migrations + end + end +end + +RSpec.configure do |config| + config.include Decidim::MigrationTestGroup, type: :migration +end From 3a92993f1fa1654539a536afb307c09cb3bb8eda Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Tue, 13 Jul 2021 11:25:04 +0200 Subject: [PATCH 39/71] New Crowdin updates (#8166) --- decidim-accountability/config/locales/pt.yml | 24 ++++++++++++ decidim-admin/config/locales/pt.yml | 5 +++ decidim-admin/config/locales/ro-RO.yml | 4 ++ decidim-assemblies/config/locales/ro-RO.yml | 3 ++ decidim-budgets/config/locales/ro-RO.yml | 5 +++ decidim-conferences/config/locales/ro-RO.yml | 20 ++++++++++ decidim-core/config/locales/pl.yml | 6 +++ decidim-core/config/locales/ro-RO.yml | 2 + decidim-debates/config/locales/ro-RO.yml | 2 + decidim-elections/config/locales/ja.yml | 31 ++++++++++++++++ decidim-elections/config/locales/ro-RO.yml | 5 +++ decidim-initiatives/config/locales/ro-RO.yml | 37 +++++++++++++++++++ decidim-meetings/config/locales/sv.yml | 2 + .../config/locales/ro-RO.yml | 1 + decidim-proposals/config/locales/ro-RO.yml | 3 ++ decidim-proposals/config/locales/sv.yml | 2 +- decidim-system/config/locales/sv.yml | 19 ++++++++++ decidim-templates/config/locales/ro-RO.yml | 7 ++++ 18 files changed, 177 insertions(+), 1 deletion(-) diff --git a/decidim-accountability/config/locales/pt.yml b/decidim-accountability/config/locales/pt.yml index 0925b0b5c4b2e..227812a5e6822 100644 --- a/decidim-accountability/config/locales/pt.yml +++ b/decidim-accountability/config/locales/pt.yml @@ -32,6 +32,8 @@ pt: decidim: accountability: actions: + attachment_collections: Pastas + attachments: Anexos confirm_destroy: Tem certeza de que deseja eliminar este %{name}? destroy: Eliminar edit: Editar @@ -42,6 +44,7 @@ pt: title: Ações admin: exports: + result_comments: Comentários results: Resultados import_results: new: @@ -121,6 +124,11 @@ pt: value_types: parent_presenter: not_found: 'O pai não foi encontrado na base de dados (ID: %{id})' + content_blocks: + highlighted_results: + dates: Datas + results: Resultados + unspecified: Não especificado import_mailer: import: errors: Erros @@ -133,8 +141,12 @@ pt: models: result: fields: + category: Categoria + created_at: Criado em end_date: Data final + id: ID progress: Progresso + scope: Âmbito start_date: Data de início status: Estado title: Título @@ -148,6 +160,8 @@ pt: fields: description: Descrição entry_date: Data + result_m: + executed: Executado results: count: results_count: @@ -178,6 +192,15 @@ pt: votes: Suporta timeline: title: Evolução do projeto + admin: + filters: + results: + category_id_eq: + label: Categoria + scope_id_eq: + label: Âmbito + status_id_eq: + label: Estado components: accountability: name: Prestação de contas @@ -190,6 +213,7 @@ pt: heading_leaf_level_results: Nome para "Projetos" heading_parent_level_results: Nome para "Resultados" intro: Introdução + scope_id: Âmbito subcategories_label: Nome para "Subcategorias" step: comments_blocked: Comentários bloqueados diff --git a/decidim-admin/config/locales/pt.yml b/decidim-admin/config/locales/pt.yml index f13035735022d..5c27a9de9d672 100644 --- a/decidim-admin/config/locales/pt.yml +++ b/decidim-admin/config/locales/pt.yml @@ -26,6 +26,8 @@ pt: published_at: Publicado em weight: Peso id: ID + import: + user_group_id: Criar importações como newsletter: body: Corpo subject: Assunto @@ -41,6 +43,8 @@ pt: enable_omnipresent_banner: Mostrar faixa omnipresente facebook_handler: Manipulador do Facebook favicon: Ícone + force_authentication: Forçar autenticação + force_users_to_authenticate_before_access_organization: Forçar usuários a autenticar antes de aceder à organização from: Endereço de e-mail do remetente github_handler: GitHub handler header_snippets: Snippets de cabeçalho @@ -53,6 +57,7 @@ pt: highlighted_content_banner_image: Imagem highlighted_content_banner_short_description: Pequena descrição highlighted_content_banner_title: Título + host: Anfitrião instagram_handler: Instagram handler logo: Logótipo name: Nome diff --git a/decidim-admin/config/locales/ro-RO.yml b/decidim-admin/config/locales/ro-RO.yml index 358fb1c5b7212..417fa67465276 100644 --- a/decidim-admin/config/locales/ro-RO.yml +++ b/decidim-admin/config/locales/ro-RO.yml @@ -379,6 +379,7 @@ ro: file_help: import: explanation: 'Orientări pentru fișier:' + message_1: Sunt suportate fișierele CSV, JSON și Excel (.xls) message_2: Pentru fişierele CSV, separatorul dintre coloane trebuie să fie punct şi virgulă (";") help_sections: error: A apărut o eroare la actualizarea secțiunilor de ajutor @@ -430,6 +431,7 @@ ro: accepted_mime_types: csv: csv json: json + xls: xls actions: back: Înapoi file_legend: Adăugați un fișier de import care va fi analizat. @@ -589,6 +591,8 @@ ro: title: Rapoarte de moderare show: report_details: Detalii motiv + report_reason: Motiv + title: Detalii raportare newsletter_templates: index: preview_template: Previzualizare diff --git a/decidim-assemblies/config/locales/ro-RO.yml b/decidim-assemblies/config/locales/ro-RO.yml index 4f7daea837861..9b40032c42b87 100644 --- a/decidim-assemblies/config/locales/ro-RO.yml +++ b/decidim-assemblies/config/locales/ro-RO.yml @@ -390,7 +390,10 @@ ro: comments_count: Comentarii debates_count: Dezbateri endorsements_count: Susținători + followers_count: Urmăritori + headline: Statistici meetings_count: Întâlniri + no_stats: Încă nu există statistici. orders_count: Suportă pages_count: Pagini participants_count: Participanți diff --git a/decidim-budgets/config/locales/ro-RO.yml b/decidim-budgets/config/locales/ro-RO.yml index 1e7d68523b669..c21f36c711bb1 100644 --- a/decidim-budgets/config/locales/ro-RO.yml +++ b/decidim-budgets/config/locales/ro-RO.yml @@ -6,6 +6,7 @@ ro: description: Descriere title: Titlu total_budget: Total budget + weight: Pondere project: budget_amount: Sumă bugetară decidim_category_id: Categorie @@ -154,6 +155,8 @@ ro: description: Ai votat deja pentru buget. Dacă te-ai răzgândit, poți %{cancel_link}. title: Votul pentru buget finalizat title: Dumneavoastră decideţi bugetul + total_budget: Buget total + total_projects: Total voturi count: projects_count: one: 1 proiect @@ -215,10 +218,12 @@ ro: vote_rule_minimum_budget_projects_enabled: 'Permite regula: numărul minim de proiecte care urmează să fie votate pe' vote_rule_threshold_percent_enabled: 'Activare regulă: Procentaj minim buget' vote_threshold_percent: Pragul de vot procentual + workflow: Mod de lucru step: announcement: Anunţ comments_blocked: Comentarii blocate show_votes: Arată voturile + title: Titlu votes_choices: enabled: Votare activată orders: diff --git a/decidim-conferences/config/locales/ro-RO.yml b/decidim-conferences/config/locales/ro-RO.yml index a42a7aa379a83..0c5d5908e7156 100644 --- a/decidim-conferences/config/locales/ro-RO.yml +++ b/decidim-conferences/config/locales/ro-RO.yml @@ -3,6 +3,7 @@ ro: attributes: conference: assemblies_ids: Organizații asemănătoare + available_slots: Locuri disponibile banner_image: Imagine pentru banner consultations_ids: Consultări conexe copy_categories: Copiază categoriile @@ -10,26 +11,45 @@ ro: copy_features: Copiază caracteristici decidim_scope_id: Domeniu de interes description: Descriere + end_date: Data de sfârșit hashtag: Hashtag hero_image: Imagine pagina principală + location: Locație + main_logo: Logo principal + objectives: Obiective participatory_processes_ids: Procese participative conexe promoted: Evidenţiat published_at: Publicat la + registration_terms: Condiții de înscriere + registrations_enabled: Înregistrare activată scope_id: Domeniu de interes scopes_enabled: Domenii de interes activate short_description: Descriere scurtă show_statistics: Arată statistici + signature: Semnătură + signature_name: numele semnăturii slogan: Slogan slug: Adresă URL + start_date: Data de început title: Titlu conference_media_link: + date: Dată + link: Link + title: Titlu weight: Greutate conference_partner: + logo: Logo + name: Nume weight: Greutate + conference_registration_invite: + email: E-mail conference_registration_type: weight: Greutate conference_speaker: + avatar: Avatar full_name: Numele complet + position: Poziție + user_id: Utilizator conference_user_role: email: E-mail name: Nume diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index 2583c1db86884..6b1d89c1d6e53 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -1560,6 +1560,12 @@ pl: too_short: jest za krótki (poniżej 15 znaków) forms: correct_errors: Wystąpiły błędy w formularzu, popraw je, aby kontynuować. + length_validator: + minimum: + one: Co najmniej %{count} znak + few: Co najmniej %{count} znaki + many: Co najmniej %{count} znaków + other: Co najmniej %{count} znaków required: Wymagane required_explanation: "* Wymagane pola są oznaczone gwiazdką" invisible_captcha: diff --git a/decidim-core/config/locales/ro-RO.yml b/decidim-core/config/locales/ro-RO.yml index a8e746bca43bb..1a853e5da8f68 100644 --- a/decidim-core/config/locales/ro-RO.yml +++ b/decidim-core/config/locales/ro-RO.yml @@ -320,6 +320,8 @@ ro: authorize: Autorizează cu "%{authorization}" explanation: Pentru a efectua această acțiune, trebuie să fii autorizat cu "%{authorization}". title: Autorizare necesară + ok: + title: Ați fost autorizat în timp ce vizitați această pagină. Vă rugăm să reîncărcați pagina pentru a efectua acțiunea pending: explanation: Pentru a efectua această acțiune, trebuie să fii autorizat cu "%{authorization}", dar autorizația ta este încă în desfășurare resume: Verifică progresul autorizării tale ”%{authorization}" diff --git a/decidim-debates/config/locales/ro-RO.yml b/decidim-debates/config/locales/ro-RO.yml index da43b0f3fee2c..f0fdafad93491 100644 --- a/decidim-debates/config/locales/ro-RO.yml +++ b/decidim-debates/config/locales/ro-RO.yml @@ -212,10 +212,12 @@ ro: debate_closed: affected_user: email_intro: 'Dezbaterea pentru "%{resource_title}” a fost închisă. Puteți citi concluziile pe pagina sa:' + email_outro: Ați primit această notificare deoarece urmăriți dezbaterea "%{resource_title}". Puteți opri urmărirea de la linkul anterior. email_subject: Dezbaterea pentru "%{resource_title}” a fost închisă notification_title: Dezbaterea pentru %{resource_title} a fost închisă. follower: email_intro: 'Dezbaterea pentru "%{resource_title}” a fost închisă. Puteți citi concluziile pe pagina sa:' + email_outro: Ați primit această notificare deoarece urmăriți dezbaterea "%{resource_title}". Puteți opri urmărirea de la linkul anterior. email_subject: Dezbaterea pentru "%{resource_title}” a fost închisă notification_title: Dezbaterea pentru %{resource_title} a fost închisă. gamification: diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index fd509aa1416c4..cf1ee954e7de5 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -329,8 +329,11 @@ ja: preview: available_answers: 利用可能な回答 description: これらは投票プロセスで見つける質問です + title: 選挙の質問 results: description: これらは、各質問に対する投票の結果です + selected: 選択済 + title: 選挙結果 votes: one: "%{count} 票" other: "%{count} 票" @@ -340,6 +343,7 @@ ja: change-vote: 投票の変更 vote: 投票の開始 vote-again: 再投票 + back: 利用可能な選挙 callout: already-voted: すでにこの選挙に投票しました。投票の変更と確認ができます。 vote-rejected: 投票を確認できませんでした。もう一度お試しください。 @@ -363,6 +367,7 @@ ja: title: タイトル election: fields: + bb_status: 掲示板の状態 end_time: 終了時刻 start_time: 開始 title: タイトル @@ -371,6 +376,14 @@ ja: answers: 回答 max_selections: 最大選挙数 title: タイトル + trustees_participatory_space: + fields: + email: Eメールアドレス + inactive: 非アクティブ + name: 名前 + notification: 通知送信日時 + public_key: 公開鍵 + status: ステータス: orders: label: 選挙の順序 older: 古い @@ -378,6 +391,7 @@ ja: trustee_zone: elections: backup_modal: + download_election_keys: ダウンロードキー download_icon: ダウンロードアクションを示すアイコン title: '%{election} のバックアップ選挙キー' key_ceremony_steps: @@ -399,6 +413,22 @@ ja: pending: 保留中 processing: 処理中 title: '%{election} の選挙用キーを作成' + restore_modal: + title: '%{election} の選挙用キーを復元' + upload_election_keys: 選挙用キーをアップロード + upload_icon: ダウンロードアクションを示すアイコン + tally_steps: + back: 戻る + keys: + end_tally: 終了しました + tally: + cast: 集計キャスト + share: 集計を共有 + list: + status: ステータス + task: タスク + process_warning: プロセスが開始されると、プロセスが終了するまでこのページを閉じないでください。 すべての受託者が接続し完了するまで、しばらくかかることがあります。 + start: 開始 votes: confirm: answer: 回答 @@ -477,6 +507,7 @@ ja: polling_stations: list: actions: アクション + name: 名前 role: あなたの役割 voting: 投票 no_polling_stations: まだどの投票所にも割り当てられていません。 diff --git a/decidim-elections/config/locales/ro-RO.yml b/decidim-elections/config/locales/ro-RO.yml index 549101fdfbd12..f1b1ed7a68c40 100644 --- a/decidim-elections/config/locales/ro-RO.yml +++ b/decidim-elections/config/locales/ro-RO.yml @@ -217,6 +217,9 @@ ro: public_key: 'false': nu are o cheie publică 'true': are o cheie publică + title: Configurarea alegerilor + tally_ended: + title: Rezultate calculate vote_ended: submit: Începeți să numărați success: Solicitarea de începere a fost trimisă cu succes la Panoul de Buletin @@ -289,6 +292,8 @@ ro: filter_by: Filtrează după unfold: Desfășurat preview: + available_answers: Răspunsuri disponibile + description: Acestea sunt întrebările pe care le veți găsi în procesul de votare title: Întrebări electorale show: preview: Previzualizare diff --git a/decidim-initiatives/config/locales/ro-RO.yml b/decidim-initiatives/config/locales/ro-RO.yml index 57197bfc7e36b..68087dbe11847 100644 --- a/decidim-initiatives/config/locales/ro-RO.yml +++ b/decidim-initiatives/config/locales/ro-RO.yml @@ -394,6 +394,16 @@ ro: email_outro: Ați primit această notificare deoarece urmăriți %{author_nickname}. Puteți înceta să primiți notificări urmând linkul anterior. email_subject: Inițiativă aprobată de %{author_nickname} notification_title: Inițiativa %{resource_title} a fost aprobată de %{author_name} %{author_nickname}. + revoke_membership_request: + email_intro: "%{author_nickname} a respins cererea dvs. pentru a face parte din comitetul promotorilor pentru inițiativa următoare %{resource_title}." + email_outro: 'Ați primit această notificare deoarece ați aplicat la această inițiativă: %{resource_title}.' + email_subject: "%{author_nickname} a respins cererea ta la comitetul promotorilor" + spawn_committee_request_event: + email_intro: "%{applicant_nickname} a aplicat pentru comitetul promotor al inițiativei dumneavoastră %{resource_title}. Pentru a accepta sau respinge cererea, accesați forma de editare a inițiativei dvs." + form: + add_attachments: Documente + attachment_legend: "(Opțional) Adăugați atașamente" + delete_attachment: Șterge index: title: Inițiative initiative_signatures: @@ -431,6 +441,12 @@ ro: one: și încă o persoană few: și încă %{count} persoane other: și încă %{count} persoane + committee_members: + approve: Aprobă + confirm_revoke: Ești sigur? + invite_to_committee_help: Distribuie acest link pentru a invita alți participanți la comitetul promotorilor + no_members_yet: Nu există membri în comitetul promotorilor + title: Membrii comitetului count: title: one: "Inițiativă %{count}" @@ -471,11 +487,29 @@ ro: recent: Cele mai recente recently_published: Cel mai recent publicat print: + address: Adresă + author_title: Autorul inițiativei city: Localitate + email: Email + full_name: Numele complet + initiative: + description: 'Descriere:' + title: 'Titlu:' + type: Tipul de inițiativă + phone_number: Număr de telefon + place_date: Locul, data + postal_code: Cod poștal/ZIP + print: Tipărește + province: Județ/stat + signature: Semnătură result: + answer_title: S-a răspuns la această inițiativă initiative_rejected_reason: Această inițiativă a fost respinsă din cauza lipsei de semnături. show: + any_vote_method: Această inițiativă adună semnături online și personale. + edit: Editează follow_description: Primiți o notificare atunci când există știri în această inițiativă + send_to_technical_validation: Trimite la validarea tehnică signatures_count: one: " semnătură" few: " semnături" @@ -523,6 +557,9 @@ ro: accepted: Acceptat expired: Expirat unavailable_scope: Domeniul de aplicare indisponibil + update: + error: A apărut o eroare + success: Inițiativa a fost actualizată versions: shared: back_to_resource: Întoarce-te la inițiativă diff --git a/decidim-meetings/config/locales/sv.yml b/decidim-meetings/config/locales/sv.yml index 5bb9feda88433..200ace7a33668 100644 --- a/decidim-meetings/config/locales/sv.yml +++ b/decidim-meetings/config/locales/sv.yml @@ -484,7 +484,9 @@ sv: details: Du hittar mötesuppgifterna i bilagan. registration_code: Din registreringskod är %{code}. registration_type: + on_different_platform: På en annan plattform on_this_platform: På den plattform + registration_disabled: Registrering inaktiverad registrations: create: invalid: Det gick inte att ansluta till mötet. diff --git a/decidim-participatory_processes/config/locales/ro-RO.yml b/decidim-participatory_processes/config/locales/ro-RO.yml index eb2f2fe2141ca..4fa45da6531a2 100644 --- a/decidim-participatory_processes/config/locales/ro-RO.yml +++ b/decidim-participatory_processes/config/locales/ro-RO.yml @@ -34,6 +34,7 @@ ro: subtitle: Subtitrare target: Cine participă title: Titlu + weight: Pondere participatory_process_group: description: Descriere developer_group: Grup promotor diff --git a/decidim-proposals/config/locales/ro-RO.yml b/decidim-proposals/config/locales/ro-RO.yml index 1de968a9a04d0..427359baf0913 100644 --- a/decidim-proposals/config/locales/ro-RO.yml +++ b/decidim-proposals/config/locales/ro-RO.yml @@ -704,6 +704,8 @@ ro: one: "%{count} propunere" few: "%{count} propuneri" other: "%{count} propuneri" + dynamic_map_instructions: + instructions:

    Puteți muta punctul de pe hartă.

    Nu uitați să faceți clic pe butonul "Actualizare poziție" înainte de a publica propunerea dvs.

    edit: attachment_legend: "(Opțional) Adăugați un atașament" back: Înapoi @@ -768,6 +770,7 @@ ro: other: Veți putea edita această propunere în primele %{count} minute după publicarea propunerii. După trecerea acestei ferestre temporale, nu veți putea edita propunerea. publish: Publică title: Publică propunerea ta + update_position: Actualizați poziția proposal: creation_date: 'Creare: %{date}' view_proposal: Vizualizați propunerea diff --git a/decidim-proposals/config/locales/sv.yml b/decidim-proposals/config/locales/sv.yml index 00eb0ccb09286..1122d2211056c 100644 --- a/decidim-proposals/config/locales/sv.yml +++ b/decidim-proposals/config/locales/sv.yml @@ -10,7 +10,7 @@ sv: scope_id: Omfattning state: Status title: Titel - user_group_id: Skapa gemensamt utkast som + user_group_id: Skapa samarbetsutkast som proposal: address: Adress answer: Svar diff --git a/decidim-system/config/locales/sv.yml b/decidim-system/config/locales/sv.yml index c080455835bf9..b60aa632e86ab 100644 --- a/decidim-system/config/locales/sv.yml +++ b/decidim-system/config/locales/sv.yml @@ -14,6 +14,17 @@ sv: password: Lösenord port: Port user_name: Användarnamn + organization_file_uploads: + allowed_content_types: + admin: Admin MIME-typer + default: Förvalda MIME-typer + allowed_file_extensions: + admin: Admin filändelser + default: Förvalda filändelser + image: Bild filändelser + maximum_file_size: + avatar: Avatarens filstorlek + default: Standardstorlek för filer errors: models: oauth_application: @@ -74,6 +85,7 @@ sv: save_and_invite: Skapa organisation och bjud in administratör fields: created_at: Skapad + file_upload_settings: Inställningar för filuppladdning name: Namn omniauth_settings: Omniauth-inställningar smtp_settings: SMTP-inställningar @@ -106,6 +118,10 @@ sv: edit: secondary_hosts_hint: Ange var och en av dem på en ny rad file_upload_settings: + content_types: + title: Tillåtna MIME-typer + file_extensions: + title: Tillåtna filändelser file_sizes: title: Max filstorlekar index: @@ -135,7 +151,10 @@ sv: smtp_settings: fieldsets: sender: Avsändare + instructions: + from_label: 'E-postavsändare är: "your-organization-name ". Om du lämnar tomt kommer e-postadressen användas' placeholder: + from_email: your-organization@example.org from_label: din-organisation-namn update: error: Det gick inte att uppdatera organisationen. diff --git a/decidim-templates/config/locales/ro-RO.yml b/decidim-templates/config/locales/ro-RO.yml index 0860adfe761ab..74849eb804c97 100644 --- a/decidim-templates/config/locales/ro-RO.yml +++ b/decidim-templates/config/locales/ro-RO.yml @@ -1,4 +1,11 @@ ro: + activemodel: + attributes: + questionnaire: + title: Titlu + template: + description: Descriere + name: Nume decidim: admin: menu: From 4148325f5cb0203d8f3ce7624e23f627f9ce0980 Mon Sep 17 00:00:00 2001 From: Oliver Valls <199462+tramuntanal@users.noreply.github.com> Date: Tue, 13 Jul 2021 11:30:22 +0200 Subject: [PATCH 40/71] Backport "Fix create questionnaire from template when no template is selected" to 0.24 (#8185) --- .../decidim/templates/admin/apply_questionnaire_template.rb | 2 +- .../templates/admin/questionnaire_templates_controller.rb | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/decidim-templates/app/commands/decidim/templates/admin/apply_questionnaire_template.rb b/decidim-templates/app/commands/decidim/templates/admin/apply_questionnaire_template.rb index 2f899d8b899a1..f40f34fe5faf0 100644 --- a/decidim-templates/app/commands/decidim/templates/admin/apply_questionnaire_template.rb +++ b/decidim-templates/app/commands/decidim/templates/admin/apply_questionnaire_template.rb @@ -21,7 +21,7 @@ def initialize(questionnaire, template) # # Returns nothing. def call - return broadcast(:invalid) unless @template.valid? + return broadcast(:invalid) unless @template && @template.valid? Template.transaction do apply_template diff --git a/decidim-templates/app/controllers/decidim/templates/admin/questionnaire_templates_controller.rb b/decidim-templates/app/controllers/decidim/templates/admin/questionnaire_templates_controller.rb index d0d4434503c68..c23cea43358fb 100644 --- a/decidim-templates/app/controllers/decidim/templates/admin/questionnaire_templates_controller.rb +++ b/decidim-templates/app/controllers/decidim/templates/admin/questionnaire_templates_controller.rb @@ -103,7 +103,7 @@ def destroy def apply questionnaire = Decidim::Forms::Questionnaire.find_by(id: params[:questionnaire_id]) - template = Decidim::Templates::Template.find_by(id: params[:questionnaire][:questionnaire_template_id]) + template = Decidim::Templates::Template.find_by(id: params.dig(:questionnaire, :questionnaire_template_id)) ApplyQuestionnaireTemplate.call(questionnaire, template) do on(:ok) do @@ -111,7 +111,8 @@ def apply redirect_to params[:url] end on(:invalid) do - flash.now[:error] = I18n.t("templates.apply.error", scope: "decidim.admin") + flash[:error] = I18n.t("templates.apply.error", scope: "decidim.admin") + redirect_to EngineRouter.admin_proxy(questionnaire.questionnaire_for.component).survey_path end end end From d2c3f74aaf09629274542b641b35a8b4d2374847 Mon Sep 17 00:00:00 2001 From: Oliver Valls <199462+tramuntanal@users.noreply.github.com> Date: Tue, 13 Jul 2021 11:31:42 +0200 Subject: [PATCH 41/71] Backport "Fix ordering of question matrix_rows in templates" to 0.24 (#8186) --- .../decidim/forms/admin/forms.js.es6 | 2 +- .../forms/admin/update_questionnaire.rb | 5 +- .../decidim/forms/admin/question_form.rb | 14 ++++ .../forms/admin/question_matrix_row_form.rb | 4 +- .../decidim/forms/question_matrix_row.rb | 3 + .../admin/questionnaires/_matrix_row.html.erb | 1 + .../admin/questionnaires/_question.html.erb | 2 +- .../answers/_matrix_multiple.html.erb | 2 +- .../answers/_matrix_single.html.erb | 2 +- ...42_set_position_to_question_matrix_rows.rb | 11 +++ .../lib/decidim/forms/test/factories.rb | 5 +- .../forms/admin/update_questionnaire_spec.rb | 5 +- .../decidim/forms/admin/question_form_spec.rb | 73 +++++++++++++++++++ .../admin/question_matrix_row_form_spec.rb | 2 +- .../lib/decidim/surveys/component.rb | 4 +- decidim-templates/db/seeds.rb | 4 +- 16 files changed, 123 insertions(+), 16 deletions(-) create mode 100644 decidim-forms/db/migrate/20210616153042_set_position_to_question_matrix_rows.rb diff --git a/decidim-forms/app/assets/javascripts/decidim/forms/admin/forms.js.es6 b/decidim-forms/app/assets/javascripts/decidim/forms/admin/forms.js.es6 index bd0b8464294ef..e49176aca17d0 100644 --- a/decidim-forms/app/assets/javascripts/decidim/forms/admin/forms.js.es6 +++ b/decidim-forms/app/assets/javascripts/decidim/forms/admin/forms.js.es6 @@ -59,7 +59,7 @@ listSelector: ".questionnaire-question:not(.hidden)", labelSelector: ".card-title span:first", onPositionComputed: (el, idx) => { - $(el).find("input[name$=\\[position\\]]").val(idx); + $(el).find("input[name$=\\[position\\]]:not([name*=\\[matrix_rows\\]])").val(idx); autoButtonsByPosition.run(); diff --git a/decidim-forms/app/commands/decidim/forms/admin/update_questionnaire.rb b/decidim-forms/app/commands/decidim/forms/admin/update_questionnaire.rb index 1eea4b9bde930..dbee0f89cc9ae 100644 --- a/decidim-forms/app/commands/decidim/forms/admin/update_questionnaire.rb +++ b/decidim-forms/app/commands/decidim/forms/admin/update_questionnaire.rb @@ -78,9 +78,10 @@ def update_questionnaire_question(form_question) update_nested_model(form_display_condition, display_condition_attributes, question.display_conditions) end - form_question.matrix_rows.each do |form_matrix_row| + form_question.matrix_rows_by_position.each_with_index do |form_matrix_row, idx| matrix_row_attributes = { - body: form_matrix_row.body + body: form_matrix_row.body, + position: form_matrix_row.position || idx } update_nested_model(form_matrix_row, matrix_row_attributes, question.matrix_rows) diff --git a/decidim-forms/app/forms/decidim/forms/admin/question_form.rb b/decidim-forms/app/forms/decidim/forms/admin/question_form.rb index a39a5217aa5a5..8f8ea57b21ba7 100644 --- a/decidim-forms/app/forms/decidim/forms/admin/question_form.rb +++ b/decidim-forms/app/forms/decidim/forms/admin/question_form.rb @@ -42,6 +42,20 @@ def separator? question_type == Decidim::Forms::Question::SEPARATOR_TYPE end + def matrix_rows_by_position + matrix_rows.sort do |a, b| + if a.position && b.position + a.position <=> b.position + elsif a.position + -1 + elsif b.position + 1 + else + 0 + end + end + end + private def matrix? diff --git a/decidim-forms/app/forms/decidim/forms/admin/question_matrix_row_form.rb b/decidim-forms/app/forms/decidim/forms/admin/question_matrix_row_form.rb index c655a0022146e..906ef631d52af 100644 --- a/decidim-forms/app/forms/decidim/forms/admin/question_matrix_row_form.rb +++ b/decidim-forms/app/forms/decidim/forms/admin/question_matrix_row_form.rb @@ -7,12 +7,12 @@ module Admin class QuestionMatrixRowForm < Decidim::Form include TranslatableAttributes - attribute :position, Integer, default: 0 + attribute :position, Integer attribute :deleted, Boolean, default: false translatable_attribute :body, String - validates :position, numericality: { greater_than_or_equal_to: 0 } + validates :position, numericality: { greater_than_or_equal_to: 0 }, if: -> { position.present? } validates :body, translatable_presence: true, unless: :deleted def to_param diff --git a/decidim-forms/app/models/decidim/forms/question_matrix_row.rb b/decidim-forms/app/models/decidim/forms/question_matrix_row.rb index 899ad03279ebb..d5dace50ddf0e 100644 --- a/decidim-forms/app/models/decidim/forms/question_matrix_row.rb +++ b/decidim-forms/app/models/decidim/forms/question_matrix_row.rb @@ -10,6 +10,9 @@ class QuestionMatrixRow < Forms::ApplicationRecord belongs_to :question, class_name: "Question", foreign_key: "decidim_question_id" delegate :answer_options, :mandatory, :max_choices, to: :question + + scope :by_position, -> { order(:position) } + default_scope { by_position } end end end diff --git a/decidim-forms/app/views/decidim/forms/admin/questionnaires/_matrix_row.html.erb b/decidim-forms/app/views/decidim/forms/admin/questionnaires/_matrix_row.html.erb index 84b240b090048..d678943ed850d 100644 --- a/decidim-forms/app/views/decidim/forms/admin/questionnaires/_matrix_row.html.erb +++ b/decidim-forms/app/views/decidim/forms/admin/questionnaires/_matrix_row.html.erb @@ -28,6 +28,7 @@ <% if matrix_row.persisted? %> <%= form.hidden_field :id, disabled: !editable %> + <%= form.hidden_field :position, disabled: !editable %> <% end %> <%= form.hidden_field :deleted, disabled: !editable %> diff --git a/decidim-forms/app/views/decidim/forms/admin/questionnaires/_question.html.erb b/decidim-forms/app/views/decidim/forms/admin/questionnaires/_question.html.erb index 53a685a519a42..ccd9b6aaaf5ee 100644 --- a/decidim-forms/app/views/decidim/forms/admin/questionnaires/_question.html.erb +++ b/decidim-forms/app/views/decidim/forms/admin/questionnaires/_question.html.erb @@ -104,7 +104,7 @@
    - <% question.matrix_rows.each do |matrix_row| %> + <% question.matrix_rows_by_position.each do |matrix_row| %> <%= fields_for "questionnaire[questions][#{question.to_param}][matrix_rows][]", matrix_row do |matrix_row_form| %> <%= render "decidim/forms/admin/questionnaires/matrix_row", form: matrix_row_form, question: question, editable: editable %> <% end %> diff --git a/decidim-forms/app/views/decidim/forms/questionnaires/answers/_matrix_multiple.html.erb b/decidim-forms/app/views/decidim/forms/questionnaires/answers/_matrix_multiple.html.erb index 7d78e9734785a..ddfdc7e267941 100644 --- a/decidim-forms/app/views/decidim/forms/questionnaires/answers/_matrix_multiple.html.erb +++ b/decidim-forms/app/views/decidim/forms/questionnaires/answers/_matrix_multiple.html.erb @@ -8,7 +8,7 @@ - <% answer.question.matrix_rows.each_with_index do |row, row_idx| %> + <% answer.question.matrix_rows.by_position.each_with_index do |row, row_idx| %> <%= translated_attribute row.body %> <% answer.question.answer_options.each_with_index do |answer_option, idx| %> diff --git a/decidim-forms/app/views/decidim/forms/questionnaires/answers/_matrix_single.html.erb b/decidim-forms/app/views/decidim/forms/questionnaires/answers/_matrix_single.html.erb index 7fe19de417f1f..d5d15fb9f48f2 100644 --- a/decidim-forms/app/views/decidim/forms/questionnaires/answers/_matrix_single.html.erb +++ b/decidim-forms/app/views/decidim/forms/questionnaires/answers/_matrix_single.html.erb @@ -8,7 +8,7 @@ - <% answer.question.matrix_rows.each_with_index do |row, row_idx| %> + <% answer.question.matrix_rows.by_position.each_with_index do |row, row_idx| %> <%= translated_attribute row.body %> <% answer.question.answer_options.each_with_index do |answer_option, idx| %> diff --git a/decidim-forms/db/migrate/20210616153042_set_position_to_question_matrix_rows.rb b/decidim-forms/db/migrate/20210616153042_set_position_to_question_matrix_rows.rb new file mode 100644 index 0000000000000..c9006143094e9 --- /dev/null +++ b/decidim-forms/db/migrate/20210616153042_set_position_to_question_matrix_rows.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class SetPositionToQuestionMatrixRows < ActiveRecord::Migration[5.2] + def up + execute "UPDATE decidim_forms_question_matrix_rows SET position = id" + end + + def down + execute "UPDATE decidim_forms_question_matrix_rows SET position = NULL" + end +end diff --git a/decidim-forms/lib/decidim/forms/test/factories.rb b/decidim-forms/lib/decidim/forms/test/factories.rb index d7ea5ffd21166..a03c2fb9f27c6 100644 --- a/decidim-forms/lib/decidim/forms/test/factories.rb +++ b/decidim-forms/lib/decidim/forms/test/factories.rb @@ -63,9 +63,10 @@ end if question.matrix_rows.empty? - evaluator.rows.each do |row| + evaluator.rows.each_with_index do |row, idx| question.matrix_rows.build( - body: row["body"] + body: row["body"], + position: idx ) end end diff --git a/decidim-forms/spec/commands/decidim/forms/admin/update_questionnaire_spec.rb b/decidim-forms/spec/commands/decidim/forms/admin/update_questionnaire_spec.rb index 7111449149445..2291042589288 100644 --- a/decidim-forms/spec/commands/decidim/forms/admin/update_questionnaire_spec.rb +++ b/decidim-forms/spec/commands/decidim/forms/admin/update_questionnaire_spec.rb @@ -255,7 +255,10 @@ module Admin expect(questionnaire.questions[4].question_type).to eq("matrix_single") expect(questionnaire.questions[4].answer_options[0].free_text).to eq(true) - expect(questionnaire.questions[4].matrix_rows[0].body["en"]).to eq(form_params["questions"]["4"]["matrix_rows"]["0"]["body"]["en"]) + (0..1).each do |idx| + expect(questionnaire.questions[4].matrix_rows[idx].body["en"]).to eq(form_params["questions"]["4"]["matrix_rows"][idx.to_s]["body"]["en"]) + expect(questionnaire.questions[4].matrix_rows[idx].position).to eq(idx) + end expect(questionnaire.questions[5].question_type).to eq("matrix_multiple") expect(questionnaire.questions[5].answer_options[0].free_text).to eq(true) diff --git a/decidim-forms/spec/forms/decidim/forms/admin/question_form_spec.rb b/decidim-forms/spec/forms/decidim/forms/admin/question_form_spec.rb index 82198ce7d3889..cc8c75cee9bf8 100644 --- a/decidim-forms/spec/forms/decidim/forms/admin/question_form_spec.rb +++ b/decidim-forms/spec/forms/decidim/forms/admin/question_form_spec.rb @@ -135,6 +135,79 @@ module Admin end it_behaves_like "form to param", default_id: "questionnaire-question-id" + + describe "#matrix_rows_by_position" do + let!(:question_type) { "single_option" } + let(:matrix_rows) do + { + "1" => { "body" => { "en" => "Matrix row 1" }, "deleted" => "false" }, + "2" => { "body" => { "en" => "Matrix row 2" }, "deleted" => "false" }, + "3" => { "body" => { "en" => "Matrix row 3" }, "deleted" => "false" } + } + end + + before do + attributes.merge!("matrix_rows" => matrix_rows) + end + + context "when all rows are new" do + it "positions are setted by order of reception" do + matrix_rows_by_position = subject.matrix_rows_by_position + (1..3).each do |idx| + question_matrix_row_form = matrix_rows_by_position[idx - 1] + expect(question_matrix_row_form.body[:en]).to eq(matrix_rows[idx.to_s]["body"]["en"]) + end + end + end + + context "when all rows already existed" do + before do + matrix_rows.each_pair do |key, row| + row["id"] = key + row["position"] = key + end + end + + it "keeps positions even when in different by order of reception" do + matrix_rows_by_position = subject.matrix_rows_by_position + (0..2).each do |idx| + question_matrix_row_form = matrix_rows_by_position[idx] + expect(question_matrix_row_form.body[:en]).to eq(matrix_rows[(idx + 1).to_s]["body"]["en"]) + expect(question_matrix_row_form.position).to eq(matrix_rows[(idx + 1).to_s]["position"].to_i) + end + end + end + + context "when mixing existing and new rows" do + before do + matrix_rows.merge!({ + "4" => { "body" => { "en" => "Matrix row 4" }, "position" => "2", "deleted" => "false" }, + "5" => { "body" => { "en" => "Matrix row 5" }, "position" => "3", "deleted" => "false" }, + "7" => { "body" => { "en" => "Matrix row 7" }, "position" => "5", "deleted" => "false" }, + "6" => { "body" => { "en" => "Matrix row 6" }, "position" => "4", "deleted" => "false" }, + "8" => { "body" => { "en" => "Matrix row 8" }, "position" => "1", "deleted" => "false" } + }) + end + + it "keeps positions of existing rows and moves all new rows to the end of the array" do + matrix_rows_by_position = subject.matrix_rows_by_position + + # first five rows are the already existing ordered by position + %w(8 4 5 6 7).each_with_index do |key, idx| + question_matrix_row_form = matrix_rows_by_position[idx] + expect(question_matrix_row_form.body[:en]).to eq(matrix_rows[key]["body"]["en"]) + expect(question_matrix_row_form.position).to eq(matrix_rows[key]["position"].to_i) + end + + # at the end the new rows (no position attribute) by order of reception + (5..7).each do |idx| + question_matrix_row_form = matrix_rows_by_position[idx] + expect(question_matrix_row_form.body[:en]).to eq(matrix_rows[(idx - 4).to_s]["body"]["en"]) + expect(question_matrix_row_form.position).to be_nil + end + end + end + end end end end diff --git a/decidim-forms/spec/forms/decidim/forms/admin/question_matrix_row_form_spec.rb b/decidim-forms/spec/forms/decidim/forms/admin/question_matrix_row_form_spec.rb index 5d6217ab90384..cb9f634778c48 100644 --- a/decidim-forms/spec/forms/decidim/forms/admin/question_matrix_row_form_spec.rb +++ b/decidim-forms/spec/forms/decidim/forms/admin/question_matrix_row_form_spec.rb @@ -35,7 +35,7 @@ module Admin context "when the position is not present" do let!(:position) { nil } - it { is_expected.not_to be_valid } + it { is_expected.to be_valid } end context "when the body is missing a locale translation" do diff --git a/decidim-surveys/lib/decidim/surveys/component.rb b/decidim-surveys/lib/decidim/surveys/component.rb index 8b1191ea97465..316ca706285f9 100644 --- a/decidim-surveys/lib/decidim/surveys/component.rb +++ b/decidim-surveys/lib/decidim/surveys/component.rb @@ -161,9 +161,9 @@ position: index ) - 3.times do + 3.times do |position| question.answer_options.create!(body: Decidim::Faker::Localized.sentence) - question.matrix_rows.create!(body: Decidim::Faker::Localized.sentence) + question.matrix_rows.create!(body: Decidim::Faker::Localized.sentence, position: position) end end end diff --git a/decidim-templates/db/seeds.rb b/decidim-templates/db/seeds.rb index cbbb5ab747d4b..3f3f1ed5621d1 100644 --- a/decidim-templates/db/seeds.rb +++ b/decidim-templates/db/seeds.rb @@ -69,9 +69,9 @@ question_type: matrix_question_type ) - 3.times do + 3.times do |idx| question.answer_options.create!(body: Decidim::Faker::Localized.sentence) - question.matrix_rows.create!(body: Decidim::Faker::Localized.sentence) + question.matrix_rows.create!(body: Decidim::Faker::Localized.sentence, position: idx) end end From 560cec32a41ceed111aa349f94c8e8177db4d66d Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Mon, 19 Jul 2021 12:11:20 +0200 Subject: [PATCH 42/71] New Crowdin updates (#8207) --- .../config/locales/lb-LU.yml | 1 + decidim-admin/config/locales/it.yml | 14 +- decidim-admin/config/locales/lb-LU.yml | 1 + decidim-assemblies/config/locales/lb-LU.yml | 1 + decidim-blogs/config/locales/lb-LU.yml | 1 + decidim-budgets/config/locales/it.yml | 4 +- decidim-budgets/config/locales/lb-LU.yml | 1 + decidim-comments/config/locales/lb-LU.yml | 1 + decidim-conferences/config/locales/lb-LU.yml | 1 + decidim-conferences/config/locales/pl.yml | 6 +- .../config/locales/lb-LU.yml | 1 + decidim-core/config/locales/it.yml | 2 +- decidim-core/config/locales/ja.yml | 2 +- decidim-core/config/locales/lb-LU.yml | 1 + decidim-core/config/locales/pl.yml | 16 +- decidim-debates/config/locales/lb-LU.yml | 1 + decidim-dev/config/locales/lb-LU.yml | 1 + decidim-elections/config/locales/ja.yml | 191 +++++++++++++++++- decidim-elections/config/locales/lb-LU.yml | 1 + decidim-forms/config/locales/lb-LU.yml | 1 + decidim-initiatives/config/locales/lb-LU.yml | 1 + decidim-initiatives/config/locales/ro-RO.yml | 3 + decidim-meetings/config/locales/lb-LU.yml | 1 + decidim-meetings/config/locales/pl.yml | 8 +- decidim-pages/config/locales/lb-LU.yml | 1 + .../config/locales/it.yml | 2 +- .../config/locales/lb-LU.yml | 1 + decidim-proposals/config/locales/lb-LU.yml | 1 + decidim-proposals/config/locales/pl.yml | 8 +- decidim-sortitions/config/locales/lb-LU.yml | 1 + decidim-surveys/config/locales/lb-LU.yml | 1 + decidim-system/config/locales/lb-LU.yml | 1 + decidim-templates/config/locales/lb-LU.yml | 1 + .../config/locales/lb-LU.yml | 1 + 34 files changed, 239 insertions(+), 40 deletions(-) create mode 100644 decidim-accountability/config/locales/lb-LU.yml create mode 100644 decidim-admin/config/locales/lb-LU.yml create mode 100644 decidim-assemblies/config/locales/lb-LU.yml create mode 100644 decidim-blogs/config/locales/lb-LU.yml create mode 100644 decidim-budgets/config/locales/lb-LU.yml create mode 100644 decidim-comments/config/locales/lb-LU.yml create mode 100644 decidim-conferences/config/locales/lb-LU.yml create mode 100644 decidim-consultations/config/locales/lb-LU.yml create mode 100644 decidim-core/config/locales/lb-LU.yml create mode 100644 decidim-debates/config/locales/lb-LU.yml create mode 100644 decidim-dev/config/locales/lb-LU.yml create mode 100644 decidim-elections/config/locales/lb-LU.yml create mode 100644 decidim-forms/config/locales/lb-LU.yml create mode 100644 decidim-initiatives/config/locales/lb-LU.yml create mode 100644 decidim-meetings/config/locales/lb-LU.yml create mode 100644 decidim-pages/config/locales/lb-LU.yml create mode 100644 decidim-participatory_processes/config/locales/lb-LU.yml create mode 100644 decidim-proposals/config/locales/lb-LU.yml create mode 100644 decidim-sortitions/config/locales/lb-LU.yml create mode 100644 decidim-surveys/config/locales/lb-LU.yml create mode 100644 decidim-system/config/locales/lb-LU.yml create mode 100644 decidim-templates/config/locales/lb-LU.yml create mode 100644 decidim-verifications/config/locales/lb-LU.yml diff --git a/decidim-accountability/config/locales/lb-LU.yml b/decidim-accountability/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-accountability/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-admin/config/locales/it.yml b/decidim-admin/config/locales/it.yml index 698bd4b51338f..1274b59f8be0f 100644 --- a/decidim-admin/config/locales/it.yml +++ b/decidim-admin/config/locales/it.yml @@ -175,14 +175,14 @@ it: admin_terms_of_use: accept: error: Si è verificato un errore durante l'accettazione dei termini di utilizzo da parte dell'amministratore. - success: Ottimo! Hai accettato i termini d'uso dell'amministratore. + success: Ottimo! Hai accettato i termini d'uso dell'amministratrice/tore. actions: accept: Sono d'accordo con i seguenti termini are_you_sure: Sei sicuro di voler rifiutare i termini di amministrazione? refuse: Rifiuta i termini di amministrazione title: Accetta i termini e le condizioni di utilizzo required_review: - alert: 'Richiesto: Rivedi i nostri termini di utilizzo da amministratore' + alert: 'Richiesto: Rivedi i nostri termini di utilizzo dell''amministratrice/tore' callout: Prenditi un momento per leggere i Termini di utilizzo dell'amministratore. Altrimenti non sarai in grado di amministrare la piattaforma. cta: Rivedili ora. title: Termini di utilizzo dell'amministratore @@ -495,7 +495,7 @@ it: name: Categorie impersonation_log: fields: - admin: Amministratore + admin: Amministratrice/tore ended_at: Terminato il expired_at: Scaduto il reason: Ragionare @@ -539,7 +539,7 @@ it: name: Nome role: Ruolo roles: - admin: Amministratore + admin: Amministratrice/tore user_manager: Responsabile del partecipante name: Utente user_group: @@ -866,7 +866,7 @@ it: impersonatable_users: Partecipanti gestibili impersonations: Gestione dei partecipanti metrics: Partecipazione in cifre - panel: Amministratore + panel: Amministratrice/tore participants: Partecipanti scope_types: Tipi di ambito scopes: Ambiti @@ -909,14 +909,14 @@ it: success: OK, utente invitato. destroy: error: Si è verificato un problema durante il tentativo di eliminare questo amministratore. - success: Questo utente non è più un amministratore. + success: Questo utente non è più una/un amministratrice/tore. form: email: E-mail name: Nome role: Ruolo new: create: Invita - title: Invita l'utente in qualità di amministratore + title: Invita l'utente in qualità di amministratrice/tore users_statistics: users_count: admins: Amministratori diff --git a/decidim-admin/config/locales/lb-LU.yml b/decidim-admin/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-admin/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-assemblies/config/locales/lb-LU.yml b/decidim-assemblies/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-assemblies/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-blogs/config/locales/lb-LU.yml b/decidim-blogs/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-blogs/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-budgets/config/locales/it.yml b/decidim-budgets/config/locales/it.yml index 5588d25a5108c..5b6f11498ab13 100644 --- a/decidim-budgets/config/locales/it.yml +++ b/decidim-budgets/config/locales/it.yml @@ -60,7 +60,7 @@ it: projects: Progetti models: budget: - name: Bilancio + name: Budget project: name: Progetto projects: @@ -231,7 +231,7 @@ it: budgets: actions: vote: Votazione - name: i bilanci + name: Budget settings: global: announcement: Annuncio diff --git a/decidim-budgets/config/locales/lb-LU.yml b/decidim-budgets/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-budgets/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-comments/config/locales/lb-LU.yml b/decidim-comments/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-comments/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-conferences/config/locales/lb-LU.yml b/decidim-conferences/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-conferences/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-conferences/config/locales/pl.yml b/decidim-conferences/config/locales/pl.yml index f1d56fc0b8c6c..5d771d66b5465 100644 --- a/decidim-conferences/config/locales/pl.yml +++ b/decidim-conferences/config/locales/pl.yml @@ -553,12 +553,12 @@ pl: notification_title: Liczba zarezerwowanych miejsc na konferencję %{resource_title} wynosi ponad %{percentage}%. conference_updated: email_intro: 'Konferencja "%{resource_title}" została zaktualizowana. Możesz znaleźć nową wersję na tej stornie:' - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz konferencję "%{resource_title}". Możesz przestać ją obserwować klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz konferencję "%{resource_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie konferencji kliknij w przycisk obserwowania. email_subject: Konferencja "%{resource_title}" została zaktualizowana notification_title: Konferencja %{resource_title} została zaktualizowana. registrations_enabled: email_intro: 'Konferencja "%{resource_title}" otworzyła rejestrację. Możesz zarejestrować się na stronie:' - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz konferencję "%{resource_title}". Możesz przestać ją obserwować klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz konferencję "%{resource_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie konferencji kliknij w przycisk obserwowania. email_subject: Konferencja "%{resource_title}" otworzyła rejestracje. notification_title: Konferencja %{resource_title} otworzyła rejestrację. role_assigned: @@ -568,7 +568,7 @@ pl: notification_title: Przypisano Ci rolę %{role} w konferencji %{resource_title}. upcoming_conference: email_intro: 'Konferencja "%{resource_title}" odbywa się za 2 dni. Możesz przeczytać opis na jej stronie:' - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz konferencję "%{resource_title}". Możesz przestać ją obserwować klikając poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz konferencję "%{resource_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie konferencji kliknij w przycisk obserwowania. email_subject: Konferencja „%{resource_title}” już wkrótce! notification_title: Konferencja %{resource_title} odbędzie się za 2 dni. help: diff --git a/decidim-consultations/config/locales/lb-LU.yml b/decidim-consultations/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-consultations/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-core/config/locales/it.yml b/decidim-core/config/locales/it.yml index b0472fb8da8a8..c26fa0c513e0b 100644 --- a/decidim-core/config/locales/it.yml +++ b/decidim-core/config/locales/it.yml @@ -1655,7 +1655,7 @@ it: mailer: invitation_instructions: accept_until_format: "%B %d, %Y %I:%M %p" - long: "%B %d, % %Y %H:%M" + long: "%B %d %Y %H:%M" long_dashed: "%d/%m/%Y %H:%M:%S" short: "%d/%m/%Y %H:%M" time_of_day: "%H:%M" diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml index e9f26c5fc19f4..89e474136630e 100644 --- a/decidim-core/config/locales/ja.yml +++ b/decidim-core/config/locales/ja.yml @@ -508,7 +508,7 @@ ja: try_later: 後でもう一度お試しください。 not_found: back_home: ホームに戻る - content_doesnt_exist: この住所は正しくないか削除されています。 + content_doesnt_exist: このアドレスは正しくないか削除されています。 title: お探しのページが見つかりません。 events: amendments: diff --git a/decidim-core/config/locales/lb-LU.yml b/decidim-core/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-core/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index 6b1d89c1d6e53..3038d605708e7 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -591,7 +591,7 @@ pl: email_event: email_greeting: Witaj %{user_name}, email_intro: 'Zaktualizowano "%{resource_title}". Możesz zobaczyć zmiany na tej stronie:' - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz "%{resource_title}". Możesz przestać obserwować ten zasób klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz przestrzeń "%{resource_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie kliknij w przycisk obserwowania. email_subject: Aktualizacja %{resource_title} gamification: badge_earned: @@ -904,35 +904,35 @@ pl: admin_in_group: Otrzymujesz to powiadomienie, ponieważ jesteś administratorem w %{group}. greeting: Cześć, %{recipient}! intro: "%{manager} rozpoczął/rozpoczęła nową konwersację w imieniu %{group}. Kliknij tutaj, aby ją zobaczyć:" - outro: Miłego korzystania z decidim! + outro: Miłego korzystania z platformy! subject: "%{manager} rozpoczął/rozpoczęła nową konwersację jako %{group}" comanagers_new_message: admin_in_group: Otrzymujesz to powiadomienie, ponieważ jesteś administratorem w %{group}. greeting: Cześć, %{recipient}! intro: "%{manager} opublikował(a) nowe wiadomości w konwersacji w imieniu %{group}. Kliknij tutaj, aby je zobaczyć:" - outro: Miłego korzystania z decidim! + outro: Miłego korzystania z platformy! subject: "%{manager} wysłał(a) nowe wiadomości jako %{group}" new_conversation: greeting: Cześć, %{recipient}! intro: "%{sender} rozpoczął/rozpoczęła z tobą nową rozmowę. Kliknij tutaj, aby zobaczyć:" - outro: Miłego korzystania z decidim! + outro: Miłego korzystania z platformy! subject: "%{sender} rozpoczął/rozpoczęła z Tobą rozmowę" new_group_conversation: admin_in_group: Otrzymujesz to powiadomienie, ponieważ jesteś administratorem w %{group}. greeting: Cześć, %{recipient}! intro: "%{sender} rozpoczął/rozpoczęła nową konwersację z grupą %{group}. Kliknij tutaj, aby ją zobaczyć:" - outro: Miłego korzystania z decidim! + outro: Miłego korzystania z platformy! subject: "%{sender} rozpoczął/rozpoczęła konwersację z %{group}" new_group_message: admin_in_group: Otrzymujesz to powiadomienie, ponieważ jesteś administratorem w %{group}. greeting: Cześć, %{recipient}! intro: "%{sender} opublikował(a) nowe wiadomości w konwersacji z grupą %{group}. Kliknij tutaj, aby je zobaczyć:" - outro: Miłego korzystania z decidim! + outro: Miłego korzystania z platformy! subject: "%{group} ma nowe wiadomości od %{sender}" new_message: greeting: Cześć, %{recipient}! intro: "%{sender} opublikował(a) nowe wiadomości w twojej rozmowie. Kliknij tutaj, aby je zobaczyć:" - outro: Miłego korzystania z decidim! + outro: Miłego korzystania z platformy! subject: Masz nowe wiadomości od %{sender} conversations: add_conversation_users: @@ -1538,7 +1538,7 @@ pl: public: Twoje informacje publiczne. errors: messages: - already_confirmed: zostało już potwierdzone, spróbuj się zalogować + already_confirmed: zostało już potwierdzone confirmation_period_expired: musi być potwierdzone w ciągu %{period}, proszę poprosić o nowy content_type_allowlist_error: typ pliku jest nieprawidłowy cycle_detected: zakres podrzędny nie może być jednocześnie zakresem nadrzędnym diff --git a/decidim-debates/config/locales/lb-LU.yml b/decidim-debates/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-debates/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-dev/config/locales/lb-LU.yml b/decidim-dev/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-dev/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index cf1ee954e7de5..675d206233478 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -217,13 +217,13 @@ ja: time_before: 選挙開始の 少なくとも %{hours} 時間前 までに準備を完了させます。 trustees_number: 参加スペースには 少なくとも %{number} 人の公開鍵を持つ受託者がいます。 submit: 選挙を設定 - success: 選挙は正常に告示板に送信されました + success: 選挙は正常に掲示板に送信されました title: 選挙を設定する trustees: 選挙受託者 created: invalid: キーセレモニーを開始する際に問題が発生しました submit: キーセレモニーを開始 - success: キーセレモニーの開始リクエストは正常に告示板に送信されました + success: キーセレモニーの開始リクエストは正常に掲示板に送信されました title: 選挙の作成 trustees: 受託者 key_ceremony: @@ -236,7 +236,7 @@ ja: requirements: time_before: 選挙はまもなく開始されます。手動で投票期間を開始するか、開始時刻の %{start_time} より前に自動的に開始されます。 submit: 投票期間を開始 - success: 投票期間の開始リクエストは正常に告示板に送信されました + success: 投票期間の開始リクエストは正常に掲示板に送信されました title: 開始準備完了 processing: 処理しています... results_published: @@ -289,12 +289,12 @@ ja: success: 受託者 %{trustee} が正常に更新されました admin_log: election: - end_vote: "%{user_name} が告示板で %{resource_name} 選挙の投票期間を終了しました" + end_vote: "%{user_name} が掲示板で %{resource_name} 選挙の投票期間を終了しました" publish: "%{user_name} が %{resource_name} 選挙を公開しました" - setup: "%{user_name} が告示板に %{resource_name} 選挙を作成しました" - start_key_ceremony: "%{user_name} が告示板で %{resource_name} 選挙の重要なキーセレモニーを開始しました" - start_tally: "%{user_name} が告示板で %{resource_name} 選挙の集計を開始しました" - start_vote: "%{user_name} が告示板の %{resource_name} 選挙の投票期間を開始しました" + setup: "%{user_name} が掲示板に %{resource_name} 選挙を作成しました" + start_key_ceremony: "%{user_name} が掲示板で %{resource_name} 選挙の重要なキーセレモニーを開始しました" + start_tally: "%{user_name} が掲示板で %{resource_name} 選挙の集計を開始しました" + start_vote: "%{user_name} が掲示板の %{resource_name} 選挙の投票期間を開始しました" unpublish: "%{user_name} が %{resource_name} 選挙を非公開にしました" election_m: badge_name: @@ -354,6 +354,7 @@ ja: will-verify: 選挙が開始されると、投票を確認することができます。 voting_period_status: finished: '%{start_time} に投票が開始され、 %{end_time} に終了しました' + ongoing: '有効な投票まで: %{end_time}' upcoming: '%{start_time} に投票が終了します' feedback: answer: @@ -378,6 +379,7 @@ ja: title: タイトル trustees_participatory_space: fields: + considered: 考慮された email: Eメールアドレス inactive: 非アクティブ name: 名前 @@ -391,12 +393,13 @@ ja: trustee_zone: elections: backup_modal: + description: この選挙は、掲示板で作成されています。 それに参加しているすべての受託者がこれらのキーのバックアップコピーを作成し、安全な場所に保存することが非常に重要です。 その後、処理が続行されます。 download_election_keys: ダウンロードキー download_icon: ダウンロードアクションを示すアイコン title: '%{election} のバックアップ選挙キー' key_ceremony_steps: back: 戻る - description: この選挙は、告示板に作成されています。このプロセスを完了するには、受託者としての参加が必要です。 + description: この選挙は、掲示板に作成されています。このプロセスを完了するには、受託者としての参加が必要です。 keys: create_election: キーの生成 key_ceremony: @@ -414,11 +417,13 @@ ja: processing: 処理中 title: '%{election} の選挙用キーを作成' restore_modal: + description: 掲示板には、今回の選挙の受託者としての情報が掲載されます。 処理を続行するには、最初に前回のセッションで生成されたバックアップファイルをアップロードします。 title: '%{election} の選挙用キーを復元' upload_election_keys: 選挙用キーをアップロード upload_icon: ダウンロードアクションを示すアイコン tally_steps: back: 戻る + description: この選挙の結果は、掲示板上で計算されます。この処理を完了するには、受託者として参加すること必要があります。 keys: end_tally: 終了しました tally: @@ -429,6 +434,57 @@ ja: task: タスク process_warning: プロセスが開始されると、プロセスが終了するまでこのページを閉じないでください。 すべての受託者が接続し完了するまで、しばらくかかることがあります。 start: 開始 + start_icon: アイコンは、選挙キーの生成を開始するためのスタートボタンを示します + status: + completed: 完了 + pending: 保留中 + processing: 処理中 + title: '%{election} の合計' + update: + error: 選挙状況は更新されませんでした。 + success: '選挙の状態: %{status}' + menu: + trustee_zone: Trusteeゾーン + no_bulletin_board: + body: このセクションでは、設定された掲示板が必要です。詳細については管理者にお問い合わせください。 + title: 申し訳ありませんが、掲示板はまだ設定されていません。 + trustees: + show: + elections: + list: + action_required: + 'false': 'いいえ' + name: 操作が必要ですか? + 'true': アクションを実行 + bb_status: ステータス + election: 選挙 + voting_period: 投票期間 + no_elections: あなたが受託者として行動する選挙はありません。 + title: 選挙 + identification_keys: + cancel: キャンセル + generate: 識別キーを生成 + generate_error: 識別キーの生成中にエラーが発生しました。 + generate_legend: あなたは、受託者として選挙に参加するために識別キーのペアを生成する必要があります。 + generate_legend_1: ボタンを押すと、生成された識別キーを含むファイルがダウンロードされます。 + generate_legend_2: ダウンロードしたファイルをクリーンなUSBデバイスにコピーします + generate_legend_3: コンピュータにファイルのコピーがないことを確認してください(例:ダウンロードフォルダとデスクトップフォルダを確認してください)。 + generate_legend_4: 異なる外部デバイスにファイルの別のコピーを作成し、非常に安全な場所に保存します。 + submit: 送信 + submit_legend: 上記のすべての手順に従った後、公開識別キーを Decidim サーバーに送信するプロセスを完了します。 + submit_title: 公開識別キーを送信 + title: 受託者の識別キー + upload: 識別キーをアップロード + upload_error: + invalid_format: アップロードされたファイルには識別キーが含まれていません。 + invalid_key: アップロードされたファイルの識別キーは読み込めません。 + invalid_public_key: アップロードされたファイルの識別キーは、Decidim が保存した公開識別キーと一致しません。 + upload_legend: Decidimはあなたの公開識別キーを持っていますが、お使いのブラウザにはまだありません。識別キーを生成した後に作成したバックアップから、識別キーの入ったファイルをコンピュータにインポートする必要があります。 + not_supported_browser_description: 受託者としての活動に使用できないWebブラウザを使用しているようです。最新バージョンのブラウザを使用するか、または一般的なブラウザを使用して、受託者のタスクを完了できるようにしてください。 + not_supported_browser_title: ブラウザをアップグレードして受託者として行動する + trustee_role_description: あなたは、このプラットフォームで行われる選挙のいくつかで受託者を務めることになっています。 + update: + success: 公開識別キーが正常に保存されました。 votes: confirm: answer: 回答 @@ -485,6 +541,12 @@ ja: email_outro: '%{participatory_space_title}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。' email_subject: '%{resource_title} の選挙は %{participatory_space_title} のために有効になりました。' notification_title: %{resource_title} の選挙が %{participatory_space_title} に有効になりました。 + help: + participatory_spaces: + votings: + title: 投票とは何ですか? + menu: + votings: 投票 pages: home: statistics: @@ -494,9 +556,71 @@ ja: elections_count: 選挙 votings: admin: + content_blocks: + highlighted_votings: + max_results: 表示する要素の最大量 + landing_page: + html_block_1: + name: 投票htmlブロック1 + html_block_2: + name: 投票htmlブロック2 + html_block_3: + name: 投票htmlブロック3 + metrics: + name: 投票メトリック + polling_stations: + name: 投票ステーション + stats: + name: 投票の統計 + timeline: + name: 投票のタイムライン + index: + not_published: 未公開 + published: 公開済み + landing_page: + content_blocks: + edit: + update: 更新 + edit: + active_content_blocks: アクティブコンテンツブロック + inactive_content_blocks: 非アクティブコンテンツブロック menu: + votings: 投票 votings_submenu: + attachment_collections: フォルダ + attachment_files: ファイル + attachments: 添付ファイル + components: コンポーネント + info: インフォメーション + landing_page: ランディングページ monitoring_committee_members: 監視委員会 + polling_officers: 投票委員 + polling_stations: 投票所 + models: + monitoring_committee_member: + fields: + email: Eメールアドレス + name: 名前 + name: 監視委員会のメンバー + polling_officer: + fields: + email: Eメールアドレス + name: 名前 + polling_station: 投票所 (role) + name: 投票委員 + polling_station: + fields: + address: 住所 + polling_station_managers: マネージャー + polling_station_president: 責任者 + title: タイトル + name: 投票所 + voting: + fields: + created_at: 作成日時 + promoted: ハイライト + published: 公開済み + title: タイトル polling_officer_zone: polling_officers: show: @@ -507,11 +631,60 @@ ja: polling_stations: list: actions: アクション + address: 住所 name: 名前 role: あなたの役割 voting: 投票 no_polling_stations: まだどの投票所にも割り当てられていません。 + title: 投票所 + votings: + count: + title: + other: "%{count} 票" + filters: + active: 有効 + all: 全て + finished: 完了 + search: 検索 + state: ステータス + upcoming: 今後の予定 + filters_small_view: + close_modal: 閉じる + filter: フィルター + filter_by: 絞り込み条件 + unfold: 展開する + index: + no_votings: 検索条件に一致する投票はありません。 + only_finished: 現在、予定された投票はありませんが、ここでは記載されている完了した投票を探すことができます。 + title: 投票 + orders: + label: '投票の並べ替え:' + random: ランダム + recent: 新着順 + show: + dates: 日付 + votings_m: + badge_name: + finished: 完了 + ongoing: 進行中 + upcoming: 今後の予定 + footer_button_text: + participate: 参加 + view: 表示 + vote: 投票 + unspecified: 指定されていません + voting_type: + hybrid: ハイブリッド + in_person: 対面 + online: オンライン + voting_types_label: 投票タイプ layouts: decidim: election_votes_header: exit: 終了 + votings: + index: + promoted_votings: 強調された投票 + promoted_voting: + more_info: 詳細情報 + vote: 投票 diff --git a/decidim-elections/config/locales/lb-LU.yml b/decidim-elections/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-elections/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-forms/config/locales/lb-LU.yml b/decidim-forms/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-forms/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-initiatives/config/locales/lb-LU.yml b/decidim-initiatives/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-initiatives/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-initiatives/config/locales/ro-RO.yml b/decidim-initiatives/config/locales/ro-RO.yml index 68087dbe11847..635273982f925 100644 --- a/decidim-initiatives/config/locales/ro-RO.yml +++ b/decidim-initiatives/config/locales/ro-RO.yml @@ -400,6 +400,7 @@ ro: email_subject: "%{author_nickname} a respins cererea ta la comitetul promotorilor" spawn_committee_request_event: email_intro: "%{applicant_nickname} a aplicat pentru comitetul promotor al inițiativei dumneavoastră %{resource_title}. Pentru a accepta sau respinge cererea, accesați forma de editare a inițiativei dvs." + email_outro: 'Ați primit această notificare deoarece sunteți autorul acestei inițiative: %{resource_title}' form: add_attachments: Documente attachment_legend: "(Opțional) Adăugați atașamente" @@ -493,6 +494,7 @@ ro: email: Email full_name: Numele complet initiative: + attachments: Documentație atașată (vă rugăm să scrieți numele fiecărui document mai jos) description: 'Descriere:' title: 'Titlu:' type: Tipul de inițiativă @@ -509,6 +511,7 @@ ro: any_vote_method: Această inițiativă adună semnături online și personale. edit: Editează follow_description: Primiți o notificare atunci când există știri în această inițiativă + print: Imprimare inițiativă send_to_technical_validation: Trimite la validarea tehnică signatures_count: one: " semnătură" diff --git a/decidim-meetings/config/locales/lb-LU.yml b/decidim-meetings/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-meetings/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-meetings/config/locales/pl.yml b/decidim-meetings/config/locales/pl.yml index 5a7763615ad40..a0ce8be948cc3 100644 --- a/decidim-meetings/config/locales/pl.yml +++ b/decidim-meetings/config/locales/pl.yml @@ -121,7 +121,7 @@ pl: notification_title: Spotkanie %{resource_title} zostało zakończone. meeting_created: email_intro: Spotkanie "%{resource_title}" zostało dodane do przestrzeni "%{participatory_space_title}", którą obserwujesz. - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz przestrzeń "%{participatory_space_title}". Możesz przestać ją obserwować obserwować klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz przestrzeń "%{participatory_space_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie spotkania kliknij w przycisk obserwowania. email_subject: Nowe spotkanie zostało dodane do %{participatory_space_title} notification_title: Spotkanie %{resource_title} zostało dodane do %{participatory_space_title} meeting_registration_confirmed: @@ -133,7 +133,7 @@ pl: notification_title: Liczba zarezerwowanych miejsc na spotkanie %{resource_title}" przekroczyła %{percentage}%. meeting_updated: email_intro: 'Spotkanie "%{resource_title}" zostało zaktualizowane. Możesz sprawdzić aktualną wersję na stronie:' - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz spotkanie "%{resource_title}". Możesz przestać je obserwować klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz spotkanie "%{resource_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie spotkania kliknij w przycisk obserwowania. email_subject: Spotkanie "%{resource_title}" zostało zaktualizowane notification_title: Spotkanie %{resource_title} zostało zaktualizowane. registration_code_validated: @@ -143,12 +143,12 @@ pl: notification_title: Twój kod rejestracyjny "%{registration_code}" na spotkanie %{resource_title} został zatwierdzony. registrations_enabled: email_intro: 'Otwarto rejestrację na spotkanie "%{resource_title}". Możesz zarejestrować się na tej stronie:' - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz spotkanie "%{resource_title}". Możesz przestać je obserwować klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz spotkanie "%{resource_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie spotkania kliknij w przycisk obserwowania. email_subject: Otwarto rejestracje na spotkanie "%{resource_title}". notification_title: Otwarto rejestracje na spotkanie %{resource_title}. upcoming_meeting: email_intro: Spotkanie "%{resource_title}" rozpocznie się za mniej niż 48 godzin. - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz spotkanie "%{resource_title}". Możesz przestać je obserwować klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz spotkanie "%{resource_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie spotkania kliknij w przycisk obserwowania. email_subject: Spotkanie "%{resource_title}" rozpocznie się za mniej niż 48 godzin. notification_title: Spotkanie %{resource_title} rozpocznie się za mniej niż 48 godzin. gamification: diff --git a/decidim-pages/config/locales/lb-LU.yml b/decidim-pages/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-pages/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-participatory_processes/config/locales/it.yml b/decidim-participatory_processes/config/locales/it.yml index eb17ea7cca6ed..51e42640737cc 100644 --- a/decidim-participatory_processes/config/locales/it.yml +++ b/decidim-participatory_processes/config/locales/it.yml @@ -116,7 +116,7 @@ it: info: Informazioni moderations: Moderazione private_users: Utenti privati - process_admins: Utenti + process_admins: Amministratrici/tori di processo steps: Fasi (Steps) models: participatory_process: diff --git a/decidim-participatory_processes/config/locales/lb-LU.yml b/decidim-participatory_processes/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-participatory_processes/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-proposals/config/locales/lb-LU.yml b/decidim-proposals/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-proposals/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-proposals/config/locales/pl.yml b/decidim-proposals/config/locales/pl.yml index 9b1b39da57f2c..e29c8054a2365 100644 --- a/decidim-proposals/config/locales/pl.yml +++ b/decidim-proposals/config/locales/pl.yml @@ -244,7 +244,7 @@ pl: notification_title: Twoja propozycja %{resource_title} została zaakceptowana. follower: email_intro: 'Propozycja "%{resource_title}" została zaakceptowana. Możesz przeczytać odpowiedź na tej stronie:' - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz "%{resource_title}". Możesz przestać obserwować klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz "%{resource_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie propozycji kliknij w przycisk obserwowania. email_subject: Propozycja, którą obserwujesz, została zaakceptowana notification_title: Propozycja %{resource_title} została zaakceptowana. proposal_evaluating: @@ -255,7 +255,7 @@ pl: notification_title: Twoja propozycja %{resource_title} jest oceniana. follower: email_intro: 'Propozycja "%{resource_title}" jest obecnie oceniana. Możesz sprawdzić odpowiedź na tej stronie:' - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz "%{resource_title}". Możesz przestać obserwować klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz "%{resource_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie propozycji kliknij w przycisk obserwowania. email_subject: Propozycja, którą obserwujesz, jest oceniana notification_title: Trwa ocenianie propozycji %{resource_title}. proposal_mentioned: @@ -270,7 +270,7 @@ pl: notification_title: Propozycja %{resource_title} została opublikowana przez %{author_name} %{author_nickname}. proposal_published_for_space: email_intro: Propozycja "%{resource_title}" została dodana do przestrzeni "%{participatory_space_title}", którą obserwujesz. - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz "%{participatory_space_title}". Możesz przestać obserwować klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz "%{participatory_space_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie kliknij w przycisk obserwowania. email_subject: Nowa propozycja "%{resource_title}" została dodana do %{participatory_space_title} notification_title: Propozycja %{resource_title} została dodana do %{participatory_space_title} proposal_rejected: @@ -281,7 +281,7 @@ pl: notification_title: Twoja propozycja %{resource_title} została odrzucona. follower: email_intro: 'Propozycja "%{resource_title}" została odrzucona. Możesz przeczytać odpowiedź na tej stronie:' - email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz "%{resource_title}". Możesz przestać obserwować klikając w poprzedni link. + email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz "%{resource_title}". Aby przestać otrzymywać powiadomienia kliknij w powyższy link, a następnie na stronie propozycji kliknij w przycisk obserwowania. email_subject: Propozycja, którą obserwujesz, została odrzucona notification_title: Propozycja %{resource_title} została odrzucona. proposal_update_category: diff --git a/decidim-sortitions/config/locales/lb-LU.yml b/decidim-sortitions/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-sortitions/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-surveys/config/locales/lb-LU.yml b/decidim-surveys/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-surveys/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-system/config/locales/lb-LU.yml b/decidim-system/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-system/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-templates/config/locales/lb-LU.yml b/decidim-templates/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-templates/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-verifications/config/locales/lb-LU.yml b/decidim-verifications/config/locales/lb-LU.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-verifications/config/locales/lb-LU.yml @@ -0,0 +1 @@ +lb: From 35c25601fcf26c2bc0d84f1199c2e1fb08b10e38 Mon Sep 17 00:00:00 2001 From: leio10 Date: Mon, 19 Jul 2021 13:05:47 +0200 Subject: [PATCH 43/71] Backport "Fix status search on projects page" (#8211) --- .../app/models/decidim/budgets/project.rb | 3 +++ .../decidim/budgets/project_search.rb | 6 +++++ .../spec/services/project_search_spec.rb | 22 ++++++++++++++++ .../spec/system/explore_projects_spec.rb | 25 +++++++++++++++++++ 4 files changed, 56 insertions(+) diff --git a/decidim-budgets/app/models/decidim/budgets/project.rb b/decidim-budgets/app/models/decidim/budgets/project.rb index 094c33bd42270..189898370dca4 100644 --- a/decidim-budgets/app/models/decidim/budgets/project.rb +++ b/decidim-budgets/app/models/decidim/budgets/project.rb @@ -28,6 +28,9 @@ class Project < Budgets::ApplicationRecord delegate :organization, :participatory_space, to: :component + scope :selected, -> { where.not(selected_at: nil) } + scope :not_selected, -> { where(selected_at: nil) } + searchable_fields( scope_id: :decidim_scope_id, participatory_space: { component: :participatory_space }, diff --git a/decidim-budgets/app/services/decidim/budgets/project_search.rb b/decidim-budgets/app/services/decidim/budgets/project_search.rb index e4bb2855c5f9a..3c1d68ec40e12 100644 --- a/decidim-budgets/app/services/decidim/budgets/project_search.rb +++ b/decidim-budgets/app/services/decidim/budgets/project_search.rb @@ -27,6 +27,12 @@ def results Project.where(id: super.pluck(:id)).includes([:scope, :component, :attachments, :category]) end + def search_status + return query if status.member?("all") + + apply_scopes(%w(selected not_selected), status) + end + private # Private: Since budget is not used by a search method we need diff --git a/decidim-budgets/spec/services/project_search_spec.rb b/decidim-budgets/spec/services/project_search_spec.rb index 52b45d33621bf..447b47ae638db 100644 --- a/decidim-budgets/spec/services/project_search_spec.rb +++ b/decidim-budgets/spec/services/project_search_spec.rb @@ -35,6 +35,28 @@ module Decidim::Budgets expect(subject).to eq [resource_without_scope] end end + + context "when votes are finished" do + let(:component) { create(:budgets_component, :with_voting_finished) } + let!(:resource_selected) { create(:project, :selected, budget: budget) } + let!(:resource_not_selected) { create(:project, budget: budget) } + + context "and the user doesn't filter by status" do + it { expect(subject).to match_array([resource_selected, resource_not_selected]) } + end + + context "and the user filters selected projects" do + let(:params) { default_params.merge(status: ["selected"]) } + + it { expect(subject).to eq [resource_selected] } + end + + context "and the user filters not selected projects" do + let(:params) { default_params.merge(status: ["not_selected"]) } + + it { expect(subject).to eq [resource_not_selected] } + end + end end end end diff --git a/decidim-budgets/spec/system/explore_projects_spec.rb b/decidim-budgets/spec/system/explore_projects_spec.rb index 90ba08793d1cc..ca97bbbd83b63 100644 --- a/decidim-budgets/spec/system/explore_projects_spec.rb +++ b/decidim-budgets/spec/system/explore_projects_spec.rb @@ -75,6 +75,31 @@ expect(page).to have_content(translated(project.title)) end end + + context "and votes are finished" do + let!(:component) do + create(:budgets_component, + :with_voting_finished, + manifest: manifest, + participatory_space: participatory_process) + end + + it "allows filtering by status" do + project.selected_at = Time.current + project.save + + visit_budget + + within ".status_check_boxes_tree_filter" do + uncheck "Selected" + end + + within "#projects" do + expect(page).to have_css(".budget-list__item", count: 1) + expect(page).to have_content(translated(project.title)) + end + end + end end context "when directly accessing from URL with an invalid budget id" do From 5cee819d06ee3e03d520694ad1642da2ee7aa1b1 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 19 Jul 2021 14:17:55 +0300 Subject: [PATCH 44/71] Backport "Use comments counter cache instead of additional query" to 0.24 (#8197) --- decidim-budgets/lib/decidim/budgets/project_serializer.rb | 2 +- .../app/cells/decidim/comments/comments_cell.rb | 2 +- .../app/controllers/decidim/comments/comments_controller.rb | 6 +++--- decidim-core/app/cells/decidim/author/comments.erb | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/decidim-budgets/lib/decidim/budgets/project_serializer.rb b/decidim-budgets/lib/decidim/budgets/project_serializer.rb index 6d67acbe2873d..c2b9a1faee9c5 100644 --- a/decidim-budgets/lib/decidim/budgets/project_serializer.rb +++ b/decidim-budgets/lib/decidim/budgets/project_serializer.rb @@ -34,7 +34,7 @@ def serialize budget: { id: project.budget.id }, budget_amount: project.budget_amount, confirmed_votes: project.confirmed_orders_count, - comments: project.comments.count, + comments: project.comments_count, created_at: project.created_at, url: project.polymorphic_resource_url({}), related_proposals: related_proposals, diff --git a/decidim-comments/app/cells/decidim/comments/comments_cell.rb b/decidim-comments/app/cells/decidim/comments/comments_cell.rb index 9b7079478a54d..e039027a084d4 100644 --- a/decidim-comments/app/cells/decidim/comments/comments_cell.rb +++ b/decidim-comments/app/cells/decidim/comments/comments_cell.rb @@ -51,7 +51,7 @@ def comments end def comments_count - model.comments.count + model.comments_count end def root_depth diff --git a/decidim-comments/app/controllers/decidim/comments/comments_controller.rb b/decidim-comments/app/controllers/decidim/comments/comments_controller.rb index bf0ba00161fb3..132b8bfb3475f 100644 --- a/decidim-comments/app/controllers/decidim/comments/comments_controller.rb +++ b/decidim-comments/app/controllers/decidim/comments/comments_controller.rb @@ -21,7 +21,7 @@ def index order_by: order, after: params.fetch(:after, 0).to_i ) - @comments_count = commentable.comments.count + @comments_count = commentable.comments_count respond_to do |format| format.js do @@ -80,9 +80,9 @@ def handle_success(comment) @comments_count = begin case commentable when Decidim::Comments::Comment - commentable.root_commentable.comments.count + commentable.root_commentable.comments_count else - commentable.comments.count + commentable.comments_count end end end diff --git a/decidim-core/app/cells/decidim/author/comments.erb b/decidim-core/app/cells/decidim/author/comments.erb index 19ef2b1de974c..53236b1526eb9 100644 --- a/decidim-core/app/cells/decidim/author/comments.erb +++ b/decidim-core/app/cells/decidim/author/comments.erb @@ -1,6 +1,6 @@ <% if commentable? %> - <%= link_to "#{resource_locator(from_context).path}#comments", title: t("decidim.author.comments", count: from_context.comments.count) do %> + <%= link_to "#{resource_locator(from_context).path}#comments", title: t("decidim.author.comments", count: from_context.comments_count) do %> <%= icon "comment-square", class: "icon--small", role: "img", "aria-hidden": true %> - <%= from_context.comments.count %> <%= t("decidim.author.comments", count: from_context.comments.count) %> + <%= from_context.comments_count %> <%= t("decidim.author.comments", count: from_context.comments_count) %> <% end %> <% end %> From 691194ee72d87ac5d918568c4741d43381dd70bb Mon Sep 17 00:00:00 2001 From: Oliver Valls <199462+tramuntanal@users.noreply.github.com> Date: Mon, 19 Jul 2021 13:21:11 +0200 Subject: [PATCH 45/71] Backport "Fully copy question's display_conditions from template" to v0.24 (#8200) --- .../_display_condition.html.erb | 4 +- .../lib/decidim/forms/test/factories.rb | 36 ++++++++++ .../forms/admin/update_questionnaire_spec.rb | 14 +++- .../admin/apply_questionnaire_template.rb | 28 +------- .../admin/copy_questionnaire_template.rb | 28 +------- .../templates/admin/questionnaire_copier.rb | 65 ++++++++++++++++++ .../lib/decidim/templates/test/factories.rb | 7 ++ ...ies_all_questionnaire_contents_examples.rb | 67 +++++++++++++++++++ .../apply_questionnaire_template_spec.rb | 43 ++++++++++++ .../admin/copy_questionnaire_template_spec.rb | 45 +++++++++++++ 10 files changed, 282 insertions(+), 55 deletions(-) create mode 100644 decidim-templates/app/commands/decidim/templates/admin/questionnaire_copier.rb create mode 100644 decidim-templates/lib/decidim/templates/test/shared_examples/copies_all_questionnaire_contents_examples.rb create mode 100644 decidim-templates/spec/commands/decidim/templates/admin/apply_questionnaire_template_spec.rb create mode 100644 decidim-templates/spec/commands/decidim/templates/admin/copy_questionnaire_template_spec.rb diff --git a/decidim-forms/app/views/decidim/forms/admin/questionnaires/_display_condition.html.erb b/decidim-forms/app/views/decidim/forms/admin/questionnaires/_display_condition.html.erb index 102132af844bb..0777f45141d13 100644 --- a/decidim-forms/app/views/decidim/forms/admin/questionnaires/_display_condition.html.erb +++ b/decidim-forms/app/views/decidim/forms/admin/questionnaires/_display_condition.html.erb @@ -44,10 +44,10 @@ <%= form.select( :decidim_answer_option_id, - options_from_collection_for_select(display_condition.answer_options, :id, :translated_body, display_condition.answer_option), + options_from_collection_for_select(display_condition.answer_options, :id, :translated_body, selected: display_condition.decidim_answer_option_id), { prompt: t(".select_answer_option"), label: t(".answer_option") }, disabled: !editable, - data: { selected: display_condition.answer_option&.id } + data: { selected: display_condition.decidim_answer_option_id } ) %>
    diff --git a/decidim-forms/lib/decidim/forms/test/factories.rb b/decidim-forms/lib/decidim/forms/test/factories.rb index a03c2fb9f27c6..302752cd0efd8 100644 --- a/decidim-forms/lib/decidim/forms/test/factories.rb +++ b/decidim-forms/lib/decidim/forms/test/factories.rb @@ -28,6 +28,42 @@ end end + trait :with_all_questions do + questions do + position = 0 + qs = %w(short_answer long_answer).collect do |text_question_type| + q = build(:questionnaire_question, question_type: text_question_type, position: position) + position += 1 + q + end + + %w(single_option multiple_option).each do |option_question_type| + q = build(:questionnaire_question, :with_answer_options, question_type: option_question_type, position: position) + position += 1 + qs << q + q.display_conditions.build( + condition_question: qs[q.position - 2], + question: q, + condition_type: :answered, + mandatory: true + ) + end + + %w(matrix_single matrix_multiple).collect do |matrix_question_type| + q = build(:questionnaire_question, :with_answer_options, question_type: matrix_question_type, position: position, body: generate_localized_title) + position += 1 + qs << q + q.display_conditions.build( + condition_question: qs[q.position - 2], + question: q, + condition_type: :answered, + mandatory: true + ) + end + qs + end + end + trait :empty do title { {} } description { {} } diff --git a/decidim-forms/spec/commands/decidim/forms/admin/update_questionnaire_spec.rb b/decidim-forms/spec/commands/decidim/forms/admin/update_questionnaire_spec.rb index 2291042589288..ffb8e310598b4 100644 --- a/decidim-forms/spec/commands/decidim/forms/admin/update_questionnaire_spec.rb +++ b/decidim-forms/spec/commands/decidim/forms/admin/update_questionnaire_spec.rb @@ -310,6 +310,7 @@ module Admin describe "when the questionnaire has existing questions" do let!(:questions) { 0.upto(3).to_a.map { |x| create(:questionnaire_question, questionnaire: questionnaire, position: x) } } + let!(:question_2_answer_options) { create_list(:answer_option, 3, question: questions.second) } context "and display conditions are to be created" do let(:form_params) do @@ -340,7 +341,10 @@ module Admin "id" => questions[1].id, "body" => questions[1].body, "position" => 1, - "question_type" => "short_answer" + "question_type" => "single_option", + "answer_options" => Hash[question_2_answer_options.map do |answer_option| + [answer_option.id.to_s, { "id" => answer_option.id, "body" => answer_option.body, "free_text" => answer_option.free_text, "deleted" => false }] + end] }, "3" => { "id" => questions[2].id, @@ -353,6 +357,12 @@ module Admin "decidim_condition_question_id" => questions[0].id, "decidim_question_id" => questions[2].id, "condition_type" => "answered" + }, + "2" => { + "decidim_condition_question_id" => questions[1].id, + "decidim_question_id" => questions[2].id, + "condition_type" => "equal", + "decidim_answer_option_id" => question_2_answer_options.first.id } } } @@ -366,6 +376,8 @@ module Admin expect(questionnaire.questions[2].display_conditions).not_to be_empty expect(questionnaire.questions[2].display_conditions.first.condition_type).to eq("answered") + expect(questionnaire.questions[2].display_conditions.second.condition_type).to eq("equal") + expect(questionnaire.questions[2].display_conditions.second.decidim_answer_option_id).to eq(question_2_answer_options.first.id) end end end diff --git a/decidim-templates/app/commands/decidim/templates/admin/apply_questionnaire_template.rb b/decidim-templates/app/commands/decidim/templates/admin/apply_questionnaire_template.rb index f40f34fe5faf0..aa184b1d8c499 100644 --- a/decidim-templates/app/commands/decidim/templates/admin/apply_questionnaire_template.rb +++ b/decidim-templates/app/commands/decidim/templates/admin/apply_questionnaire_template.rb @@ -5,6 +5,8 @@ module Templates # A command with all the business logic when duplicating a questionnaire template module Admin class ApplyQuestionnaireTemplate < Rectify::Command + include Decidim::Templates::Admin::QuestionnaireCopier + # Public: Initializes the command. # # template - The template we want to apply @@ -42,32 +44,6 @@ def apply_template tos: @template.templatable.tos ) end - - def copy_questionnaire_questions(original_questionnaire, new_questionnaire) - original_questionnaire.questions.each do |original_question| - new_question = original_question.dup - new_question.questionnaire = new_questionnaire - new_question.save! - copy_questionnaire_answer_options(original_question, new_question) - copy_questionnaire_matrix_rows(original_question, new_question) - end - end - - def copy_questionnaire_answer_options(original_question, new_question) - original_question.answer_options.each do |original_answer_option| - new_answer_option = original_answer_option.dup - new_answer_option.question = new_question - new_answer_option.save! - end - end - - def copy_questionnaire_matrix_rows(original_question, new_question) - original_question.matrix_rows.each do |original_matrix_row| - new_matrix_row = original_matrix_row.dup - new_matrix_row.question = new_question - new_matrix_row.save! - end - end end end end diff --git a/decidim-templates/app/commands/decidim/templates/admin/copy_questionnaire_template.rb b/decidim-templates/app/commands/decidim/templates/admin/copy_questionnaire_template.rb index 0a918c81889c6..d8379d196abfa 100644 --- a/decidim-templates/app/commands/decidim/templates/admin/copy_questionnaire_template.rb +++ b/decidim-templates/app/commands/decidim/templates/admin/copy_questionnaire_template.rb @@ -5,6 +5,8 @@ module Templates # A command with all the business logic when duplicating a questionnaire template module Admin class CopyQuestionnaireTemplate < Rectify::Command + include Decidim::Templates::Admin::QuestionnaireCopier + # Public: Initializes the command. # # template - A template we want to duplicate @@ -47,32 +49,6 @@ def copy_template @copied_template.update!(templatable: @resource) end - - def copy_questionnaire_questions(original_questionnaire, new_questionnaire) - original_questionnaire.questions.each do |original_question| - new_question = original_question.dup - new_question.questionnaire = new_questionnaire - new_question.save! - copy_questionnaire_answer_options(original_question, new_question) - copy_questionnaire_matrix_rows(original_question, new_question) - end - end - - def copy_questionnaire_answer_options(original_question, new_question) - original_question.answer_options.each do |original_answer_option| - new_answer_option = original_answer_option.dup - new_answer_option.question = new_question - new_answer_option.save! - end - end - - def copy_questionnaire_matrix_rows(original_question, new_question) - original_question.matrix_rows.each do |original_matrix_row| - new_matrix_row = original_matrix_row.dup - new_matrix_row.question = new_question - new_matrix_row.save! - end - end end end end diff --git a/decidim-templates/app/commands/decidim/templates/admin/questionnaire_copier.rb b/decidim-templates/app/commands/decidim/templates/admin/questionnaire_copier.rb new file mode 100644 index 0000000000000..23b999010f492 --- /dev/null +++ b/decidim-templates/app/commands/decidim/templates/admin/questionnaire_copier.rb @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +module Decidim + module Templates + # All the business logic to duplicate a questionnaire + module Admin + module QuestionnaireCopier + def copy_questionnaire_questions(original_questionnaire, new_questionnaire) + # start by copying the questions so that they already exist when cross referencing them in the conditions + original_questionnaire.questions.includes(:answer_options, :matrix_rows, :display_conditions).load + original_questionnaire.questions.each do |original_question| + new_question = original_question.dup + new_question.questionnaire = new_questionnaire + new_question.save! + copy_questionnaire_answer_options(original_question, new_question) + copy_questionnaire_matrix_rows(original_question, new_question) + end + # once all questions are copied, copy display conditions + original_questionnaire.questions.zip(new_questionnaire.questions.load).each do |original_question, new_question| + copy_question_display_conditions(original_question, new_question) + end + end + + def copy_questionnaire_answer_options(original_question, new_question) + original_question.answer_options.each do |original_answer_option| + new_answer_option = original_answer_option.dup + new_answer_option.question = new_question + new_answer_option.save! + end + end + + def copy_questionnaire_matrix_rows(original_question, new_question) + original_question.matrix_rows.each do |original_matrix_row| + new_matrix_row = original_matrix_row.dup + new_matrix_row.question = new_question + new_matrix_row.save! + end + end + + def copy_question_display_conditions(original_question, destination_question) + original_question.display_conditions.each do |original_display_condition| + new_display_condition = original_display_condition.dup + new_display_condition.question = destination_question + + destination_question_to_be_checked = find_question_by_position(destination_question.questionnaire.questions, original_display_condition.condition_question.position) + new_display_condition.condition_question = destination_question_to_be_checked + + if original_display_condition.answer_option + new_display_condition.answer_option = find_answer_option_by_body(destination_question_to_be_checked.answer_options, original_display_condition.answer_option.body) + end + new_display_condition.save! + end + end + + def find_question_by_position(questions, position) + questions.to_a.find { |q| q.position == position } + end + + def find_answer_option_by_body(answer_options, body) + answer_options.to_a.find { |ao| ao.body == body } + end + end + end + end +end diff --git a/decidim-templates/lib/decidim/templates/test/factories.rb b/decidim-templates/lib/decidim/templates/test/factories.rb index 6ebcc8a2a7bb9..ed94c23d09fe2 100644 --- a/decidim-templates/lib/decidim/templates/test/factories.rb +++ b/decidim-templates/lib/decidim/templates/test/factories.rb @@ -18,6 +18,13 @@ end end + trait :with_all_questions do + after(:create) do |template| + template.templatable = create(:questionnaire, :with_all_questions, questionnaire_for: template) + template.save! + end + end + after(:create) do |template| template.templatable = create(:questionnaire, questionnaire_for: template) template.save! diff --git a/decidim-templates/lib/decidim/templates/test/shared_examples/copies_all_questionnaire_contents_examples.rb b/decidim-templates/lib/decidim/templates/test/shared_examples/copies_all_questionnaire_contents_examples.rb new file mode 100644 index 0000000000000..7ea221f4570a2 --- /dev/null +++ b/decidim-templates/lib/decidim/templates/test/shared_examples/copies_all_questionnaire_contents_examples.rb @@ -0,0 +1,67 @@ +# frozen_string_literal: true + +require "spec_helper" + +shared_examples_for "copies all questionnaire contents" do + describe "when the questionnaire has all contents" do + it "copies all template contents to the questionnaire" do + destination_questionnaire.reload + + check_copy_questionnaire_questions(template.templatable, destination_questionnaire) + end + + def check_copy_questionnaire_questions(source_questionnaire, new_questionnaire) + expect(source_questionnaire.questions.size).to eq(new_questionnaire.questions.size) + + source_questionnaire.questions.each_with_index do |source_question, idx| + new_question = new_questionnaire.questions[idx] + + expect(source_question.position).to eq(new_question.position) + expect(source_question.question_type).to eq(new_question.question_type) + expect(source_question.mandatory).to eq(new_question.mandatory) + expect(source_question.body).to eq(new_question.body) + expect(source_question.description).to eq(new_question.description) + expect(source_question.max_choices).to eq(new_question.max_choices) + + check_answer_options(source_question, new_question) + check_matrix_rows(source_question, new_question) + check_display_conditions(source_question.display_conditions, new_question.display_conditions) + check_display_conditions(source_question.display_conditions_for_other_questions, new_question.display_conditions_for_other_questions) + end + end + + def check_answer_options(source_question, new_question) + expect(source_question.answer_options.size).to eq(new_question.answer_options.size) + + source_question.answer_options.each_with_index do |source_answer_option, idx| + new_answer_option = new_question.answer_options[idx] + + expect(source_answer_option.body).to eq(new_answer_option.body) + end + end + + def check_matrix_rows(source_question, new_question) + expect(source_question.matrix_rows.size).to eq(new_question.matrix_rows.size) + + source_question.matrix_rows.each_with_index do |source_matrix_row, idx| + new_matrix_row = new_question.matrix_rows[idx] + + expect(source_matrix_row.body).to eq(new_matrix_row.body) + expect(source_matrix_row.position).to eq(new_matrix_row.position) + end + end + + def check_display_conditions(source_display_conditions, new_display_conditions) + expect(source_display_conditions.size).to eq(new_display_conditions.size) + + source_display_conditions.each_with_index do |source_matrix_row, idx| + new_matrix_row = new_display_conditions[idx] + + expect(source_matrix_row.condition_type).to eq(new_matrix_row.condition_type) + expect(source_matrix_row.condition_value).to eq(new_matrix_row.condition_value) + expect(source_matrix_row.mandatory).to eq(new_matrix_row.mandatory) + expect(new_matrix_row).to be_persisted + end + end + end +end diff --git a/decidim-templates/spec/commands/decidim/templates/admin/apply_questionnaire_template_spec.rb b/decidim-templates/spec/commands/decidim/templates/admin/apply_questionnaire_template_spec.rb new file mode 100644 index 0000000000000..84f885ee4e2dd --- /dev/null +++ b/decidim-templates/spec/commands/decidim/templates/admin/apply_questionnaire_template_spec.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +require "spec_helper" +require "decidim/templates/test/shared_examples/copies_all_questionnaire_contents_examples" + +module Decidim + module Templates + module Admin + describe ApplyQuestionnaireTemplate do + let(:template) { create(:questionnaire_template) } + let(:destination_questionnaire) { create(:questionnaire, questionnaire_for: template) } + let(:command) { described_class.new(destination_questionnaire, template) } + + describe "when the template is nil" do + let(:command) { described_class.new(destination_questionnaire, nil) } + + it "broadcasts invalid" do + expect { command.call }.to broadcast(:invalid) + end + end + + describe "when the template is valid" do + before do + expect { command.call }.to broadcast(:ok) + end + + it "applies template attributes to the questionnaire" do + destination_questionnaire.reload + expect(destination_questionnaire.title).to eq(template.templatable.title) + expect(destination_questionnaire.description).to eq(template.templatable.description) + expect(destination_questionnaire.tos).to eq(template.templatable.tos) + end + + context "when the questionnaire has all question types and display conditions" do + let(:template) { create(:questionnaire_template, :with_all_questions) } + + it_behaves_like "copies all questionnaire contents" + end + end + end + end + end +end diff --git a/decidim-templates/spec/commands/decidim/templates/admin/copy_questionnaire_template_spec.rb b/decidim-templates/spec/commands/decidim/templates/admin/copy_questionnaire_template_spec.rb new file mode 100644 index 0000000000000..b2396672a5e68 --- /dev/null +++ b/decidim-templates/spec/commands/decidim/templates/admin/copy_questionnaire_template_spec.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +require "spec_helper" +require "decidim/templates/test/shared_examples/copies_all_questionnaire_contents_examples" + +module Decidim + module Templates + module Admin + describe CopyQuestionnaireTemplate do + let(:template) { create(:questionnaire_template) } + + describe "when the template is invalid" do + before do + template.update(name: nil) + end + + it "broadcasts invalid" do + expect { described_class.call(template) }.to broadcast(:invalid) + end + end + + describe "when the template is valid" do + let(:destination_questionnaire) do + events = described_class.call(template) + # events => { :ok => copied_template } + expect(events).to have_key(:ok) + events[:ok].templatable + end + + it "applies template attributes to the questionnaire" do + expect(destination_questionnaire.title).to eq(template.templatable.title) + expect(destination_questionnaire.description).to eq(template.templatable.description) + expect(destination_questionnaire.tos).to eq(template.templatable.tos) + end + + context "when the questionnaire has all question types and display conditions" do + let!(:template) { create(:questionnaire_template, :with_all_questions) } + + it_behaves_like "copies all questionnaire contents" + end + end + end + end + end +end From 6edf34cb8592df92d2bcc865b8d6df94a3d780a0 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 19 Jul 2021 16:34:52 +0300 Subject: [PATCH 46/71] Backport "Fix joining a meetings that the user already follows" to 0.24 (#8199) --- .../app/commands/decidim/create_follow.rb | 5 +++- .../commands/decidim/create_follow_spec.rb | 10 +++++++ .../spec/system/meeting_registrations_spec.rb | 27 +++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/decidim-core/app/commands/decidim/create_follow.rb b/decidim-core/app/commands/decidim/create_follow.rb index 437b04e7ebbb9..497e3abbcb214 100644 --- a/decidim-core/app/commands/decidim/create_follow.rb +++ b/decidim-core/app/commands/decidim/create_follow.rb @@ -32,7 +32,10 @@ def call attr_reader :follow, :form, :current_user def create_follow! - @follow = Follow.create!( + @follow = Follow.find_by( + followable: form.followable, + user: current_user + ) || Follow.create!( followable: form.followable, user: current_user ) diff --git a/decidim-core/spec/commands/decidim/create_follow_spec.rb b/decidim-core/spec/commands/decidim/create_follow_spec.rb index c2ce8c0d2eb1c..37aa1d8fd9525 100644 --- a/decidim-core/spec/commands/decidim/create_follow_spec.rb +++ b/decidim-core/spec/commands/decidim/create_follow_spec.rb @@ -22,5 +22,15 @@ module Decidim expect(Decidim::Gamification.status_for(user1, :followers).score).to eq(0) expect(Decidim::Gamification.status_for(user2, :followers).score).to eq(1) end + + context "when the user is already following the item" do + let!(:follow) { create(:follow, followable: user2, user: user1) } + + it "does not raise a validation error" do + expect { described_class.new(form, user1).call }.to broadcast(:ok) + expect(user2.reload.followers).to include(user1) + expect(user2.follows_count).to eq(1) + end + end end end diff --git a/decidim-meetings/spec/system/meeting_registrations_spec.rb b/decidim-meetings/spec/system/meeting_registrations_spec.rb index 8f50f7fc6c5b4..fb8982deac7e6 100644 --- a/decidim-meetings/spec/system/meeting_registrations_spec.rb +++ b/decidim-meetings/spec/system/meeting_registrations_spec.rb @@ -187,6 +187,27 @@ def questionnaire_public_path expect(page).to have_text("19 slots remaining") expect(page).to have_text("Stop following") end + + it "they can join the meeting if they are already following it" do + create(:follow, followable: meeting, user: user) + + visit_meeting + + within ".card.extra" do + click_button "Join meeting" + end + + within "#meeting-registration-confirm-#{meeting.id}" do + expect(page).to have_content "A legal text" + page.find(".button.expanded").click + end + + expect(page).to have_content("successfully") + + expect(page).to have_css(".button", text: "GOING") + expect(page).to have_text("19 slots remaining") + expect(page).to have_text("Stop following") + end end context "and they ARE part of a verified user group" do @@ -223,6 +244,12 @@ def questionnaire_public_path it_behaves_like "has questionnaire" + context "when the user is following the meeting" do + let!(:follow) { create(:follow, followable: meeting, user: user) } + + it_behaves_like "has questionnaire" + end + context "when the registration form has no questions" do before do questionnaire.questions.last.delete From cd350cfa4cbccb9852645f86d02b41dfccfa6926 Mon Sep 17 00:00:00 2001 From: leio10 Date: Tue, 20 Jul 2021 19:23:10 +0200 Subject: [PATCH 47/71] Backport "Fix performance issue in notification settings page" (#8222) --- .../decidim/assemblies/admin/admin_users.rb | 35 ++++++--- .../queries/admin/assembly_admins_spec.rb | 23 ++++-- .../decidim/conferences/admin/admin_users.rb | 35 ++++++--- .../queries/admin/conference_admins_spec.rb | 19 ++++- .../consultations/admin/admin_users.rb | 28 ++++--- .../admin/process_admins_spec.rb | 4 +- .../decidim/notifications_settings_form.rb | 17 +---- decidim-core/lib/decidim/participable.rb | 74 ++++++++++--------- .../decidim/votings/admin/admin_users.rb | 25 ++++--- .../decidim/votings/admin/admin_users_spec.rb | 2 +- .../decidim/initiatives/admin/admin_users.rb | 21 ++++-- .../initiatives/admin/admin_users_spec.rb | 11 ++- .../models/decidim/participatory_process.rb | 6 +- .../admin/admin_users.rb | 33 ++++++--- .../admin/moderators.rb | 35 ++++++--- .../spec/queries/admin/admin_users_spec.rb | 19 ++++- 16 files changed, 244 insertions(+), 143 deletions(-) diff --git a/decidim-assemblies/app/queries/decidim/assemblies/admin/admin_users.rb b/decidim-assemblies/app/queries/decidim/assemblies/admin/admin_users.rb index 0c108fb19d106..09f39b3b8cd11 100644 --- a/decidim-assemblies/app/queries/decidim/assemblies/admin/admin_users.rb +++ b/decidim-assemblies/app/queries/decidim/assemblies/admin/admin_users.rb @@ -3,7 +3,7 @@ module Decidim module Assemblies module Admin - # A class used to find the admins for an assembly. + # A class used to find the admins for an assembly or an organization assemblies. class AdminUsers < Rectify::Query # Syntactic sugar to initialize the class and return the queried objects. # @@ -12,33 +12,46 @@ def self.for(assembly) new(assembly).query end + # Syntactic sugar to initialize the class and return the queried objects. + # + # organization - an organization that needs to find its assembly admins + def self.for_organization(organization) + new(nil, organization).query + end + # Initializes the class. # # assembly - an assembly that needs to find its assembly admins - def initialize(assembly) + # organization - an organization that needs to find its assembly admins + def initialize(assembly, organization = nil) @assembly = assembly + @organization = assembly&.organization || organization end # Finds organization admins and the users with role admin for the given assembly. # # Returns an ActiveRecord::Relation. def query - Decidim::User.where(id: organization_admins).or(assembly_user_admins) + organization.admins.or(assemblies_user_admins) end private - attr_reader :assembly + attr_reader :assembly, :organization - def organization_admins - assembly.organization.admins + def assemblies_user_admins + Decidim::User.where( + id: Decidim::AssemblyUserRole.where(assembly: assemblies, role: :admin) + .select(:decidim_user_id) + ) end - def assembly_user_admins - assembly_user_admin_ids = Decidim::AssemblyUserRole - .where(assembly: assembly, role: :admin) - .pluck(:decidim_user_id) - Decidim::User.where(id: assembly_user_admin_ids) + def assemblies + if assembly + [assembly] + else + Decidim::Assembly.where(organization: organization) + end end end end diff --git a/decidim-assemblies/spec/queries/admin/assembly_admins_spec.rb b/decidim-assemblies/spec/queries/admin/assembly_admins_spec.rb index b54af597a2dd0..5cad6df87a8ca 100644 --- a/decidim-assemblies/spec/queries/admin/assembly_admins_spec.rb +++ b/decidim-assemblies/spec/queries/admin/assembly_admins_spec.rb @@ -2,19 +2,30 @@ require "spec_helper" -module Decidim::Assemblies - describe Admin::AdminUsers do +module Decidim::Assemblies::Admin + describe AdminUsers do subject { described_class.new(assembly) } let(:organization) { create :organization } - let(:assembly) { create :assembly, organization: organization } + let!(:assembly) { create :assembly, organization: organization } let!(:admin) { create(:user, :admin, :confirmed, organization: organization) } - let!(:assembly_admin) do - create(:user, :admin, :confirmed, organization: organization) - end + let!(:assembly_admin_role) { create(:assembly_user_role, assembly: assembly, user: assembly_admin) } + let(:assembly_admin) { create(:user, organization: organization) } + let!(:other_assembly_admin_role) { create(:assembly_user_role, user: other_assembly_admin) } + let(:other_assembly_admin) { create(:user, organization: organization) } + let!(:normal_user) { create(:user, :confirmed, organization: organization) } + let!(:other_organization_user) { create(:user, :confirmed) } it "returns the organization admins and assembly admins" do expect(subject.query).to match_array([admin, assembly_admin]) end + + context "when asking for organization admin users" do + subject { described_class.new(nil, organization) } + + it "returns all the organization admins and assembly admins" do + expect(subject.query).to match_array([admin, assembly_admin, other_assembly_admin]) + end + end end end diff --git a/decidim-conferences/app/queries/decidim/conferences/admin/admin_users.rb b/decidim-conferences/app/queries/decidim/conferences/admin/admin_users.rb index 95b8b284bc877..508b637f5d5c4 100644 --- a/decidim-conferences/app/queries/decidim/conferences/admin/admin_users.rb +++ b/decidim-conferences/app/queries/decidim/conferences/admin/admin_users.rb @@ -3,7 +3,7 @@ module Decidim module Conferences module Admin - # A class used to find the admins for an conference. + # A class used to find the admins for an conference or an organization conferences. class AdminUsers < Rectify::Query # Syntactic sugar to initialize the class and return the queried objects. # @@ -12,33 +12,46 @@ def self.for(conference) new(conference).query end + # Syntactic sugar to initialize the class and return the queried objects. + # + # organization - an organization that needs to find its conference admins + def self.for_organization(organization) + new(nil, organization).query + end + # Initializes the class. # # conference - an conference that needs to find its conference admins - def initialize(conference) + # organization - an organization that needs to find its conference admins + def initialize(conference, organization = nil) @conference = conference + @organization = conference&.organization || organization end # Finds organization admins and the users with role admin for the given conference. # # Returns an ActiveRecord::Relation. def query - Decidim::User.where(id: organization_admins).or(conference_user_admins) + organization.admins.or(conferences_user_admins) end private - attr_reader :conference + attr_reader :conference, :organization - def organization_admins - conference.organization.admins + def conferences_user_admins + Decidim::User.where( + id: Decidim::ConferenceUserRole.where(conference: conferences, role: :admin) + .select(:decidim_user_id) + ) end - def conference_user_admins - conference_user_admin_ids = Decidim::ConferenceUserRole - .where(conference: conference, role: :admin) - .pluck(:decidim_user_id) - Decidim::User.where(id: conference_user_admin_ids) + def conferences + if conference + [conference] + else + Decidim::Conference.where(organization: organization) + end end end end diff --git a/decidim-conferences/spec/queries/admin/conference_admins_spec.rb b/decidim-conferences/spec/queries/admin/conference_admins_spec.rb index 4f1c2da56ec29..287c6b1c617bf 100644 --- a/decidim-conferences/spec/queries/admin/conference_admins_spec.rb +++ b/decidim-conferences/spec/queries/admin/conference_admins_spec.rb @@ -7,14 +7,25 @@ module Decidim::Conferences subject { described_class.new(conference) } let(:organization) { create :organization } - let(:conference) { create :conference, organization: organization } + let!(:conference) { create :conference, organization: organization } let!(:admin) { create(:user, :admin, :confirmed, organization: organization) } - let!(:conference_admin) do - create(:user, :admin, :confirmed, organization: organization) - end + let!(:conference_admin_role) { create(:conference_user_role, conference: conference, user: conference_admin) } + let(:conference_admin) { create(:user, organization: organization) } + let!(:other_conference_admin_role) { create(:conference_user_role, user: other_conference_admin) } + let(:other_conference_admin) { create(:user, organization: organization) } + let!(:normal_user) { create(:user, :confirmed, organization: organization) } + let!(:other_organization_user) { create(:user, :confirmed) } it "returns the organization admins and conference admins" do expect(subject.query).to match_array([admin, conference_admin]) end + + context "when asking for organization admin users" do + subject { described_class.new(nil, organization) } + + it "returns all the organization admins and conference admins" do + expect(subject.query).to match_array([admin, conference_admin, other_conference_admin]) + end + end end end diff --git a/decidim-consultations/app/queries/decidim/consultations/admin/admin_users.rb b/decidim-consultations/app/queries/decidim/consultations/admin/admin_users.rb index da057dabc5175..3eb46e4b1e092 100644 --- a/decidim-consultations/app/queries/decidim/consultations/admin/admin_users.rb +++ b/decidim-consultations/app/queries/decidim/consultations/admin/admin_users.rb @@ -3,37 +3,41 @@ module Decidim module Consultations module Admin - # A class used to find the admins for a participatory process including - # organization admins. + # A class used to find the admins for a consultation or an organization consultations. class AdminUsers < Rectify::Query # Syntactic sugar to initialize the class and return the queried objects. # - # consultation - a process that needs to find its process admins + # consultation - a consultation that needs to find its consultation admins def self.for(consultation) new(consultation).query end + # Syntactic sugar to initialize the class and return the queried objects. + # + # organization - an organization that needs to find its consultation admins + def self.for_organization(organization) + new(nil, organization).query + end + # Initializes the class. # - # consultation - a consultation that needs to find its process admins - def initialize(consultation) + # consultation - a consultation that needs to find its consultation admins + # organization - an organization that needs to find its consultation admins + def initialize(consultation, organization = nil) @consultation = consultation + @organization = consultation&.organization || organization end - # Finds organization admins and the users with role admin for the given process. + # Finds organization admins and the users with role admin for the given consultation. # # Returns an ActiveRecord::Relation. def query - Decidim::User.where(id: organization_admins) + organization.admins end private - attr_reader :consultation - - def organization_admins - consultation.organization.admins - end + attr_reader :organization end end end diff --git a/decidim-consultations/spec/queries/decidim/consultations/admin/process_admins_spec.rb b/decidim-consultations/spec/queries/decidim/consultations/admin/process_admins_spec.rb index bdbd2c28cef96..19c769919e5e5 100644 --- a/decidim-consultations/spec/queries/decidim/consultations/admin/process_admins_spec.rb +++ b/decidim-consultations/spec/queries/decidim/consultations/admin/process_admins_spec.rb @@ -7,8 +7,10 @@ module Decidim::Consultations subject { described_class.new(consultation) } let(:organization) { create :organization } - let(:consultation) { create :consultation, organization: organization } + let!(:consultation) { create :consultation, organization: organization } let!(:admin) { create(:user, :admin, :confirmed, organization: organization) } + let!(:normal_user) { create(:user, :confirmed, organization: organization) } + let!(:other_organization_user) { create(:user, :confirmed) } it "returns the organization admins" do expect(subject.query).to match_array([admin]) diff --git a/decidim-core/app/forms/decidim/notifications_settings_form.rb b/decidim-core/app/forms/decidim/notifications_settings_form.rb index c346eba7eea1d..cedb9e329e05f 100644 --- a/decidim-core/app/forms/decidim/notifications_settings_form.rb +++ b/decidim-core/app/forms/decidim/notifications_settings_form.rb @@ -43,22 +43,11 @@ def direct_message_types end def user_is_moderator?(user) - participatory_space_types.each do |participatory_space_type| - participatory_space_type.constantize.all.each do |participatory_space| - return true if participatory_space.moderators.include?(user) - end + Decidim.participatory_space_manifests.map do |manifest| + participatory_space_type = manifest.model_class_name.constantize + return true if participatory_space_type.moderators(user.organization).exists?(id: user.id) end false end - - private - - def participatory_space_types - participatory_space_types = [] - Decidim.participatory_space_manifests.each do |manifest| - participatory_space_types << manifest.model_class_name.to_s - end - participatory_space_types - end end end diff --git a/decidim-core/lib/decidim/participable.rb b/decidim-core/lib/decidim/participable.rb index d0292a3d540f9..feb1a6811d384 100644 --- a/decidim-core/lib/decidim/participable.rb +++ b/decidim-core/lib/decidim/participable.rb @@ -8,31 +8,9 @@ module Participable extend ActiveSupport::Concern included do - def demodulized_name - @demodulized_name ||= self.class.name.demodulize - end - - delegate :foreign_key, to: :demodulized_name - - def module_name - "Decidim::#{demodulized_name.pluralize}" - end - - def admin_module_name - "#{module_name}::Admin" - end - - def underscored_name - demodulized_name.underscore - end - - def mounted_engine - "decidim_#{underscored_name.pluralize}" - end - - def mounted_admin_engine - "decidim_admin_#{underscored_name.pluralize}" - end + delegate :demodulized_name, :foreign_key, :module_name, :admin_module_name, :underscored_name, + :mounted_engine, :mounted_admin_engine, :admin_extension_module, :admins_query, + to: :class def mounted_params { @@ -41,14 +19,6 @@ def mounted_params } end - def admin_extension_module - "#{admin_module_name}::#{demodulized_name}Context".constantize - end - - def admins_query - "#{admin_module_name}::AdminUsers".constantize - end - def admins admins_query.for(self) end @@ -94,6 +64,44 @@ def cta_button_text_key_accessible end class_methods do + def demodulized_name + @demodulized_name ||= name.demodulize + end + + delegate :foreign_key, to: :demodulized_name + + def module_name + "Decidim::#{demodulized_name.pluralize}" + end + + def admin_module_name + "#{module_name}::Admin" + end + + def underscored_name + demodulized_name.underscore + end + + def mounted_engine + "decidim_#{underscored_name.pluralize}" + end + + def mounted_admin_engine + "decidim_admin_#{underscored_name.pluralize}" + end + + def admin_extension_module + "#{admin_module_name}::#{demodulized_name}Context".constantize + end + + def admins_query + "#{admin_module_name}::AdminUsers".constantize + end + + def moderators(organization) + admins_query.for_organization(organization) + end + def slug_format /\A[a-zA-Z]+[a-zA-Z0-9\-]+\z/ end diff --git a/decidim-elections/app/queries/decidim/votings/admin/admin_users.rb b/decidim-elections/app/queries/decidim/votings/admin/admin_users.rb index de6960721ce20..334195876cc69 100644 --- a/decidim-elections/app/queries/decidim/votings/admin/admin_users.rb +++ b/decidim-elections/app/queries/decidim/votings/admin/admin_users.rb @@ -3,7 +3,7 @@ module Decidim module Votings module Admin - # A class used to find the admins for a voting including organization admins. + # A class used to find the admins for a voting or an organization votings. class AdminUsers < Rectify::Query # Syntactic sugar to initialize the class and return the queried objects. # @@ -12,27 +12,32 @@ def self.for(voting) new(voting).query end + # Syntactic sugar to initialize the class and return the queried objects. + # + # organization - an organization that needs to find its voting admins + def self.for_organization(organization) + new(nil, organization).query + end + # Initializes the class. # - # voting - a voting that needs to find its process admins - def initialize(voting) + # voting - a voting that needs to find its voting admins + # organization - an organization that needs to find its voting admins + def initialize(voting, organization = nil) @voting = voting + @organization = voting&.organization || organization end - # Finds organization admins and the users with role admin for the given process. + # Finds organization admins and the users with role admin for the given voting. # # Returns an ActiveRecord::Relation. def query - Decidim::User.where(id: organization_admins) + organization.admins end private - attr_reader :voting - - def organization_admins - voting.organization.admins - end + attr_reader :voting, :organization end end end diff --git a/decidim-elections/spec/queries/decidim/votings/admin/admin_users_spec.rb b/decidim-elections/spec/queries/decidim/votings/admin/admin_users_spec.rb index 601b30d856c70..8a2538f09071e 100644 --- a/decidim-elections/spec/queries/decidim/votings/admin/admin_users_spec.rb +++ b/decidim-elections/spec/queries/decidim/votings/admin/admin_users_spec.rb @@ -9,7 +9,7 @@ module Admin subject { described_class.new(voting) } let(:organization) { create :organization } - let(:voting) { create :voting, organization: organization } + let!(:voting) { create :voting, organization: organization } let!(:admins) { create_list(:user, 3, :admin, :confirmed, organization: organization) } let!(:normal_user) { create(:user, :confirmed, organization: organization) } let!(:other_organization_user) { create(:user, :confirmed) } diff --git a/decidim-initiatives/app/queries/decidim/initiatives/admin/admin_users.rb b/decidim-initiatives/app/queries/decidim/initiatives/admin/admin_users.rb index 904370348cbe6..eded57b63dbde 100644 --- a/decidim-initiatives/app/queries/decidim/initiatives/admin/admin_users.rb +++ b/decidim-initiatives/app/queries/decidim/initiatives/admin/admin_users.rb @@ -3,7 +3,7 @@ module Decidim module Initiatives module Admin - # A class used to find the admins for an initiative. + # A class used to find the admins for an initiative or an organization initiatives. class AdminUsers < Rectify::Query # Syntactic sugar to initialize the class and return the queried objects. # @@ -12,27 +12,32 @@ def self.for(initiative) new(initiative).query end + # Syntactic sugar to initialize the class and return the queried objects. + # + # organization - an organization that needs to find its initiative admins + def self.for_organization(organization) + new(nil, organization).query + end + # Initializes the class. # # initiative - Decidim::Initiative - def initialize(initiative) + # organization - an organization that needs to find its initiative admins + def initialize(initiative, organization = nil) @initiative = initiative + @organization = initiative&.organization || organization end # Finds organization admins and the users with role admin for the given initiative. # # Returns an ActiveRecord::Relation. def query - Decidim::User.where(id: organization_admins) + organization.admins end private - attr_reader :initiative - - def organization_admins - initiative.organization.admins - end + attr_reader :initiative, :organization end end end diff --git a/decidim-initiatives/spec/queries/decidim/initiatives/admin/admin_users_spec.rb b/decidim-initiatives/spec/queries/decidim/initiatives/admin/admin_users_spec.rb index 281aeff95bdcb..87f721bbaaadf 100644 --- a/decidim-initiatives/spec/queries/decidim/initiatives/admin/admin_users_spec.rb +++ b/decidim-initiatives/spec/queries/decidim/initiatives/admin/admin_users_spec.rb @@ -7,14 +7,13 @@ module Decidim::Initiatives subject { described_class.new(initiative) } let(:organization) { create :organization } - let(:initiative) { create :initiative, :published, organization: organization } + let!(:initiative) { create :initiative, :published, organization: organization } let!(:admin) { create(:user, :admin, :confirmed, organization: organization) } - let!(:initiative_admin) do - create(:user, :admin, :confirmed, organization: organization) - end + let!(:normal_user) { create(:user, :confirmed, organization: organization) } + let!(:other_organization_user) { create(:user, :confirmed) } - it "returns the organization admins and initiative admins" do - expect(subject.query).to match_array([admin, initiative_admin]) + it "returns the organization admins" do + expect(subject.query).to match_array([admin]) end end end diff --git a/decidim-participatory_processes/app/models/decidim/participatory_process.rb b/decidim-participatory_processes/app/models/decidim/participatory_process.rb index b5e3374c98081..ee9a5520c054c 100644 --- a/decidim-participatory_processes/app/models/decidim/participatory_process.rb +++ b/decidim-participatory_processes/app/models/decidim/participatory_process.rb @@ -156,11 +156,15 @@ def to_param slug end - # Overrides the method from `Participable`. + # Overrides the moderators methods from `Participable`. def moderators "#{admin_module_name}::Moderators".constantize.for(self) end + def self.moderators(organization) + "#{admin_module_name}::Moderators".constantize.for_organization(organization) + end + def user_roles(role_name = nil) roles = Decidim::ParticipatoryProcessUserRole.where(participatory_process: self) return roles if role_name.blank? diff --git a/decidim-participatory_processes/app/queries/decidim/participatory_processes/admin/admin_users.rb b/decidim-participatory_processes/app/queries/decidim/participatory_processes/admin/admin_users.rb index 870ff8f6732d9..026588ea5684e 100644 --- a/decidim-participatory_processes/app/queries/decidim/participatory_processes/admin/admin_users.rb +++ b/decidim-participatory_processes/app/queries/decidim/participatory_processes/admin/admin_users.rb @@ -13,33 +13,46 @@ def self.for(process) new(process).query end + # Syntactic sugar to initialize the class and return the queried objects. + # + # organization - an organization that needs to find its process admins + def self.for_organization(organization) + new(nil, organization).query + end + # Initializes the class. # # process - a process that needs to find its process admins - def initialize(process) + # organization - an organization that needs to find its process admins + def initialize(process, organization = nil) @process = process + @organization = process&.organization || organization end # Finds organization admins and the users with role admin for the given process. # # Returns an ActiveRecord::Relation. def query - Decidim::User.where(id: organization_admins).or(process_user_admins) + organization.admins.or(processes_user_admins) end private - attr_reader :process + attr_reader :process, :organization - def organization_admins - process.organization.admins + def processes_user_admins + Decidim::User.where( + id: Decidim::ParticipatoryProcessUserRole.where(participatory_process: processes, role: :admin) + .select(:decidim_user_id) + ) end - def process_user_admins - process_user_admin_ids = Decidim::ParticipatoryProcessUserRole - .where(participatory_process: process, role: :admin) - .pluck(:decidim_user_id) - Decidim::User.where(id: process_user_admin_ids) + def processes + if process + [process] + else + Decidim::ParticipatoryProcess.where(organization: organization) + end end end end diff --git a/decidim-participatory_processes/app/queries/decidim/participatory_processes/admin/moderators.rb b/decidim-participatory_processes/app/queries/decidim/participatory_processes/admin/moderators.rb index 0758abc74dd7d..90afc5422ddb1 100644 --- a/decidim-participatory_processes/app/queries/decidim/participatory_processes/admin/moderators.rb +++ b/decidim-participatory_processes/app/queries/decidim/participatory_processes/admin/moderators.rb @@ -13,11 +13,20 @@ def self.for(process) new(process).query end + # Syntactic sugar to initialize the class and return the queried objects. + # + # organization - an organization that needs to find its moderators + def self.for_organization(organization) + new(nil, organization).query + end + # Initializes the class. # # process - a process that needs to find its process admins - def initialize(process) + # organization - an organization that needs to find its process admins + def initialize(process, organization = nil) @process = process + @organization = process&.organization || organization end # Finds organization admins and the users with role admin for the given @@ -25,23 +34,27 @@ def initialize(process) # # Returns an ActiveRecord::Relation. def query - Decidim::User.where(id: organization_admins + process_users) + organization.admins.or(processes_user_admins) end private - attr_reader :process + attr_reader :process, :organization - def organization_admins - process.organization.admins + def processes_user_admins + Decidim::User.where( + id: Decidim::ParticipatoryProcessUserRole.where(participatory_process: processes) + .where.not(role: :collaborator) + .select(:decidim_user_id) + ) end - def process_users - Decidim::ParticipatoryProcessUserRole - .where(participatory_process: process) - .where.not(role: :collaborator) - .pluck(:decidim_user_id) - .uniq + def processes + if process + [process] + else + Decidim::ParticipatoryProcess.where(organization: organization) + end end end end diff --git a/decidim-participatory_processes/spec/queries/admin/admin_users_spec.rb b/decidim-participatory_processes/spec/queries/admin/admin_users_spec.rb index 8e0bcda9f8aad..59587fcf3333d 100644 --- a/decidim-participatory_processes/spec/queries/admin/admin_users_spec.rb +++ b/decidim-participatory_processes/spec/queries/admin/admin_users_spec.rb @@ -7,14 +7,25 @@ module Decidim::ParticipatoryProcesses subject { described_class.new(participatory_process) } let(:organization) { create :organization } - let(:participatory_process) { create :participatory_process, organization: organization } + let!(:participatory_process) { create :participatory_process, organization: organization } let!(:admin) { create(:user, :admin, :confirmed, organization: organization) } - let!(:participatory_process_admin) do - create(:process_admin, participatory_process: participatory_process) - end + let!(:participatory_process_admin_role) { create(:participatory_process_user_role, participatory_process: participatory_process, user: participatory_process_admin) } + let(:participatory_process_admin) { create(:user, organization: organization) } + let!(:other_participatory_process_admin_role) { create(:participatory_process_user_role, user: other_participatory_process_admin) } + let(:other_participatory_process_admin) { create(:user, organization: organization) } + let!(:normal_user) { create(:user, :confirmed, organization: organization) } + let!(:other_organization_user) { create(:user, :confirmed) } it "returns the organization admins and participatory process admins" do expect(subject.query).to match_array([admin, participatory_process_admin]) end + + context "when asking for organization admin users" do + subject { described_class.new(nil, organization) } + + it "returns all the organization admins and participatory process admins" do + expect(subject.query).to match_array([admin, participatory_process_admin, other_participatory_process_admin]) + end + end end end From 67532f02236a765d48f53f67b8c717e4bebcf995 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Wed, 21 Jul 2021 12:27:09 +0300 Subject: [PATCH 48/71] Fix don't require inactive authorization handlers (#8122) (#8223) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Eero Lahdenperä --- .../app/services/decidim/action_authorizer.rb | 5 +- .../lib/decidim/core/test/factories.rb | 1 + .../controllers/sessions_controller_spec.rb | 8 ++- .../decidim/action_authorizer_spec.rb | 55 +++++++++++++++++-- 4 files changed, 59 insertions(+), 10 deletions(-) diff --git a/decidim-core/app/services/decidim/action_authorizer.rb b/decidim-core/app/services/decidim/action_authorizer.rb index dfcf9ac6b7321..4ea40e48afe63 100644 --- a/decidim-core/app/services/decidim/action_authorizer.rb +++ b/decidim-core/app/services/decidim/action_authorizer.rb @@ -37,11 +37,12 @@ def authorize attr_reader :user, :component, :resource, :action def authorization_handlers - if permission&.has_key?("authorization_handler_name") + available_authorizations = component.organization.available_authorizations + if permission&.has_key?("authorization_handler_name") && available_authorizations.include?(permission["authorization_handler_name"]) options = permission["options"] { permission["authorization_handler_name"] => options.present? ? { "options" => options } : {} } else - permission&.fetch("authorization_handlers", {}) + permission&.fetch("authorization_handlers", {})&.slice(*available_authorizations) end end diff --git a/decidim-core/lib/decidim/core/test/factories.rb b/decidim-core/lib/decidim/core/test/factories.rb index 155a7767a2cdd..17a5a9d0551d6 100644 --- a/decidim-core/lib/decidim/core/test/factories.rb +++ b/decidim-core/lib/decidim/core/test/factories.rb @@ -85,6 +85,7 @@ def generate_localized_title favicon { Decidim::Dev.test_file("icon.png", "image/png") } default_locale { Decidim.default_locale } available_locales { Decidim.available_locales } + available_authorizations { %w(dummy_authorization_handler) } users_registration_mode { :enabled } official_img_header { Decidim::Dev.test_file("avatar.jpg", "image/jpeg") } official_img_footer { Decidim::Dev.test_file("avatar.jpg", "image/jpeg") } diff --git a/decidim-core/spec/controllers/sessions_controller_spec.rb b/decidim-core/spec/controllers/sessions_controller_spec.rb index 0daa2c8827110..d8fb337a30063 100644 --- a/decidim-core/spec/controllers/sessions_controller_spec.rb +++ b/decidim-core/spec/controllers/sessions_controller_spec.rb @@ -31,8 +31,8 @@ module Devise context "when there are authorization handlers" do before do - user.organization.available_authorizations = ["dummy_authorization_handler"] - user.organization.save + allow(user.organization).to receive(:available_authorizations) + .and_return(["dummy_authorization_handler"]) end it { is_expected.to eq("/authorizations/first_login") } @@ -71,6 +71,10 @@ module Devise end context "and otherwise", with_authorization_workflows: [] do + before do + allow(user.organization).to receive(:available_authorizations).and_return([]) + end + it { is_expected.to eq("/") } end end diff --git a/decidim-core/spec/services/decidim/action_authorizer_spec.rb b/decidim-core/spec/services/decidim/action_authorizer_spec.rb index 55aa9a60954f5..5114c1b41e3c0 100644 --- a/decidim-core/spec/services/decidim/action_authorizer_spec.rb +++ b/decidim-core/spec/services/decidim/action_authorizer_spec.rb @@ -6,9 +6,9 @@ module Decidim describe ActionAuthorizer do subject { authorizer } - let(:organization) { create :organization } + let(:organization) { create(:organization, available_authorizations: %w(dummy_authorization_handler another_dummy_authorization_handler)) } let(:user) { create(:user, organization: organization) } - let(:component) { create(:component, permissions: permissions) } + let(:component) { create(:component, permissions: permissions, organization: organization) } let(:resource) { nil } let(:action) { "vote" } let(:permissions) { { action => permission } } @@ -19,10 +19,6 @@ module Decidim create(:authorization, :granted, name: name, metadata: metadata) end - let!(:another_authorization) do - create(:authorization, :granted, name: "another_dummy_authorization_handler", metadata: metadata) - end - let(:metadata) { { postal_code: "1234", location: "Tomorrowland" } } let(:response) { subject.authorize } @@ -46,7 +42,39 @@ module Decidim end end + context "when one authorization handler is set" do + let(:permission) do + { + "authorization_handler_name" => name, + "options" => options + } + end + + context "when authorization is granted" do + before { authorization.update!(user: user, granted_at: 1.minute.ago) } + + it "returns an authorization status ok" do + expect(response).to be_ok + expect(response.statuses.count).to eq(1) + expect(response.codes).to include(:ok) + end + end + + context "when authorization is not granted" do + before { authorization.update!(user: user, granted_at: nil) } + + it "returns an authorization status not ok" do + expect(response).not_to be_ok + expect(response.statuses.count).to eq(1) + expect(response.codes).to include(:pending) + end + end + end + context "when more than one authorization handlers are set" do + let!(:another_authorization) do + create(:authorization, :granted, name: "another_dummy_authorization_handler", metadata: metadata) + end let(:permission) do { "authorization_handlers" => { @@ -89,6 +117,21 @@ module Decidim end end + context "when organization doesnt have authorization handler available" do + let(:permission) do + { + "authorization_handlers" => { + "disabled_authorization_handler" => {} + } + } + end + + it "doesn't require it" do + expect(response).to be_ok + expect(response.statuses.count).to eq(0) + end + end + context "when the data is incomplete" do context "when the user is not logged in" do let(:user) { nil } From ceb22d5ba48b767bb72bcac74b5bd7dff228fc33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Mart=C3=ADnez?= Date: Wed, 21 Jul 2021 18:13:24 +0200 Subject: [PATCH 49/71] Set current_component as commentable when commentable is a participatory space (#8228) --- .../decidim/comments/comments_controller.rb | 8 +++++++- .../test/shared_examples/comments_examples.rb | 12 +++++++----- decidim-core/lib/decidim/resourceable.rb | 8 ++++++++ .../app/models/decidim/initiative.rb | 4 ++++ decidim-initiatives/spec/system/comments_spec.rb | 15 +++++++++++++++ 5 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 decidim-initiatives/spec/system/comments_spec.rb diff --git a/decidim-comments/app/controllers/decidim/comments/comments_controller.rb b/decidim-comments/app/controllers/decidim/comments/comments_controller.rb index 132b8bfb3475f..c1dfd8a69b3e9 100644 --- a/decidim-comments/app/controllers/decidim/comments/comments_controller.rb +++ b/decidim-comments/app/controllers/decidim/comments/comments_controller.rb @@ -44,7 +44,7 @@ def create params.merge(commentable: commentable) ).with_context( current_organization: current_organization, - current_component: commentable.try(:component) || commentable.participatory_space + current_component: current_component ) Decidim::Comments::CreateComment.call(form, current_user) do on(:ok) do |comment| @@ -63,6 +63,12 @@ def create end end + def current_component + return commentable.component if commentable.respond_to?(:component) + return commentable.participatory_space if commentable.respond_to?(:participatory_space) + return commentable if Decidim.participatory_space_manifests.find { |manifest| manifest.model_class_name == commentable.class.name } + end + private attr_reader :commentable, :comment diff --git a/decidim-core/lib/decidim/core/test/shared_examples/comments_examples.rb b/decidim-core/lib/decidim/core/test/shared_examples/comments_examples.rb index 18b35f27b1ae7..2587fea505a85 100644 --- a/decidim-core/lib/decidim/core/test/shared_examples/comments_examples.rb +++ b/decidim-core/lib/decidim/core/test/shared_examples/comments_examples.rb @@ -82,13 +82,15 @@ end end - context "when component has a default comments length params" do + context "when component is present and has a default comments length params" do it "displays the numbers of characters left" do - component.update!(settings: { comments_max_length: 3000 }) - visit current_path + if component.present? + component.update!(settings: { comments_max_length: 3000 }) + visit current_path - within ".add-comment form" do - expect(page).to have_content("3000 characters left") + within ".add-comment form" do + expect(page).to have_content("3000 characters left") + end end end end diff --git a/decidim-core/lib/decidim/resourceable.rb b/decidim-core/lib/decidim/resourceable.rb index 7a5770346f93f..f5e547c85f4b7 100644 --- a/decidim-core/lib/decidim/resourceable.rb +++ b/decidim-core/lib/decidim/resourceable.rb @@ -93,6 +93,8 @@ def link_resources(resources, link_name, data = {}) # - the visibility of its participatory space. # - the visibility of the resource itself. def visible? + return resource_visible? if participatory_space? + component.participatory_space.try(:visible?) && component.published? && resource_visible? end @@ -109,6 +111,12 @@ def resource_visible? true end + def participatory_space? + return if component.present? + + Decidim.participatory_space_manifests.find { |manifest| manifest.model_class_name == self.class.name } + end + # Public: Whether the permissions for this object actions can be set at resource level. def allow_resource_permissions? false diff --git a/decidim-initiatives/app/models/decidim/initiative.rb b/decidim-initiatives/app/models/decidim/initiative.rb index eb532d97671ca..f99265fbf7151 100644 --- a/decidim-initiatives/app/models/decidim/initiative.rb +++ b/decidim-initiatives/app/models/decidim/initiative.rb @@ -410,6 +410,10 @@ def enough_committee_members? committee_members.approved.count >= minimum_committee_members end + def component + nil + end + # PUBLIC # # Checks if the type the initiative belongs to enables SMS code diff --git a/decidim-initiatives/spec/system/comments_spec.rb b/decidim-initiatives/spec/system/comments_spec.rb new file mode 100644 index 0000000000000..0ce910f34f8d2 --- /dev/null +++ b/decidim-initiatives/spec/system/comments_spec.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe "Comments", type: :system do + let(:organization) { create(:organization) } + let!(:initiative_type) { create(:initiatives_type, :online_signature_enabled, organization: organization) } + let!(:scoped_type) { create(:initiatives_type_scope, type: initiative_type) } + let(:commentable) { create(:initiative, :published, author: user, scoped_type: scoped_type, organization: organization) } + let!(:participatory_space) { commentable } + let(:component) { nil } + let(:resource_path) { resource_locator(commentable).path } + + include_examples "comments" +end From ddb39829d5b8e9886e0285b740a44df2cab4c30a Mon Sep 17 00:00:00 2001 From: leio10 Date: Thu, 22 Jul 2021 15:37:55 +0200 Subject: [PATCH 50/71] Backport part of "Fix broken tests after problematic PRs" (#8232) --- decidim-budgets/spec/system/orders_spec.rb | 2 +- decidim-core/lib/decidim/core/test/factories.rb | 1 - .../spec/permissions/decidim/elections/permissions_spec.rb | 4 +++- decidim-meetings/spec/system/user_creates_meeting_spec.rb | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/decidim-budgets/spec/system/orders_spec.rb b/decidim-budgets/spec/system/orders_spec.rb index 13e279c3a0046..af1362b7f6d73 100644 --- a/decidim-budgets/spec/system/orders_spec.rb +++ b/decidim-budgets/spec/system/orders_spec.rb @@ -6,7 +6,7 @@ include_context "with a component" let(:manifest_name) { "budgets" } - let(:organization) { create :organization } + let(:organization) { create :organization, available_authorizations: %w(dummy_authorization_handler) } let!(:user) { create :user, :confirmed, organization: organization } let(:project) { projects.first } diff --git a/decidim-core/lib/decidim/core/test/factories.rb b/decidim-core/lib/decidim/core/test/factories.rb index 17a5a9d0551d6..155a7767a2cdd 100644 --- a/decidim-core/lib/decidim/core/test/factories.rb +++ b/decidim-core/lib/decidim/core/test/factories.rb @@ -85,7 +85,6 @@ def generate_localized_title favicon { Decidim::Dev.test_file("icon.png", "image/png") } default_locale { Decidim.default_locale } available_locales { Decidim.available_locales } - available_authorizations { %w(dummy_authorization_handler) } users_registration_mode { :enabled } official_img_header { Decidim::Dev.test_file("avatar.jpg", "image/jpeg") } official_img_footer { Decidim::Dev.test_file("avatar.jpg", "image/jpeg") } diff --git a/decidim-elections/spec/permissions/decidim/elections/permissions_spec.rb b/decidim-elections/spec/permissions/decidim/elections/permissions_spec.rb index 33831a3143e25..10fa07da35662 100644 --- a/decidim-elections/spec/permissions/decidim/elections/permissions_spec.rb +++ b/decidim-elections/spec/permissions/decidim/elections/permissions_spec.rb @@ -5,7 +5,8 @@ describe Decidim::Elections::Permissions do subject { described_class.new(user, permission_action, context).permissions.allowed? } - let(:user) { create :user, organization: elections_component.organization } + let(:organization) { elections_component.organization } + let(:user) { create :user, organization: organization } let(:context) do { current_component: elections_component, @@ -132,6 +133,7 @@ context "when the user is not authorized to vote" do before do + organization.update!(available_authorizations: %w(dummy_authorization_handler)) elections_component.update!(permissions: { vote: { authorization_handlers: { diff --git a/decidim-meetings/spec/system/user_creates_meeting_spec.rb b/decidim-meetings/spec/system/user_creates_meeting_spec.rb index 0ed939ef37525..10a0b4e5ac4b1 100644 --- a/decidim-meetings/spec/system/user_creates_meeting_spec.rb +++ b/decidim-meetings/spec/system/user_creates_meeting_spec.rb @@ -6,7 +6,7 @@ include_context "with a component" let(:manifest_name) { "meetings" } - let(:organization) { create(:organization) } + let(:organization) { create(:organization, available_authorizations: %w(dummy_authorization_handler)) } let(:participatory_process) { create(:participatory_process, :with_steps, organization: organization) } let(:current_component) { create :meeting_component, participatory_space: participatory_process } let(:start_time) { 1.day.from_now } From 1b16080c87113e79b4f3b4e9f434c57ecefd7079 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Wed, 28 Jul 2021 10:01:30 +0200 Subject: [PATCH 51/71] New Crowdin updates (#8216) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Luxembourgish) * New translations en.yml (Spanish) * New translations en.yml (Spanish) * New translations en.yml (Catalan) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Greek) * New translations en.yml (Greek) * New translations en.yml (Greek) * New translations en.yml (Greek) * New translations en.yml (Greek) * New translations en.yml (Greek) * New translations en.yml (Greek) --- decidim-accountability/config/locales/el.yml | 26 ++ .../config/locales/ga-IE.yml | 109 +++++ decidim-admin/config/locales/el.yml | 128 +++++- decidim-admin/config/locales/ga-IE.yml | 397 ++++++++++++++++++ decidim-admin/config/locales/ja.yml | 10 +- decidim-assemblies/config/locales/el.yml | 7 +- decidim-assemblies/config/locales/ga-IE.yml | 175 ++++++++ decidim-blogs/config/locales/el.yml | 21 +- decidim-blogs/config/locales/ga-IE.yml | 46 ++ decidim-budgets/config/locales/el.yml | 131 +++++- decidim-budgets/config/locales/ga-IE.yml | 84 ++++ decidim-comments/config/locales/el.yml | 20 +- decidim-comments/config/locales/ga-IE.yml | 34 ++ decidim-comments/config/locales/lb-LU.yml | 5 + decidim-conferences/config/locales/el.yml | 45 ++ decidim-conferences/config/locales/ga-IE.yml | 215 ++++++++++ decidim-conferences/config/locales/pl.yml | 14 +- .../config/locales/ga-IE.yml | 101 +++++ decidim-core/config/locales/ca.yml | 2 +- decidim-core/config/locales/es-MX.yml | 2 + decidim-core/config/locales/es-PY.yml | 2 + decidim-core/config/locales/es.yml | 2 + decidim-core/config/locales/ga-IE.yml | 348 +++++++++++++++ decidim-debates/config/locales/ga-IE.yml | 80 ++++ decidim-dev/config/locales/ga-IE.yml | 24 ++ decidim-elections/config/locales/ga-IE.yml | 254 +++++++++++ decidim-elections/config/locales/ja.yml | 17 + decidim-forms/config/locales/ga-IE.yml | 49 +++ decidim-initiatives/config/locales/ga-IE.yml | 190 +++++++++ decidim-meetings/config/locales/ga-IE.yml | 171 ++++++++ decidim-pages/config/locales/ga-IE.yml | 12 + .../config/locales/ga-IE.yml | 158 +++++++ .../config/locales/pl.yml | 2 +- decidim-proposals/config/locales/ga-IE.yml | 228 ++++++++++ decidim-sortitions/config/locales/ga-IE.yml | 34 ++ decidim-surveys/config/locales/ga-IE.yml | 9 + decidim-system/config/locales/ga-IE.yml | 47 +++ decidim-templates/config/locales/es-MX.yml | 7 + decidim-templates/config/locales/es-PY.yml | 7 + decidim-templates/config/locales/es.yml | 7 + decidim-templates/config/locales/ga-IE.yml | 16 + .../config/locales/ga-IE.yml | 57 +++ 42 files changed, 3266 insertions(+), 27 deletions(-) diff --git a/decidim-accountability/config/locales/el.yml b/decidim-accountability/config/locales/el.yml index 6a2870241935f..02507821d848a 100644 --- a/decidim-accountability/config/locales/el.yml +++ b/decidim-accountability/config/locales/el.yml @@ -32,6 +32,8 @@ el: decidim: accountability: actions: + attachment_collections: Φάκελοι + attachments: Συνημμένα confirm_destroy: Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το όνομα %{name}; destroy: Διαγραφή edit: Επεξεργασία @@ -42,6 +44,7 @@ el: title: Ενέργειες admin: exports: + result_comments: Σχόλια results: Αποτελέσματα import_results: new: @@ -121,6 +124,11 @@ el: value_types: parent_presenter: not_found: 'H γονική διαδικασία δεν βρέθηκε στη βάση δεδομένων (αναγνωριστικό: %{id})' + content_blocks: + highlighted_results: + dates: Ημερομηνίες + results: Αποτελέσματα + unspecified: Δεν έχει καθοριστεί import_mailer: import: errors: Σφάλματα @@ -133,8 +141,12 @@ el: models: result: fields: + category: Κατηγορία + created_at: Δημιουργήθηκε end_date: Ημερομηνία λήξης + id: Αναγνωριστικό ID progress: Πρόοδος + scope: Πεδίο εφαρμογής start_date: Ημερομηνία έναρξης status: Κατάσταση title: Τίτλος @@ -148,6 +160,9 @@ el: fields: description: Περιγραφή entry_date: Ημερομηνία + result_m: + executed: Εκτελέσθηκε + view: Προβολή results: count: results_count: @@ -178,6 +193,15 @@ el: votes: Υποστηρίξεις timeline: title: Εξέλιξη έργου + admin: + filters: + results: + category_id_eq: + label: Κατηγορία + scope_id_eq: + label: Πεδίο εφαρμογής + status_id_eq: + label: Κατάσταση components: accountability: name: Υπευθυνότητα @@ -190,6 +214,8 @@ el: heading_leaf_level_results: Όνομα για «Έργα» heading_parent_level_results: Όνομα για «Αποτελέσματα» intro: Εισαγωγή + scope_id: Πεδίο εφαρμογής + scopes_enabled: Ενεργοποιημένα πεδία εφαρμογής subcategories_label: Όνομα για «Υποκατηγορίες» step: comments_blocked: Τα σχόλια αποκλείστηκαν diff --git a/decidim-accountability/config/locales/ga-IE.yml b/decidim-accountability/config/locales/ga-IE.yml index 20a9da24e96f1..9a03cbcd3bc39 100644 --- a/decidim-accountability/config/locales/ga-IE.yml +++ b/decidim-accountability/config/locales/ga-IE.yml @@ -1 +1,110 @@ ga: + activemodel: + attributes: + result: + decidim_accountability_status_id: Stádas + decidim_category_id: Catagóir + decidim_scope_id: Scóip + end_date: Dáta deiridh + progress: Forás + title: Teideal + status: + key: Eochair + name: Ainm + progress: Forás + timeline_entry: + entry_date: Dáta + decidim: + accountability: + actions: + attachment_collections: Fillteáin + attachments: Ceangaltáin + destroy: Scrios + edit: Eagar + preview: Réamhamharc + title: Gníomhartha + admin: + exports: + result_comments: Tráchtanna + results: Torthaí + import_results: + new: + import: Iompórtáil + link: nasc + models: + result: + name: Toradh + status: + name: Stádas + results: + index: + title: Torthaí + shared: + subnav: + statuses: Stádas + statuses: + index: + title: Stádas + content_blocks: + highlighted_results: + dates: Dátaí + results: Torthaí + import_mailer: + import: + errors: Earráidí + row_number: Ró + models: + result: + fields: + category: Catagóir + created_at: Cruthaithe + end_date: Dáta deiridh + id: ID + progress: Forás + scope: Scóip + status: Stádas + title: Teideal + status: + fields: + key: Eochair + name: Ainm + progress: Forás + timeline_entry: + fields: + entry_date: Dáta + result_m: + view: Amharc + results: + filters: + all: Uile + scopes: Scóip + home: + categories_label: Catagóirí + subcategories_label: Fochatagóirí + show: + stats: + comments: Tráchtanna + meetings: Cruinnithe + proposals: Moltaí + votes: Tacaíochtaí + admin: + filters: + results: + category_id_eq: + label: Catagóir + scope_id_eq: + label: Scóip + status_id_eq: + label: Stádas + components: + accountability: + settings: + global: + categories_label: Ainm do "Catagóirí" + intro: Réamhrá + scope_id: Scóip + subcategories_label: Ainm do "Fochatagóirí" + metrics: + results: + object: torthaí + title: Torthaí diff --git a/decidim-admin/config/locales/el.yml b/decidim-admin/config/locales/el.yml index c4623e2976185..5e6f07b6fac6c 100644 --- a/decidim-admin/config/locales/el.yml +++ b/decidim-admin/config/locales/el.yml @@ -32,6 +32,7 @@ el: body: Σώμα subject: Θέμα organization: + admin_terms_of_use_body: Σώμα για τους όρους χρήσης του διαχειριστή alert_color: Ειδοποίηση available_authorizations: Διαθέσιμες εγκρίσεις badges_enabled: Ενεργοποίηση εμβλημάτων @@ -374,6 +375,11 @@ el: title_cont: Αναζήτηση συλλογής %{collection} με βάση τον τίτλο. state_eq: label: Κατάσταση + forms: + file_help: + import: + explanation: 'Καθοδήγηση για το αρχείο:' + message_2: Για αρχεία CSV, ο διαχωρισμός μεταξύ των στηλών πρέπει να είναι άνω τελεία (";") help_sections: error: Υπήρξε ένα πρόβλημα κατά την ενημέρωση των ενοτήτων βοήθειας form: @@ -412,6 +418,22 @@ el: impersonate_existing_managed_user: Διαχείριση συμμετέχοντα «%{name}» impersonate_existing_user: Διαχείριση συμμετέχοντα «%{name}» impersonate_new_managed_user: Διαχείριση νέου συμμετέχοντα + imports: + creators: + proposalcreator: Δημιουργός της πρότασης + error: Υπήρξε πρόβλημα κατά την εισαγωγή + help: + proposalcreator: Το αρχείο πρέπει να έχει ονόματα στηλών title/en και body/en (ή άλλη τοπική γλώσσα που προτιμάτε, π.χ. title/ca και body/ca). Υποστηρίζονται επίσης οι στήλες scope/id και category/id. + import_from_file: Εισαγωγή από αρχείο + invalid_lines: Βρέθηκε σφάλμα στον αριθμό πόρου %{invalid_lines} + new: + accepted_mime_types: + json: JSON + actions: + back: Πίσω + file_legend: Προσθέστε ένα αρχείο εισαγωγής που θα αναλυθεί. + import: Εισαγωγή + notice: "%{number} %{resource_name} επιτυχώς εισαχθείσα" logs: logs_list: no_logs_yet: Δεν υπάρχουν ακόμη αρχεία καταγραφής @@ -435,8 +457,10 @@ el: help_sections: Ενότητες βοήθειας homepage: Αρχική σελίδα impersonations: Αναπαραστάσεις + moderation: Καθολικές εποπτεύσεις newsletters: Ενημερωτικά δελτία participants: Συμμετέχοντες + reported_users: Αναφερόμενοι χρήστες scope_types: Τύποι πεδίου εφαρμογής scopes: Πεδία εφαρμογής settings: Ρυθμίσεις @@ -449,7 +473,7 @@ el: models: area: fields: - area_type: Τύπος τομέα + area_type: Τύπος περιοχής name: Όνομα area_type: fields: @@ -492,6 +516,14 @@ el: fields: name: Όνομα plural: Πληθυντικός + share_token: + fields: + created_at: Δημιουργήθηκε στις + expires_at: Λήγει στις + last_used_at: Τελευταία φορά που χρησιμοποιήθηκε + times_used: Φορές που χρησιμοποιήθηκε + token: Κλειδί/Token + user: Δημιουργήθηκε στις static_page: fields: created_at: Δημιουργήθηκε στις @@ -516,6 +548,26 @@ el: phone: Τηλέφωνο state: Κατάσταση users_count: Πλήθος συμμετεχόντων + moderated_users: + index: + actions: + block: Αποκλεισμός χρήστη + title: Ενέργειες + unblock: Ξεμπλοκάρισμα χρήστη + unreport: Κατάργηση αναφοράς + name: Όνομα + nickname: Ψευδώνυμο + reason: Αιτία + reports: Πλήθος αναφορών + title: Λίστα αναφερόμενων χρηστών + report: + reasons: + does_not_belong: Δεν ανήκει + offensive: Προσβλητικό + spam: Ανεπιθύμητη αλληλογραφία + tabs: + blocked: Αποκλεισμένος + unblocked: Δεν έχει μπλοκαριστεί moderations: index: title: Εποπτεύσεις @@ -524,6 +576,21 @@ el: does_not_belong: Δεν ανήκει offensive: Προσβλητικό spam: Ανεπιθύμητη αλληλογραφία + reports: + index: + author: Συγγραφέας(εις) + callout_html: Ένα περιεχόμενο εμφανίζεται στον πίνακα συντονισμού όταν το έχει επισημάνει ένας χρήστης (μπορεί να είναι οποιοσδήποτε με εγγεγραμμένο λογαριασμό) κάνοντας κλικ στη σημαία %{icon} δίπλα στο στοιχείο. + content_original_language: Πρωτότυπη γλώσσα περιεχομένου + participatory_space: Συμμετοχικός χώρος + reported_content: Αναφερόμενο περιεχόμενο + see_current: Δείτε το τρέχον + see_original: Δείτε το πρωτότυπο + title: Αναφορές επόπετευσης + show: + report_details: Λεπτομέρειες αιτίας + report_language: Γλώσσα έκθεσης + report_reason: Αιτία + title: Λεπτομέρειες αναφοράς newsletter_templates: index: preview_template: Προεπισκόπηση @@ -546,12 +613,12 @@ el: save_and_preview: Αποθήκευση και προεπισκόπηση title: Επεξεργασία ενημερωτικού δελτίου index: - all: Όλα + all: όλα all_users: 'Όλοι οι χρήστες' and: 'και' confirm_delete: Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το ενημερωτικό δελτίο; followers: 'ακόλουθοι' - has_been_sent_to: 'Στάλθηκε σε:' + has_been_sent_to: 'Έχει σταλεί στο: ' no_scopes: Δεν υπάρχουν πεδία εφαρμογής not_sent: Δεν έχει σταλεί participants: 'συμμετέχοντες ' @@ -589,6 +656,9 @@ el: error: Υπήρξε ένα πρόβλημα κατά την ενημέρωση αυτού του ενημερωτικού δελτίου. success: Το ενημερωτικό δελτίο ενημερώθηκε με επιτυχία. Ελέγξτε το πριν από την αποστολή. officializations: + block: + error: Υπήρξε ένα σφάλμα μπλοκαρίσματος του συμμετέχοντα + success: Ο συμμετέχων μπλοκαρίστηκε επιτυχώς create: success: Ο συμμετέχων επισημοποιήθηκε με επιτυχία destroy: @@ -596,6 +666,7 @@ el: index: actions: Ενέργειες badge: Έμβλημα + block: Αποκλεισμός χρήστη created_at: Δημιουργήθηκε στις name: Όνομα nickname: Ψευδώνυμο @@ -603,8 +674,10 @@ el: officialize: Επισημοποίηση officialized: Επισημοποιήθηκε reofficialize: Εκ νέου επισημοποίηση + reports: Αναφορές show_email: Εμφάνιση διεύθυνσης email status: Κατάσταση + unblock: Ξεμπλοκάρισμα χρήστη unofficialize: Κατάργηση επισημοποίησης new: badge: Έμβλημα επισημοποίησης @@ -618,6 +691,9 @@ el: hidden: κρυφό show: Εμφάνιση title: Εμφάνιση διεύθυνσης email συμμετέχοντα + unblock: + error: Υπήρξε ένα σφάλμα ξεμπλοκαρίσματος του συμμετέχοντα + success: Ο συμμετέχων ξεμπλοκαρίστηκε επιτυχώς organization: edit: title: Επεξεργασία οργανισμού @@ -629,6 +705,7 @@ el: rich_text_editor_in_public_views_help: Σε ορισμένες περιοχές κειμένου, οι συμμετέχοντες θα μπορούν να εισαγάγουν μερικές ετικέτες HTML χρησιμοποιώντας το πρόγραμμα επεξεργασίας εμπλουτισμένου κειμένου. social_handlers: Μέσα κοινωνικής δικτύωσης twitter: Twitter + url: Διεύθυνση URL youtube: YouTube update: error: Υπήρξε ένα πρόβλημα κατά την ενημέρωση αυτού του οργανισμού. @@ -663,6 +740,7 @@ el: error: Υπήρξε ένα πρόβλημα κατά τη διαγραφή ενός ιδιωτικού συμμετέχοντα για αυτόν τον χώρο συμμετοχής. success: Η πρόσβαση του ιδιωτικού συμμετέχοντα στον χώρο συμμετοχής καταστράφηκε με επιτυχία. index: + import_via_csv: Εισαγωγή μέσω CSV title: Ιδιωτικός συμμετέχων χώρου συμμετοχής new: create: Δημιουργία @@ -672,7 +750,8 @@ el: invalid: Υπήρξε ένα πρόβλημα κατά την ανάγνωση του αρχείου CSV. success: Η αποστολή του αρχείου CSV ήταν επιτυχής, στέλνουμε email πρόσκλησης στους συμμετέχοντες. Αυτό μπορεί να διαρκέσει μερικά λεπτά. new: - title: Αποστολή του αρχείου σας CSV + explanation: 'Ανεβάστε το αρχείο CSV. Πρέπει να έχει δύο στήλες με το email στην πρώτη στήλη του αρχείου και το όνομα στην τελευταία στήλη του αρχείου (email, όνομα) των χρηστών που θέλετε να προσθέσετε στον συμμετοχικό χώρο, χωρίς επικεφαλίδες. Αποφύγετε τη χρήση άκυρων χαρακτήρων όπως `<>?%&^*#@()[]=+:;"{}\|` στο όνομα χρήστη.' + title: Αποστολή του CSV αρχείου σας upload: Αποστολή resource_permissions: edit: @@ -680,6 +759,10 @@ el: title: Επεξεργασία δικαιωμάτων update: success: Τα δικαιώματα ενημερώθηκαν με επιτυχία. + resources: + index: + headers: + scope: Πεδίο εφαρμογής scope_types: create: error: Υπήρξε ένα πρόβλημα κατά τη δημιουργία ενός νέου τύπου πεδίου εφαρμογής. @@ -711,6 +794,18 @@ el: update: error: Υπήρξε ένα πρόβλημα κατά την ενημέρωση αυτού του πεδίου εφαρμογής. success: Το πεδίο εφαρμογής ενημερώθηκε με επιτυχία + share_tokens: + actions: + confirm_destroy: Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το κλειδί/token; + destroy: Διαγραφή + share: Κοινοποίηση + destroy: + error: Υπήρξε πρόβλημα με την καταστροφή του κλειδιού/token. + success: Το κλειδί/token καταστράφηκε επιτυχώς. + share_tokens: + empty: Δεν υπάρχουν ενεργά κλειδιά/tokens + help: Αυτά τα κλειδιά/tokens χρησιμοποιούνται για τη δημόσια κοινοποίηση αυτού του μη δημοσιευμένου πόρου σε οποιονδήποτε χρήστη. Θα κρυφτούν όταν ο πόρος δημοσιευτεί. Κάντε κλικ στο εικονίδιο κοινής χρήσης του κλειδιού/token για να επισκεφθείτε τη διεύθυνση URL διαμοιρασμού. + title: Κοινοποίηση κλειδιών/tokens shared: gallery: add_images: Προσθήκη εικόνων @@ -768,6 +863,7 @@ el: impersonatable_users: Διαχειρίσιμοι συμμετέχοντες impersonations: Διαχείριση συμμετεχόντων metrics: Μετρικά + panel: Διαχειριστής participants: Συμμετέχοντες scope_types: Τύποι πεδίου εφαρμογής scopes: Πεδία εφαρμογής @@ -831,9 +927,20 @@ el: errors: impersonate_user: reason: Πρέπει να καταχωρήσετε έναν λόγο κατά τη διαχείριση ενός μη διαχειριζόμενου συμμετέχοντα + metrics: + blocked_users: + object: αποκλεισμένοι χρήστες + title: Αποκλεισμένοι χρήστες + reported_users: + object: αναφερόμενοι χρήστες + title: Αναφερόμενοι χρήστες + user_reports: + object: αναφορές χρηστών + title: Αναφορές χρηστών moderations: actions: - hidden: Κρυφό + expand: Επέκταση + hidden: Κρυφά hide: Απόκρυψη not_hidden: Δεν είναι κρυφό title: Ενέργειες @@ -853,17 +960,28 @@ el: models: moderation: fields: + created_at: Ημερομηνία δημιουργίας hidden_at: Αποκρύφτηκε στις + participatory_space: Συμμετοχικός χώρος report_count: Πλήθος + reportable_id: Αναγνωριστικό ID + reportable_type: Τύπος reported_content_url: Διεύθυνση URL περιεχομένου που έχει αναφερθεί reports: Αναφορές visit_url: Διεύθυνση URL επίσκεψης + report: + fields: + details: Λεπτομέρειες αιτίας + locale: Γλώσσα + reason: Αιτία errors: messages: invalid_json: Μη έγκυρο JSON layouts: decidim: admin: + global_moderations: + title: Καθολικές εποπτεύσεις newsletters: title: Ενημερωτικά δελτία settings: diff --git a/decidim-admin/config/locales/ga-IE.yml b/decidim-admin/config/locales/ga-IE.yml index 20a9da24e96f1..d21b3d9569e3c 100644 --- a/decidim-admin/config/locales/ga-IE.yml +++ b/decidim-admin/config/locales/ga-IE.yml @@ -1 +1,398 @@ ga: + activemodel: + attributes: + area: + name: Ainm + area_type: + name: Ainm + plural: Iolra + attachment: + attachment_collection_id: Fillteán + file: Comhad + attachment_collection: + name: Ainm + category: + description: Cur Síos + name: Ainm + parent_id: Tuismitheoir + component: + name: Ainm + weight: Meáchan + id: ID + newsletter: + body: Corp + subject: Ábhar + organization: + alert_color: Foláireamh + favicon: Deilbhín + highlighted_content_banner_image: Íomhá + highlighted_content_banner_title: Teideal + host: Óstach + logo: Lógó + name: Ainm + omnipresent_banner_title: Teideal + omnipresent_banner_url: URL + primary_color: Bundath + success_color: Rathúil + warning_color: Rabhadh + scope: + code: Cód + name: Ainm + parent_id: Tuismitheoir + scope_type: + name: Ainm + plural: Iolra + settings: + scope_id: Scóip + static_page: + content: Inneachar + slug: Píosa URL + title: Teideal + weight: Meáchan + static_page_topic: + title: Teideal + weight: Meáchan + user_group_csv_verification: + file: Comhad + activerecord: + attributes: + decidim/static_page: + content: Inneachar + slug: Píosa URL + title: Teideal + doorkeeper/application: + site: Suíomh Gréasáin + decidim: + admin: + actions: + add: Cuir leis + browse: Brabhsáil + category: + new: Catagóir nua + export: Easpórtáil + import: Iompórtáil + manage: Bainistigh + per_page: In aghaidh an leathanach + reject: Diúltaigh + share: Roinn + verify: Deimhnigh + area_types: + edit: + update: Nuashonraigh + areas: + edit: + update: Nuashonraigh + new: + title: Ceantar nua + no_areas: Aon ceantair + attachment_collections: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + attachments: + edit: + update: Nuashonraigh + index: + attachments_title: Ceangaltáin + categories: + edit: + title: Cuir catagóir + update: Nuashonraigh + index: + categories_title: Catagóirí + new: + create: Cruthaigh catagóir + title: Catagóir nua + update: + success: Catagóir nuashonraithe go rathúil. + components: + edit: + update: Nuashonraigh + index: + headers: + actions: Gníomhartha + conflicts: + 'false': 'Níl' + solved: Réitithe + title: Coimhlintí deimhnithe + transfer: + email: Seoladh ríomhphoist + name: Ainm + reason: Cúis + 'true': 'Is ea' + user_name: Úsáideoir + exports: + formats: + CSV: CSV + Excel: Excel + FormPDF: PDF + JSON: JSON + filters: + category_id_eq: + label: Catagóir + filter_label: Scagaire + moderations: + reportable_type_string_eq: + label: Cineál + officialized_at_null: + label: Staid + private_space_eq: + label: Príobháideach + values: + 'false': Poblach + 'true': Príobháideach + scope_id_eq: + label: Scóip + search_label: Cuardaigh + state_eq: + label: Staid + forms: + file_help: + import: + message_1: Tugtar tacaíocht do chomhaid CSV, JSON agus Excel (.xls) + help_sections: + form: + save: Sábháil + impersonatable_users: + index: + filter: + all: Uile + managed: Bhainistithe + managed: Bhainistithe + name: Ainm + promote: Cuir chun cinn + search: Cuardaigh + status: Stádas + impersonations: + form: + name: Ainm + reason: Cúis + imports: + new: + accepted_mime_types: + csv: csv + json: json + xls: xls + actions: + back: Ar Ais + import: Iompórtáil + managed_users: + promotions: + new: + promote: Cuir chun cinn + menu: + admins: Riaracháin + areas: Ceantair + homepage: Leathanach baile + scopes: Scóip + settings: Socruithe + static_pages: Leathanaigh + user_groups: Grúpaí + models: + area: + fields: + name: Ainm + area_type: + fields: + name: Ainm + plural: Iolra + attachment: + fields: + collection: Fillteán + content_type: Cineál + file_size: Méid + title: Teideal + name: Ceangaltán + attachment_collection: + name: Fillteán + category: + name: Catagóir + impersonation_log: + fields: + admin: Riarachán + ended_at: Críochnaithe ag + reason: Cúis + newsletter: + fields: + progress: Forás + sent_at: Seolta ag + sent_to: Seolta go + subject: Ábhar + scope: + fields: + name: Ainm + scope_type: + fields: + name: Ainm + plural: Iolra + share_token: + fields: + token: Licín + static_page: + fields: + title: Teideal + user: + fields: + email: Seoladh ríomhphoist + name: Ainm + role: Ról + roles: + admin: Riarachán + user_group: + fields: + actions: Gníomhartha + name: Ainm + phone: Fón + state: Staid + moderated_users: + index: + actions: + title: Gníomhartha + unreport: Cuir ar ceal tuairisc + name: Ainm + nickname: Leasainm + reason: Cúis + report: + reasons: + spam: Turscar + tabs: + blocked: Blocáilte + moderations: + report: + reasons: + spam: Turscar + reports: + show: + report_reason: Cúis + newsletter_templates: + index: + preview_template: Réamhamharc + newsletters: + index: + all: uile + and: 'agus ' + new: + save: Sábháil + select_recipients_to_deliver: + all_spaces: Uile + none: Ceann ar Bith + show: + preview: Réamhamharc + subject: Ábhar + officializations: + index: + actions: Gníomhartha + badge: Suaitheantas + name: Ainm + nickname: Leasainm + reports: Tuairiscí + status: Stádas + show_email_modal: + hidden: ceilte + show: Taispeáin + organization: + edit: + update: Nuashonraigh + form: + facebook: Facebook + github: GitHub + social_handlers: Sóisialta + twitter: Twitter + url: URL + youtube: YouTube + organization_appearance: + edit: + update: Nuashonraigh + form: + images: + preview: Réamhamharc + organization_homepage_content_blocks: + edit: + update: Nuashonraigh + participatory_space_private_users: + new: + create: Cruthaigh + participatory_space_private_users_csv_imports: + new: + upload: Uaslódáil + resource_permissions: + edit: + submit: Deimhnigh + resources: + index: + headers: + scope: Scóip + scope_types: + edit: + update: Nuashonraigh + scopes: + edit: + update: Nuashonraigh + share_tokens: + actions: + destroy: Scrios + share: Roinn + static_pages: + edit: + update: Nuashonraigh + form: + none: Ceann ar Bith + new: + title: Leathanach nua + titles: + areas: Ceantair + authorization_workflows: Modhanna deimhnithe + metrics: Méadrachtaí + panel: Riarachán + scopes: Scóip + static_pages: Leathanaigh + user_groups: Grúpaí + user_groups: + index: + filter: + all: Uile + pending: Ar feitheamh + rejected: Diúltaithe + verified: Fíoraithe + search: Cuardaigh + state: + pending: Ar feitheamh + rejected: Diúltaithe + verified: Fíoraithe + user_groups_csv_verifications: + new: + upload: Uaslódáil + users: + form: + email: Seoladh ríomhphoist + name: Ainm + role: Ról + new: + create: Tabhair Cuireadh + users_statistics: + users_count: + admins: Riaracháin + moderations: + actions: + expand: Méadaigh + hidden: Ceilte + hide: Cuir i bhfolach + title: Gníomhartha + unhide: Nocht + unreport: Cuir ar ceal tuairisc + models: + moderation: + fields: + report_count: Líon + reportable_id: Id + reportable_type: Cineál + reports: Tuairiscí + report: + fields: + reason: Cúis + layouts: + decidim: + admin: + settings: + title: Socruithe diff --git a/decidim-admin/config/locales/ja.yml b/decidim-admin/config/locales/ja.yml index df1affb5d84fa..d50dbf3e670c3 100644 --- a/decidim-admin/config/locales/ja.yml +++ b/decidim-admin/config/locales/ja.yml @@ -32,7 +32,7 @@ ja: body: 本文 subject: 件名 organization: - admin_terms_of_use_body: 管理者の利用規約の本文 + admin_terms_of_use_body: 管理者向け利用規約の本文 alert_color: アラート available_authorizations: 利用可能な認証方式 badges_enabled: バッジを有効にする @@ -174,18 +174,18 @@ ja: verify: 確認する admin_terms_of_use: accept: - error: 管理者の利用規約に同意中にエラーが発生しました。 - success: 素晴らしい!管理者の利用規約に同意しました。 + error: 管理者向け利用規約に同意中にエラーが発生しました。 + success: ありがとうございます、管理者向け利用規約に同意しました。 actions: accept: 次の規約に同意します are_you_sure: 管理者の条件を拒否してもよろしいですか? refuse: 同意しない title: 利用規約に同意する required_review: - alert: '必須:管理者の利用規約を確認してください' + alert: '必須:管理者向け利用規約を確認してください' callout: 管理者の利用規約を確認してください。そうでなければ、プラットフォームを管理することはできません。 cta: 今すぐレビューしましょう。 - title: 管理者の利用条件 + title: 管理者向け利用規約 area_types: create: error: 新しいエリアタイプの作成中に問題が発生しました。 diff --git a/decidim-assemblies/config/locales/el.yml b/decidim-assemblies/config/locales/el.yml index f3bea8f8c33a3..42b328d1b9640 100644 --- a/decidim-assemblies/config/locales/el.yml +++ b/decidim-assemblies/config/locales/el.yml @@ -1,6 +1,8 @@ el: activemodel: attributes: + assemblies_setting: + enable_organization_chart: Ενεργοποίηση οργανογράμματος assembly: area_id: Τομέας assembly_type: Τύπος συνέλευσης @@ -246,6 +248,7 @@ el: update: "Ο χρήστης %{user_name} ενημέρωσε τις ρυθμίσεις των συνελεύσεων" assembly_type: create: "Ο χρήστης %{user_name} δημιούργησε τον τύπο συνέλευσης %{resource_name}" + delete: "Ο χρήστης %{user_name} αφαίρεσε τον τύπο συνέλευσης %{resource_name}" publish: "Ο χρήστης %{user_name} δημοσίευσε τον τύπο συνέλευσης %{resource_name}" unpublish: "Ο χρήστης %{user_name} κατάργησε τη δημοσίευση του τύπου συνέλευσης %{resource_name}" update: "Ο χρήστης %{user_name} ενημέρωσε τον τύπο συνέλευσης %{resource_name}" @@ -417,8 +420,8 @@ el: help: participatory_spaces: assemblies: - contextual: "

    Μια συνέλευση είναι μια ομάδα μελών ενός οργανισμού, που συναντώνται περιοδικά για να λάβουν αποφάσεις σχετικά με έναν συγκεκριμένο τομέα ή πεδίο εφαρμογής του οργανισμού.

    Οι συνελεύσεις πραγματοποιούν συσκέψεις, μερικές είναι ιδιωτικές και μερικές είναι ανοιχτές. Εάν είναι ανοιχτές, είναι δυνατόν να συμμετάσχετε σε αυτές (για παράδειγμα: να παρακολουθήσετε, εάν το επιτρέπει η ικανότητα, να προσθέσετε σημεία στην ημερήσια διάταξη ή να σχολιάσετε τις προτάσεις και τις αποφάσεις που λαμβάνονται από αυτό το όργανο).

    Παραδείγματα: Μια γενική συνέλευση (η οποία συνεδριάζει μία φορά τον χρόνο για τον καθορισμό των βασικών γραμμών δράσης του οργανισμού καθώς και των εκτελεστικών οργάνων του με ψηφοφορία), ένα γνωμοδοτικό συμβούλιο για την ισότητα (το οποίο συνεδριάζει κάθε δύο μήνες για να υποβάλει προτάσεις σχετικά με τον τρόπο βελτίωσης των σχέσεων μεταξύ των φύλων στον οργανισμό), μια επιτροπή αξιολόγησης (η οποία συνεδριάζει κάθε μήνα για την παρακολούθηση μιας διαδικασίας) ή ένας οργανισμός εγγύησης (ο οποίος συλλέγει περιστατικά, καταχρήσεις ή προτάσεις για τη βελτίωση των διαδικασιών λήψης αποφάσεων) αποτελούν όλα παραδείγματα συνελεύσεων.

    " - page: "

    Μια συνέλευση είναι μια ομάδα μελών ενός οργανισμού, που συναντώνται περιοδικά για να λάβουν αποφάσεις σχετικά με έναν συγκεκριμένο τομέα ή πεδίο εφαρμογής του οργανισμού.

    Οι συνελεύσεις πραγματοποιούν συσκέψεις, μερικές είναι ιδιωτικές και μερικές είναι ανοιχτές. Εάν είναι ανοιχτές, είναι δυνατόν να συμμετάσχετε σε αυτές (για παράδειγμα: να παρακολουθήσετε, εάν το επιτρέπει η ικανότητα, να προσθέσετε σημεία στην ημερήσια διάταξη ή να σχολιάσετε τις προτάσεις και τις αποφάσεις που λαμβάνονται από αυτό το όργανο).

    Παραδείγματα: Μια γενική συνέλευση (η οποία συνεδριάζει μία φορά τον χρόνο για τον καθορισμό των βασικών γραμμών δράσης του οργανισμού καθώς και των εκτελεστικών οργάνων του με ψηφοφορία), ένα γνωμοδοτικό συμβούλιο για την ισότητα (το οποίο συνεδριάζει κάθε δύο μήνες για να υποβάλει προτάσεις σχετικά με τον τρόπο βελτίωσης των σχέσεων μεταξύ των φύλων στον οργανισμό), μια επιτροπή αξιολόγησης (η οποία συνεδριάζει κάθε μήνα για την παρακολούθηση μιας διαδικασίας) ή ένας οργανισμός εγγύησης (ο οποίος συλλέγει περιστατικά, καταχρήσεις ή προτάσεις για τη βελτίωση των διαδικασιών λήψης αποφάσεων) αποτελούν όλα παραδείγματα συνελεύσεων.

    " + contextual: "

    Μια συνέλευση είναι μια ομάδα μελών ενός οργανισμού, που συναντώνται περιοδικά για να λάβουν αποφάσεις σχετικά με έναν συγκεκριμένο τομέα ή πεδίο εφαρμογής του οργανισμού.

    Οι συνελεύσεις πραγματοποιούν συσκέψεις, μερικές είναι ιδιωτικές και μερικές είναι ανοιχτές. Εάν είναι ανοιχτές, είναι δυνατόν να συμμετάσχετε σε αυτές (για παράδειγμα: να παρακολουθήσετε, εάν το επιτρέπει η ικανότητα, να προσθέσετε σημεία στην ημερήσια διάταξη ή να σχολιάσετε τις προτάσεις και τις αποφάσεις που λαμβάνονται από αυτό το όργανο).

    Παραδείγματα: Μια γενική συνέλευση (η οποία συνεδριάζει μία φορά τον χρόνο για τον καθορισμό των βασικών γραμμών δράσης του οργανισμού καθώς και των εκτελεστικών οργάνων του με ψηφοφορία), ένα γνωμοδοτικό συμβούλιο για την ισότητα (το οποίο συνεδριάζει κάθε δύο μήνες για να υποβάλει προτάσεις σχετικά με τον τρόπο βελτίωσης των σχέσεων μεταξύ των φύλων στον οργανισμό), μια επιτροπή αξιολόγησης (η οποία συνεδριάζει κάθε μήνα για την παρακολούθηση μιας διαδικασίας) ή ένας οργανισμός εγγύησης (ο οποίος συλλέγει περιστατικά, καταχρήσεις ή προτάσεις για τη βελτίωση των διαδικασιών λήψης αποφάσεων) αποτελούν όλα παραδείγματα συνελεύσεων.

    \n" + page: "

    Μια συνέλευση είναι μια ομάδα μελών ενός οργανισμού, που συναντώνται περιοδικά για να λάβουν αποφάσεις σχετικά με έναν συγκεκριμένο τομέα ή πεδίο εφαρμογής του οργανισμού.

    Οι συνελεύσεις πραγματοποιούν συσκέψεις, μερικές είναι ιδιωτικές και μερικές είναι ανοιχτές. Εάν είναι ανοιχτές, είναι δυνατόν να συμμετάσχετε σε αυτές (για παράδειγμα: να παρακολουθήσετε, εάν το επιτρέπει η ικανότητα, να προσθέσετε σημεία στην ημερήσια διάταξη ή να σχολιάσετε τις προτάσεις και τις αποφάσεις που λαμβάνονται από αυτό το όργανο).

    Παραδείγματα: Μια γενική συνέλευση (η οποία συνεδριάζει μία φορά τον χρόνο για τον καθορισμό των βασικών γραμμών δράσης του οργανισμού καθώς και των εκτελεστικών οργάνων του με ψηφοφορία), ένα γνωμοδοτικό συμβούλιο για την ισότητα (το οποίο συνεδριάζει κάθε δύο μήνες για να υποβάλει προτάσεις σχετικά με τον τρόπο βελτίωσης των σχέσεων μεταξύ των φύλων στον οργανισμό), μια επιτροπή αξιολόγησης (η οποία συνεδριάζει κάθε μήνα για την παρακολούθηση μιας διαδικασίας) ή ένας οργανισμός εγγύησης (ο οποίος συλλέγει περιστατικά, καταχρήσεις ή προτάσεις για τη βελτίωση των διαδικασιών λήψης αποφάσεων) αποτελούν όλα παραδείγματα συνελεύσεων.

    \n" title: Τι είναι οι συνελεύσεις; log: value_types: diff --git a/decidim-assemblies/config/locales/ga-IE.yml b/decidim-assemblies/config/locales/ga-IE.yml index 20a9da24e96f1..8b547322ee0ce 100644 --- a/decidim-assemblies/config/locales/ga-IE.yml +++ b/decidim-assemblies/config/locales/ga-IE.yml @@ -1 +1,176 @@ ga: + activemodel: + attributes: + assembly: + area_id: Ceantar + copy_categories: Cóipeáil catagóirí + decidim_area_id: Ceantar + decidim_scope_id: Scóip + domain: Fearann + duration: Fad + facebook: Facebook + github: GitHub + hashtag: Haischlib + participatory_processes_ids: Próisis Rannpháirteacha Ceangailte + scope_id: Scóip + slug: Píosa URL + subtitle: Fotheideal + title: Teideal + twitter: Twitter + weight: Meáchan + youtube: YouTube + assembly_member: + birthday: Breithlá + gender: Inscne + position: Céim + user_id: Úsáideoir + assembly_user_role: + email: Seoladh ríomhphoist + name: Ainm + role: Ról + activerecord: + models: + decidim/assembly: + one: Tionól + two: Tionóil + few: Tionóil + many: Tionóil + other: Tionóil + decidim: + admin: + actions: + import_assembly: Iompórtáil + assemblies: + edit: + update: Nuashonraigh + index: + private: Príobháideach + public: Poblach + new: + create: Cruthaigh + assemblies_types: + new: + create: Cruthaigh + assembly_copies: + new: + copy: Cóipeáil + assembly_imports: + new: + import: Iompórtáil + assembly_members: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + assembly_user_roles: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + menu: + assemblies_settings: Socruithe + assemblies_submenu: + assembly_members: Baill + attachment_collections: Fillteáin + attachment_files: Comhaid + attachments: Ceangaltáin + categories: Catagóirí + info: Eolas + models: + assemblies_types: + fields: + title: Teideal + assembly: + fields: + private: Príobháideach + title: Teideal + name: Tionól + assembly_member: + fields: + full_name: Ainm + position: Céim + name: Ball + positions: + other: Eile + assembly_user_role: + fields: + email: Seoladh ríomhphoist + name: Ainm + role: Ról + roles: + admin: Riarthóir + assemblies: + admin: + assemblies: + form: + duration: Fad + filters: Scagairí + images: Íomhánna + metadata: Meiteashonraí + other: Eile + social_handlers: Sóisialta + assemblies_settings: + edit: + update: Nuashonraigh + assemblies_types: + form: + title: Teideal + assembly_members: + index: + filter: + all: Uile + ceased: Stadta + search: Cuardaigh + new_import: + accepted_types: + json: JSON + assembly_members: + index: + members: Baill + assembly_types: + others: Eile + created_by: + others: Eile + public: Poblach + filter: + help: 'Taispeáin:' + others: Eile + show: + area: Ceantar + duration: Fad + is_transparent: + 'false': doiléir + related_participatory_processes: Próisis Rannpháirteacha Ceangailte + scope: Scóip + statistics: + answers_count: Freagraí + comments_count: Tráchtanna + debates_count: Díospóireachtaí + endorsements_count: Formhuinithe + followers_count: Leantóirí + headline: Staitisticí + meetings_count: Cruinnithe + no_stats: Níl aon staitisticí ann fós. + orders_count: Tacaíochtaí + pages_count: Leathanaigh + posts_count: Postálacha + processes_count: Próisis + projects_count: Tionscadail + results_count: Torthaí + supports_count: Tacaíochtaí + surveys_count: Suirbhéanna + votes_count: Tacaíochtaí + assembly_members: + index: + title: Baill + pages: + home: + sub_hero: + register_title: Cláraigh le cuntas a chruthú + layouts: + decidim: + assemblies: + index: + reset_chart: Athshocraigh + assembly_navigation: + assembly_member_menu_item: Baill diff --git a/decidim-blogs/config/locales/el.yml b/decidim-blogs/config/locales/el.yml index 6963086de0216..4d132caa4ee6f 100644 --- a/decidim-blogs/config/locales/el.yml +++ b/decidim-blogs/config/locales/el.yml @@ -1,7 +1,7 @@ el: activemodel: models: - decidim/blogs/create_post_event: Νέα δημοσίευση ιστολογίου + decidim/blogs/create_post_event: Νέα ανάρτηση ιστολογίου activerecord: models: decidim/blogs/post: @@ -23,22 +23,23 @@ el: name: Δημοσίευση posts: create: - invalid: Υπήρξε ένα πρόβλημα κατά τη δημιουργία αυτής της δημοσίευσης + invalid: Υπήρξε ένα πρόβλημα κατά τη δημιουργία αυτής της ανάρτησης success: Η δημοσίευση δημιουργήθηκε με επιτυχία destroy: - success: Η δημοσίευση διαγράφηκε με επιτυχία + success: Η ανάρτηση διαγράφηκε με επιτυχία edit: save: Ενημέρωση + title: Επεξεργασία ανάρτησης index: title: Δημοσιεύσεις new: create: Δημιουργία title: Δημιουργία δημοσίευσης update: - invalid: Υπήρξε ένα πρόβλημα κατά την αποθήκευση της δημοσίευσης. - success: Η δημοσίευση αποθηκεύτηκε με επιτυχία + invalid: Υπήρξε ένα πρόβλημα κατά την αποθήκευση της ανάρτησης. + success: Η ανάρτηση αποθηκεύτηκε με επιτυχία last_activity: - new_post_at_html: "Νέα δημοσίευση στις %{link}" + new_post_at_html: "Νέα ανάρτηση στις %{link}" models: post: fields: @@ -53,7 +54,7 @@ el: view: Προβολή sidebar_blog: comments: σχόλια - most_commented_posts: Δημοσιεύσεις με τα περισσότερα σχόλια + most_commented_posts: Ανάρτήσεις με τα περισσότερα σχόλια read_more: Διαβάστε περισσότερα components: blogs: @@ -71,10 +72,10 @@ el: events: blogs: post_created: - email_intro: Η δημοσίευση «%{resource_title}» έχει δημοσιευτεί στον χώρο συμμετοχής «%{participatory_space_title}» που ακολουθείτε. + email_intro: Η ανάρτηση «%{resource_title}» έχει δημοσιευτεί στον χώρο συμμετοχής «%{participatory_space_title}» που ακολουθείτε. email_outro: Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τον χώρο συμμετοχής «%{participatory_space_title}». Μπορείτε να σταματήσετε να τον ακολουθείτε από τον προηγούμενο σύνδεσμο. - email_subject: Νέα δημοσίευση δημοσιεύτηκε στον χώρο συμμετοχής %{participatory_space_title} - notification_title: Η δημοσίευση %{resource_title} δημοσιεύτηκε στον χώρο συμμετοχής %{participatory_space_title} + email_subject: Νέα ανάρτηση δημοσιεύτηκε στον χώρο συμμετοχής %{participatory_space_title} + notification_title: Η ανάρτηση %{resource_title} δημοσιεύτηκε στον χώρο συμμετοχής %{participatory_space_title} pages: home: statistics: diff --git a/decidim-blogs/config/locales/ga-IE.yml b/decidim-blogs/config/locales/ga-IE.yml index 20a9da24e96f1..f10eb37a3dc43 100644 --- a/decidim-blogs/config/locales/ga-IE.yml +++ b/decidim-blogs/config/locales/ga-IE.yml @@ -1 +1,47 @@ ga: + decidim: + blogs: + actions: + destroy: Scrios + edit: Eagar + new: Postáil nua + title: Gníomhartha + admin: + models: + components: + body: Corp + post: + name: Postáil + posts: + edit: + save: Nuashonraigh + index: + title: Postálacha + new: + create: Cruthaigh + models: + post: + fields: + author: Údar + body: Corp + title: teideal + posts: + show: + comments: Tráchtanna + view: Amharc + sidebar_blog: + comments: tráchtanna + components: + blogs: + name: Blag + settings: + step: + endorsements_blocked: Formhuinithe blocáilte + endorsements_enabled: Formhuinithe cumasaithe + pages: + home: + statistics: + posts_count: Postálacha + participatory_processes: + statistics: + posts_count: Postálacha diff --git a/decidim-budgets/config/locales/el.yml b/decidim-budgets/config/locales/el.yml index fadc55c26d901..efc81bc66053a 100644 --- a/decidim-budgets/config/locales/el.yml +++ b/decidim-budgets/config/locales/el.yml @@ -1,11 +1,18 @@ el: activemodel: attributes: + budget: + decidim_scope_id: Πεδίο εφαρμογής + description: Περιγραφή + title: Τίτλος + total_budget: Συνολικός προϋπολογισμός project: + budget_amount: Ποσό προϋπολογισμού decidim_category_id: Κατηγορία decidim_scope_id: Πεδίο εφαρμογής description: Περιγραφή proposal_ids: Σχετικές προτάσεις + selected: Επιλεγμένο για εφαρμογή title: Τίτλος activerecord: models: @@ -20,11 +27,39 @@ el: confirm_destroy: Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το έργο; destroy: Διαγραφή edit: Επεξεργασία + edit_projects: Διαχείριση έργων import: Εισαγωγή προτάσεων σε έργα + new: Νέο %{name} preview: Προεπισκόπηση title: Ενέργειες admin: + budgets: + create: + invalid: Υπήρξε ένα πρόβλημα στη δημιουργία αυτού του προϋπολογισμού + success: Ο προϋπολογισμός δημιουργήθηκε επιτυχώς + destroy: + invalid: Υπήρξε πρόβλημα με τη διαγραφή αυτού του προϋπολογισμού + success: Ο προϋπολογισμός διαγράφηκε επιτυχώς + edit: + title: Επεξεργασία προϋπολογισμού + update: Ενημέρωση προϋπολογισμού + index: + finished_orders: Ολοκληρωμένοι ψήφοι + pending_orders: Εκκρεμείς ψήφοι + title: Προϋπολογισμοί + users_with_finished_orders: Χρήστες με ολοκληρωμένους ψήφους + users_with_pending_orders: Χρήστες με εκκρεμείς ψήφους + new: + create: Δημιουργία προϋπολογισμού + title: Νέος προϋπολογισμός + update: + invalid: Υπήρξε πρόβλημα στην ενημέρωση αυτού του προϋπολογισμού + success: Ο προϋπολογισμός ενημερώθηκε επιτυχώς + exports: + projects: Έργα models: + budget: + name: Προϋπολογισμός project: name: Έργο projects: @@ -39,6 +74,7 @@ el: index: finished_orders: Ολοκληρωμένες ψηφοφορίες pending_orders: Ψηφοφορίες σε εκκρεμότητα + selected: Επιλεγμένο title: Έργα new: create: Δημιουργία @@ -54,12 +90,41 @@ el: create: Εισαγωγή προτάσεων σε έργα no_components: Δεν υπάρχουν άλλα στοιχεία προτάσεων σε αυτόν τον χώρο συμμετοχής για εισαγωγή των προτάσεων σε έργα. select_component: Επιλέξτε ένα στοιχείο + title: Προτάσεις εισαγωγής admin_log: + budget: + create: "%{user_name} δημιούργησε τον προϋπολογισμό %{resource_name} στον χώρο %{space_name}" + delete: "%{user_name} διέγραψε τον προϋπολογισμό %{resource_name} στο χώρο %{space_name}" + update: "%{user_name} ενημέρωση του προϋπολογισμού %{resource_name} στο χώρο %{space_name}" project: create: "Ο χρήστης %{user_name} δημιούργησε το έργο %{resource_name} στον χώρο %{space_name}" delete: "Ο χρήστης %{user_name} διέγραψε το έργο %{resource_name} στον χώρο %{space_name}" update: "Ο χρήστης %{user_name} ενημέρωσε το έργο %{resource_name} στον χώρο %{space_name}" + budget: + view: Προβολή όλων των σχεδίων προϋπολογισμού + budget_information_modal: + back_to: Πίσω στο %{component_name} + close_modal: Κλείσιμο παραθύρου + continue: Συνέχεια + more_information: Περισσότερες πληροφορίες + budgets_list: + cancel_order: + more_than_one: διαγράψτε την ψήφο σας στο %{name} και ξεκινήστε από την αρχή + only_one: διαγράψτε την ψήφο σας και ξεκινήστε από την αρχή. + finished_message: Ολοκληρώσατε τη διαδικασία ψηφοφορίας. Ευχαριστούμε για τη συμμετοχή σας! + highlighted_cta: Ψηφίστε για %{name} + if_change_opinion: Αν αλλάξατε γνώμη, μπορείτε να + my_budgets: Οι προϋπολογισμοί μου + voted_on: Έχετε ψηφίσει για %{links} + limit_announcement: + cant_vote: Δεν μπορείτε να ψηφίσετε αυτόν τον προϋπολογισμό. Δοκιμάστε έναν άλλο προϋπολογισμό. + limit_reached: Έχετε ενεργές ψήφους στο %{links}. Για να ψηφίσετε αυτόν τον προϋπολογισμό πρέπει να διαγράψετε την ψήφο σας και να ξεκινήσετε από την αρχή. models: + budget: + fields: + name: Όνομα + projects_count: Πλήθος έργων + total_budget: Συνολικός προϋπολογισμός project: fields: title: Τίτλος @@ -67,17 +132,25 @@ el: order_summary: selected_projects: 'Τα έργα που έχετε επιλέξει είναι τα εξής:' subject: Ψηφίσατε για τον χώρο συμμετοχής %{space_name} + voted_on_space: Ψηφίσατε τον %{budget_name} προϋπολογισμό για τον %{space_name} συμμετοχικό χώρο. + voted_on_space_with_scope: Ψηφίσατε τον %{budget_name} προϋπολογισμό για τον %{space_name} συμμετοχικό χώρο στο %{scope_name} (%{scope_type}). projects: budget_confirm: + are_you_sure: Αν αλλάξετε γνώμη, μπορείτε να αλλάξετε την ψήφο σας αργότερα. cancel: Ακύρωση confirm: Επιβεβαίωση description: Αυτά είναι τα έργα για τα οποία έχετε επιλέξει να συμμετάσχετε στον προϋπολογισμό. title: Επιβεβαίωση ψήφου budget_excess: budget_excess: + description: Το έργο αυτό υπερβαίνει τον μέγιστο προϋπολογισμό και δεν μπορεί να προστεθεί. Εάν θέλετε, μπορείτε να διαγράψετε ένα έργο που έχετε ήδη επιλέξει να προσθέσετε ή να κάνετε την ψήφο σας σύμφωνα με τις προτιμήσεις σας. title: Υπέρβαση του μέγιστου προϋπολογισμού close: Κλείσιμο + description: Το έργο αυτό υπερβαίνει τον μέγιστο προϋπολογισμό και δεν μπορεί να προστεθεί. Εάν θέλετε, μπορείτε να διαγράψετε ένα έργο που έχετε ήδη επιλέξει να προσθέσετε ή να κάνετε την ψήφο σας σύμφωνα με τις προτιμήσεις σας. ok: OK + projects_excess: + description: Αυτό το έργο υπερβαίνει τον μέγιστο αριθμό έργων και δεν μπορεί να προστεθεί. Εάν θέλετε, μπορείτε να διαγράψετε ένα έργο που έχετε ήδη επιλέξει να προσθέσετε ή να κάνετε την ψήφο σας σύμφωνα με τις προτιμήσεις σας. + title: Υπέρβαση των μέγιστων έργων budget_summary: are_you_sure: Είστε βέβαιοι ότι θέλετε να ακυρώσετε την ψήφο σας; assigned: 'Εκχωρήθηκε:' @@ -85,7 +158,23 @@ el: checked_out: description: Έχετε ήδη ψηφίσει για τον προϋπολογισμό. Εάν αλλάξατε γνώμη, μπορείτε να %{cancel_link}. title: Ολοκληρώθηκε η ψηφοφορία για τον προϋπολογισμό + minimum_projects_rule: + description: Για ποια έργα πιστεύετε ότι πρέπει να διαθέσουμε προϋπολογισμό Επιλέξτε τουλάχιστον %{minimum_number} έργα που επιθυμείτε και ψηφίστε σύμφωνα με τις προτιμήσεις σας για τον καθορισμό του προϋπολογισμού. + instruction: "
  • Επιλέξτε τουλάχιστον %{minimum_number} έργα που επιθυμείτε και ψηφίστε σύμφωνα με τις προτιμήσεις σας για να καθορίσετε τον προϋπολογισμό.
  • " + projects_rule: + description: Για ποια έργα πιστεύετε ότι πρέπει να διαθέσουμε προϋπολογισμό; Επιλέξτε τουλάχιστον %{minimum_number} και μέχρι %{maximum_number} έργα που θέλετε και ψηφίστε σύμφωνα με τις προτιμήσεις σας για να καθορίσετε τον προϋπολογισμό. + instruction: "
  • Επιλέξτε τουλάχιστον %{minimum_number} και μέχρι %{maximum_number} έργα που θέλετε και ψηφίστε σύμφωνα με τις προτιμήσεις σας για να καθορίσετε τον προϋπολογισμό.
  • " + projects_rule_maximum_only: + description: Για ποια έργα πιστεύετε ότι πρέπει να διαθέσουμε προϋπολογισμό; Επιλέξτε μέχρι %{maximum_number} έργα που θέλετε και ψηφίστε σύμφωνα με τις προτιμήσεις σας για να καθορίσετε τον προϋπολογισμό. + instruction: "
  • Επιλέξτε έως και %{maximum_number} έργα που θέλετε και ψηφίστε σύμφωνα με τις προτιμήσεις σας για να καθορίσετε τον προϋπολογισμό.
  • " + rules: + title: Κανόνες προϋπολογισμού title: Εσείς αποφασίζετε τον προϋπολογισμό + total_budget: Συνολικός προϋπολογισμός + total_projects: Σύνολο ψήφων + vote_threshold_percent_rule: + description: Για ποια έργα πιστεύετε ότι πρέπει να διαθέσουμε προϋπολογισμό Δώστε τουλάχιστον %{minimum_budget} στα έργα που θέλετε και ψηφίστε σύμφωνα με τις προτιμήσεις σας για να καθορίσετε τον προϋπολογισμό. + instruction: "
  • Αναθέστε τουλάχιστον %{minimum_budget} στα έργα που θέλετε και ψηφίστε σύμφωνα με τις προτιμήσεις σας για να καθορίσετε τον προϋπολογισμό.
  • " count: projects_count: one: 1 έργο @@ -94,6 +183,11 @@ el: category: Κατηγορία scope: Πεδίο εφαρμογής search: Αναζήτηση + status: Κατάσταση + status_values: + all: Όλα + not_selected: Δεν έχει επιλεγεί + selected: Επιλεγμένο filters_small_view: close_modal: Κλείσιμο βοηθητικού στοιχείου filter: Φίλτρο @@ -113,15 +207,22 @@ el: lowest_cost: Χαμηλότερο κόστος most_voted: Με τις περισσότερες ψήφους random: Τυχαία σειρά + selected: Επιλεγμένο project: add: Προσθήκη του έργου %{resource_name} στην ψήφο σας remove: Αφαίρεση του έργου %{resource_name} από την ψήφο σας + selected: Επιλεγμένο view: Προβολή + votes: + one: ψήφος + other: ψήφοι + you_voted: Το ψηφίσατε project_budget_button: - add: Προσθήκη στην ψήφο + add: Προσθέστε στην ψήφο σας add_descriptive: Προσθήκη του έργου %{resource_name} στην ψήφο σας added: Προστέθηκε στην ψήφο σας added_descriptive: Το έργο %{resource_name} προστέθηκε στην ψήφο σας + projects_for: Έργα για %{name} show: budget: Προϋπολογισμός view_all_projects: Προβολή όλων των έργων @@ -139,18 +240,46 @@ el: errors: budget_voting_rule_only_one: Μόνο ένας κανόνας ψηφοφορίας πρέπει να είναι ενεργοποιημένος budget_voting_rule_required: Απαιτείται ένας κανόνας ψηφοφορίας + landing_page_content: Σελίδα προορισμού προϋπολογισμών + more_information_modal: Παράθυρο για περισσότερες πληροφορίες projects_per_page: Έργα ανά σελίδα + resources_permissions_enabled: Τα δικαιώματα ενεργειών μπορούν να οριστούν για κάθε έργο + scope_id: Πεδίο εφαρμογής + scopes_enabled: Ενεργοποιημένα πεδία εφαρμογών + title: Τίτλος total_budget: Συνολικός προϋπολογισμός vote_minimum_budget_projects_number: Ελάχιστος αριθμός έργων προς ψηφοφορία vote_rule_minimum_budget_projects_enabled: 'Ενεργοποίηση κανόνα: Ελάχιστος αριθμός έργων προς ψηφοφορία' + vote_rule_selected_projects_enabled: 'Ενεργοποίηση κανόνα: Επιλεγμένα έργα με ελάχιστο και μέγιστο αριθμό έργων προς ψήφιση' vote_rule_threshold_percent_enabled: 'Ενεργοποίηση κανόνα: Ελάχιστο ποσοστό προϋπολογισμού' + vote_selected_projects_maximum: Μέγιστο ποσό έργων προς επιλογή + vote_selected_projects_minimum: Ελάχιστος αριθμός έργων προς επιλογή vote_threshold_percent: Ποσοστό ορίου ψηφοφορίας + workflow: Ροή εργασίας + workflow_choices: + all: 'Ψήφος σε όλους: επιτρέπει στους συμμετέχοντες να ψηφίσουν σε όλους τους προϋπολογισμούς.' + one: 'Ψηφίστε σε έναν: επιτρέπει στους συμμετέχοντες να ψηφίσουν σε οποιονδήποτε προϋπολογισμό, αλλά μόνο σε έναν.' step: announcement: Ανακοίνωση comments_blocked: Τα σχόλια αποκλείστηκαν + highlighted_heading: Επισημασμένη επικεφαλίδα + landing_page_content: Σελίδα προορισμού προϋπολογισμών + list_heading: Επικεφαλίδα καταλόγου + more_information_modal: Παράθυρο για περισσότερες πληροφορίες show_votes: Εμφάνιση ψήφων + title: Τίτλος + votes: Ψηφοφορία votes_choices: + disabled: Απενεργοποιημένη ψηφοφορία enabled: Η ψηφοφορία ενεργοποιήθηκε + finished: Η ψηφοφορία ολοκληρώθηκε + events: + budgets: + budget_published: + email_intro: 'Ο προϋπολογισμός %{resource_title} είναι τώρα ενεργός για το %{participatory_space_title}. Μπορείτε να τον δείτε από αυτή τη σελίδα:' + email_outro: Λάβατε αυτή την ειδοποίηση επειδή ακολουθείτε το %{participatory_space_title}. Μπορείτε να σταματήσετε να λαμβάνετε ειδοποιήσεις ακολουθώντας τον προηγούμενο σύνδεσμο. + email_subject: Ο προϋπολογισμός %{resource_title} είναι τώρα ενεργός για το %{participatory_space_title}. + notification_title: Ο προϋπολογισμός %{resource_title} είναι τώρα ενεργός για το %{participatory_space_title}. orders: checkout: error: Υπήρξε ένα πρόβλημα κατά την επεξεργασία της ψήφου σας diff --git a/decidim-budgets/config/locales/ga-IE.yml b/decidim-budgets/config/locales/ga-IE.yml index 20a9da24e96f1..41f6f51fd9d84 100644 --- a/decidim-budgets/config/locales/ga-IE.yml +++ b/decidim-budgets/config/locales/ga-IE.yml @@ -1 +1,85 @@ ga: + activemodel: + attributes: + budget: + decidim_scope_id: Scóip + title: Teideal + weight: Meáchan + project: + decidim_category_id: Catagóir + decidim_scope_id: Scóip + title: Teideal + decidim: + budgets: + actions: + attachment_collections: Fillteáin + attachments: Ceangaltáin + destroy: Scrios + edit: Eagar + preview: Réamhamharc + title: Gníomhartha + admin: + budgets: + index: + title: Buiséid + exports: + projects: Tionscadail + models: + budget: + name: Buiséad + project: + name: Tionscadal + projects: + edit: + update: Nuashonraigh + index: + title: Tionscadail + new: + create: Cruthaigh + budget_information_modal: + continue: Lean ar aghaidh + models: + budget: + fields: + name: Ainm + project: + fields: + title: Teideal + projects: + budget_confirm: + cancel: Cealaigh + confirm: Deimhnigh + budget_excess: + close: Dún + ok: Togha + filters: + category: Catagóir + scope: Scóip + search: Cuardaigh + status: Stádas + status_values: + all: Uile + filters_small_view: + filter: Scag + unfold: Oscail + order_progress: + vote: Vóta + order_selected_projects: + remove: Bain as + view: Amharc + project: + view: Amharc + show: + budget: Buiséad + components: + budgets: + actions: + vote: Vótáil + name: Buiséid + settings: + global: + scope_id: Scóip + title: Teideal + step: + title: Teideal + votes: Vótáil diff --git a/decidim-comments/config/locales/el.yml b/decidim-comments/config/locales/el.yml index fbf0569e23c3f..2f008b6b060a3 100644 --- a/decidim-comments/config/locales/el.yml +++ b/decidim-comments/config/locales/el.yml @@ -16,9 +16,14 @@ el: other: Ψήφοι decidim: comments: + comments: + create: + error: Υπήρξε ένα πρόβλημα στη δημιουργία του σχολίου. comments_count: Αριθμός σχολίων + comments_title: Σχόλια last_activity: new_comment_at_html: "Νέο σχόλιο στο %{link}" + view: Προβολή votes: create: error: Υπήρξε ένα πρόβλημα κατά την ψηφοφορία του σχολίου. @@ -34,7 +39,7 @@ el: user_group_id: label: Σχόλιο ως opinion: - neutral: Ούτε ικανοποιημένος/η ούτε δυσαρεστημένος/η + neutral: Ουδέτερη remaining_characters: "%{count} χαρακτήρες απομένουν" remaining_characters_1: "%{count} χαρακτήρας απομένει" title: Προσθέστε το σχόλιό σας @@ -74,6 +79,9 @@ el: loading: Φόρτωση σχολίων... single_comment_warning: Μπορείτε να δείτε τα υπόλοιπα σχόλια εδώ. single_comment_warning_title: Βλέπετε ένα μόνο σχόλιο + title: + one: "%{count} σχόλιο" + other: "%{count} σχόλια" down_vote_button: text: Δεν συμφωνώ με αυτό το σχόλιο up_vote_button: @@ -95,6 +103,16 @@ el: email_outro: Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε το στοιχείο «%{resource_title}» ή τον συντάκτη του. Μπορείτε να σταματήσετε να την ακολουθείτε από τον προηγούμενο σύνδεσμο. email_subject: Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title} notification_title: Υπάρχει ένα νέο σχόλιο από τον συντάκτη%{author_name} %{author_nickname} στο στοιχείο %{resource_title} + comment_downvoted: + email_intro: Το σχόλιό σας στο "%{resource_title}" έχει καταψηφιστεί. Τώρα έχει συνολικές ψήφους %{upvotes} υπέρ και %{downvotes} κατά. + email_outro: Λάβατε αυτή την ειδοποίηση επειδή είστε ο συγγραφέας αυτού του σχολίου. + email_subject: Το σχόλιό σας στο "%{resource_title}" έχει καταψηφιστεί. + notification_title: Το σχόλιό σας στο "%{resource_title}" έχει καταψηφιστεί. Τώρα έχει συνολικές ψήφους %{upvotes} υπέρ και %{downvotes} κατά. + comment_upvoted: + email_intro: Το σχόλιό σας στο "%{resource_title}" έχει υπερψηφιστεί. Τώρα έχει συνολικές ψήφους %{upvotes} υπέρ και %{downvotes} κατά. + email_outro: Λάβατε αυτή την ειδοποίηση επειδή είστε ο συγγραφέας αυτού του σχολίου. + email_subject: Το σχόλιό σας στο "%{resource_title}" έχει υπςρψηφιστεί. + notification_title: Το σχόλιό σας στο "%{resource_title}" έχει υπερψηφιστεί. Τώρα έχει συνολικές ψήφους %{upvotes} υπέρ και %{downvotes} κατά. reply_created: email_intro: "Ο συντάκτης %{author_name} απάντησε στο σχόλιό σας στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:" email_outro: Λάβατε αυτήν την ειδοποίηση, επειδή το σχόλιό σας απαντήθηκε. diff --git a/decidim-comments/config/locales/ga-IE.yml b/decidim-comments/config/locales/ga-IE.yml index 20a9da24e96f1..0b73d0c48488a 100644 --- a/decidim-comments/config/locales/ga-IE.yml +++ b/decidim-comments/config/locales/ga-IE.yml @@ -1 +1,35 @@ ga: + activemodel: + models: + decidim/comments/comment_by_followed_user_event: Trácht + decidim/comments/comment_created_event: Trácht + decidim/comments/user_group_mentioned_event: Luaigh + decidim/comments/user_mentioned_event: Luaigh + decidim: + comments: + comments_title: Tráchtanna + view: Amharc + components: + add_comment_form: + form: + body: + label: Trácht + submit: Seol + opinion: + neutral: Neodrach + comment: + alignment: + against: In Aghaidh + in_favor: I bhfabhar + reply: Freagra + report: + action: Tuairiscigh + close: Dún + comment_order_selector: + order: + older: Níos Sine + recent: Is Déanaí + metrics: + comments: + object: tráchtanna + title: Tráchtanna diff --git a/decidim-comments/config/locales/lb-LU.yml b/decidim-comments/config/locales/lb-LU.yml index 823df018114f4..f61ed78130cf3 100644 --- a/decidim-comments/config/locales/lb-LU.yml +++ b/decidim-comments/config/locales/lb-LU.yml @@ -1 +1,6 @@ lb: + activemodel: + models: + decidim/comments/comment_by_followed_user_event: Kommentar + decidim/comments/reply_created_event: Kommentar Äntwert + decidim/comments/user_group_mentioned_event: Erwähnen diff --git a/decidim-conferences/config/locales/el.yml b/decidim-conferences/config/locales/el.yml index 2ac786faf79f8..464bbb8e6f87d 100644 --- a/decidim-conferences/config/locales/el.yml +++ b/decidim-conferences/config/locales/el.yml @@ -3,6 +3,7 @@ el: attributes: conference: assemblies_ids: Σχετικές συνελεύσεις + available_slots: Διαθέσιμες χρονοθυρίδες banner_image: Εικόνα διαφημιστικού πλαισίου consultations_ids: Σχετικές διαβουλεύσεις copy_categories: Αντιγραφή κατηγοριών @@ -10,26 +11,58 @@ el: copy_features: Αντιγραφή χαρακτηριστικών decidim_scope_id: Πεδίο εφαρμογής description: Περιγραφή + end_date: Ημερομηνία λήξης hashtag: Hashtag hero_image: Εικόνα αρχικής σελίδας + location: Τοποθεσία + main_logo: Κύριο λογότυπο + objectives: Στόχοι participatory_processes_ids: Σχετικές διαδικασίες συμμετοχής promoted: Επισημάνθηκε published_at: Δημοσιεύτηκε στις + registration_terms: Όροι εγγραφής + registrations_enabled: Ενεργοποιημένες εγγραφές scope_id: Πεδίο εφαρμογής scopes_enabled: Ενεργοποιημένα πεδία εφαρμογών short_description: Σύντομη περιγραφή show_statistics: Εμφάνιση στατιστικών + sign_date: Ημερομηνία υπογραφής + signature: Υπογραφή + signature_name: όνομα υπογραφής slogan: Σύνθημα slug: Slug διεύθυνσης URL + start_date: Ημερομηνία έναρξης title: Τίτλος conference_media_link: + date: Ημερομηνία + link: Σύνδεσμος + title: Τίτλος weight: Βάρος conference_partner: + link: Σύνδεσμος + logo: Λογότυπο + name: Όνομα + partner_type: Τύπος εταίρου weight: Βάρος + conference_registration_invite: + name: Όνομα + registration_type_id: Τύπος εγγραφής + user_id: Χρήστης conference_registration_type: + description: Περιγραφή + price: Τιμή + title: Τίτλος weight: Βάρος conference_speaker: + affiliation: Δεσμός + avatar: Εικόνα Χρήστη + conference_meeting_ids: Σχετικές συναντήσεις full_name: Ονοματεπώνυμο + personal_url: Προσωπικό url + position: Θέση + short_bio: Σύντομο Βιογραφικό + twitter_handle: Ψευδώνυμο Twitter + user_id: Χρήστης conference_user_role: email: Email name: Όνομα @@ -272,6 +305,10 @@ el: conferences: conference_registration: confirm: "Ο χρήστης %{user_name} επιβεβαίωση μια εγγραφή διάσκεψης στη διάσκεψη %{resource_name}" + partner: + create: "Ο χρήστης %{user_name} δημιούργησε τον εταίρο %{resource_name} στη διάσκεψη %{space_name}" + delete: "Ο χρήστης %{user_name} απομάκρυνε τον εταίρο %{resource_name} από τη διάσκεψη %{space_name}" + update: "Ο χρήστης %{user_name} ενημέρωσε τον εταίρο %{resource_name} στη διάσκεψη %{space_name}" registration_type: create: "Ο χρήστης %{user_name} δημιούργησε τον τύπο εγγραφής %{resource_name} στη διάσκεψη %{space_name}" publish: "Ο χρήστης %{user_name} δημοσίευσε τον τύπο εγγραφής %{resource_name} στη διάσκεψη %{space_name}" @@ -404,6 +441,7 @@ el: personal_website: Προσωπικός ιστότοπος show: more_info: περισσότερες πληροφορίες + speaking_at: Μιλώντας στο conference_speaker_cell: personal_url: personal_website: Προσωπικός ιστότοπος @@ -477,6 +515,7 @@ el: index: choose_an_option: 'Ορίστε την επιλογή εγγραφής σας:' login_as: Έχετε συνδεθεί ως %{name} <%{email}> + no_registrations: Δεν υπάρχουν εγγραφές register: Εγγραφή title: Τύποι εγγραφής shared: @@ -540,6 +579,12 @@ el: email_outro: Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τη διάσκεψη «%{resource_title}». Μπορείτε να σταματήσετε να την ακολουθείτε από τον προηγούμενο σύνδεσμο. email_subject: Η διάσκεψη «%{resource_title}» έρχεται σύντομα κοντά σας! notification_title: Η διάσκεψη %{resource_title} θα πραγματοποιηθεί σε 2 ημέρες. + help: + participatory_spaces: + conferences: + contextual: "

    Μία Διάσκεψη είναι μια συλλογή συναντήσεων που οργανώνονται σε ένα πρόγραμμα, με έναν αριθμό ατόμων που προσκαλούνται ως ομιλητές, και άλλα πεδία πληροφοριών που είναι τυπικά για μεγάλα συνέδρια ή κοινωνικές εκδηλώσεις (εγγραφή, κατάλογος των οργανισμών που υποστηρίζουν ή χρηματοδοτούν την εκδήλωση, κ.λπ.).

    Παραδείγματα: Μια Διάσκεψη μπορεί να είναι ένα σχετικό γεγονός για έναν οργανισμό και τα μέλη του, ή να πραγματοποιείται στο πλαίσιο μιας συμμετοχικής διαδικασίας ή να ακολουθεί μια διαβούλευση.

    \n" + page: "

    Μία Διάσκεψη είναι μια συλλογή συναντήσεων που οργανώνονται σε ένα πρόγραμμα, με έναν αριθμό ατόμων που προσκαλούνται ως ομιλητές, και άλλα πεδία πληροφοριών που είναι τυπικά για μεγάλα συνέδρια ή κοινωνικές εκδηλώσεις (εγγραφή, κατάλογος των οργανισμών που υποστηρίζουν ή χρηματοδοτούν την εκδήλωση, κ.λπ.).

    Παραδείγματα: Μια Διάσκεψη μπορεί να είναι ένα σχετικό γεγονός για έναν οργανισμό και τα μέλη του, ή να πραγματοποιείται στο πλαίσιο μιας συμμετοχικής διαδικασίας ή να ακολουθεί μια διαβούλευση.

    \n" + title: Τι είναι οι διασκέψεις; log: value_types: conference_presenter: diff --git a/decidim-conferences/config/locales/ga-IE.yml b/decidim-conferences/config/locales/ga-IE.yml index 20a9da24e96f1..c27a6b3e84bd7 100644 --- a/decidim-conferences/config/locales/ga-IE.yml +++ b/decidim-conferences/config/locales/ga-IE.yml @@ -1 +1,216 @@ ga: + activemodel: + attributes: + conference: + copy_categories: Cóipeáil catagóirí + decidim_scope_id: Scóip + end_date: Dáta deiridh + hashtag: Haischlib + participatory_processes_ids: Próisis Rannpháirteacha Ceangailte + scope_id: Scóip + slogan: Mana + slug: Píosa URL + title: Teideal + conference_media_link: + date: Dáta + link: Nasc + title: Teideal + weight: Meáchan + conference_partner: + link: Nasc + logo: Lógó + name: Ainm + weight: Meáchan + conference_registration_invite: + email: Seoladh ríomhphoist + name: Ainm + user_id: Úsáideoir + conference_registration_type: + price: Praghas + title: Teideal + weight: Meáchan + conference_speaker: + avatar: Abhatár + user_id: Úsáideoir + conference_user_role: + email: Seoladh ríomhphoist + name: Ainm + role: Ról + decidim: + admin: + actions: + confirm: Deimhnigh + conference_copies: + new: + copy: Cóipeáil + conference_speakers: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + conference_user_roles: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + conferences: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + media_links: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + menu: + conferences_submenu: + attachment_collections: Fillteáin + attachment_files: Comhaid + attachments: Ceangaltáin + categories: Catagóirí + conference_invites: Cuirí + conference_speakers: Cainteoirí + info: Eolas + partners: Comhpháirtithe + models: + conference: + fields: + title: Teideal + conference_speaker: + fields: + position: Céim + conference_user_role: + fields: + email: Seoladh ríomhphoist + name: Ainm + role: Ról + roles: + admin: Riarthóir + media_link: + fields: + date: Dáta + link: Nasc + title: Teideal + partner: + fields: + link: Nasc + logo: Lógó + name: Ainm + partner_type: Cineál + name: Comhpháirtí + registration_type: + fields: + price: Praghas + title: Teideal + weight: Meáchan + partners: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + registration_types: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + conference_program: + index: + title: Clár + conference_speakers: + index: + title: Cainteoirí + conferences: + admin: + conference_invites: + index: + filter: + accepted: Glactha + all: Uile + rejected: Diúltaithe + sent: Seolta + invites: Cuirí + search: Cuardaigh + new: + invite: Tabhair Cuireadh + conference_speakers: + index: + search: Cuardaigh + diplomas: + edit: + save: Sábháil + partners: + index: + title: Comhpháirtithe + conference: + registration_confirm: + cancel: Cealaigh + confirm: Deimhnigh + show: + free: Saor in aisce + conference_program: + program_meeting: + content: Inneachar + speakers: Cainteoirí + show: + day: Lá + program: Clár + conference_speakers: + index: + speakers: Cainteoirí + conferences: + partners: + collaborators: Comhpháirtithe + show: + register: Cláraigh + models: + conference_invite: + fields: + email: Seoladh ríomhphoist + name: Ainm + sent_at: Seolta ag + status: Stádas + status: + sent: Seolta + conference_registration: + fields: + email: Seoladh ríomhphoist + name: Ainm + state: Stádas + states: + pending: Ar feitheamh + photo: + show: + photo: Íomhá + photos_list: + show: + related_photos: Íomhánna + registration_types: + index: + register: Cláraigh + show: + details: Sonraí + introduction: Réamhrá + related_participatory_processes: Próisis Rannpháirteacha Ceangailte + statistics: + answers_count: Freagraí + comments_count: Tráchtanna + debates_count: Díospóireachtaí + endorsements_count: Formhuinithe + meetings_count: Cruinnithe + orders_count: Tacaíochtaí + pages_count: Leathanaigh + posts_count: Postálacha + projects_count: Tionscadail + results_count: Torthaí + surveys_count: Suirbhéanna + votes_count: Tacaíochtaí + layouts: + decidim: + conference_hero: + register: Cláraigh + conferences_nav: + conference_partners_menu_item: Comhpháirtithe + conference_speaker_menu_item: Cainteoirí + media: Meán + venues: Ionaid diff --git a/decidim-conferences/config/locales/pl.yml b/decidim-conferences/config/locales/pl.yml index 5d771d66b5465..86afb1e021cfc 100644 --- a/decidim-conferences/config/locales/pl.yml +++ b/decidim-conferences/config/locales/pl.yml @@ -3,6 +3,7 @@ pl: attributes: conference: assemblies_ids: Powiązane zespoły + available_slots: Dostępne terminy banner_image: Baner consultations_ids: Powiązane konsultacje copy_categories: Skopiuj kategorie @@ -13,7 +14,9 @@ pl: end_date: Data zakończenia hashtag: Hashtag hero_image: Obraz główny + location: Miejsce main_logo: Główne logo + objectives: Cele participatory_processes_ids: Powiązane procesy partycypacyjne promoted: Wyróżniona published_at: Opublikowano @@ -37,16 +40,25 @@ pl: conference_partner: link: Link logo: Logo + name: Imię partner_type: Typ partnera weight: Kolejność na stronie conference_registration_invite: email: Adres e-mail + name: Imię registration_type_id: Typ rejestracji + user_id: Użytkownik conference_registration_type: + description: Opis + price: Cena + title: Tytuł weight: Kolejność na stronie conference_speaker: avatar: Awatar full_name: Pełne imię i nazwisko + position: Pozycja + short_bio: Notka biograficzna + user_id: Użytkownik conference_user_role: email: E-mail name: Imię @@ -563,7 +575,7 @@ pl: notification_title: Konferencja %{resource_title} otworzyła rejestrację. role_assigned: email_intro: Przypisano Ci rolę %{role} w konferencji „%{resource_title}”. - email_outro: Otrzymujesz to powiadomienie, ponieważ jesteś %{role} konferencji „%{resource_title}”. + email_outro: 'Otrzymujesz to powiadomienie, ponieważ otrzymałeś rolę: %{role} w konferencji „%{resource_title}”.' email_subject: Przypisano Ci rolę %{role} w „%{resource_title}”. notification_title: Przypisano Ci rolę %{role} w konferencji %{resource_title}. upcoming_conference: diff --git a/decidim-consultations/config/locales/ga-IE.yml b/decidim-consultations/config/locales/ga-IE.yml index 20a9da24e96f1..4a9235bfeab8c 100644 --- a/decidim-consultations/config/locales/ga-IE.yml +++ b/decidim-consultations/config/locales/ga-IE.yml @@ -1 +1,102 @@ ga: + activemodel: + attributes: + consultation: + slug: Píosa URL + subtitle: Fotheideal + title: Teideal + question: + hashtag: Haischlib + origin_scope: Scóip + origin_title: Bunús + question_context: Comhthéacs + slug: Píosa URL + subtitle: Fotheideal + response: + decidim_consultations_response_group_id: Grúpa + decidim: + admin: + consultations: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + menu: + consultations_submenu: + results: Torthaí + models: + consultation: + fields: + title: Teideal + question: + fields: + title: Teideal + response: + fields: + response_group: Grúpa + title: Teideal + questions: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + response_groups: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + responses: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + titles: + results: Torthaí + consultations: + consultations: + orders: + random: Randamach + show: + dates: Dátaí + filters: + active: Gníomhach + all: Uile + search: Cuardaigh + state: Stádas + filters_small_view: + filter: Scag + unfold: Oscail + question_multiple_votes: + voting_rules: + vote_limit: + votes: Vótaí + show: + badge_name: + open: Oscail + footer_button_text: + debate: Díospóireacht + view: Amharc + vote: Vótáil + questions: + results: + title: Torthaí + statistics: + comments_count_title: Tráchtanna + meetings_count_title: Cruinnithe + supports_count_title: Vótaí + vote_button: + vote: Vótáil + vote_modal_confirm: + change: Athrú + confirm: Deimhnigh + resources: + consultations: + actions: + vote: Vótáil + layouts: + decidim: + admin: + question: + attachments: Ceangaltáin + question_components: + unfold: Oscail diff --git a/decidim-core/config/locales/ca.yml b/decidim-core/config/locales/ca.yml index 9f8adf4f975c4..fb82390f69f19 100644 --- a/decidim-core/config/locales/ca.yml +++ b/decidim-core/config/locales/ca.yml @@ -311,7 +311,7 @@ ca: explanation: Per dur a terme aquesta acció, has de disposar de l'autorització "%{authorization}". title: Es requereix autorització ok: - title: Heu estat autoritzats mentre éreu en aquesta pàgina. Si us plau, recarregueu la pàgina per a realitzar la vostra acció + title: Has estat autoritzat mentre estàs en aquesta pàgina. Si us plau, torna a carregar la pàgina per a realitzar la teva acció pending: explanation: Per realitzar aquesta acció, has d'estar autoritzat/da amb "%{authorization}", però la teva autorització encara està en curs resume: Comprova el progrés de l'autorització "%{authorization}" diff --git a/decidim-core/config/locales/es-MX.yml b/decidim-core/config/locales/es-MX.yml index 073ac03162af9..2b09fe984f481 100644 --- a/decidim-core/config/locales/es-MX.yml +++ b/decidim-core/config/locales/es-MX.yml @@ -313,6 +313,8 @@ es-MX: authorize: Autorizar con "%{authorization}" explanation: Para llevar a cabo esta acción, tienes que disponer de la autorización "%{authorization}". title: Autorización requerida + ok: + title: Has sido autorizado mientras estás en esta página. Por favor, vuelve a cargar la página para realizar tu acción pending: explanation: Para realizar esta acción, debes estar autorizado con "%{authorization}", pero tu autorización todavía está en progreso resume: Comprueba el progreso de la autorización "%{authorization}" diff --git a/decidim-core/config/locales/es-PY.yml b/decidim-core/config/locales/es-PY.yml index a7e8d1e3cfbb4..5385ed328e420 100644 --- a/decidim-core/config/locales/es-PY.yml +++ b/decidim-core/config/locales/es-PY.yml @@ -313,6 +313,8 @@ es-PY: authorize: Autorizar con "%{authorization}" explanation: Para llevar a cabo esta acción, tiene que disponer de la autorización "%{authorization}". title: Autorización requerida + ok: + title: Has sido autorizado mientras estás en esta página. Por favor, vuelve a cargar la página para realizar tu acción pending: explanation: Para realizar esta acción, debes estar autorizado con "%{authorization}", pero tu autorización todavía está en progreso resume: Verifica el progreso de la autorización "%{authorization}" diff --git a/decidim-core/config/locales/es.yml b/decidim-core/config/locales/es.yml index c822d42bdfbcc..aeae8817f425f 100644 --- a/decidim-core/config/locales/es.yml +++ b/decidim-core/config/locales/es.yml @@ -310,6 +310,8 @@ es: authorize: Autorizar con "%{authorization}" explanation: Para llevar a cabo esta acción, tienes que disponer de la autorización "%{authorization}". title: Autorización requerida + ok: + title: Has sido autorizado mientras estás en esta página. Por favor, vuelve a cargar la página para realizar tu acción pending: explanation: Para realizar esta acción, debes estar autorizado con "%{authorization}", pero tu autorización todavía está en progreso resume: Comprueba el progreso de la autorización "%{authorization}" diff --git a/decidim-core/config/locales/ga-IE.yml b/decidim-core/config/locales/ga-IE.yml index 20a9da24e96f1..b5a7d813b5d19 100644 --- a/decidim-core/config/locales/ga-IE.yml +++ b/decidim-core/config/locales/ga-IE.yml @@ -1 +1,349 @@ ga: + activemodel: + attributes: + group: + about: Faoi + avatar: Abhatár + email: Seoladh ríomhphoist + name: Ainm + nickname: Leasainm + phone: Fón + user: + about: Faoi + nickname: Leasainm + password: Pasfhocal + models: + decidim/attachment_created_event: Ceangaltán + activerecord: + attributes: + decidim/user: + email: Seoladh ríomhphoist + name: Leasainm + password: Pasfhocal + booleans: + 'false': 'Níl' + 'true': 'Is ea' + date: + formats: + decidim_short: "%d/%m/%Y" + decidim_short_with_month_name_short: "%d %b %Y" + decidim_with_month_name: "%d %B %Y" + decidim_with_month_name_short: "%d %b" + decidim: + admin: + actions: + cancel: Cealaigh + amendments: + compare_draft: + continue: Lean ar aghaidh + edit_draft: + send: Réamhamharc + emendation: + actions: + button_accept: Glac + button_reject: Diúltaigh + new: + send: Cruthaigh + preview_draft: + modify: Athraigh + publish: Foilsigh + review: + back: Ar Ais + author: + avatar: Abhatár + authorization_handlers: + dummy_authorization_handler: + fields: + scope_id: Scóip + foo_authorization: + fields: + bar: Bar + foo: Foo + authorization_modals: + content: + incomplete: + cancel: Cealaigh + invalid_field: "%{field}" + unauthorized: + ok: Togha + block_user_mailer: + notify: + hello: Dia duit, + components: + component_order_selector: + order: + comment: Trácht + debate: Díospóireacht + meeting: Cruinniú + post: Postáil + title: 'Taispeáin:' + dummy: + actions: + bar: Bar + foo: Foo + settings: + global: + scope_id: Scóip + contact: Teagmháil + content_blocks: + highlighted_elements_settings_form: + orders: + random: Randamach + data_portability: + export: + ready: Réidh + devise: + registrations: + new: + sign_in: Logáil isteach + sign_up: Cláraigh + shared: + omniauth_buttons: + or: Nó + doorkeeper: + authorizations: + new: + cancel: Cealaigh + endorsable: + endorsements: Formhuinithe + endorsement_buttons_cell: + already_endorsed: Formhuinithe + endorse: Formhuinigh + endorsements: + identities: + done: Críochnaithe + filters: + linked_classes: + all: Uile + meeting: Cruinnithe + project: Tionscadail + result: Torthaí + fingerprint: + source: Foinse + value: Luach + follows: + create: + button: Lean + gamification: + badges: + index: + title: Suaitheantais + invitations: + name: Cuirí + group_invites: + accept_invitation: Glac + index: + invite: Tabhair Cuireadh + reject_invitation: Diúltaigh + groups: + members: + accept_request: Glac + reject_request: Diúltaigh + roles: + admin: Riarthóir + creator: Cruthaitheoir + member: Ball + last_activities: + index: + resource_type: Cineál + menu: + help: Cabhair + home: Baile + messaging: + conversations: + error_modal: + ok: Togha + index: + ago: ó shin + from: Ó + next: I ndiaidh + reply: + send: Seol + title: Freagra + start: + send: Seol + newsletter_templates: + basic_only_text_settings_form: + body: Corp + image_text_cta_settings_form: + body: Corp + introduction: Réamhrá + newsletters_opt_in_mailer: + notify: + hello: Dia duit, + notifications_settings: + show: + administrators: Riarthóirí + own_user_groups: + index: + pending: Ar feitheamh + rejected: Diúltaithe + verified: Fíoraithe + pad_iframe: + pad: Ceap + pages: + home: + extended: + debates: Díospóireachtaí + meetings: Cruinnithe + footer_sub_hero: + register: Cláraigh + metrics: + headline: Méadrachtaí + statistics: + comments_count: Tráchtanna + debates_count: Díospóireachtaí + endorsements_count: Formhuinithe + meetings_count: Cruinnithe + orders_count: Vótaí + pages_count: Leathanaigh + projects_count: Tionscadail + results_count: Torthaí + surveys_count: Suirbhéanna + votes_count: Vótaí + sub_hero: + register: Cláraigh + index: + standalone_pages: Leathanaigh + title: Cabhair + topics: Ábhair + participatory_space: + metrics: + headline: Méadrachtaí + profile: + view: Amharc + profiles: + show: + badges: Suaitheantais + following: Leantach + groups: Grúpaí + members: Baill + sidebar: + badges: + title: Suaitheantais + reported_mailer: + report: + authors: Údair + details: Sonraí + id: ID + reason: Cúis + scopes: + picker: + cancel: Cealaigh + choose: Roghnaigh + scopes: Scóip + search: + term_input_placeholder: Cuardaigh + searches: + filters: + state: + active: Gníomhach + all: Uile + future: Todhchaí + past: Roimhe + filters_small_view: + filter: Scagaire + unfold: Oscail + security: + selfxss_warning: + title: Stad! + shared: + confirm_modal: + cancel: Cealaigh + ok: Togha + title: Deimhnigh + embed_modal: + embed_link: Leabaigh + extended_navigation_bar: + more: Níos mó + unfold: Oscail + flag_modal: + close: Dún + report: Tuairiscigh + flag_user_modal: + close: Dún + report: Tuairiscigh + floating_help: + help: Cabhair + login_modal: + sign_up: Cláraigh + participatory_space_filters: + filters: + areas: Ceantair + share_modal: + share: Roinn + user_conversations: + index: + close: Dún + from: Ó + next: I ndiaidh + reply: + send: Seol + title_reply: Freagair + version: + show: + back_to_resource: Dul ar ais + versions_list: + show: + back_to_resource: Dul ar ais + wizard_step_form: + wizard_aside: + back: Ar Ais + devise: + invitations: + edit: + submit_button: Sábháil + registrations: + edit: + update: Nuashonraigh + new: + sign_up: Cláraigh + sessions: + new: + sign_in: Logáil isteach + shared: + links: + back: Ar Ais + sign_in: Logáil isteach + sign_up: Cláraigh + layouts: + decidim: + cookie_warning: + ok: Aontaím + edit_link: + edit: Eagar + header: + sign_in: Sínigh Isteach + sign_up: Cláraigh + user_profile: + account: Cuntas + my_data: Mo chuid sonraí + user_groups: Grúpaí + locale: + name: Gaeilge + social_share_button: + douban: Douban + email: Seoladh ríomhphoist + facebook: Facebook + google_plus: Google+ + linkedin: Linkedin + qq: Qzone + reddit: Reddit + telegram: Telegram + tumblr: Tumblr + twitter: Twitter + wechat: WeChat + whatsapp_app: WhatsApp + whatsapp_web: WhatsApp + xing: Xing + time: + formats: + day_of_month: "%b %d" + day_of_week: "%a" + day_of_week_long: "%a %e" + day_of_year: "%d.%m.%y" + time_of_day: "%H:%M" + versions: + dropdown: + option_escaped: Éalaithe + option_unified: Aontaithe diff --git a/decidim-debates/config/locales/ga-IE.yml b/decidim-debates/config/locales/ga-IE.yml index 20a9da24e96f1..dc5c3ffaee57f 100644 --- a/decidim-debates/config/locales/ga-IE.yml +++ b/decidim-debates/config/locales/ga-IE.yml @@ -1 +1,81 @@ ga: + activemodel: + attributes: + debate: + category_id: Catagóir + decidim_category_id: Catagóir + end_time: Deireadh ag + title: Teideal + models: + decidim/debates/create_debate_event: Díospóireacht + decidim: + components: + debates: + actions: + create: Cruthaigh + endorse: Formhuinigh + name: Díospóireachtaí + settings: + global: + scope_id: Scóip + debates: + actions: + close: Dún + destroy: Scrios + edit: Eagar + title: Gníomhartha + admin: + debate_closes: + edit: + close: Dún + debates: + index: + title: Díospóireachtaí + exports: + comments: Tráchtanna + models: + debate: + name: Díospóireacht + debates: + close_debate_modal: + close: Dún + closed: Dúnta + edit: + back: Ar Ais + filters: + all: Uile + category: Catagóir + category_prompt: Roghnaigh catagóir + origin: Bunús + scope: Scóip + search: Cuardaigh + state: Stádas + state_values: + closed: Dúnta + open: Oscail + user_groups: Grúpaí + filters_small_view: + filter: Scag + unfold: Oscail + form: + select_a_category: Roghnaigh catagóir le do thoil + new: + back: Ar Ais + create: Cruthaigh + show: + date: Dáta + debate_closed: Dúnta + groups_count: Grúpaí + models: + debate: + fields: + end_time: Dáta deiridh + title: Teideal + gamification: + badges: + commented_debates: + name: Díospóireachtaí + metrics: + debates: + object: díospóireachtaí + title: Díospóireachtaí diff --git a/decidim-dev/config/locales/ga-IE.yml b/decidim-dev/config/locales/ga-IE.yml index 20a9da24e96f1..8ac76852710aa 100644 --- a/decidim-dev/config/locales/ga-IE.yml +++ b/decidim-dev/config/locales/ga-IE.yml @@ -1 +1,25 @@ ga: + activemodel: + attributes: + dummy_resource: + decidim_scope_id: Scóip + title: Teideal + decidim: + components: + dummy: + settings: + global: + test: Teist + dummy: + admin: + exports: + dummies: Dummies + gamification: + badges: + test: + name: Scrúduithe + pages: + home: + statistics: + bar: Bar + foo: Foo diff --git a/decidim-elections/config/locales/ga-IE.yml b/decidim-elections/config/locales/ga-IE.yml index 20a9da24e96f1..9e25e67a3b8ee 100644 --- a/decidim-elections/config/locales/ga-IE.yml +++ b/decidim-elections/config/locales/ga-IE.yml @@ -1 +1,255 @@ ga: + activemodel: + attributes: + answer: + image: Íomhá + title: Teideal + election: + title: Teideal + question: + title: Teideal + decidim: + admin: + filters: + role_eq: + label: Ról + values: + manager: Bainisteoir + components: + elections: + actions: + vote: Vótáil + elections: + actions: + destroy: Scrios + edit: Eagar + preview: Réamhamharc + publish: Foilsigh + title: Gníomhartha + admin: + answers: + index: + title: Freagraí + models: + answer: + name: Freagra + trustee: + name: Iontaobhaí + steps: + created: + trustees: Iontaobhaithe + key_ceremony: + trustees: Iontaobhaithe + tally: + trustees: Iontaobhaithe + vote_stats: + voters: Vótálaithe + votes: Vótaí + trustees_participatory_spaces: + actions: + disable: Dhíchumasaigh + index: + title: Iontaobhaithe + election_m: + badge_name: + ongoing: Gníomhach + end_date: Deireadh + footer: + view: Amharc + vote: Vótáil + label: + date: Dátaí + start_date: Ag Tosú + elections: + filters: + active: Gníomhach + all: Uile + search: Cuardaigh + state: Stádas + filters_small_view: + filter: Scag + unfold: Oscail + results: + votes: + one: "%{count} vóta" + other: "%{count} vótaí" + zero: "%{count} vótaí" + show: + preview: Réamhamharc + models: + answer: + fields: + title: Teideal + election: + fields: + end_time: Deireadh ag + title: Teideal + question: + fields: + answers: Freagraí + title: Teideal + trustees_participatory_space: + fields: + email: Seoladh ríomhphoist + name: Ainm + status: Stádas + orders: + older: Níos Sine + recent: Is Déanaí + trustee_zone: + elections: + key_ceremony_steps: + back: Ar Ais + list: + status: Stádas + task: Tasc + start: Tosaigh + status: + pending: Ar feitheamh + tally_steps: + back: Ar Ais + list: + status: Stádas + task: Tasc + start: Tosaigh + status: + pending: Ar feitheamh + trustees: + show: + elections: + list: + action_required: + 'false': 'Níl' + bb_status: Stádas + identification_keys: + cancel: Cealaigh + submit: Deimhnigh + votes: + confirm: + answer: Freagra + confirm: Deimhnigh + edit: eagar + nota_option: Bán + modal: + close: Dún + verify: + form: + submit: Seiceáil + voting_step: + back: Ar Ais + continue: I ndiaidh + menu: + votings: Vótála + votings: + admin: + landing_page: + content_blocks: + edit: + update: Nuashonraigh + menu: + votings: Vótála + votings_submenu: + attachment_collections: Fillteáin + attachment_files: Comhaid + attachments: Ceangaltáin + models: + monitoring_committee_member: + fields: + email: Seoladh ríomhphoist + name: Ainm + polling_officer: + fields: + email: Seoladh ríomhphoist + name: Ainm + polling_station: + fields: + address: Seoladh + title: Teideal + voting: + fields: + title: Teideal + monitoring_committee_members: + new: + create: Cruthaigh + polling_officers: + index: + role_manager: bainisteoir + new: + create: Cruthaigh + polling_officers_picker: + close: Dún + polling_stations: + new: + create: Cruthaigh + titles: + votings: Vótála + votings: + actions: + destroy: Scrios + publish: Foilsigh + edit: + update: Nuashonraigh + form: + title: Teideal + voting_type: + hybrid: Hibrid + online: Ar líne + new: + create: Cruthaigh + monitoring_committee_members: + actions: + destroy: Scrios + title: Gníomhartha + polling_officer_zone: + polling_officers: + show: + polling_stations: + list: + actions: Gníomhartha + address: Seoladh + name: Ainm + voting: Vótáil + polling_officers: + actions: + destroy: Scrios + new: Nua + title: Gníomhartha + roles: + manager: Bainisteoir + polling_stations: + actions: + destroy: Scrios + edit: Eagar + new: Nua + title: Gníomhartha + votings: + filters: + active: Gníomhach + all: Uile + search: Cuardaigh + state: Stádas + filters_small_view: + filter: Scag + unfold: Oscail + index: + title: Vótála + orders: + random: Randamach + show: + dates: Dátaí + votings_m: + badge_name: + ongoing: Leanúnach + footer_button_text: + view: Amharc + vote: Vóta + voting_type: + hybrid: Hibrid + online: Ar líne + layouts: + decidim: + election_votes_header: + exit: Imigh + votings: + promoted_voting: + vote: Vótáil diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index 675d206233478..301a5cde06682 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -503,9 +503,14 @@ ja: header: 投票が確定されました lead: あなたの票は既に投じられました! text: '投票が投票箱に正常に追加されたことを、次の識別子で確認できます: %{e_vote_poll_id}' + verify_link: 確認するには、識別子をコピーして 投票検証ページ に貼り付けます encrypting: header: 投票の暗号化... text: 投票は暗号化されており、匿名で投票することができます。 + failed: + header: 投票に失敗しました + lead: 投票は行われませんでした! + text: 問題が発生しました。もう一度やり直してください。 header: confirm: 投票を確定 confirmed: 投票が確定されました @@ -528,6 +533,15 @@ ja: update: error: 投票ステータスの更新中に問題が発生しました success: 投票ステータスを更新しました + verify: + form: + submit: チェック + vote_identifier: '識別コード:' + header: + title: 投票を確認 + success: + header: 投票しました! + info: 暗号化されたあなたの投票は %{link} 投票箱にあります voting_step: back: 戻る continue: 次へ @@ -541,6 +555,9 @@ ja: email_outro: '%{participatory_space_title}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。' email_subject: '%{resource_title} の選挙は %{participatory_space_title} のために有効になりました。' notification_title: %{resource_title} の選挙が %{participatory_space_title} に有効になりました。 + trustees: + new_election: + email_intro: '%{resource_title} 選挙の受託者として追加されました。' help: participatory_spaces: votings: diff --git a/decidim-forms/config/locales/ga-IE.yml b/decidim-forms/config/locales/ga-IE.yml index 20a9da24e96f1..2a4a40dbcdaf0 100644 --- a/decidim-forms/config/locales/ga-IE.yml +++ b/decidim-forms/config/locales/ga-IE.yml @@ -1 +1,50 @@ ga: + activemodel: + attributes: + answer: + body: Freagra + choices: Roghanna + question: + question_type: Cineál + decidim: + forms: + admin: + questionnaires: + answer_option: + remove: Bain as + answers: + actions: + export: Easpórtáil + display_condition: + condition_types: + equal: Céanna + remove: Bain as + edit: + save: Sábháil + form: + preview: Réamhamharc + matrix_row: + matrix_row: Ró + remove: Bain as + question: + add_matrix_row: Suimigh ró + any: Ar Bith + down: Síos + expand: Méadaigh + remove: Bain as + up: Thuas + separator: + down: Ísligh + remove: Bain as + up: Ardaigh + question_types: + files: Comhaid + sorting: Sórtáil + step_navigation: + show: + back: Ar Ais + continue: Lean ar aghaidh + submit: Deimhnigh + user_answers_serializer: + body: Freagra + ip_hash: Hais IP diff --git a/decidim-initiatives/config/locales/ga-IE.yml b/decidim-initiatives/config/locales/ga-IE.yml index 20a9da24e96f1..765ac9922363c 100644 --- a/decidim-initiatives/config/locales/ga-IE.yml +++ b/decidim-initiatives/config/locales/ga-IE.yml @@ -1 +1,191 @@ ga: + activemodel: + attributes: + initiative: + decidim_user_group_id: Údar + scope_id: Scóip + signature_type_values: + any: Measctha + online: Ar líne + state: Stádas + title: Teideal + initiatives_type: + title: Teideal + organization_data: + address: Seoladh + decidim: + admin: + filters: + initiatives: + decidim_area_id_eq: + label: Ceantar + state_eq: + label: Staid + values: + created: Cruthaithe + type_id_eq: + label: Cineál + models: + initiatives: + fields: + id: ID + state: Stádas + initiatives_type_scope: + fields: + scope: Scóip + initiatives_votes: + fields: + hash: Hais + initiative_end_date: Dáta deiridh + scope: Scóip + initiatives: + actions: + answer: Freagair + admin: + answers: + edit: + answer: Freagair + info_initiative: + state: Staid + committee_requests: + index: + approve: Ceadaigh + revoke: Cúlghairm + initiatives: + edit: + update: Nuashonraigh + form: + attachments: Ceangaltáin + settings: Socruithe + index: + actions_title: Gníomh + preview: Réamhamharc + print: Clóbhuail + initiative_attachments: + edit: Eagar + new: Nua + photos: Grianghraif + show: + print: Clóbhuail + initiatives_type_scopes: + edit: + back: Ar Ais + destroy: Scrios + update: Nuashonraigh + new: + back: Ar Ais + create: Cruthaigh + initiatives_types: + edit: + destroy: Scrios + update: Nuashonraigh + form: + options: Roghanna + new: + create: Cruthaigh + admin_states: + created: Cruthaithe + application_helper: + filter_area_values: + all: Uile + filter_scope_values: + all: Uile + filter_state_values: + all: Uile + closed: Dúnta + open: Oscail + filter_type_values: + all: Uile + committee_requests: + new: + continue: Lean ar aghaidh + create_initiative: + fill_data: + back: Ar Ais + continue: Lean ar aghaidh + finish: + back: Ar Ais + previous_form: + back: Ar Ais + continue: Lean ar aghaidh + promotal_committee: + back: Ar Ais + select_initiative_type: + back: Ar Ais + share_committee_link: + continue: Lean ar aghaidh + show_similar_initiatives: + back: Ar Ais + edit: + back: Ar Ais + update: Nuashonraigh + form: + delete_attachment: Scrios + initiative_signatures: + fill_personal_data: + continue: Lean ar aghaidh + date_select: + day: Lá + month: Mí + year: Bliain + initiatives: + author: + deleted: Scriosta + committee_members: + approve: Ceadaigh + revoke: Cúlghairm + filters: + any: Ar Bith + area: Ceantar + author: Údar + scope: Scóip + search: Cuardaigh + state: Stádas + type: Cineál + filters_small_view: + filter: Scag + unfold: Oscail + index_header: + not_authorized: + close: Dún + orders: + random: Randamach + print: + address: Seoladh + city: Cathair + email: Seoladh ríomhphoist + initiative: + title: 'Teideal:' + print: Clóbhuail + show: + edit: Eagar + vote_cabin: + vote: Sínigh + initiatives_mailer: + initiative_link: + here: anseo + show: + badge_name: + created: Cruthaithe + states: + expired: Éagtha + resources: + initiatives_type: + actions: + title: Gníomhartha + vote: Sínigh + layouts: + decidim: + admin: + initiative: + attachments: Ceangaltáin + initiative_creation_header: + back: Ar Ais + fill_data: Cruthaigh + finish: Críochnaigh + previous_form: Tosaigh + select_initiative_type: Roghnaigh + show_similar_initiatives: Cuir i gcomparáid + initiative_signature_creation_header: + back: Ar Ais + finish: Críochnaigh diff --git a/decidim-meetings/config/locales/ga-IE.yml b/decidim-meetings/config/locales/ga-IE.yml index 20a9da24e96f1..c53f7a1e5508f 100644 --- a/decidim-meetings/config/locales/ga-IE.yml +++ b/decidim-meetings/config/locales/ga-IE.yml @@ -1 +1,172 @@ ga: + activemodel: + attributes: + agenda: + duration: Fad + title: Teideal + close_meeting: + closing_report: Tuairisc + meeting: + address: Seoladh + decidim_category_id: Catagóir + decidim_scope_id: Scóip + title: Teideal + type_of_meeting: Cineál + minutes: + audio_url: URL Fuaime + video_url: URL Físeáin + models: + decidim/meetings/create_meeting_event: Cruinniú + decidim: + admin: + meeting_copies: + new: + copy: Cóipeáil + components: + meetings: + actions: + join: Téigh leis + name: Cruinnithe + settings: + global: + scope_id: Scóip + meetings: + actions: + agenda: Clár + attachment_collections: Fillteáin + attachments: Ceangaltáin + close: Dún + destroy: Scrios + edit: Eagar + minutes: Miontuairiscí + preview: Réamhamharc + title: Gníomhartha + admin: + agenda: + agenda_item: + down: Ísligh + remove: Bain as + up: Ardaigh + agenda_item_child: + down: Ísligh + remove: Bain as + up: Ardaigh + edit: + update: Nuashonraigh + form: + end_date: Dáta deiridh + new: + create: Cruthaigh + exports: + meeting_comments: Tráchtanna + meetings: Cruinnithe + invites: + form: + invite: Tabhair Cuireadh + index: + filter: + all: Uile + rejected: Diúltaithe + sent: Seolta + invites: Cuirí + search: Cuardaigh + meeting_closes: + edit: + close: Dún + meetings: + edit: + update: Nuashonraigh + index: + title: Cruinnithe + new: + create: Cruthaigh + service: + down: Síos + remove: Bain as + service: Seirbhís + title: Teideal + up: Thuas + minutes: + edit: + title: Cuir in eagar miontuairiscí + update: Nuashonraigh + new: + create: Cruthaigh + models: + meeting: + name: Cruinniú + registrations: + edit: + save: Sábháil + form: + invites: Cuirí + directory: + meetings: + index: + all: Uile + date: Dáta + meetings: Cruinnithe + past: Roimhe + search: Cuardaigh + meeting_closes: + edit: + back: Ar Ais + meetings: + edit: + back: Ar Ais + update: Nuashonraigh + filters: + all: Uile + category: Catagóir + date: Dáta + date_values: + all: Uile + past: Roimhe + origin: Bunús + origin_values: + all: Uile + user_groups: Grúpaí + scope: Scóip + search: Cuardaigh + type: Cineál + type_values: + all: Uile + hybrid: Araon + online: Ar líne + filters_small_view: + filter: Scag + unfold: Oscail + form: + select_a_category: Roghnaigh catagóir le do thoil + new: + back: Ar Ais + create: Cruthaigh + registration_confirm: + cancel: Cealaigh + confirm: Deimhnigh + show: + date: Dáta + going: Ag Dul + view: Amharc + models: + invite: + fields: + email: Seoladh ríomhphoist + name: Ainm + sent_at: Seolta ag + status: Stádas + status: + sent: Seolta + meeting: + fields: + closed: Dúnta + end_time: Dáta deiridh + map: Léarscáil + title: Teideal + type_of_meeting: + hybrid: Araon + online: Ar líne + metrics: + meetings: + object: cruinnithe + title: Cruinnithe diff --git a/decidim-pages/config/locales/ga-IE.yml b/decidim-pages/config/locales/ga-IE.yml index 20a9da24e96f1..d19560a5facd4 100644 --- a/decidim-pages/config/locales/ga-IE.yml +++ b/decidim-pages/config/locales/ga-IE.yml @@ -1 +1,13 @@ ga: + decidim: + components: + pages: + name: Leathanach + pages: + admin: + models: + components: + body: Corp + pages: + edit: + save: Nuashonraigh diff --git a/decidim-participatory_processes/config/locales/ga-IE.yml b/decidim-participatory_processes/config/locales/ga-IE.yml index 20a9da24e96f1..50821502255d0 100644 --- a/decidim-participatory_processes/config/locales/ga-IE.yml +++ b/decidim-participatory_processes/config/locales/ga-IE.yml @@ -1 +1,159 @@ ga: + activemodel: + attributes: + participatory_process: + area_id: Ceantar + copy_categories: Cóipeáil catagóirí + decidim_area_id: Ceantar + domain: Fearann + end_date: Dáta deiridh + hashtag: Haischlib + participatory_process_group_id: Grúpa próisis + related_process_ids: Próisis Ceangailte + scope_id: Scóip + slug: Píosa URL + subtitle: Fotheideal + title: Teideal + weight: Meáchan + participatory_process_group: + group_url: Suíomh Gréasáin + hashtag: Haischlib + hero_image: Íomhá + participatory_process_ids: Próisis Ceangailte + title: Teideal + participatory_process_step: + end_date: Dáta deiridh + title: Teideal + participatory_process_user_role: + email: Seoladh ríomhphoist + name: Ainm + role: Ról + decidim: + admin: + actions: + destroy: Scrios + edit: Eagar + filter: + process_groups: Grúpaí próiseas + import_process: Iompórtáil + new_process: Próiseas nua + new_process_group: Grúpa próisis nua + new_process_user_role: Riarachán próisis nua + preview: Réamhamharc + publish: Foilsigh + menu: + participatory_process_groups: Grúpaí próiseas + participatory_process_groups_submenu: + info: Eolas + participatory_processes: Próisis + participatory_processes_submenu: + attachment_collections: Fillteáin + attachment_files: Comhaid + attachments: Ceangaltáin + categories: Catagóirí + info: Eolas + process_admins: Riaracháin próiseas + steps: Céimeanna + models: + participatory_process: + fields: + private: Príobháideach + title: Teideal + name: Próiseas Rannpháirtíochta + participatory_process_group: + fields: + title: Teideal + name: Grúpa próisis + participatory_process_step: + fields: + end_date: Dáta deiridh + title: Teideal + name: Céim próisis rannpháirtíochta + participatory_process_user_role: + fields: + email: Seoladh ríomhphoist + name: Ainm + role: Ról + name: Riarachán próisis rannpháirtíochta + roles: + admin: Riarthóir + participatory_process_copies: + new: + copy: Cóipeáil + participatory_process_group_landing_page_content_blocks: + edit: + update: Nuashonraigh + participatory_process_groups: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + participatory_process_imports: + new: + import: Iompórtáil + participatory_process_steps: + default_title: Réamhrá + edit: + update: Nuashonraigh + index: + steps_title: Céimeanna + new: + create: Cruthaigh + participatory_process_user_roles: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + participatory_processes: + edit: + update: Nuashonraigh + index: + private: Príobháideach + public: Poblach + new: + create: Cruthaigh + participatory_process_groups: + content_blocks: + title: + meta_scope: Scóip + participatory_processes: + admin: + new_import: + accepted_types: + json: JSON + participatory_processes: + form: + duration: Fad + filters: Scagairí + images: Íomhánna + other: Eile + participatory_processes: + filters: + names: + active: Gníomhach + all: Uile + past: Roimhe + see: Feic + show: + area: Ceantar + dates: Dátaí + end_date: Dáta deiridh + scope: Scóip + statistics: + answers_count: Freagraí + comments_count: Tráchtanna + debates_count: Díospóireachtaí + endorsements_count: Formhuinithe + meetings_count: Cruinnithe + orders_count: Tacaíochtaí + pages_count: Leathanaigh + processes_count: Próisis + projects_count: Tionscadail + results_count: Torthaí + supports_count: Tacaíochtaí + surveys_count: Suirbhéanna + layouts: + decidim: + participatory_process_groups: + participatory_process_group: + browse: Brabhsáil diff --git a/decidim-participatory_processes/config/locales/pl.yml b/decidim-participatory_processes/config/locales/pl.yml index 57550f6e64a59..1b8181306e382 100644 --- a/decidim-participatory_processes/config/locales/pl.yml +++ b/decidim-participatory_processes/config/locales/pl.yml @@ -296,7 +296,7 @@ pl: participatory_process: role_assigned: email_intro: Przypisano Ci rolę %{role} w procesie partycypacyjnym „%{resource_title}”. - email_outro: Otrzymujesz to powiadomienie, ponieważ jesteś %{role} procesu partycypacyjnego „%{resource_title}”. + email_outro: 'Otrzymujesz to powiadomienie, ponieważ otrzymałeś rolę: %{role} w procesie partycypacyjnym „%{resource_title}”.' email_subject: Przypisano Ci rolę %{role} w „%{resource_title}”. notification_title: Przypisano Ci rolę %{role} w procesie partycypacyjnym %{resource_title}. step_activated: diff --git a/decidim-proposals/config/locales/ga-IE.yml b/decidim-proposals/config/locales/ga-IE.yml index 20a9da24e96f1..85a0da7294583 100644 --- a/decidim-proposals/config/locales/ga-IE.yml +++ b/decidim-proposals/config/locales/ga-IE.yml @@ -1 +1,229 @@ ga: + activemodel: + attributes: + collaborative_draft: + address: Seoladh + body: Corp + category_id: Catagóir + decidim_scope_id: Scóip + scope_id: Scóip + state: Staid + title: Teideal + proposal: + address: Seoladh + answer: Freagra + body: Corp + category_id: Catagóir + decidim_scope_id: Scóip + scope_id: Scóip + state: Staid + title: Teideal + proposal_answer: + answer: Freagra + cost: Costas + decidim: + admin: + filters: + proposals: + category_id_eq: + label: Catagóir + is_emendation_true: + label: Cineál + scope_id_eq: + label: Scóip + state_eq: + label: Staid + values: + rejected: Diúltaithe + state_null: + label: Staid + components: + proposals: + actions: + amend: Leasaigh + create: Cruthaigh + endorse: Formhuinigh + vote: Tacaigh le + settings: + global: + scope_id: Scóip + step: + endorsements_blocked: Formhuinithe blocáilte + endorsements_enabled: Formhuinithe cumasaithe + metrics: + endorsements: + object: formhuinithe + title: Formhuinithe + votes: + object: tacaíochtaí + title: Tacaíochtaí + proposals: + actions: + title: Gníomhartha + admin: + actions: + preview: Réamhamharc + exports: + proposal_comments: Tráchtanna + participatory_texts: + new_import: + accepted_mime_types: + odt: ODT + proposal_answers: + form: + answer_proposal: Freagra + rejected: Diúltaithe + proposal_notes: + form: + note: Nóta + submit: Deimhnigh + proposals: + edit: + update: Nuashonraigh + form: + select_a_category: Roghnaigh catagóir + index: + actions: Gníomhartha + assign_to_valuator_button: Ceap + cancel: Cealaigh + change_category: Athraigh catagóir + merge_button: Cumaisc + publish: Foilsigh + split_button: Scoilt + update: Nuashonraigh + new: + create: Cruthaigh + show: + authors: Údair + body: Corp + comments_negative_count: In Aghaidh + comments_neutral_count: Neodrach + comments_positive_count: I Bhfabhar + endorsements_count: Líon formhuinithe + endorsers: Formhuinitheoirí + link: Nasc + photos: Grianghraif + update_category: + select_a_category: Roghnaigh catagóir le do thoil + answers: + rejected: Diúltaithe + application_helper: + filter_category_values: + all: Uile + filter_origin_values: + all: Uile + meetings: Cruinnithe + user_groups: Grúpaí + filter_scope_values: + all: Uile + filter_state_values: + all: Uile + rejected: Diúltaithe + filter_type_values: + all: Uile + collaborative_drafts: + collaborative_draft: + publish: + irreversible_action_modal: + cancel: Cealaigh + withdraw: + irreversible_action_modal: + cancel: Cealaigh + edit: + back: Ar Ais + select_a_category: Roghnaigh catagóir le do thoil + send: Seol + filters: + all: Uile + category: Catagóir + open: Oscail + scope: Scóip + search: Cuardaigh + state: Stádas + filters_small_view: + filter: Scag + unfold: Oscail + new: + send: Lean ar aghaidh + orders: + random: Randamach + recent: Is Déanaí + requests: + collaboration_requests: + accept_request: Glac + reject_request: Diúltaigh + show: + back: Ar Ais + publish: Foilsigh + states: + open: Oscail + models: + collaborative_draft: + fields: + authors: Údair + comments: Tráchtanna + proposal: + fields: + category: Catagóir + comments: Tráchtanna + id: ID + notes: Nótaí + scope: Scóip + state: Stádas + title: Teideal + votes: Vótaí + participatory_text_proposal: + buttons: + amend: Leasaigh + comment: Trácht + comments: Tráchtanna + proposals: + compare: + continue: Lean ar aghaidh + complete: + send: Seol + edit: + add_images: Comhad + back: Ar Ais + select_a_category: Roghnaigh catagóir le do thoil + send: Seol + edit_draft: + send: Réamhamharc + filters: + all: Uile + amendment_type: Cineál + category: Catagóir + origin: Bunús + scope: Scóip + search: Cuardaigh + state: Stádas + type: Cineál + filters_small_view: + filter: Scag + unfold: Oscail + new: + send: Lean ar aghaidh + orders: + most_endorsed: Formhuinithe is mó + random: Randamach + recent: Is Déanaí + preview: + publish: Foilsigh + update_position: Uasdátaigh seasamh + show: + answer: Freagra + back_to: Siar + comments: Tráchtanna + endorsements_list: Liosta Formhuinithe + report: Tuairiscigh + vote_button: + vote: Tacaigh le + voting_rules: + vote_limit: + votes: Tacaíochtaí + wizard_aside: + back: Ar Ais + wizard_steps: + step_2: Cuir i gcomparáid + proposals_picker: + close: Dún diff --git a/decidim-sortitions/config/locales/ga-IE.yml b/decidim-sortitions/config/locales/ga-IE.yml index 20a9da24e96f1..cfafc16c90180 100644 --- a/decidim-sortitions/config/locales/ga-IE.yml +++ b/decidim-sortitions/config/locales/ga-IE.yml @@ -1 +1,35 @@ ga: + activemodel: + attributes: + sortition: + title: Teideal + decidim: + sortitions: + admin: + actions: + edit: Eagar + models: + sortition: + fields: + dice: Dísle + seed: Síol + title: Teideal + sortitions: + edit: + update: Nuashonraigh + new: + create: Cruthaigh + sortitions: + filters: + active: Gníomhach + all: Uile + search: Cuardaigh + state: Stádas + filters_small_view: + filter: Scagaire + unfold: Oscail + orders: + random: Randamach + recent: Is Déanaí + sortition: + view: Amharc diff --git a/decidim-surveys/config/locales/ga-IE.yml b/decidim-surveys/config/locales/ga-IE.yml index 20a9da24e96f1..5884e19e738ee 100644 --- a/decidim-surveys/config/locales/ga-IE.yml +++ b/decidim-surveys/config/locales/ga-IE.yml @@ -1 +1,10 @@ ga: + decidim: + components: + surveys: + actions: + answer: Freagair + name: Suirbhé + settings: + global: + scope_id: Scóip diff --git a/decidim-system/config/locales/ga-IE.yml b/decidim-system/config/locales/ga-IE.yml index 20a9da24e96f1..812a62a0d2e07 100644 --- a/decidim-system/config/locales/ga-IE.yml +++ b/decidim-system/config/locales/ga-IE.yml @@ -1 +1,48 @@ ga: + activemodel: + attributes: + organization: + from_label: Lipéad + password: Pasfhocal + port: Port + decidim: + system: + actions: + destroy: Scrios + edit: Eagar + new: Nua + save: Sábháil + title: Gníomhartha + admins: + edit: + update: Nuashonraigh + index: + title: Riaracháin + new: + create: Cruthaigh + menu: + admins: Riaracháin + models: + admin: + fields: + email: Seoladh ríomhphoist + name: Riarachán + organization: + fields: + name: Ainm + oauth_applications: + edit: + save: Sábháil + new: + save: Sábháil + organizations: + omniauth_settings: + enabled: Cumasaithe + facebook: + app_id: ID Aipe + icon: Deilbhín + twitter: + api_key: Eochair API + smtp_settings: + fieldsets: + sender: Seoltóir diff --git a/decidim-templates/config/locales/es-MX.yml b/decidim-templates/config/locales/es-MX.yml index 83c84b9c9385a..f3b9302195c7b 100644 --- a/decidim-templates/config/locales/es-MX.yml +++ b/decidim-templates/config/locales/es-MX.yml @@ -1,4 +1,11 @@ es-MX: + activemodel: + attributes: + questionnaire: + title: Título + template: + description: Descripción + name: Nombre decidim: admin: menu: diff --git a/decidim-templates/config/locales/es-PY.yml b/decidim-templates/config/locales/es-PY.yml index 8d1c811b673e5..4f29c357ef5ee 100644 --- a/decidim-templates/config/locales/es-PY.yml +++ b/decidim-templates/config/locales/es-PY.yml @@ -1,4 +1,11 @@ es-PY: + activemodel: + attributes: + questionnaire: + title: Título + template: + description: Descripción + name: Nombre decidim: admin: menu: diff --git a/decidim-templates/config/locales/es.yml b/decidim-templates/config/locales/es.yml index 28ca701ba02e7..9d0a4124cdd95 100644 --- a/decidim-templates/config/locales/es.yml +++ b/decidim-templates/config/locales/es.yml @@ -1,4 +1,11 @@ es: + activemodel: + attributes: + questionnaire: + title: Título + template: + description: Descripción + name: Nombre decidim: admin: menu: diff --git a/decidim-templates/config/locales/ga-IE.yml b/decidim-templates/config/locales/ga-IE.yml index 20a9da24e96f1..66a51da15edb2 100644 --- a/decidim-templates/config/locales/ga-IE.yml +++ b/decidim-templates/config/locales/ga-IE.yml @@ -1 +1,17 @@ ga: + activemodel: + attributes: + questionnaire: + title: Teideal + template: + name: Ainm + decidim: + templates: + admin: + questionnaire_templates: + choose: + skip_template: Scipeáil + edit: + edit: Eagar + form: + save: Sábháil diff --git a/decidim-verifications/config/locales/ga-IE.yml b/decidim-verifications/config/locales/ga-IE.yml index 20a9da24e96f1..abe9c047c0e3f 100644 --- a/decidim-verifications/config/locales/ga-IE.yml +++ b/decidim-verifications/config/locales/ga-IE.yml @@ -1 +1,58 @@ ga: + activemodel: + attributes: + config: + offline: As líne + online: Ar líne + postal_letter_confirmation: + verification_code: Cód deimhnithe + postal_letter_postage: + verification_code: Cód deimhnithe + decidim: + authorization_handlers: + direct: Díreach + help: Cabhair + name: Ainm + verifications: + authorizations: + new: + authorize: Seol + renew_modal: + cancel: Cealaigh + close: dún + continue: Lean ar aghaidh + id_documents: + admin: + config: + edit: + update: Nuashonraigh + confirmations: + new: + reject: Diúltaigh + verify: Deimhnigh + offline_confirmations: + new: + cancel: Cealaigh + verify: Deimhnigh + pending_authorizations: + index: + config: Cumraíocht + authorizations: + choose: + offline: As líne + online: Ar líne + dni: Cárta ID + nie: Cárta ID Eachtrannaigh + postal_letter: + admin: + pending_authorizations: + index: + address: Seoladh + username: Leasainm + authorizations: + edit: + send: Deimhnigh + sms: + authorizations: + edit: + send: Deimhnigh From da0cf9cd72ae8e14d8bea8d0bd95280d6ed55c4f Mon Sep 17 00:00:00 2001 From: Aitor Lopez Beltran Date: Sun, 8 Aug 2021 11:56:37 +0200 Subject: [PATCH 52/71] Fix machine translation fields job enqueued with wrong argument (#118) When the default locale is not filled, as in commenting after changing locales, a `MachineTranslationFieldsJob` with wrong arguments. The source text to be translated is `nil` cause the value from the default locale is retrieved by default, but in this case the default locale is the target locale. --- .../machine_translation_resource_job.rb | 7 ++-- .../machine_translation_resource_job_spec.rb | 32 +++++++++++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/decidim-core/app/jobs/decidim/machine_translation_resource_job.rb b/decidim-core/app/jobs/decidim/machine_translation_resource_job.rb index 443f69655599a..e7ce80d589d0a 100644 --- a/decidim-core/app/jobs/decidim/machine_translation_resource_job.rb +++ b/decidim-core/app/jobs/decidim/machine_translation_resource_job.rb @@ -40,7 +40,8 @@ def perform(resource, previous_changes, source_locale) field, resource_field_value( previous_changes, - field + field, + source_locale ), target_locale, source_locale @@ -72,10 +73,10 @@ def default_locale_changed_or_translation_removed(previous_changes, field) @locales_to_be_translated.present? end - def resource_field_value(previous_changes, field) + def resource_field_value(previous_changes, field, source_locale) values = previous_changes[field] new_value = values.last - return new_value[default_locale(@resource)] if new_value.is_a?(Hash) + return new_value[source_locale] if new_value.is_a?(Hash) new_value end diff --git a/decidim-core/spec/jobs/decidim/machine_translation_resource_job_spec.rb b/decidim-core/spec/jobs/decidim/machine_translation_resource_job_spec.rb index f2c5ab7499300..aa1fdff73de53 100644 --- a/decidim-core/spec/jobs/decidim/machine_translation_resource_job_spec.rb +++ b/decidim-core/spec/jobs/decidim/machine_translation_resource_job_spec.rb @@ -60,6 +60,38 @@ module Decidim end end + describe "when default locale is not filled" do + # Example: commenting a proposal after changing locales + let(:current_locale) { "es" } + let(:comment) { create(:comment, body: body, commentable: commentable) } + let(:body) { { current_locale => "Nuevo comentario" } } + let(:commentable) { create(:proposal, component: component) } + let(:component) { create(:proposal_component, organization: organization) } + + before do + clear_enqueued_jobs + end + + it "enqueus the machine translation fields job" do + Decidim::MachineTranslationResourceJob.perform_now( + comment, + comment.translatable_previous_changes, + current_locale + ) + expect(Decidim::MachineTranslationFieldsJob) + .to have_been_enqueued + .on_queue("default") + .exactly(1).times + .with( + comment, + "body", + body[current_locale], + "en", + current_locale + ) + end + end + describe "if default locale isn't changed but locale changed is set to empty" do before do updated_title = { en: "New Title", es: "" } From 27c3c15399e60a7dbf677750d172aa3938d94a9c Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Wed, 1 Sep 2021 11:08:19 +0200 Subject: [PATCH 53/71] New Crowdin updates (#8246) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Irish) * New translations en.yml (Sinhala) * New translations en.yml (Sinhala) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (French) * New translations en.yml (Sinhala) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Polish) --- .../config/locales/lb-LU.yml | 245 +++ .../config/locales/si-LK.yml | 33 + decidim-admin/config/locales/fr.yml | 1 + decidim-admin/config/locales/lb-LU.yml | 973 ++++++++++++ decidim-assemblies/config/locales/ga-IE.yml | 2 + decidim-assemblies/config/locales/lb-LU.yml | 394 +++++ decidim-blogs/config/locales/ga-IE.yml | 10 + decidim-blogs/config/locales/lb-LU.yml | 84 ++ decidim-budgets/config/locales/ga-IE.yml | 4 + decidim-budgets/config/locales/lb-LU.yml | 284 ++++ decidim-comments/config/locales/ga-IE.yml | 8 + decidim-comments/config/locales/lb-LU.yml | 131 ++ decidim-comments/config/locales/si-LK.yml | 20 + decidim-conferences/config/locales/fr.yml | 20 + decidim-conferences/config/locales/ga-IE.yml | 4 + decidim-conferences/config/locales/lb-LU.yml | 527 +++++++ .../config/locales/ga-IE.yml | 33 + .../config/locales/lb-LU.yml | 286 ++++ decidim-core/config/locales/ga-IE.yml | 36 + decidim-core/config/locales/lb-LU.yml | 1323 +++++++++++++++++ decidim-debates/config/locales/ga-IE.yml | 5 + decidim-debates/config/locales/lb-LU.yml | 122 ++ decidim-dev/config/locales/ga-IE.yml | 1 + decidim-elections/config/locales/fr.yml | 16 + decidim-elections/config/locales/ga-IE.yml | 29 + decidim-elections/config/locales/ja.yml | 45 +- decidim-elections/config/locales/lb-LU.yml | 40 + decidim-forms/config/locales/ga-IE.yml | 3 + decidim-forms/config/locales/lb-LU.yml | 103 ++ decidim-forms/config/locales/pl.yml | 10 +- decidim-initiatives/config/locales/ga-IE.yml | 13 + decidim-initiatives/config/locales/lb-LU.yml | 340 +++++ decidim-meetings/config/locales/ga-IE.yml | 12 + decidim-meetings/config/locales/lb-LU.yml | 221 +++ .../config/locales/ga-IE.yml | 5 + .../config/locales/lb-LU.yml | 18 + decidim-proposals/config/locales/fr.yml | 4 +- decidim-proposals/config/locales/ga-IE.yml | 47 +- decidim-proposals/config/locales/lb-LU.yml | 7 + decidim-sortitions/config/locales/ga-IE.yml | 2 + decidim-surveys/config/locales/lb-LU.yml | 65 + .../config/locales/lb-LU.yml | 4 + 42 files changed, 5520 insertions(+), 10 deletions(-) diff --git a/decidim-accountability/config/locales/lb-LU.yml b/decidim-accountability/config/locales/lb-LU.yml index 823df018114f4..bb7d89bec0a2a 100644 --- a/decidim-accountability/config/locales/lb-LU.yml +++ b/decidim-accountability/config/locales/lb-LU.yml @@ -1 +1,246 @@ lb: + activemodel: + attributes: + result: + decidim_accountability_status_id: Status + decidim_category_id: Kategorie + decidim_scope_id: Umfang + description: Beschreiwung + end_date: Schlussdatum + progress: Progrès + project_ids: Bedeelegt Projeten + proposals: Bedeelegt Proposen + start_date: Ufanksdatum + title: Titel + updated_at: Aktualiséiert den + status: + description: Beschreiwung + key: Schlëssel + name: Numm + progress: Progrès + timeline_entry: + description: Beschreiwung + entry_date: Datum + models: + decidim/accountability/proposal_linked_event: Propose déi Deel vun engem Resultat ass + decidim/accountability/result_progress_updated_event: Aktualiséiert Entwécklung vun engem Resultat + activerecord: + models: + decidim/accountability/result: + one: Resultat + other: Resultat + decidim: + accountability: + actions: + attachment_collections: Dossier + attachments: Unhäng + confirm_destroy: Sidd Dir sécher datt Dir dësen %{name} läsche wëllt? + destroy: Läschen + edit: Editéieren + import_csv: CSV importéieren + new: Néi %{name} + preview: Preview + timeline_entries: Projektentwécklung + title: Aktiounen + admin: + exports: + result_comments: Kommentarer + results: Resultater + import_results: + new: + import: Import + info: "

    Wir empfehlen, dass Sie folgende Schritte befolgen:

    1. Erstellen Sie den Status der Ergebnisse, die Sie hinzufügen möchten (link)
    2. Erstellen Sie mindestens ein Ergebnis über diesen Administrator-Panel (link) bevor Sie Importieren, damit Sie mit dem Format und den benötigten Eingaben vertraut sind.
    3. Laden Sie den Export im CSV-Format herunter (%{link_export_csv})
    4. Nehmen Sie Änderungen lokal vor. Sie können nur die folgenden Spalten der CSV ändern:
    • Kategorie/ID: ID der Kategorie
    • Umfang/ID: ID des Umfangs
    • Übergeordnet/ID: Übergeordnete ID (für verwandte Ergebnisse). Optional
    • Titel/I18N: Titel in Sprache X
    • Beschreibung/I18N: Beschreibung in Sprache X
    • start_datum: Datum, an dem die Ausführung des Ergebnisses beginnt (Format JJJJ-MM-TT)
    • end_datum: Datum, an dem die Ausführung des Ergebnisses endet (Format JJJJ-MM-TT)
    • Status/ID: ID des Status dieses Ergebnisses
    • Fortschritt: Prozentualer (von 0 bis 100) Fortschritt der Durchführung
    • Vorschläge_IDs: Interne ID der verwandten Vorschläge (getrennt durch Komma). Dies wird automatisch umgewandelt in proposal_url
    " + link: link + title: Resultater aus engem CSV-Fichier importéieren + imports: + create: + success: Den Import vum Fichier huet ugefaang. Dir kritt eng Email an den nächste puer Minutte mam Resultat vum Import + models: + result: + name: Resultat + status: + name: Status + timeline_entry: + name: Zeitachseneintrag + results: + create: + invalid: Beim Erstellen dieses Ergebnisses ist ein Problem aufgetreten + success: Ergebnis erfolgreich erstellt + destroy: + success: Ergebnis erfolgreich gelöscht + edit: + title: Ergebnis bearbeiten + update: Ergebnis aktualisieren + index: + title: Resultater + new: + create: Ergebnis erstellen + title: Neues Ergebnis + update: + invalid: Beim Aktualisieren dieses Ergebnisses ist ein Problem aufgetreten + success: Ergebnis erfolgreich aktualisiert + shared: + subnav: + statuses: Status + statuses: + create: + invalid: Beim Erstellen dieses Status ist ein Problem aufgetreten + success: Status erfolgreich erstellt + destroy: + success: Status erfolgreich gelöscht + edit: + title: Status bearbeiten + update: Update Status + index: + title: Status + new: + create: Status erstellen + title: Neuer Status + update: + invalid: Beim Aktualisieren dieses Status ist ein Problem aufgetreten + success: Status erfolgreich aktualisiert + timeline_entries: + create: + invalid: Beim Erstellen dieses Eintrags ist ein Problem aufgetreten + success: Der Eintrag wurde erfolgreich erstellt + destroy: + success: Der Eintrag wurde erfolgreich gelöscht + edit: + title: Eintrag bearbeiten + update: Eintrag aktualisieren + index: + title: Projektzeitplaneinträge + new: + create: Eintrag erstellen + title: Neuer Eintrag + update: + invalid: Beim Aktualisieren dieses Eintrags ist ein Problem aufgetreten + success: Eintrag erfolgreich aktualisiert + admin_log: + result: + create: "%{user_name} hat das Ergebnis %{resource_name} in %{space_name} erstellt" + delete: "%{user_name} hat das Ergebnis %{resource_name} in %{space_name} gelöscht" + update: "%{user_name} hat das Ergebnis %{resource_name} in %{space_name} aktualisiert" + value_types: + parent_presenter: + not_found: 'Das übergeordnete Objekt wurde nicht in der Datenbank gefunden (ID: %{id})' + content_blocks: + highlighted_results: + dates: Daten + results: Ergebnisse + unspecified: Keine Angabe + import_mailer: + import: + errors: Fehler + errors_present: Beim Importieren der Ergebnisse ist ein Fehler aufgetreten + row_number: Zeile + subject: Ergebnisse wurden erfolgreich importiert + success: Ergebnisse wurden erfolgreich importiert. Sie können die Ergebnisse über die Administrationsoberfläche aufrufen. + last_activity: + new_result_at_html: "Neues Ergebnis bei %{link}" + models: + result: + fields: + category: Kategorie + created_at: Erstellt am + end_date: Enddatum + id: ID + progress: Fortschritt + scope: Themenbereich + start_date: Startdatum + status: Status + title: Titel + status: + fields: + description: Beschreibung + key: Schlüssel + name: Name + progress: Fortschritt + timeline_entry: + fields: + description: Beschreibung + entry_date: Datum + result_m: + executed: Ausgeführt + view: Ansicht + results: + count: + results_count: + one: 1 Ergebnis + other: "%{count} Ergebnisse" + filters: + all: Alle + scopes: Bereiche + home: + categories_label: Kategorien + subcategories_label: Unterkategorien + home_header: + global_status: Globaler Umsetzungsstatus + nav_breadcrumb: + global: Globale Ausführung + search: + search: Suche nach Aktionen + show: + stats: + attendees: Teilnehmer + back_to_resource: Gehe zurück zum Ergebnis + comments: Bemerkungen + contributions: Beiträge + last_edited_by: Zuletzt bearbeitet von + last_updated_at: Zuletzt aktualisiert am + meetings: Meetings + proposals: Vorschläge + votes: Unterstützt + timeline: + title: Projektentwicklung + admin: + filters: + results: + category_id_eq: + label: Kategorie + scope_id_eq: + label: Themenberäich + status_id_eq: + label: Status + components: + accountability: + name: Rechenschaftspflicht + settings: + global: + categories_label: Name für "Kategorien" + comments_enabled: Kommentare aktiviert + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + display_progress_enabled: Fortschritt anzeigen + heading_leaf_level_results: Name für "Projekte" + heading_parent_level_results: Name für "Resultate" + intro: Einführung + scope_id: Bereich + scopes_enabled: Bereiche aktiviert + subcategories_label: Name für "Unterkategorien" + step: + comments_blocked: Kommentare blockiert + events: + accountability: + proposal_linked: + email_intro: 'Der Vorschlag "%{proposal_title}" wurde in ein Ergebnis aufgenommen. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{proposal_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Eine Aktualisierung auf %{proposal_title} + notification_title: Der Vorschlag %{proposal_title} wurde im Ergebnis %{resource_title} aufgenommen. + result_progress_updated: + email_intro: 'Das Ergebnis "%{resource_title}", das den Vorschlag "%{proposal_title}" enthält, ist jetzt zu %{progress}% abgeschlossen. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{proposal_title}" folgen und dieser Vorschlag in das Ergebnis "%{resource_title}" aufgenommen wurde. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Fortschritt von %{resource_title} aktualisiert + notification_title: Das Ergebnis %{resource_title}, das den Vorschlag %{proposal_title} enthält, ist jetzt zu %{progress}% abgeschlossen. + metrics: + results: + description: Anzahl der generierten Ergebnisse + object: Ergebnisse + title: Ergebnisse + participatory_spaces: + highlighted_results: + see_all: Alle Ergebnisse ansehen (%{count}) + resource_links: + included_projects: + result_project: Projekte in diesem Ergebnis enthalten + included_proposals: + result_proposal: Vorschläge in diesem Ergebnis enthalten diff --git a/decidim-accountability/config/locales/si-LK.yml b/decidim-accountability/config/locales/si-LK.yml index 3f1628a23f2d4..c10131797c0c4 100644 --- a/decidim-accountability/config/locales/si-LK.yml +++ b/decidim-accountability/config/locales/si-LK.yml @@ -3,18 +3,51 @@ si: attributes: result: decidim_accountability_status_id: තත්වය + decidim_category_id: ප්‍රවර්ගය + description: සවිස්තරය + title: මාතෘකාව status: + description: සවිස්තරය + key: යතුර name: නම timeline_entry: + description: සවිස්තරය entry_date: දිනය + activerecord: + models: + decidim/accountability/result: + one: ප්‍රතිඵලය + other: ප්‍රතිඵල decidim: accountability: actions: + attachment_collections: බහාලුම් + attachments: ඇමුණුම් edit: සංස්කරණය + preview: පෙරදසුන + title: ක්‍රියාමාර්ග admin: + exports: + result_comments: අදහස් + results: ප්‍රතිඵල + import_results: + new: + import: ආයාත කරන්න + link: සබැඳිය models: + result: + name: ප්‍රතිඵලය status: name: තත්වය + results: + index: + title: ප්‍රතිඵල + shared: + subnav: + statuses: තත්වයන් + statuses: + edit: + title: තත්වය සංස්කරණය content_blocks: highlighted_results: dates: දින diff --git a/decidim-admin/config/locales/fr.yml b/decidim-admin/config/locales/fr.yml index 56052626099a1..00e59347b9afe 100644 --- a/decidim-admin/config/locales/fr.yml +++ b/decidim-admin/config/locales/fr.yml @@ -32,6 +32,7 @@ fr: body: Corps de texte subject: Objet organization: + admin_terms_of_use_body: Corps du texte pour les conditions d'utilisation de l'admin alert_color: Alerte available_authorizations: Autorisations disponibles badges_enabled: Activer les badges diff --git a/decidim-admin/config/locales/lb-LU.yml b/decidim-admin/config/locales/lb-LU.yml index 823df018114f4..7c7362d8fb6bf 100644 --- a/decidim-admin/config/locales/lb-LU.yml +++ b/decidim-admin/config/locales/lb-LU.yml @@ -1 +1,974 @@ lb: + activemodel: + attributes: + area: + area_type: Bereichstyp + name: Name + organization: Organisation + area_type: + name: Name + organization: Organisation + plural: Plural + attachment: + attachment_collection_id: Verzeichnis + description: Beschreibung + file: Datei + title: Anhang oder Bildname + attachment_collection: + description: Beschreibung + name: Name + category: + description: Beschreibung + name: Name + parent_id: Übergeordnete Kategorie + component: + name: Name + published_at: Veröffentlicht unter + id: ID + import: + user_group_id: Importierte Inhalte erstellen als + newsletter: + body: Haupttext + subject: Betreff + organization: + admin_terms_of_use_body: Körper für die Admin-Nutzungsbedingungen + alert_color: Benachrichtigung + available_authorizations: Verfügbare Autorisierungen + badges_enabled: Abzeichen aktivieren + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + cta_button_path: Call To Action Schaltfläche Pfad + cta_button_text: Call To Action Schaltfläche Text + customize_welcome_notification: Willkommens-Benachrichtigung anpassen + default_locale: Standardgebietsschema + description: Beschreibung + enable_omnipresent_banner: Zeige allgegenwärtiges Banner + facebook_handler: Facebook-Handler + favicon: Icon + force_authentication: Authentifizierung erzwingen + force_users_to_authenticate_before_access_organization: Benutzer müssen sich authentifizieren bevor sie auf die Organisation zugreifen können + github_handler: GitHub-Handler + header_snippets: Header-Snippets + highlight_alternative_color: Hervorhebung, Alternative + highlight_color: Hervorheben + highlighted_content_banner_action_subtitle: Aktion Schaltfläche Untertitel + highlighted_content_banner_action_title: Titel der Aktionsschaltfläche + highlighted_content_banner_action_url: Aktionsschaltflächen-URL + highlighted_content_banner_enabled: Zeigen Sie das hervorgehobene Inhaltsbanner an + highlighted_content_banner_image: Bild + highlighted_content_banner_short_description: Kurze Beschreibung + highlighted_content_banner_title: Titel + host: Host + instagram_handler: Instagram-Handler + logo: Logo + machine_translation_display_priority: Priorität der maschinellen Übersetzung + machine_translation_display_priority_original: Originaltext zuerst + machine_translation_display_priority_translation: Übersetzter Text zuerst + name: Name + official_img_footer: Offizielles Logo Fußzeile + official_img_header: Offizieller Logo-Header + official_url: Offizielle Organisations-URL + omnipresent_banner_short_description: Kurze Beschreibung + omnipresent_banner_title: Titel + omnipresent_banner_url: URL + organization_admin_email: E-Mail des Organisations-Admins + organization_admin_name: Name des Organisations-Admins + organization_locales: Verfügbare Sprachen + primary_color: Primär + reference_prefix: Referenzpräfix + rich_text_editor_in_public_views: Rich-Text-Editor für Teilnehmer aktivieren + secondary_color: Sekundär + secondary_hosts: Weitere Hosts + send_welcome_notification: Willkommens-Benachrichtigung senden + success_color: Erfolg + time_zone: Zeitzone + tos_version: Nutzungsbedingungen Version + twitter_handler: Twitter-Handler + user_groups_enabled: Benutzergruppen aktivieren + users_registration_mode: Benutzerregistrierungs-Modus + warning_color: Warnung + welcome_notification_body: Text der Willkommens-Benachrichtigung + welcome_notification_subject: Betreff der Willkommens-Benachrichtigung + youtube_handler: YouTube-Handler + scope: + code: Code + name: Name + organization: Organisation + parent_id: Elternteil + scope_type: Geltungsbereich + scope_type_id: Geltungsbereich + scope_type: + name: Name + organization: Organisation + plural: Plural + settings: + scope_id: Umfang + static_page: + allow_public_access: Zugriff ohne Authentifizierung erlauben + changed_notably: Es gab bemerkenswerte Änderungen. + content: Inhalt + organization: Organisation + show_in_footer: In der Fußzeile anzeigen + slug: URL-Block + title: Titel + static_page_topic: + description: Beschreibung + show_in_footer: In der Fußzeile anzeigen + title: Titel + user_group_csv_verification: + file: Datei + errors: + models: + organization: + attributes: + official_img_footer: + allowed_file_content_types: Ungültige Bilddatei + official_img_header: + allowed_file_content_types: Ungültige Bilddatei + new_import: + attributes: + file: + invalid_mime_type: Ungültiger MIME-Typ + activerecord: + attributes: + decidim/static_page: + content: Inhalt + slug: URL-Block + title: Titel + doorkeeper/application: + authorize_url: URL autorisieren + client_id: Client-ID + client_secret: Kundengeheimnis + organization_name: Name der Organisation + organization_url: Organisations-URL + redirect_uri: Umleitungs URI + site: Webseite + decidim: + admin: + actions: + add: Hinzufügen + attachment: + new: Neuer Anhang + attachment_collection: + new: Neuer Ordner + browse: Durchsuchen + category: + new: Neue Kategorie + import: Importieren + manage: Verwalten + new: Neu %{name} + newsletter: + new: Neuer Newsletter + participatory_space_private_user: + new: Neuer privater Benutzer + per_page: Pro Seite + permissions: Berechtigungen + reject: Ablehnen + share: Teilen + user: + new: Neuer Benutzer + verify: Überprüfen + admin_terms_of_use: + accept: + error: Beim Akzeptieren der Nutzungsbedingungen ist ein Fehler aufgetreten. + success: Super! Sie haben die Admin-Nutzungsbedingungen akzeptiert. + actions: + accept: Ich stimme den folgenden Bedingungen zu + refuse: Die Admin-Nutzungsbedingungen ablehnen + title: Den Admin-Nutzungsbedingungen zustimmen + required_review: + alert: 'Erforderlich: Überprüfen Sie unsere Admin-Nutzungsbedingungen' + cta: Lesen Sie sie jetzt. + title: Admin-Nutzungsbedingungen + area_types: + create: + error: Beim Erstellen eines neuen Bereichstyps ist ein Fehler aufgetreten. + success: Bereichstyp wurde erfolgreich erstellt. + destroy: + success: Der Bereichstyp wurde erfolgreich zerstört + edit: + title: Bereichstyp bearbeiten + update: Aktualisieren + new: + create: Bereichstyp erstellen + title: Neuer Bereichstyp + update: + error: Beim Aktualisieren dieses Bereichstyps ist ein Fehler aufgetreten. + success: Bereichstyp wurde erfolgreich aktualisiert + areas: + create: + error: Beim Erstellen eines neuen Bereichs ist ein Fehler aufgetreten. + success: Bereich wurde erfolgreich erstellt. + destroy: + success: Bereich wurde erfolgreich zerstört + edit: + title: Bereich bearbeiten + update: Aktualisieren + new: + create: Bereich erstellen + title: Neues Gebiet + no_areas: Keine Bereiche + update: + error: Beim Aktualisieren dieses Bereichs ist ein Fehler aufgetreten. + success: Bereich wurde erfolgreich aktualisiert + attachment_collections: + create: + error: Beim Erstellen eines neuen Ordners ist ein Fehler aufgetreten. + success: Ordner erfolgreich erstellt + destroy: + success: Der Ordner wurde erfolgreich zerstört. + edit: + title: Ordner bearbeiten + update: Aktualisieren + index: + attachment_collection_used: Dieser Ordner kann nicht entfernt werden, weil er verwendet wird. + attachment_collections_title: Anhang Ordner + new: + create: Erstellen + title: Neuer Ordner + update: + error: Beim Aktualisieren dieses Ordners ist ein Fehler aufgetreten. + success: Der Ordner wurde erfolgreich aktualisiert. + attachments: + create: + error: Beim Erstellen des neuen Anhangs ist ein Fehler aufgetreten. + success: Anhang wurde erfolgreich erstellt. + destroy: + success: Anhang wurde erfolgreich entfernt. + edit: + title: Anhang bearbeiten + update: Aktualisieren + index: + attachments_title: Anhänge + new: + create: Anhang erstellen + title: Neuer Anhang + update: + error: Beim Aktualisieren dieses Anhangs ist ein Fehler aufgetreten. + success: Anhang wurde erfolgreich aktualisiert. + autocomplete: + no_results: keine Ergebnisse gefunden + search_prompt: Geben Sie mindestens drei Zeichen ein, um zu suchen + block_user: + new: + action: Konto sperren und Begründung senden + justification: Begründung + title: Benutzer %{name} blockieren + categories: + create: + error: Beim Erstellen dieser Kategorie ist ein Fehler aufgetreten. + success: Kategorie wurde erfolgreich erstellt. + destroy: + error: Beim Löschen dieser Kategorie ist ein Fehler aufgetreten. Bitte löschen Sie zuerst eine Unterkategorie, stellen Sie sicher, dass keine andere Entität zu dieser Kategorie gehört, und versuchen Sie es erneut. + success: Kategorie wurde erfolgreich gelöscht. + edit: + title: Kategorie bearbeiten + update: Aktualisieren + index: + categories_title: Kategorien + category_used: Diese Kategorie kann nicht entfernt werden, weil sie verwendet wird. + new: + create: Kategorie erstellen + title: Neue Kategorie + update: + error: Beim Aktualisieren dieser Kategorie ist ein Fehler aufgetreten. + success: Die Kategorie wurde erfolgreich aktualisiert. + component_permissions: + update: + error: Es gab ein Problem beim Aktualisieren der Berechtigungen dieser Komponente. + success: Berechtigungen wurden erfolgreich aktualisiert. + components: + create: + error: Beim Erstellen dieser Komponente ist ein Fehler aufgetreten. + success: Komponente wurde erfolgreich erstellt. + destroy: + error: Beim Löschen dieser Komponente ist ein Fehler aufgetreten. + success: Komponente wurde erfolgreich gelöscht. + edit: + title: Komponente bearbeiten + update: Aktualisieren + form: + default_step_settings: Standardschritteinstellungen + global_settings: Globale Einstellungen + step_settings: Schritteinstellungen + index: + add: Komponente hinzufügen + headers: + actions: Aktionen + name: Komponentenname + scope: Komponentenbereich + type: Komponententyp + new: + add: Komponente hinzufügen + title: 'Komponente hinzufügen: %{name}' + publish: + success: Die Komponente wurde erfolgreich veröffentlicht. + title: Komponenten + unpublish: + success: Die Komponente wurde erfolgreich veröffentlicht. + update: + error: Beim Aktualisieren dieser Komponente ist ein Fehler aufgetreten. + success: Die Komponente wurde erfolgreich aktualisiert. + conflicts: + attempts: Versuche + 'false': 'Nein' + managed_user_name: Verwalteter Benutzer + solved: Gelöst + transfer: + email: E-Mail + error: Es gab ein Problem bei der Übertragung des aktuellen Teilnehmers zu den verwalteten Teilnehmern. + name: Name + reason: Grund + success: Übertragung erfolgreich. + title: Übertragung + 'true': 'Ja' + user_name: Nutzer + dashboard: + show: + view_more_logs: Weitere Protokolle anzeigen + welcome: Willkommen im Decidim Admin Panel. + exports: + export_as: "%{name} als %{export_format}" + formats: + CSV: CSV + Excel: Excel + FormPDF: PDF + JSON: JSON + notice: Ihr Export wird gerade ausgeführt. Sie erhalten nach Fertigstellung eine E-Mail. + filters: + category_id_eq: + label: Kategorie + filter_label: Filtern + moderations: + reportable_type_string_eq: + label: Art + officialized_at_null: + label: Zustand + values: + 'false': Offizialisiert + 'true': Nicht offiziell + private_space_eq: + label: Privat + values: + 'false': Öffentlich + 'true': Privat + published_at_null: + label: Veröffentlicht + values: + 'false': Veröffentlicht + 'true': Unveröffentlicht + scope_id_eq: + label: Themenbereich + search_label: Suche + search_placeholder: + name_or_nickname_or_email_cont: Suche in %{collection} nach E-Mail, Name oder Benutzername. + reported_id_string_or_reported_content_cont: Suche %{collection} nach meldbarer Id oder Inhalt. + title_cont: In %{collection} nach Titel suchen. + state_eq: + label: Bundesland + forms: + file_help: + import: + explanation: 'Hinweise für die Datei:' + message_2: Bei CSV-Dateien muss das Trennzeichen zwischen den Spalten ein Semikolon sein (";") + help_sections: + error: Beim Aktualisieren der Hilfeabschnitte ist ein Fehler aufgetreten + form: + save: Speichern + success: Hilfeabschnitte wurden erfolgreich aktualisiert + impersonatable_users: + index: + filter: + all: Alle + managed: Gelang es + not_managed: Nicht verwaltet + filter_by: Filtern nach + impersonate: Imitieren + impersonate_new_managed_user: Sich als neuer verwalteter Benutzer ausgeben + managed: Gelang es + name: Name + needs_authorization_warning: Sie benötigen mindestens eine Autorisierung, die für diese Organisation aktiviert ist. + not_managed: Nicht verwaltet + promote: Fördern + search: Suche + status: Status + view_logs: Protokolle anzeigen + impersonations: + close_session: + error: Beim Schließen der aktuellen Identitätswechsel-Sitzung ist ein Fehler aufgetreten. + success: Die aktuelle Identitätswechselsitzung wurde erfolgreich beendet. + create: + error: Es gab einen Fehler bei der Identität des Benutzers. + success: Der verwaltete Benutzer wurde erfolgreich erstellt. + form: + authorization_method: Autorisierungsmethode + name: Name + reason: Grund + new: + impersonate: Imitieren + impersonate_existing_managed_user: Angenommen, dass der Benutzer "%{name}" verwaltet wird + impersonate_existing_user: Imitieren von Benutzer "%{name}" + impersonate_new_managed_user: Sich als neuer verwalteter Benutzer ausgeben + imports: + creators: + proposalcreator: Vorschlagsersteller + error: Beim Importieren ist ein Fehler aufgetreten + help: + proposalcreator: Die Datei muss die Spaltennamen title/de und body/de (oder andere Sprachen wie zum Beispiel title/en und body/en) enthalten. Zudem sind scope/id und category/id unterstützt. + import_from_file: Aus einer Datei importieren + invalid_lines: Fehler in der Ressource Nummer %{invalid_lines} + new: + accepted_mime_types: + csv: CSV + json: JSON + actions: + back: Zurück + file_legend: Datei zum Importieren hinzufügen. + import: Importieren + notice: "%{number}%{resource_name} erfolgreich importiert" + logs: + logs_list: + no_logs_yet: Es gibt noch keine Protokolle + managed_users: + promotion: + error: Es ist ein Fehler aufgetreten, der den verwalteten Benutzer unterstützt. + success: Der verwaltete Benutzer wurde erfolgreich hochgestuft. + promotions: + new: + explanation: Verwaltete Benutzer können zu Standardbenutzern heraufgestuft werden. Das bedeutet, dass sie zu der Anwendung eingeladen werden und nicht in der Lage sind, sie erneut zu repräsentieren. Der eingeladene Benutzer erhält eine E-Mail, um Ihre Einladung anzunehmen. + new_managed_user_promotion: Neue verwaltete Benutzerwerbung + promote: Fördern + menu: + admin_log: Admin-Aktivitätsprotokoll + admins: Admins + appearance: Aussehen + area_types: Bereichstypen + areas: Bereiche + configuration: Aufbau + dashboard: Instrumententafel + help_sections: Hilfeabschnitte + homepage: Startseite + impersonations: Identitätswechsel + moderation: Globale Moderationen + newsletters: Newsletter + participants: Teilnehmer + reported_users: Gemeldete Nutzer + scope_types: Bereichstypen + scopes: Bereiche + settings: die Einstellungen + static_pages: Seiten + user_groups: Benutzergruppen + users: Benutzer + metrics: + metrics: + see_more_metrics: Mehr Kriterien anzeigen + models: + area: + fields: + area_type: Bereichstyp + name: Name + area_type: + fields: + name: Name + plural: Plural + attachment: + fields: + collection: Mappe + content_type: Art + file_size: Größe + title: Titel + name: Befestigung + attachment_collection: + name: Mappe + category: + name: Kategorie + impersonation_log: + fields: + admin: Administrator + ended_at: Beendet um + expired_at: Abgelaufen um + reason: Grund + started_at: Fing an bei + user: Benutzer + newsletter: + fields: + created_at: Hergestellt in + progress: Fortschritt + sent_at: Gesendet um + sent_to: Gesendet an + subject: Gegenstand + name: Newsletter + participatory_space_private_user: + name: Participatory Space privater Benutzer + scope: + fields: + name: Name + scope_type: Geltungsbereich + scope_type: + fields: + name: Name + plural: Plural + share_token: + fields: + created_at: Erstellt am + expires_at: Läuft ab am + last_used_at: Zuletzt verwendet + times_used: Anzahl Anwendungen + token: Token + user: Erstellt von + static_page: + fields: + created_at: Hergestellt in + title: Titel + user: + fields: + created_at: Erstellungsdatum + email: Email + last_sign_in_at: Letztes Anmeldedatum + name: Name + role: Rolle + roles: + admin: Administrator + user_manager: Benutzer Manager + name: Benutzer + user_group: + fields: + actions: Aktionen + created_at: Hergestellt in + document_number: Dokumentnummer + name: Name + phone: Telefon + state: Zustand + users_count: Benutzer zählen + moderated_users: + index: + actions: + block: Benutzer blockieren + title: Aktionen + unblock: Blockierung des Benutzers aufheben + unreport: Meldung Rückgängig machen + name: Name + nickname: Spitzname + reason: Grund + reports: Anzahl Meldungen + title: Liste der gemeldeten Benutzer + report: + reasons: + does_not_belong: Gehört nicht zu + offensive: Offensiv + spam: Spam + tabs: + blocked: Blockiert + unblocked: Nicht blockiert + moderations: + index: + title: Moderationen + report: + reasons: + does_not_belong: Gehört nicht + offensive: Beleidigend + spam: Spam + reports: + index: + author: Autor(en) + callout_html: Ein Inhalt erscheint im Moderations-Panel, wenn er von einem Benutzer signalisiert wurde (kann jeder mit einem registrierten Konto sein), indem er auf die %{icon} Flagge neben dem Element klickt. + content_original_language: Originalsprache des Inhalts + participatory_space: Beteiligungsbereich + reported_content: Gemeldeter Inhalt + see_current: Siehe aktuelles + see_original: Original ansehen + title: Moderationsberichte + show: + report_details: Details zum Grund + report_language: Berichtssprache + report_reason: Grund + title: Berichtdetails + newsletter_templates: + index: + preview_template: Vorschau + title: Newsletter Vorlagen + use_template: Diese Vorlage verwenden + show: + preview: 'Vorschau der Vorlage: %{template_name}' + use_template: Diese Vorlage verwenden + newsletters: + create: + error: Beim Erstellen dieses Newsletters ist ein Fehler aufgetreten. + deliver: + error: Beim Versand dieses Newsletters ist ein Fehler aufgetreten. + success: Newsletter erfolgreich geliefert + destroy: + error_already_sent: 'Newsletter kann nicht gelöscht werden: Es wurde bereits gesendet.' + success: Newsletter erfolgreich zerstört. + edit: + save_and_preview: Speichern und Vorschau + title: Newsletter bearbeiten + index: + all: Alle + all_users: 'Alle Benutzer ' + and: 'und ' + confirm_delete: Möchten Sie diesen Newsletter wirklich löschen? + followers: 'Follower ' + has_been_sent_to: 'Wurde gesendet an: ' + no_scopes: Keine Themenbereiche + not_sent: Nicht gesendet + participants: 'Teilnehmer ' + segmented_to: 'Unterteilt in %{subject}: ' + subscribed_count: 'Abonniert:' + title: Newsletter + new: + save: Speichern + title: Neuer Newsletter + select_recipients_to_deliver: + all_spaces: Alle + all_users_help: Sendet Newsletter an alle bestätigten Benutzer. + confirm_deliver: Möchten Sie diesen Newsletter wirklich liefern? Diese Aktion kann nicht rückgängig gemacht werden. + deliver: Liefern Newsletter + followers_help: Sendet den Newsletter an alle bestätigten Benutzer, die den ausgewählten Teilnehmerräumen in der Liste folgen. + none: Niemand + participants_help: Sendet den Newsletter an alle bestätigten Benutzer, die an den ausgewählten Teilnehmerräumen der Liste teilgenommen haben. + recipients_count: Dieser Newsletter wird an %{count} Teilnehmer gesendet. + scopes_help: Sendet den Newsletter an Teilnehmer, die einen der gewählten Themenbereiche in den "Meine Interessen" Einstellungen ihres Kontos aktiviert haben. + select_scopes: Nur Teilnehmer anzeigen, die einen der gewählten Themenbereiche in Ihren "Meine Interessen" Einstellungen ihres Kontos aktiviert haben. + select_spaces: Wählen Sie Abschnitte, um den Newsletter zu unterteilen + select_users: Wählen Sie aus, welchen Benutzern Sie den Newsletter senden möchten + send_to_all_users: An alle Benutzer senden + send_to_followers: An Follower senden + send_to_participants: An Teilnehmer senden + title: Empfänger auswählen + warning: "Achtung: Dieser Newsletter wird nur an Benutzer gesendet, die Ich möchte Newsletter empfangen in ihren Benachrichtigungseinstellungen aktiviert haben." + send: + no_recipients: Keine Empfänger für diese Auswahl + show: + preview: Vorschau + select_recipients_to_deliver: Empfänger auswählen + subject: Gegenstand + update: + error: Beim Aktualisieren dieses Newsletters ist ein Fehler aufgetreten. + success: Newsletter erfolgreich aktualisiert. Bitte überprüfen Sie es vor dem Senden. + officializations: + block: + error: Beim Blockieren des Teilnehmers ist ein Fehler aufgetreten + success: Teilnehmer erfolgreich blockiert + create: + success: Benutzer wurde offiziell anerkannt + destroy: + success: Der Benutzer wurde erfolgreich inoffizialisiert + index: + actions: Aktionen + badge: Abzeichen + block: Benutzer blockieren + created_at: Hergestellt in + name: Name + nickname: Spitzname + not_officialized: Nicht offiziell + officialize: Offizialisieren + officialized: Offizialisiert + reofficialize: Reoffizialisieren + reports: Berichte + show_email: E-Mail-Adresse anzeigen + status: Status + unblock: Blockierung des Users aufheben + unofficialize: Nicht offiziell + new: + badge: Offizielles Abzeichen + officialize: Offizialisieren + title: Benutzer "%{name}" offiziellisieren + show_email_modal: + close_modal: Modal schließen + email_address: E-Mail-Adresse + full_name: Voller Name + hidden: versteckt + show: Anzeigen + unblock: + error: Beim Blockieren des Teilnehmers ist ein Fehler aufgetreten + success: Blockierung des Teilnehmers wurde erfolgreich aufgehoben + organization: + edit: + title: Organisation bearbeiten + update: Aktualisieren + form: + facebook: Facebook + github: GitHub + instagram: Instagram + rich_text_editor_in_public_views_help: In einigen Textbereichen können Teilnehmer mit Hilfe des Rich-Text-Editors HTML-Tags einfügen. + social_handlers: Sozial + twitter: Twitter + url: URL + youtube: Youtube + update: + error: Beim Aktualisieren dieser Organisation ist ein Fehler aufgetreten. + success: Die Organisation wurde erfolgreich aktualisiert. + organization_appearance: + edit: + update: Aktualisieren + form: + colors: + colors_title: Organisationsfarben + header_snippets_help: Verwenden Sie dieses Feld, um Dinge zum HTML-Kopf hinzuzufügen. Die häufigste Verwendung ist die Integration von Drittanbieterdiensten, für die zusätzliches JavaScript oder CSS erforderlich ist. Außerdem können Sie damit dem HTML zusätzliche Meta-Tags hinzufügen. Beachten Sie, dass dies nur auf öffentlichen Seiten und nicht im Admin-Bereich erfolgt. + cta_button_path_help: 'Sie können überschreiben, wo die Call To Action-Schaltfläche in der Homepage verlinkt ist. Verwenden Sie hier Teilpfade, nicht vollständige URLs. Akzeptiert Buchstaben, Zahlen, Bindestriche und Schrägstriche und muss mit einem Buchstaben beginnen. Die Call To Action-Schaltfläche wird auf der Startseite zwischen Begrüßungstext und Beschreibung angezeigt. Beispiel: %{url}' + cta_button_text_help: Sie können den Text der Call To Action-Schaltfläche auf der Startseite für jede verfügbare Sprache in Ihrer Organisation überschreiben. Wenn nicht festgelegt, wird der Standardwert verwendet. Die Call To Action-Schaltfläche wird auf der Startseite zwischen Begrüßungstext und Beschreibung angezeigt. + homepage_appearance_title: Homepage-Erscheinungsbild bearbeiten + homepage_highlighted_content_banner_title: Highlighted Inhaltsbanner + images: + layout_appearance_title: Layout-Layout bearbeiten + preview: Vorschau + omnipresent_banner_appearance_title: Bearbeiten Sie das allgegenwärtige Banner + organization_homepage: + edit: + active_content_blocks: Aktive Inhaltsblöcke + inactive_content_blocks: Inaktive Inhaltsblöcke + organization_homepage_content_blocks: + edit: + update: Aktualisieren + participatory_space_private_users: + create: + error: Beim Hinzufügen eines privaten Benutzers für diesen partizipativen Bereich ist ein Fehler aufgetreten. + success: Participatory Space Privater Benutzerzugriff erfolgreich erstellt. + destroy: + error: Beim Löschen eines privaten Benutzers für diesen partizipativen Bereich ist ein Fehler aufgetreten. + success: Participatory Space Privater Benutzerzugriff wurde erfolgreich zerstört. + index: + import_via_csv: Aus CSV-Datein importieren + title: Participatory Space privater Benutzer + new: + create: Erstellen + title: Neuer privater Benutzer des Participatory Space. + participatory_space_private_users_csv_imports: + create: + invalid: Beim Lesen der CSV-Datei ist ein Fehler aufgetreten. + success: CSV-Datei wurde erfolgreich hochgeladen, wir senden eine Einladungs-E-Mail an die Teilnehmer. Dies kann eine Weile dauern. + new: + explanation: 'Laden Sie Ihre CSV-Datei hoch. Diese muss zwei Spalten haben ohne Kopfzeile, mit E-Mail in der ersten Spalte der Datei und Namen in der letzten Spalte der Datei (E-Mail, Name) in Bezug auf die Benutzer, die Sie dem Beteiligungsbereich hinzufügen möchten. Vermeiden sie ungültige Zeichen wie `<>?%&^*#@()[]=+:;"{}\|` im Namen des Nutzers zu verwenden.' + title: CSV-Datei hochladen + upload: Hochladen + resource_permissions: + edit: + submit: einreichen + title: Berechtigungen bearbeiten + update: + success: Berechtigungen wurden erfolgreich aktualisiert. + resources: + index: + headers: + scope: Bereich + scope_types: + create: + error: Beim Erstellen eines neuen Geltungstyps ist ein Fehler aufgetreten. + success: Der Geltungsbereichstyp wurde erfolgreich erstellt. + destroy: + success: Der Scope-Typ wurde erfolgreich zerstört + edit: + title: Bereichstyp bearbeiten + update: Aktualisieren + new: + create: Erstellen Sie den Geltungsbereichstyp + title: Neuer Umfang + update: + error: Beim Aktualisieren dieses Bereichstyps ist ein Fehler aufgetreten. + success: Der Geltungsbereichstyp wurde erfolgreich aktualisiert + scopes: + create: + error: Beim Erstellen eines neuen Bereichs ist ein Fehler aufgetreten. + success: Bereich erfolgreich erstellt + destroy: + success: Bereich wurde erfolgreich zerstört + edit: + title: Bereich bearbeiten + update: Aktualisieren + new: + create: Bereich erstellen + title: Neuer Umfang + no_scopes: Keine Bereiche auf dieser Ebene. + update: + error: Beim Aktualisieren dieses Bereichs ist ein Fehler aufgetreten. + success: Bereich wurde erfolgreich aktualisiert + share_tokens: + actions: + confirm_destroy: Sind Sie sicher, dass Sie diesen Token löschen wollen? + destroy: Löschen + share: Teilen + destroy: + error: Beim Löschen dieses Tokens ist ein Fehler aufgetreten. + success: Token wurde erfolgreich gelöscht. + share_tokens: + empty: Es gibt keine aktiven Token + help: Diese Token werden verwendet, um diese unveröffentlichte Ressource öffentlich an jeden Benutzer weiterzugeben. Sie werden ausgeblendet, wenn das Werk veröffentlicht wird. Klicken Sie auf das Teilen-Symbol des Tokens um die teilbare URL zu besuchen. + title: Token teilen + shared: + gallery: + add_images: Bilder hinzufügen + delete_image: Bild löschen + gallery_legend: Bildergalerie hinzufügen (Optional) + static_page_topics: + create: + error: Beim Erstellen eines neuen Themas ist ein Fehler aufgetreten. + success: Thema erfolgreich erstellt. + destroy: + success: Thema erfolgreich zerstört + edit: + title: Thema bearbeiten + update: Thema aktualisieren + new: + create: Thema erstellen + title: Neues Thema + update: + error: Beim Aktualisieren dieses Themas ist ein Fehler aufgetreten. + success: Thema erfolgreich aktualisiert + static_pages: + actions: + view: Öffentliche Seite anzeigen + create: + error: Beim Erstellen einer neuen Seite ist ein Fehler aufgetreten. + success: Seite erfolgreich erstellt + destroy: + success: Seite erfolgreich zerstört + edit: + changed_notably_help: Wenn diese Option aktiviert ist, werden Benutzer benachrichtigt, um die neuen Nutzungsbedingungen zu akzeptieren. + title: Seite bearbeiten + update: Aktualisieren + form: + none: Keiner + slug_help: 'Benutze partielle Pfade, nicht vollständige URLs. Akzeptiert Buchstaben, Zahlen, Bindestriche und Schrägstriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + index: + last_notable_change: Letzte bemerkenswerte Änderung + new: + create: Seite erstellen + title: Neue Seite + topic: + destroy: Thema entfernen + edit: Thema bearbeiten + empty: Es gibt keine Seite zu diesem Thema + without_topic: Seiten ohne Thema + update: + error: Beim Aktualisieren dieser Seite ist ein Fehler aufgetreten. + success: Seite wurde erfolgreich aktualisiert + titles: + admin_log: Adminprotokoll + area_types: Bereichstypen + areas: Bereiche + authorization_workflows: Verifizierungsmethoden + dashboard: Instrumententafel + impersonatable_users: Überschaubare Benutzer + impersonations: Benutzerverwaltung + metrics: Kriterien + panel: Admin + participants: Benutzer + scope_types: Bereichstypen + scopes: Bereiche + static_pages: Seiten + statistics: Aktivität + user_groups: Benutzergruppen + users: Benutzer + user_group: + csv_verify: + invalid: Beim Lesen der CSV-Datei ist ein Fehler aufgetreten. + success: CSV-Datei wurde erfolgreich hochgeladen. Wir überprüfen, ob die Benutzergruppen den Kriterien entsprechen. Das kann eine Weile dauern. + reject: + invalid: Beim Ablehnen dieser Benutzergruppe ist ein Fehler aufgetreten. + success: Benutzergruppe wurde erfolgreich abgelehnt + verify: + invalid: Beim Überprüfen dieser Benutzergruppe ist ein Fehler aufgetreten. + success: Benutzergruppe erfolgreich verifiziert + user_groups: + index: + filter: + all: Alle + pending: steht aus + rejected: Abgelehnt + verified: Überprüft + filter_by: Filtern nach + search: Suche + state: + pending: steht aus + rejected: Abgelehnt + verified: Überprüft + verify_via_csv: Überprüfen Sie über CSV + user_groups_csv_verifications: + new: + explanation: Laden Sie Ihre CSV-Datei hoch. In der ersten Spalte der Datei müssen die offiziellen E-Mails der Benutzergruppen in Ihrer Organisation enthalten sein, ohne Kopfzeilen. Nur Benutzergruppen, die ihre E-Mail bestätigt haben und deren E-Mail in der CSV-Datei enthalten ist, werden überprüft. + title: Laden Sie Ihre CSV-Datei hoch + upload: Hochladen + users: + create: + error: Beim Einladen dieses Benutzers ist ein Fehler aufgetreten. + success: Benutzer wurde erfolgreich eingeladen. + destroy: + error: Beim Versuch, diesen Benutzer zu löschen, ist ein Fehler aufgetreten. + success: Der Benutzer ist kein Administrator mehr. + form: + email: Email + name: Name + role: Rolle + new: + create: Einladen + title: Benutzer als Administrator einladen + users_statistics: + users_count: + admins: Admins + last_day: Letzter Tag + last_month: Letzter Monat + last_week: Letzte Woche + no_users_count_statistics_yet: Es gibt noch keine Nutzerstatistiken + participants: Teilnehmer + view_public_page: Öffentliche Seite anzeigen + metrics: + blocked_users: + object: blockierte Benutzer + title: Blockierte Benutzer + reported_users: + object: gemeldete Benutzer + title: Gemeldete Benutzer + user_reports: + object: Benutzer-Meldungen + title: Benutzer-Meldungen + moderations: + actions: + expand: Ausklappen + hidden: Versteckt + hide: verbergen + not_hidden: Nicht versteckt + title: Aktionen + unhide: Einblenden + unreport: Nicht melden + admin: + reportable: + hide: + invalid: Beim Verbergen der Ressource ist ein Problem aufgetreten. + success: Ressource erfolgreich ausgeblendet + unhide: + invalid: Es gab ein Problem beim Verstecken der Ressource. + success: Ressource erfolgreich ausgeblendet. + unreport: + invalid: Es ist ein Problem aufgetreten, die Ressource nicht zu melden. + success: Die Meldung der Ressource wurde erfolgreich aufgehoben. + models: + moderation: + fields: + created_at: Erstellungsdatum + hidden_at: Versteckt bei + participatory_space: Beteiligungsbereich + report_count: Anzahl + reportable_id: ID + reportable_type: Typ + reported_content_url: URL des gemeldeten Inhalts + reports: Berichte + visit_url: Besuchs-URL + report: + fields: + details: Details zum Grund + locale: Sprache + reason: Grund + errors: + messages: + invalid_json: Ungültiger JSON + layouts: + decidim: + admin: + global_moderations: + title: Globale Moderationen + newsletters: + title: Newsletter + settings: + title: die Einstellungen + users: + title: Benutzer diff --git a/decidim-assemblies/config/locales/ga-IE.yml b/decidim-assemblies/config/locales/ga-IE.yml index 8b547322ee0ce..6d83edceeff36 100644 --- a/decidim-assemblies/config/locales/ga-IE.yml +++ b/decidim-assemblies/config/locales/ga-IE.yml @@ -99,6 +99,7 @@ ga: role: Ról roles: admin: Riarthóir + valuator: Luachálaí assemblies: admin: assemblies: @@ -156,6 +157,7 @@ ga: posts_count: Postálacha processes_count: Próisis projects_count: Tionscadail + proposals_count: Moltaí results_count: Torthaí supports_count: Tacaíochtaí surveys_count: Suirbhéanna diff --git a/decidim-assemblies/config/locales/lb-LU.yml b/decidim-assemblies/config/locales/lb-LU.yml index 823df018114f4..fbfad4c21c436 100644 --- a/decidim-assemblies/config/locales/lb-LU.yml +++ b/decidim-assemblies/config/locales/lb-LU.yml @@ -1 +1,395 @@ lb: + activemodel: + attributes: + assemblies_setting: + enable_organization_chart: Organisationsdiagramm aktivieren + assembly: + area_id: Bereich + assembly_type: Versammlungstyp + assembly_type_other: Sonstiger Versammlungstyp + banner_image: Banner-Bild + closing_date: Einsendeschluss + closing_date_reason: Schlussdatums Grund + composition: Zusammensetzung + copy_categories: Kategorien kopieren + copy_components: Komponenten kopieren + copy_features: Funktionen kopieren + created_by: Erstellt von + created_by_other: Erstellt von anderen + creation_date: Datum erstellt + decidim_area_id: Bereich + decidim_assemblies_type_id: Versammlungstyp + decidim_scope_id: Umfang + description: Beschreibung + developer_group: Promoter-Gruppe + domain: Domain + duration: Dauer + facebook: Facebook + github: GitHub + hashtag: Hashtag + hero_image: Hauptbild + included_at: Inbegriffen bei + instagram: Instagram + internal_organisation: Interne Organisation + is_transparent: Ist transparent + local_area: Organisationsbereich + meta_scope: Bereichs-Metadaten + parent_id: Haupt Versammlung + participatory_processes_ids: Ähnliche Beteiligungsprozesse + participatory_scope: Was wird entschieden? + participatory_structure: Wie wird es entschieden? + private_space: Privatsphäre + promoted: Hervorgehoben + published_at: Veröffentlicht am + purpose_of_action: Zweck der Aktion + scope_id: Umfang + scopes_enabled: Bereiche aktiviert + short_description: Kurze Beschreibung + show_statistics: Zeige Statistiken + slug: URL-Block + special_features: Besondere Merkmale + subtitle: Untertitel + target: Wer nimmt teil? + title: Titel + twitter: Twitter + youtube: Youtube + assembly_member: + birthday: Geburtstag + birthplace: Geburtsort + ceased_date: Aufgegebenes Datum + designation_date: Datum der Benennung + designation_mode: Bezeichnungsmodus + full_name: Vollständiger Name + gender: Geschlecht + position: Position + assembly_user_role: + email: Email + name: Name + role: Rolle + errors: + models: + assembly: + attributes: + document: + invalid_document_type: 'Ungültiger Dokumenttyp. Zulässige Formate sind: %{valid_mime_types}' + activerecord: + models: + decidim/assembly: + one: Gre­mi­um + other: Gremien + decidim/assembly_member: + one: Gremienmitglieder + other: Mitglieder der Versammlung + decidim/assembly_user_role: + one: Assembly-Benutzerrolle + other: Zusammenbau von Benutzerrollen + decidim: + admin: + actions: + import_assembly: Importieren + new_assembly: Neues Gremium + new_assembly_type: Neuer Gremiumtyp + assemblies: + create: + error: Beim Erstellen eines neuen Gremiums ist ein Fehler aufgetreten. + success: Das Gremium wurde erfolgreich erstellt. + edit: + update: Aktualisieren + index: + not_published: Nicht veröffentlicht + private: Privat + public: Öffentlich + published: Veröffentlicht + new: + create: Erstellen + title: Neues Gremium + update: + error: Beim Aktualisieren dieses Gremiums ist ein Fehler aufgetreten. + success: Das Gremium wurde erfolgreich aktualisiert. + assemblies_copies: + create: + error: Beim Duplizieren dieses Gremiums ist ein Fehler aufgetreten. + success: Das Gremium wurde erfolgreich dupliziert. + assemblies_settings: + update: + error: Beim Aktualisieren der Einstellungen ist ein Fehler aufgetreten. + success: Einstellungen wurden erfolgreich aktualisiert. + assemblies_types: + create: + error: Beim Erstellen eines neuen Gremiumtyps ist ein Fehler aufgetreten. + success: Gremiumtyp wurde erfolgreich erstellt. + destroy: + success: Gremiumtyp wurde erfolgreich gelöscht. + new: + create: Erstellen + title: Neuer Gremiumtyp + update: + error: Beim Aktualisieren dieses Gremiumtyps ist ein Fehler aufgetreten. + success: Gremiumtyp wurde erfolgreich aktualisiert. + assembly_copies: + new: + copy: Kopieren + select: Wählen Sie die Daten aus, die Sie duplizieren möchten + title: Doppelte Montage + assembly_imports: + create: + error: Beim Importieren dieses Gremiums ist ein Fehler aufgetreten. + success: Gremium wurde erfolgreich importiert. + new: + import: Importieren + select: Wählen Sie aus, welche Daten Sie importieren möchten + title: Gremium importieren + assembly_members: + create: + error: Beim Hinzufügen eines Mitglieds zu diesem Gremium ist ein Fehler aufgetreten. + success: Mitglied wurde diesem Gremium erfolgreich hinzugefügt. + destroy: + success: Mitglied wurde erfolgreich aus diesem Gremium entfernt. + edit: + title: Aktualisieren Sie die Versammlungsmitglieder. + update: Aktualisieren + index: + assembly_members_title: Gremienmitglieder + new: + create: Erstellen + title: Neues Gremienmitglied. + update: + error: Beim Aktualisieren des Mitglieds dieses Gremiums ist ein Fehler aufgetreten. + success: Mitglied dieses Gremiums erfolgreich aktualisiert. + assembly_publications: + create: + error: Beim Veröffentlichen dieses Gremiums ist ein Fehler aufgetreten. + success: Gremium erfolgreich veröffentlicht. + destroy: + error: Beim Aufheben der Veröffentlichung dieser Assembly ist ein Fehler aufgetreten. + success: Die Assembly wurde nicht veröffentlicht. + assembly_user_roles: + create: + error: Beim Hinzufügen eines Benutzers für diese Assembly ist ein Fehler aufgetreten. + success: Der Administrator wurde dieser Versammlung erfolgreich hinzugefügt. + destroy: + success: Benutzer wurde erfolgreich von dieser Assembly entfernt. + edit: + title: Aktualisiere den Benutzer der Baugruppe + update: Aktualisieren + index: + assembly_admins_title: Assembly Benutzer + new: + create: Erstellen + title: Neuer Assembly-Benutzer + update: + error: Bei einem Fehler ist ein Benutzer für diese Assembly aktualisiert worden. + success: Der Benutzer wurde für diese Assembly erfolgreich aktualisiert. + menu: + assemblies: Gremien + assemblies_settings: Einstellungen + assemblies_submenu: + assembly_admins: Assembly Benutzer + assembly_members: Mitglieder + attachment_collections: Ordner + attachment_files: Dateien + categories: Kategorien + components: Komponenten + info: Info + moderations: Moderationen + private_users: Private Benutzer + assemblies_types: Versammlungstypen + models: + assemblies_types: + fields: + created_at: Hergestellt in + title: Titel + assembly: + fields: + created_at: Hergestellt in + private: Privat + promoted: Hervorgehoben + published: Veröffentlicht + title: Titel + name: Gremium + assembly_member: + fields: + ceased_date: Aufgegebenes Datum + designation_date: Datum der Benennung + full_name: Name + position: Position + name: Mitglied + positions: + other: Andere + president: Präsident + secretary: Sekretär + vice_president: Vizepräsident + assembly_user_role: + fields: + email: Email + name: Name + assemblies: + admin: + assemblies_types: + form: + title: Titel + assembly_copies: + form: + slug_help: 'URL-Slugs werden zum Generieren der URLs verwendet, die auf diese Assembly verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + assembly_imports: + form: + document_legend: Dokument hinzufügen + slug_help: 'URL-Slugs werden zum Generieren der URLs verwendet, die auf diese Versammlung verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + assembly_members: + form: + existing_user: Existierender Benutzer + non_user: Nichtbenutzer + select_a_position: Wählen Sie eine Position + select_user: Wählen Sie einen Benutzer aus + user_type: Benutzertyp + index: + filter: + all: Alle + ceased: Aufgegeben + not_ceased: Nicht aufgehört + filter_by: Filtern nach + search: Suche + content_blocks: + highlighted_assemblies: + max_results: Maximale Anzahl der Elemente, die angezeigt werden sollen + new_import: + accepted_types: + json: JSON + assembly_members: + index: + members: Mitglieder + assembly_types: + commission: Kommission + consultative_advisory: Beratende / Beratende + executive: Exekutive + government: Regierung + others: Andere + participatory: Teilnehmend + working_group: Arbeitsgruppe + content_blocks: + highlighted_assemblies: + name: Hervorgehobene Gremien + created_by: + city_council: Stadtrat + others: Andere + public: Öffentlich + filter: + all: Alle Typen + commission: Kommission + consultative_advisory: Beratung / Beratung + executive: Executive + government: Regierung + help: 'Anzeigen:' + others: Andere + participatory: Partizipativ + working_group: Arbeitsgruppe + index: + title: Gremien + last_activity: + new_assembly: Neues Gremium + pages: + home: + highlighted_assemblies: + active_assemblies: Aktive Gremien + assemblies_button_title: Verknüpfung zu der Versammlungsseite mit einem Überblick aller Versammlungen + see_all_assemblies: Alle Gremien anzeigen + user_profile: + member_of: + member_of: Mitglied von + show: + area: Bereich + assembly_type: Montageart + children: Gremien + closing_date: Einsendeschluss + composition: Zusammensetzung + created_by: Erstellt von + creation_date: Datum erstellt + developer_group: Promoter-Gruppe + duration: Dauer + included_at: Inbegriffen bei + indefinite_duration: Unbestimmt + internal_organisation: Interne Organisation + is_transparent: + 'false': undurchsichtig + 'true': transparent + local_area: Organisationsbereich + participatory_scope: Was ist entschieden? + participatory_structure: Wie ist es entschieden? + private_space: Dies ist eine private Versammlung + purpose_of_action: Zweck der Aktion + read_less: Lese weniger + read_more: Weiterlesen + related_participatory_processes: Procesos participativos relacionados + scope: Umfang + social_networks: Soziale Netzwerke + social_networks_title: Diese Versammlung auf teilen + target: Wer nimmt teil? + statistics: + assemblies_count: Gremien + assembly_members: + assembly_member: + designated_on: Bezeichnet am + index: + title: Mitglieder + events: + assemblies: + create_assembly_member: + email_intro: Ein Administrator des Gremiums %{resource_name} hat Sie als Mitglied eingeladen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie zu einer Versammlung eingeladen wurden. Gehen Sie zur Versammlungsseite, um daran teilzunehmen! + email_subject: Sie wurden als Mitglied des Gremiums %{resource_name} eingeladen! + notification_title: Sie wurden als Mitglied des Gremiums %{resource_name} registriert. Gehen Sie zur Gremiumsseite, um mitzuwirken! + assembly: + role_assigned: + email_intro: Sie wurden als %{role} für die Versammlung "%{resource_title}" ausgewählt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein %{role} der Versammlung "%{resource_title}" sind. + email_subject: Sie wurden als %{role} für "%{resource_title}" ausgewählt. + notification_title: Sie wurden als %{role} für die Versammlung %{resource_title} ausgewählt. + help: + participatory_spaces: + assemblies: + contextual: "

    Eine Versammlung ist eine Gruppe von Mitgliedern einer Organisation, die sich regelmäßig treffen, um Entscheidungen über einen bestimmten Bereich oder einen bestimmten Bereich der Organisation zu treffen.

    Versammlungen halten Meetings ab, einige sind privat und andere sind offen. Wenn sie offen sind, ist es möglich, an ihnen teilzunehmen (z. B. Teilnahme, wenn die Kapazität es erlaubt, Punkte auf die Tagesordnung setzen oder Vorschläge und Entscheidungen dieses Organs kommentieren).

    Beispiele: Eine Generalversammlung (die einmal im Jahr zusammentritt, um die wichtigsten Aktionslinien der Organisation sowie ihre Exekutivorgane per Abstimmung festzulegen), ein Gleichstellungsbeirat (der alle zwei Monate zusammentritt, um Vorschläge zur Verbesserung der Geschlechterbeziehungen vorzulegen In der Organisation sind eine Evaluierungskommission (die sich jeden Monat zur Überwachung eines Prozesses trifft) oder eine Garantieeinrichtung (die Vorfälle, Missbräuche oder Vorschläge zur Verbesserung der Entscheidungsverfahren sammelt) Beispiele für Versammlungen.

    \n" + page: "

    Eine Versammlung ist eine Gruppe von Mitgliedern einer Organisation, die sich regelmäßig treffen, um Entscheidungen über einen bestimmten Bereich oder einen bestimmten Bereich der Organisation zu treffen.

    Versammlungen halten Meetings ab, einige sind privat und andere sind offen. Wenn sie offen sind, ist es möglich, an ihnen teilzunehmen (z. B. Teilnahme, wenn die Kapazität es erlaubt, Punkte auf die Tagesordnung setzen oder Vorschläge und Entscheidungen dieses Organs kommentieren).

    Beispiele: Eine Generalversammlung (die einmal im Jahr zusammentritt, um die wichtigsten Aktionslinien der Organisation sowie ihre Exekutivorgane per Abstimmung festzulegen), ein Gleichstellungsbeirat (der alle zwei Monate zusammentritt, um Vorschläge zur Verbesserung der Geschlechterbeziehungen vorzulegen In der Organisation sind eine Evaluierungskommission (die sich jeden Monat zur Überwachung eines Prozesses trifft) oder eine Garantieeinrichtung (die Vorfälle, Missbräuche oder Vorschläge zur Verbesserung der Entscheidungsverfahren sammelt) Beispiele für Versammlungen.

    \n" + title: Was sind Gremien? + log: + value_types: + assembly_presenter: + not_found: 'Die Assembly wurde nicht in der Datenbank gefunden (ID: %{id})' + assembly_type_presenter: + not_found: 'Der Versammlungstyp wurde nicht in der Datenbank gefunden (ID: %{id})' + menu: + assemblies: Gremien + metrics: + assemblies: + description: Anzahl der erstellten Gremien + object: Gremien + title: Gremien + participatory_processes: + show: + related_assemblies: Ähnliche Versammlungen + errors: + messages: + cannot_be_blank: darf nicht leer sein + layouts: + decidim: + assemblies: + assembly: + more_info: Mehr Informationen + take_part: Teilnehmen + index: + children: 'Versammlungen:' + organizational_chart: Organigramm + promoted_assemblies: Hervorgehobene Gremien + reset_chart: Zurücksetzen + order_by_assemblies: + assemblies: + one: "%{count} Gremien" + other: "%{count} Gremien" + promoted_assembly: + more_info: Mehr Informationen + take_part: Teilnehmen + assembly_navigation: + assembly_member_menu_item: Mitglieder + assembly_menu_item: Das Gremium + assembly_widgets: + show: + take_part: Teilnehmen diff --git a/decidim-blogs/config/locales/ga-IE.yml b/decidim-blogs/config/locales/ga-IE.yml index f10eb37a3dc43..7a35d9a153743 100644 --- a/decidim-blogs/config/locales/ga-IE.yml +++ b/decidim-blogs/config/locales/ga-IE.yml @@ -1,4 +1,12 @@ ga: + activerecord: + models: + decidim/blogs/post: + one: Postáil + two: Postálacha + few: Postálacha + many: Postálacha + other: Postálacha decidim: blogs: actions: @@ -15,10 +23,12 @@ ga: posts: edit: save: Nuashonraigh + title: Cuir in eagar postáil index: title: Postálacha new: create: Cruthaigh + title: Cruthaigh postáil models: post: fields: diff --git a/decidim-blogs/config/locales/lb-LU.yml b/decidim-blogs/config/locales/lb-LU.yml index 823df018114f4..ccb6a34ebbb35 100644 --- a/decidim-blogs/config/locales/lb-LU.yml +++ b/decidim-blogs/config/locales/lb-LU.yml @@ -1 +1,85 @@ lb: + activemodel: + models: + decidim/blogs/create_post_event: Neuer Blogeintrag + activerecord: + models: + decidim/blogs/post: + one: Post + other: Beiträge + decidim: + blogs: + actions: + confirm_destroy: Möchten Sie diesen Beitrag wirklich löschen? + destroy: Löschen + edit: Bearbeiten + new: Neuer Beitrag + title: Aktionen + admin: + models: + components: + body: Haupttext + post: + name: Post + posts: + create: + invalid: Beim Erstellen dieses Posts ist ein Problem aufgetreten + success: Post erfolgreich erstellt + destroy: + success: Beitrag wurde erfolgreich gelöscht + edit: + save: Aktualisieren + title: Post bearbeiten + index: + title: Beiträge + new: + create: Erstellen + title: Post erstellen + update: + invalid: Beim Speichern des Posts sind Fehler aufgetreten. + success: Beitrag wurde erfolgreich gespeichert + last_activity: + new_post_at_html: "Neuer Beitrag bei %{link}" + models: + post: + fields: + author: Autor + body: Haupttext + created_at: Hergestellt in + title: Titel + posts: + show: + back: Zurück zur Liste + comments: Kommentare + view: Anzeigen + sidebar_blog: + comments: Bemerkungen + most_commented_posts: Meist kommentierte Posts + read_more: Weiterlesen + components: + blogs: + name: Blog + settings: + global: + announcement: Ankündigung + comments_enabled: Kommentare aktiviert + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + step: + announcement: Ankündigung + comments_blocked: Kommentare blockiert + endorsements_blocked: Unterstützung deaktiviert + endorsements_enabled: Unterstützung aktiviert + events: + blogs: + post_created: + email_intro: Der Beitrag "%{resource_title}" wurde in "%{participatory_space_title}" veröffentlicht, dem Sie folgen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{participatory_space_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neuer Beitrag in %{participatory_space_title} + notification_title: Der Beitrag %{resource_title} wurde in %{participatory_space_title} veröffentlicht + pages: + home: + statistics: + posts_count: Beiträge + participatory_processes: + statistics: + posts_count: Beiträge diff --git a/decidim-budgets/config/locales/ga-IE.yml b/decidim-budgets/config/locales/ga-IE.yml index 41f6f51fd9d84..847de9f00fc61 100644 --- a/decidim-budgets/config/locales/ga-IE.yml +++ b/decidim-budgets/config/locales/ga-IE.yml @@ -21,6 +21,7 @@ ga: admin: budgets: index: + finished_orders: Vótaí críochnaithe title: Buiséid exports: projects: Tionscadail @@ -33,6 +34,7 @@ ga: edit: update: Nuashonraigh index: + finished_orders: Vótaí críochnaithe title: Tionscadail new: create: Cruthaigh @@ -83,3 +85,5 @@ ga: step: title: Teideal votes: Vótáil + votes_choices: + finished: Vótáil críochnaithe diff --git a/decidim-budgets/config/locales/lb-LU.yml b/decidim-budgets/config/locales/lb-LU.yml index 823df018114f4..ebb876f82c4ff 100644 --- a/decidim-budgets/config/locales/lb-LU.yml +++ b/decidim-budgets/config/locales/lb-LU.yml @@ -1 +1,285 @@ lb: + activemodel: + attributes: + project: + budget_amount: Höhe des Budgets + decidim_category_id: Kategorie + decidim_scope_id: Umfang + description: Beschreibung + proposal_ids: Ähnliche Vorschläge + selected: Zur Implementierung ausgewählt + title: Titel + activerecord: + models: + decidim/budgets/project: + one: Projekt + other: Projekte + decidim: + budgets: + actions: + attachment_collections: Ordner + attachments: Anhänge + confirm_destroy: Möchten Sie dieses Projekt wirklich löschen? + destroy: Löschen + edit: Bearbeiten + edit_projects: Projekte verwalten + import: Vorschläge in Projekte importieren + new: Neue(r/s) %{name} + preview: Vorschau + title: Aktionen + admin: + budgets: + create: + invalid: Beim Erstellen dieses Budgets ist ein Problem aufgetreten + success: Budget erfolgreich erstellt + destroy: + invalid: Es gab ein Problem beim Löschen dieses Budgets + success: Budget erfolgreich gelöscht + edit: + title: Budget bearbeiten + update: Budget aktualisieren + index: + finished_orders: Abgeschlossene Stimmen + pending_orders: Ausstehende Stimmen + title: Budgets + users_with_finished_orders: Benutzer mit abgeschlossenen Stimmen + users_with_pending_orders: Benutzer mit ausstehenden Stimmen + new: + create: Budget erstellen + title: Neues Budget + update: + invalid: Es gab ein Problem beim Aktualisieren dieses Budgets + success: Budget erfolgreich aktualisiert + exports: + projects: Projekte + models: + budget: + name: Bugdet + project: + name: Projekt + projects: + create: + invalid: Beim Erstellen dieses Projekts ist ein Problem aufgetreten + success: Projekt erfolgreich erstellt + destroy: + success: Projekt erfolgreich gelöscht + edit: + title: Projekt bearbeiten + update: Aktualisieren + index: + finished_orders: Abgeschlossene Stimmen + pending_orders: Ausstehende Stimmen + selected: Ausgewählt + title: Projekte + new: + create: Erstellen + title: Neues Projekt + update: + invalid: Beim Aktualisieren dieses Projekts ist ein Problem aufgetreten + success: Projekt erfolgreich aktualisiert + proposals_imports: + create: + invalid: Beim Importieren der Vorschläge in Projekte ist ein Problem aufgetreten + success: "%{number} Vorschläge wurden erfolgreich in Projekte importiert" + new: + create: Importieren Sie Vorschläge in Projekte + no_components: Es gibt keine weiteren Vorschlagskomponenten in diesem partizipativen Raum, um die Vorschläge in Projekte zu importieren. + select_component: Bitte wählen Sie eine Komponente aus + title: Vorschläge importieren + admin_log: + budget: + create: "%{user_name} hat das Budget %{resource_name} in %{space_name} erstellt" + delete: "%{user_name} hat das Budget %{resource_name} in %{space_name} gelöscht" + update: "%{user_name} hat das Budget %{resource_name} in %{space_name} aktualisiert" + project: + create: "%{user_name} hat das Projekt %{resource_name} in %{space_name} erstellt" + delete: "%{user_name} hat das Projekt %{resource_name} in %{space_name} gelöscht" + update: "%{user_name} hat das Projekt %{resource_name} in %{space_name} aktualisiert" + budget: + view: Alle Budgetprojekte anzeigen + budget_information_modal: + back_to: Zurück zu %{component_name} + close_modal: Dialog schließen + continue: Weiter + more_information: Mehr Informationen + budgets_list: + cancel_order: + more_than_one: lösche deine Stimme am %{name} und beginne neu + only_one: Löschen Sie Ihre Stimme und beginnen Sie von vorne. + finished_message: Sie haben den Abstimmungsprozess beendet. Vielen Dank für Ihre Teilnahme! + highlighted_cta: Über %{name} abstimmen + if_change_opinion: Wenn sie ihr Meinung geändert haben, können sie + my_budgets: Meine Budgets + voted_on: Sie haben über %{links} abgestimmt + limit_announcement: + cant_vote: Sie können nicht über dieses Budget abstimmen. Versuchen Sie es mit einem anderen Budget. + limit_reached: Sie haben aktive Stimmen in %{links}. Um über dieses Budget abstimmen zu können, müssen Sie Ihre Stimme löschen und neu beginnen. + models: + budget: + fields: + name: Name + projects_count: Anzahl Projekte + total_budget: Gesamt Budget + project: + fields: + title: Titel + order_summary_mailer: + order_summary: + selected_projects: 'Die ausgewählten Projekte sind:' + subject: Sie haben im Beteiligungsbereich %{space_name} abgestimmt + voted_on_space: Sie haben für das %{budget_name} Budget for the %{space_name} abgestimmt. + voted_on_space_with_scope: Sie haben für das %{budget_name} Budget for the %{space_name} innerhalb %{scope_name} (%{scope_type}) abgestimmt. + projects: + budget_confirm: + are_you_sure: Wenn du deine Meinung änderst, kannst du deine Stimme nachträglich ändern. + cancel: Stornieren + confirm: Bestätigen + description: Dies sind die Projekte, die Sie für das Budget ausgewählt haben. + title: Bestätigung der Abstimmung + budget_excess: + budget_excess: + description: Dieses Projekt überschreitet das maximale Budget und kann nicht hinzugefügt werden. Wenn Sie möchten können Sie ein bereits gewähltes Projekt wieder entfernen, oder gemäss Ihren Präferenzen abstimmen. + close: Schließen + description: Dieses Projekt überschreitet das maximale Budget und kann nicht hinzugefügt werden. Wenn Sie möchten können Sie ein bereits gewähltes Projekt wieder entfernen, oder gemäss Ihren Präferenzen abstimmen. + ok: OK + projects_excess: + description: Dieses Projekt überschreitet die maximale Anzahl Projekte und kann nicht hinzugefügt werden. Wenn Sie möchten können Sie ein bereits gewähltes Projekt wieder entfernen, oder gemäss Ihren Präferenzen abstimmen. + title: Maximale Anzahl Projekte überschritten + budget_summary: + are_you_sure: Sind Sie sicher, dass Sie Ihre Stimme zurückziehen wollen? + assigned: 'Zugewiesen:' + cancel_order: Löschen Sie Ihre Stimme und beginnen Sie von vorne + checked_out: + description: Sie haben bereits für die Verteilung dieses Budget gestimmt. Wenn Sie Ihre Meinung geändert haben, können Sie %{cancel_link}. + title: Budget-Abstimmung abgeschlossen + minimum_projects_rule: + description: Welche Projekte sollen finanziert werden? Wählen Sie mindestens %{minimum_number} Projekte aus und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget festzulegen. + instruction: "
  • Wählen Sie mindestens %{minimum_number} Projekte, die Sie unterstützen möchten, und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget zu definieren.
  • " + projects_rule: + description: Welche Projekte sollen finanziert werden? Wählen Sie mindestens %{minimum_number} und bis zu %{maximum_number} Projekte aus und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget festzulegen. + instruction: "
  • Wählen Sie mindestens %{minimum_number} und bis zu %{maximum_number} Projekte, die Sie wünschen und stimmen Sie nach Ihren Präferenzen ab, um das Budget zu definieren.
  • " + projects_rule_maximum_only: + description: Welche Projekte sollen finanziert werden? Wählen Sie bis zu %{maximum_number} Projekte aus und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget festzulegen. + instruction: "
  • Wählen Sie bis zu %{maximum_number} Projekte, die Sie unterstützen möchten, und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget zu definieren.
  • " + rules: + title: Budgetregeln + title: Sie entscheiden über das Budget + total_budget: Gesamtbudget + total_projects: Stimmen insgesamt + vote_threshold_percent_rule: + description: Welche Projekte sollen finanziert werden? Wählen Sie Projekte im Wert von mindestens %{minimum_budget} aus und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget festzulegen. + instruction: "
  • Wählen Sie Projekte im Wert von mindestens %{minimum_budget} aus und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget festzulegen.
  • " + count: + projects_count: + one: 1 Projekt + other: "%{count} Projekte" + filters: + category: Kategorie + scope: Umfang + search: Suche + status: Status + status_values: + all: Alle + not_selected: Nicht ausgewählt + selected: Ausgewählt + filters_small_view: + close_modal: Modal schließen + filter: Filter + filter_by: Filtern nach + unfold: Aufklappen + order_progress: + vote: Abstimmung + order_selected_projects: + remove: Löschen + selected_projects: + one: Projekt ausgewählt + other: ausgewählte Projekte + view: Anzeigen + orders: + highest_cost: Höchste Kosten + label: Projekte sortieren nach + lowest_cost: Niedrigste Kosten + most_voted: Meiste Stimmen + random: Zufällige Anordnung + selected: Ausgewählt + project: + add: Projekt %{resource_name} Ihrer Stimme hinzufügen + remove: Projekt %{resource_name} aus deiner Stimme entfernen + selected: Ausgewählt + view: Anzeigen + votes: + one: Abstimmung + other: Abstimmungen + you_voted: Du hast für dieses gestimmt + project_budget_button: + add: Zur Abstimmung hinzufügen + add_descriptive: Projekt %{resource_name} Ihrer Stimme hinzufügen + added: Zu deiner Abstimmung hinzugefügt + added_descriptive: Projekt %{resource_name} wurde zu deiner Abstimmung hinzugefügt + projects_for: Projekte für %{name} + show: + budget: Budget + view_all_projects: Alle Projekte anzeigen + components: + budgets: + actions: + vote: Abstimmen + name: Budgets + settings: + global: + announcement: Ankündigung + comments_enabled: Kommentare aktiviert + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + form: + errors: + budget_voting_rule_only_one: Nur eine Abstimmungsregel kann aktiviert sein + budget_voting_rule_required: Es ist eine Abstimmungsregel notwendig + landing_page_content: Budgets Landingpage + more_information_modal: Weitere Informationen + projects_per_page: Projekte pro Seite + resources_permissions_enabled: Berechtigungen können für jedes Projekt festgelegt werden + scope_id: Bereich + scopes_enabled: Bereiche aktiviert + title: Titel + total_budget: Gesamtbudget; Gesamtetat + vote_minimum_budget_projects_number: Mindestanzahl von Projekten, um abzustimmen + vote_rule_minimum_budget_projects_enabled: 'Regel aktivieren: Mindestanzahl von Projekten, um abzustimmen' + vote_rule_selected_projects_enabled: 'Regel aktivieren: Minimale und maximale Anzahl Projekte, für die gestimmt werden soll' + vote_rule_threshold_percent_enabled: 'Regel aktivieren: Minimaler Budgetprozentsatz' + vote_selected_projects_maximum: Maximale Anzahl auszuwählender Projekte + vote_selected_projects_minimum: Minimale Anzahl auszuwählender Projekte + vote_threshold_percent: Abstimmungsschwelle in Prozent + workflow: Workflow + workflow_choices: + all: 'Gesamthaft abstimmen: erlaubt es den Teilnehmern, in allen Budget‘s abzustimmen.' + one: 'Selektiv abstimmen: erlaubt es den Teilnehmern, in einem (1) der Budget’s abzustimmen.' + step: + announcement: Ankündigung + comments_blocked: Kommentare blockiert + highlighted_heading: Hervorgehobene Überschrift + landing_page_content: Budgets Landingpage + list_heading: Listenüberschrift + more_information_modal: Weitere Informationen modal + show_votes: Stimmen anzeigen + title: Überschrift + votes: Abstimmungen + votes_choices: + disabled: Abstimmung deaktiviert + enabled: Abstimmung aktiviert + finished: Abstimmung beendet + events: + budgets: + budget_published: + email_intro: 'Das Budget %{resource_title} ist jetzt für %{participatory_space_title} aktiv. Sie können es auf dieser Seite ansehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Das Budget %{resource_title} ist jetzt für %{participatory_space_title} aktiv. + notification_title: Das Budget %{resource_title} ist jetzt aktiv für %{participatory_space_title}. + orders: + checkout: + error: Während der Bearbeitung Ihrer Abstimmung ist ein Fehler aufgetreten + success: Ihre Stimme wurde erfolgreich angenommen + destroy: + error: Bei der Absage der Abstimmung ist ein Fehler aufgetreten + success: Ihre Abstimmung wurde erfolgreich abgebrochen + index: + confirmed_orders_count: Stimmen zählen diff --git a/decidim-comments/config/locales/ga-IE.yml b/decidim-comments/config/locales/ga-IE.yml index 0b73d0c48488a..032401a5ae84c 100644 --- a/decidim-comments/config/locales/ga-IE.yml +++ b/decidim-comments/config/locales/ga-IE.yml @@ -5,6 +5,14 @@ ga: decidim/comments/comment_created_event: Trácht decidim/comments/user_group_mentioned_event: Luaigh decidim/comments/user_mentioned_event: Luaigh + activerecord: + models: + decidim/comments/comment_vote: + one: Vóta + two: Vótaí + few: Vótaí + many: Vótaí + other: Vótaí decidim: comments: comments_title: Tráchtanna diff --git a/decidim-comments/config/locales/lb-LU.yml b/decidim-comments/config/locales/lb-LU.yml index f61ed78130cf3..96478d13b139f 100644 --- a/decidim-comments/config/locales/lb-LU.yml +++ b/decidim-comments/config/locales/lb-LU.yml @@ -2,5 +2,136 @@ lb: activemodel: models: decidim/comments/comment_by_followed_user_event: Kommentar + decidim/comments/comment_created_event: Kommentar decidim/comments/reply_created_event: Kommentar Äntwert decidim/comments/user_group_mentioned_event: Erwähnen + decidim/comments/user_mentioned_event: Erwähnen + activerecord: + models: + decidim/comments/comment: + one: Kommentar + other: Bemerkungen + decidim/comments/comment_vote: + one: Abstimmung + other: Stimmen + decidim: + comments: + comments: + create: + error: Beim Erstellen des Kommentars ist ein Fehler aufgetreten. + comments_count: Kommentaranzahl + comments_title: Kommentare + last_activity: + new_comment_at_html: "Neuer Kommentar unter %{link}" + view: Ansicht + votes: + create: + error: Beim Abstimmen des Kommentars sind Fehler aufgetreten. + components: + add_comment_form: + account_message: Melden Sie sich mit Ihrem Konto an oder registrieren Sie sich, um Ihren Kommentar hinzuzufügen. + form: + body: + label: Kommentar + placeholder: Was denken Sie darüber? + form_error: Der Text ist erforderlich und darf nicht länger als %{length} Zeichen sein. + submit: Senden + user_group_id: + label: Kommentieren als + opinion: + neutral: Neutral + remaining_characters: "%{count} Zeichen übrig" + remaining_characters_1: "%{count} Zeichen übrig" + title: Kommentar hinzufügen + comment: + alignment: + against: Gegen + in_favor: Zugunsten + deleted_user: Gelöschter Benutzer + hide_replies: Antworten verbergen + reply: Antworten + report: + action: Melden + already_reported: Dieser Inhalt wurde bereits gemeldet und wird von einem Administrator überprüft. + close: Schließen + description: Ist dieser Inhalt unangemessen? + details: Zusätzliche Kommentare + reasons: + does_not_belong: Enthält illegale Aktivitäten, Selbstmorddrohungen, persönliche Informationen oder etwas anderes, von dem Sie denken, dass es nicht auf %{organization_name} gehört. + offensive: Enthält Rassismus, Sexismus, Verleumdungen, persönliche Angriffe, Morddrohungen, Selbstmordanträge oder jegliche Form von Hassreden. + spam: Enthält Clickbait, Werbung, Scams oder Script Bots. + title: Ungeeigneten Inhalt melden + show_replies: '%{replies_count} Antworten anzeigen' + comment_order_selector: + order: + best_rated: Am besten bewertet + most_discussed: Meist diskutiert + older: Chronologisch + recent: Kürzlich hinzugefügt + title: 'Sortieren nach:' + comment_thread: + title: Konversation mit %{authorName} + comments: + blocked_comments_for_user_warning: Sie können momentan nichts kommentieren, aber Sie können die vorherigen lesen. + blocked_comments_warning: Kommentare sind zu diesem Zeitpunkt deaktiviert, aber Sie können die vorherigen lesen. + comment_details_title: Kommentarinformationen + loading: Kommentare werden geladen ... + single_comment_warning: Sie können die restlichen Kommentare hier prüfen. + single_comment_warning_title: Ihnen wird ein einzelner Kommentar angezeigt + title: + one: "%{count} Kommentar" + other: "%{count} Kommentare" + down_vote_button: + text: Ich bin mit diesem Kommentar nicht einverstanden + up_vote_button: + text: Ich stimme diesem Kommentar zu + events: + comments: + comment_by_followed_user: + email_intro: "%{author_name} hat einen Kommentar zu %{resource_title} hinterlassen. Sie können diesen auf dieser Seite lesen:" + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie die Profil-Seite dieses Benutzers. + email_subject: Neuer Kommentar von %{author_name} zu %{resource_title} + notification_title: Es gibt einen neuen Kommentar von %{author_name} %{author_nickname} zu %{resource_title}. + comment_by_followed_user_group: + email_intro: 'Die Gruppe %{author_name} hat einen Kommentar in %{resource_title} hinterlassen. Sie können diesen auf dieser Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie die Profil-Seite dieser Gruppe. + email_subject: Neuer Kommentar von %{author_name} zu %{resource_title} + notification_title: Es gibt einen neuen Kommentar von %{author_name} %{author_nickname} zu %{resource_title}. + comment_created: + email_intro: "%{resource_title} wurde kommentiert. Sie können den Kommentar auf dieser Seite lesen:" + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{resource_title}" oder seinem Autor folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neuer Kommentar von %{author_name} zu %{resource_title} + notification_title: Es gibt einen neuen Kommentar von %{author_name} %{author_nickname} zu %{resource_title} + comment_downvoted: + email_intro: Ihr Kommentar in "%{resource_title}" wurde negativ bewertet. Er hat nun insgesamt %{upvotes} positive und %{downvotes} negative Stimmen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Autor des Vorschlags sind. + email_subject: Ihr Kommentar in "%{resource_title}" wurde negativ bewertet. + notification_title: Ihr Kommentar in "%{resource_title}" wurde negativ bewertet. Er hat nun insgesamt %{upvotes} positive und %{downvotes} negative Stimmen. + comment_upvoted: + email_intro: Ihr Kommentar in "%{resource_title}" wurde positiv bewertet. Er hat nun insgesamt %{upvotes} positive und %{downvotes} negative Stimmen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Autor des Vorschlags sind. + email_subject: Ihr Kommentar in "%{resource_title}" wurde positiv bewertet. + notification_title: Ihr Kommentar in "%{resource_title}" wurde positiv bewertet. Er hat nun insgesamt %{upvotes} positive und %{downvotes} negative Stimmen. + reply_created: + email_intro: "%{author_name} hat auf Ihren Kommentar zu %{resource_title} geantwortet. Sie können das auf dieser Seite lesen:" + email_outro: Sie haben diese Benachrichtigung erhalten, weil Ihr Kommentar beantwortet wurde. + email_subject: "%{author_name} hat auf Ihren Kommentar zu %{resource_title} geantwortet" + notification_title: %{author_name} %{author_nickname} hat auf Ihren Kommentar in %{resource_title} geantwortet + user_group_mentioned: + email_intro: Eine Ihrer Gruppen wurde erwähnt + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Mitglied der Gruppe %{group_name} sind, die in %{resource_title} erwähnt wurde. + email_subject: Sie wurden in %{resource_title} als Mitglied von %{group_name} erwähnt + notification_title: Sie wurden in %{resource_title} von %{author_name} %{author_nickname} als ein Mitglied von %{group_name} %{group_nickname} erwähnt + user_mentioned: + email_intro: Sie wurden erwähnt + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie in %{resource_title} erwähnt wurden. + email_subject: Sie wurden in %{resource_title} erwähnt + notification_title: Sie wurden in %{resource_title} von %{author_name} %{author_nickname} erwähnt + metrics: + comments: + description: Anzahl der von Benutzern generierten Kommentare + object: Bemerkungen + title: Bemerkungen + errors: + messages: + cannot_have_comments: kann keine Kommentare haben diff --git a/decidim-comments/config/locales/si-LK.yml b/decidim-comments/config/locales/si-LK.yml index b0b50956edd26..4df5f5680e768 100644 --- a/decidim-comments/config/locales/si-LK.yml +++ b/decidim-comments/config/locales/si-LK.yml @@ -1 +1,21 @@ si: + activemodel: + models: + decidim/comments/comment_by_followed_user_event: අදහස + decidim/comments/comment_created_event: අදහස + activerecord: + models: + decidim/comments/comment: + one: අදහස + other: අදහස් + decidim: + comments: + comments_title: අදහස් + components: + add_comment_form: + form: + body: + label: අදහස + submit: යවන්න + user_group_id: + label: ලෙස අදහස් දක්වන්න diff --git a/decidim-conferences/config/locales/fr.yml b/decidim-conferences/config/locales/fr.yml index 6504bef065898..1eebd24de2def 100644 --- a/decidim-conferences/config/locales/fr.yml +++ b/decidim-conferences/config/locales/fr.yml @@ -12,9 +12,13 @@ fr: description: Description hashtag: Hashtag hero_image: Image de la page d'accueil + main_logo: Logo principal + objectives: Objectifs participatory_processes_ids: Concertations associées promoted: Mise en avant published_at: Publié à + registration_terms: Conditions d’inscription + registrations_enabled: Inscriptions ouvertes scope_id: Périmètre scopes_enabled: Périmètres d'application activés short_description: Brève description @@ -23,13 +27,29 @@ fr: slug: Slug URL title: Titre conference_media_link: + date: Date + link: Lien + title: Titre weight: Rang d'affichage conference_partner: + link: Lien + logo: Logo + name: Nom weight: Rang d'affichage + conference_registration_invite: + email: Courriel + name: Nom + user_id: Utilisateur·rice conference_registration_type: + description: Description + price: Prix + title: Titre weight: Rang d'affichage conference_speaker: + avatar: Image de profil + conference_meeting_ids: Réunions connexes full_name: Nom complet + personal_url: URL personnelle conference_user_role: email: Email name: Nom diff --git a/decidim-conferences/config/locales/ga-IE.yml b/decidim-conferences/config/locales/ga-IE.yml index c27a6b3e84bd7..2178223347e3a 100644 --- a/decidim-conferences/config/locales/ga-IE.yml +++ b/decidim-conferences/config/locales/ga-IE.yml @@ -6,6 +6,7 @@ ga: decidim_scope_id: Scóip end_date: Dáta deiridh hashtag: Haischlib + location: Suíomh participatory_processes_ids: Próisis Rannpháirteacha Ceangailte scope_id: Scóip slogan: Mana @@ -87,6 +88,7 @@ ga: role: Ról roles: admin: Riarthóir + valuator: Luachálaí media_link: fields: date: Dáta @@ -151,6 +153,7 @@ ga: conference_program: program_meeting: content: Inneachar + location: Suíomh speakers: Cainteoirí show: day: Lá @@ -202,6 +205,7 @@ ga: pages_count: Leathanaigh posts_count: Postálacha projects_count: Tionscadail + proposals_count: Moltaí results_count: Torthaí surveys_count: Suirbhéanna votes_count: Tacaíochtaí diff --git a/decidim-conferences/config/locales/lb-LU.yml b/decidim-conferences/config/locales/lb-LU.yml index 823df018114f4..b23dd04f2e925 100644 --- a/decidim-conferences/config/locales/lb-LU.yml +++ b/decidim-conferences/config/locales/lb-LU.yml @@ -1 +1,528 @@ lb: + activemodel: + attributes: + conference: + assemblies_ids: Ähnliche Assemblies + available_slots: Verfügbare Plätze + banner_image: Banner-Bild + consultations_ids: Verwandte Konsultationen + copy_categories: Kategorien kopieren + copy_components: Kopieren Sie Komponenten + copy_features: Funktionen kopieren + decidim_scope_id: Umfang + description: Beschreibung + end_date: Endtermin + hashtag: Hashtag + hero_image: Hauptbild + location: Standort + main_logo: Hauptlogo + objectives: Ziele + participatory_processes_ids: Ähnliche Beteiligungsprozesse + promoted: Gefördert + published_at: Veröffentlicht unter + registration_terms: Registrierungsbedingungen + registrations_enabled: Registrierungen aktiviert + scope_id: Umfang + scopes_enabled: Bereiche aktiviert + short_description: Kurze Beschreibung + show_statistics: Zeige Statistiken + sign_date: Datum der Unterschrift + signature: Unterschrift + signature_name: Signaturname + slogan: Slogan + slug: URL-Block + start_date: Startdatum + title: Titel + conference_media_link: + date: Datum + link: Verknüpfung + title: Titel + conference_partner: + link: Verknüpfung + logo: Logo + name: Numm + partner_type: Partnertyp + conference_registration_invite: + email: E-Mail + decidim: + admin: + conference_user_roles: + create: + success: Benutzer wurde erfolgreich zu dieser Konferenz hinzugefügt. + destroy: + success: Benutzer wurde erfolgreich von dieser Konferenz entfernt. + edit: + title: Aktualisieren Sie den Konferenzbenutzer. + update: Aktualisieren + index: + conference_admins_title: Konferenzbenutzer + new: + create: Erstellen + title: Neuer Konferenzbenutzer + update: + error: Bei einem Fehler ist ein Benutzer für diese Konferenz aktualisiert worden. + success: Der Benutzer wurde für diese Konferenz erfolgreich aktualisiert. + conferences: + create: + error: Beim Erstellen einer neuen Konferenz ist ein Fehler aufgetreten. + success: Konferenz erfolgreich erstellt + edit: + update: Aktualisieren + exports: + registrations: Anmeldungen + form: + title: Allgemeine Information + index: + not_published: Nicht veröffentlicht + published: Veröffentlicht + new: + create: Erstellen + title: Konferenz + update: + error: Beim Aktualisieren dieser Konferenz ist ein Fehler aufgetreten. + success: Konferenz wurde erfolgreich aktualisiert. + conferences_copies: + create: + error: Beim Duplizieren dieser Konferenz ist ein Fehler aufgetreten. + success: Konferenz wurde erfolgreich dupliziert. + media_links: + create: + error: Beim Erstellen einer neuen Medienverknüpfung ist ein Fehler aufgetreten. + success: Medienlink erfolgreich erstellt + destroy: + success: Medienlink wurde erfolgreich gelöscht. + edit: + title: Medienlink aktualisieren + update: Aktualisieren + index: + media_links_title: Medienlinks + new: + create: Erstellen + title: Medienlink + update: + error: Beim Aktualisieren dieser Medienverbindung ist ein Fehler aufgetreten. + success: Media Link wurde erfolgreich aktualisiert. + menu: + conferences: Konferenzen + conferences_submenu: + attachment_collections: Ordner + attachment_files: Dateien + attachments: Anhänge + categories: Kategorien + components: Komponenten + conference_admins: Konferenzadministratoren + conference_invites: Lädt ein + conference_speakers: Lautsprecher + diploma: Teilnahmebestätigung + info: Info + media_links: Medienlinks + moderations: Moderationen + partners: Partner + registration_types: Registrierungsarten + registrations: Registrierungen + user_registrations: Benutzerregistrierungen + models: + conference: + fields: + created_at: Hergestellt in + conference_speaker: + fields: + position: Positioun + name: Konferenzsprecher + conference_user_role: + fields: + email: Email + name: Name + role: Rolle + name: Konferenzbenutzer + roles: + admin: Administrator + collaborator: Mitarbeiter + moderator: Moderator + valuator: Schätzer + media_link: + fields: + date: Datum + link: Verknüpfung + title: Titel + name: Medienlink + partner: + fields: + link: Verknüpfung + logo: Logo + name: Name + partner_type: Art + name: Partner + types: + collaborator: Mitarbeiter + main_promotor: Hauptförderer + registration_type: + fields: + conference_meetings: Konferenzsitzungen + price: Preis + registrations_count: Registrierungen zählen + title: Titel + name: Registrierungstyp + partners: + create: + error: Beim Hinzufügen eines Partners für diese Konferenz ist ein Fehler aufgetreten. + success: Der Partner wurde erfolgreich zu dieser Konferenz hinzugefügt. + destroy: + success: Der Partner wurde erfolgreich von dieser Konferenz entfernt. + edit: + title: Partner aktualisieren + update: Aktualisieren + new: + create: Erstellen + title: Neuer Partner + update: + error: Bei einem Fehler ist ein Partner für diese Konferenz aktualisiert worden. + success: Der Partner wurde für diese Konferenz erfolgreich aktualisiert. + registration_type_publications: + create: + error: Beim Veröffentlichen dieses Registrierungstyps ist ein Fehler aufgetreten. + success: Die Registrierung wurde erfolgreich veröffentlicht. + destroy: + error: Beim Aufheben der Veröffentlichung dieses Registrierungstyps ist ein Fehler aufgetreten. + success: Registrierungstyp nicht erfolgreich veröffentlicht. + registration_types: + create: + error: Beim Hinzufügen eines Registrierungstyps für diese Konferenz ist ein Fehler aufgetreten. + success: Die Registrierung wurde erfolgreich zu dieser Konferenz hinzugefügt. + destroy: + success: Der Registrierungstyp wurde erfolgreich von dieser Konferenz entfernt. + edit: + title: Registrierungsart aktualisieren + update: Aktualisieren + new: + create: Erstellen + title: Neuer Registrierungstyp + update: + error: Bei einem Fehler ist ein Registrierungstyp für diese Konferenz aktualisiert worden. + success: Die Registrierung wurde für diese Konferenz erfolgreich aktualisiert. + titles: + conferences: Konferenzen + admin_log: + conference: + create: "%{user_name} hat die Konferenz %{resource_name} erstellt" + publish: "%{user_name} hat die Konferenz %{resource_name} veröffentlicht" + send_conference_diplomas: "%{user_name} hat Teilnahmebescheinigungen an die Teilnehmenden der Konferenz %{resource_name} gesendet" + unpublish: "%{user_name} hat die Konferenz %{resource_name} auf \"unveröffentlicht\" gesetzt" + update: "%{user_name} hat die Konferenz %{resource_name} aktualisiert" + update_diploma: "%{user_name} hat die Konfiguration der Teilnahmebescheinigungen für die Konferenz %{resource_name} aktualisiert" + conference_speaker: + create: "%{user_name} hat den Sprecher %{resource_name} in der Konferenz %{space_name} erstellt" + delete: "%{user_name} hat den Sprecher %{resource_name} aus der Konferenz %{space_name} entfernt" + update: "%{user_name} hat den Sprecher %{resource_name} in der Konferenz %{space_name} aktualisiert" + conference_user_role: + create: "%{user_name} hat %{resource_name} zur Konferenz %{space_name} eingeladen" + delete: "%{user_name} hat den Admin %{resource_name} aus der Konferenz %{space_name} entfernt" + update: "%{user_name} hat die Rolle von %{resource_name} in der Konferenz %{space_name} geändert" + conferences: + conference_registration: + confirm: "%{user_name} hat eine Anmeldung zur Konferenz %{resource_name} bestätigt" + partner: + create: "%{user_name} hat den Partner %{resource_name} in der Konferenz %{space_name} erstellt" + delete: "%{user_name} hat den Partner %{resource_name} aus der Konferenz %{space_name} entfernt" + update: "%{user_name} hat den Partner %{resource_name} in der Konferenz %{space_name} aktualisiert" + registration_type: + create: "%{user_name} hat den Registrierungstyp %{resource_name} in der Konferenz %{space_name} erstellt" + publish: "%{user_name} hat den Registrierungstyp %{resource_name} in der Konferenz %{space_name} veröffentlicht" + unpublish: "%{user_name} hat den Registrierungstyp %{resource_name} in der Konferenz %{space_name} auf \"unveröffentlicht\" gesetzt" + update: "%{user_name} hat den Registrierungstyp %{resource_name} in der Konferenz %{space_name} aktualisiert" + media_link: + create: "%{user_name} hat den Medienlink %{resource_name} in der Konferenz %{space_name} erstellt" + delete: "%{user_name} hat den Medienlink %{resource_name} aus der Konferenz %{space_name} entfernt" + update: "%{user_name} hat den Medienlink %{resource_name} in der Konferenz %{space_name} aktualisiert" + conference_program: + index: + title: Programm + conference_speakers: + index: + title: Lautsprecher + conferences: + admin: + conference_copies: + form: + slug_help: 'URL-Slugs werden verwendet, um URLs zu generieren, die auf diese Konferenz verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + conference_invites: + create: + error: Beim Einladen des Benutzers zur Teilnahme an der Konferenz ist ein Problem aufgetreten. + success: Der Benutzer wurde erfolgreich zur Teilnahme an der Konferenz eingeladen. + form: + attendee_type: Teilnehmertyp + existing_user: Existierender Benutzer + invite_explanation: Der Benutzer wird eingeladen, der Konferenz und der Organisation beizutreten. + non_user: Nicht existierender Benutzer + select_user: Nutzer wählen + index: + filter: + accepted: Akzeptiert + all: Alle + rejected: Abgelehnt + sent: Geschickt + filter_by: Filtern nach + invite_attendee: Teilnehmer einladen + invites: Lädt ein + search: Suche + new: + explanation: Der Benutzer wird eingeladen, an einer Konferenz teilzunehmen. Wenn die E-Mail nicht registriert ist, werden sie ebenfalls zur Organisation eingeladen. + invite: Einladen + new_invite: Nutzer einladen + conference_registrations: + index: + registrations: Anmeldungen + conference_speakers: + form: + existing_user: Existierender Benutzer + non_user: Nichtbenutzer + select_user: Nutzer wählen + user_type: Benutzertyp + index: + search: Suche + conferences: + form: + available_slots_help: Belassen Sie es auf 0, wenn Sie unbegrenzte Plätze zur Verfügung haben. + registrations_count: + one: Es gab 1 Registrierung. + other: Es gab %{count} Registrierungen. + slug_help: 'URL-Slugs werden verwendet, um URLs zu generieren, die auf diese Konferenz verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + diplomas: + edit: + save: Speichern + title: Teilnahmebestätigung + invite_join_conference_mailer: + invite: + decline: Einladung '%{conference_title}' ablehnen + invited_you_to_join_a_conference: "%{invited_by} hat Sie eingeladen, an einer Konferenz um %{application}teilzunehmen. Sie können dies über die unten stehenden Links ablehnen oder akzeptieren." + registration: Registrierung für '%{conference_title}' + partners: + index: + title: Partner + registration_types: + form: + select_conference_meetings: Konferenzmeetings auswählen + index: + title: Registrierungsarten + send_conference_diploma_mailer: + diploma: + diploma_html: Die Teilnahmebescheinigung für die Konferenz %{title} finden Sie in den Anhängen. + diploma_user: + attendance_verified_by: Anwesenheit überprüft durch + certificate_of_attendance: Teilnahmebestätigung + certificate_of_attendance_description: Hiermit wird bestätigt, dass %{user} an den %{title} teilgenommen hat, die am %{location} am %{start} - %{end}abgehalten wurden + send_diploma: + error: Beim Senden der Teilnahmebestätigung der Konferenz ist ein Problem aufgetreten. + success: Konferenz-Teilnahmebestätigung korrekt gesendet + conference: + registration_confirm: + cancel: Stornieren + confirm: Bestätigen + show: + free: Kostenlos + going: Gehen + no_slots_available: Keine Steckplätze verfügbar + registration: Anmeldung + conference_program: + program_meeting: + content: Inhalt + location: Ort + speakers: Lautsprecher + streaming: Streaming + show: + day: Tag + program: Programm + conference_registration_mailer: + confirmation: + confirmed_html: Ihre Anmeldung zur Konferenz %{title} wurde bestätigt. + details_1: 'Sie sind mit dem Typ %{registration_type} zur Konferenz angemeldet. Es kostet %{price} und Sie können an folgenden Veranstaltungen teilnehmen:' + details_2: Sie finden die Details der Konferenz im Anhang. + pending_validation: + confirmation_pending: Sie erhalten in Kürze eine Bestätigung + details: 'Sie haben sich für %{registration_type} Typ mit einem Preis von %{price} angemeldet und können an den folgenden Veranstaltungen teilnehmen:' + pending_html: Ihre Anmeldung zur Konferenz %{title} steht noch aus. + conference_registrations: + create: + invalid: Bei dieser Konferenz ist ein Problem aufgetreten. + success: Sie sind der Konferenz erfolgreich beigetreten. + decline_invitation: + invalid: Es ist ein Problem aufgetreten, dass die Einladung abgelehnt wurde. + success: Sie haben die Einladung erfolgreich abgelehnt. + destroy: + invalid: Beim Verlassen dieser Konferenz ist ein Problem aufgetreten. + success: Sie haben die Konferenz erfolgreich verlassen. + conference_speaker: + go_to_twitter: Gehe zu Twitter + more_info: Mehr Informationen + personal_website: Persönliche Webseite + show: + more_info: Mehr Informationen + speaking_at: Sprecher bei + conference_speaker_cell: + personal_url: + personal_website: Persönliche Webseite + twitter_handle: + go_to_twitter: Gehe zu Twitter + conference_speakers: + index: + speakers: Lautsprecher + conferences: + partners: + collaborators: Partner + main_promotors: Organisatoren + show: + login_as: Sie sind als %{name} <%{email}> angemeldet + make_conference_registration: 'Machen Sie Ihre Registrierung in der Konferenz:' + register: Registrieren + content_blocks: + highlighted_conferences: + name: Hervorgehobene Konferenzen + index: + title: Konferenzen + mailer: + conference_registration_mailer: + confirmation: + subject: Die Registrierung Ihrer Konferenz wurde bestätigt + pending_validation: + subject: Ihre Anmeldung zur Konferenz steht noch aus + invite_join_conference_mailer: + invite: + subject: Einladung zur Teilnahme an einer Konferenz + send_conference_diploma_mailer: + diploma: + subject: Ihre Konferenz-Teilnahmebestätigung wurde gesendet + models: + conference_invite: + fields: + email: Email + name: Name + registration_type: Registrierungstyp + sent_at: Gesendet um + status: Status + status: + accepted: Akzeptiert (%{at}) + rejected: Zurückgewiesen (%{at}) + sent: Geschickt + conference_registration: + fields: + email: Email + name: Name + registration_type: Registrierungstyp + state: Zustand + states: + confirmed: Bestätigt + pending: steht aus + pages: + home: + highlighted_conferences: + active_conferences: Aktive Konferenzen + see_all_conferences: Alle Konferenzen anzeigen + photo: + image: + attributes: + alt: Pressebild + show: + close_modal: Modal schließen + photo: Bild + photos_list: + show: + related_photos: Bilder + registration_types: + index: + choose_an_option: 'Wählen Sie Ihre Registrierungsoption:' + login_as: Sie sind als %{name} <%{email}> angemeldet + no_registrations: Keine Registrierungen + register: Registrieren + title: Registrierungsarten + shared: + conference_user_login: + already_account: Haben Sie schon einen Account in Decidim? + new_user: Neuer Benutzer? + sign_in: Melden Sie sich an, um sich für die Konferenz zu registrieren + sign_up: Erstellen Sie ein Konto in decidim, um sich für die Konferenz anzumelden + show: + details: Einzelheiten + introduction: Einführung + objectives: Ziele + related_assemblies: Ähnliche Gremien + related_consultations: Verwandte Konsultationen + related_participatory_processes: Ähnliche Beteiligungsprozesse + statistics: + conference_count: Konferenzen + events: + conferences: + conference_registration_confirmed: + notification_title: Ihre Anmeldung für die Konferenz %{resource_title} wurde bestätigt. + conference_registration_validation_pending: + notification_title: Ihre Anmeldung für die Konferenz %{resource_title} steht noch aus. + conference_registrations_over_percentage: + email_intro: Die Slots der Konferenz "%{resource_title}" sind zu über %{percentage}% belegt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator des Teilnahmebereichs der Konferenz sind. + email_subject: Die Slots in der Konferenz "%{resource_title}" sind zu über %{percentage}% belegt + notification_title: Die Slots der Konferenz %{resource_title} sind zu über %{percentage}% belegt. + conference_updated: + email_intro: 'Die Konferenz "%{resource_title}" wurde aktualisiert. Sie können die neue Version auf der Konferenz-Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Konferenz "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Die Konferenz "%{resource_title}" wurde aktualisiert + notification_title: Die Konferenz %{resource_title} wurde aktualisiert. + registrations_enabled: + email_intro: 'Die Konferenz "%{resource_title}" hat Registrierungen aktiviert. Sie können sich auf der Konferenz-Seite registrieren:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Konferenz "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Die Konferenz "%{resource_title}" hat Registrierungen aktiviert. + notification_title: Die Konferenz %{resource_title} hat Registrierungen aktiviert. + role_assigned: + email_intro: Sie wurden als %{role} für die Konferenz "%{resource_title}" ausgewählt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein %{role} der Konferenz "%{resource_title}" sind. + email_subject: Sie wurden als %{role} für "%{resource_title}" ausgewählt. + notification_title: Sie wurden als %{role} für die Konferenz %{resource_title} ausgewählt. + upcoming_conference: + email_intro: 'Die Konferenz "%{resource_title}" findet in 2 Tagen statt. Sie können die Beschreibung auf der Konferenz-Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Konferenz "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Die Konferenz "%{resource_title}" kommt! + notification_title: Die Konferenz %{resource_title} beginnt in 2 Tagen. + help: + participatory_spaces: + conferences: + contextual: "

    Eine Konferenz ist eine Sammlung von Meetings, die in einem Programm organisiert werden, mit einer Anzahl von Personen, die als Referenten eingeladen werden und andere Informationsfelder, die für große Kongresse oder gesellschaftliche Veranstaltungen typisch sind (Registrierung, Liste der Organisationen, die die Veranstaltung unterstützen oder sponsern, usw.)..

    Beispiele: Eine Konferenz kann ein relevantes Ereignis für eine Organisation und ihre Mitglieder sein oder im Rahmen eines partizipatorischen Prozesses oder einer Beratung folgen.

    \n" + page: "

    Eine Konferenz ist eine Sammlung von Meetings, die in einem Programm organisiert werden, mit einer Anzahl von Personen, die als Referenten eingeladen werden und andere Informationsfelder, die für große Kongresse oder gesellschaftliche Veranstaltungen typisch sind (Registrierung, Liste der Organisationen, die die Veranstaltung unterstützen oder sponsern, usw.)..

    Beispiele: Eine Konferenz kann ein relevantes Ereignis für eine Organisation und ihre Mitglieder sein oder im Rahmen eines partizipatorischen Prozesses oder einer Beratung folgen.

    \n" + title: Was sind Konferenzen? + log: + value_types: + conference_presenter: + not_found: 'Die Konferenz wurde nicht in der Datenbank gefunden (ID: %{id})' + media: + index: + description: Links zu dieser Konferenz + title: Medien und Links + menu: + conferences: Konferenzen + devise: + mailer: + join_conference: + subject: Einladung zur Teilnahme an einer Konferenz + layouts: + decidim: + conference_hero: + register: Registrieren + conference_widgets: + show: + take_part: Teilnehmen + conferences: + conference: + more_info: Mehr Informationen + take_part: Teilnehmen + index: + promoted_conferences: Geförderte Konferenzen + order_by_conferences: + conferences: + one: "%{count} Konferenz" + other: "%{count} Konferenzen" + promoted_conference: + more_info: Mehr Informationen + take_part: Teilnehmen + conferences_nav: + conference_menu_item: Information + conference_partners_menu_item: Partner + conference_speaker_menu_item: Lautsprecher + media: Medien + venues: Veranstaltungsorte diff --git a/decidim-consultations/config/locales/ga-IE.yml b/decidim-consultations/config/locales/ga-IE.yml index 4a9235bfeab8c..21efb0440f68d 100644 --- a/decidim-consultations/config/locales/ga-IE.yml +++ b/decidim-consultations/config/locales/ga-IE.yml @@ -2,6 +2,7 @@ ga: activemodel: attributes: consultation: + questions: Ceisteanna slug: Píosa URL subtitle: Fotheideal title: Teideal @@ -14,6 +15,20 @@ ga: subtitle: Fotheideal response: decidim_consultations_response_group_id: Grúpa + activerecord: + models: + decidim/consultations/question: + one: Ceist + two: Ceisteanna + few: Ceisteanna + many: Ceisteanna + other: Ceisteanna + decidim/consultations/vote: + one: Vóta + two: Vótaí + few: Vótaí + many: Vótaí + other: Vótaí decidim: admin: consultations: @@ -23,6 +38,7 @@ ga: create: Cruthaigh menu: consultations_submenu: + questions: Ceisteanna results: Torthaí models: consultation: @@ -31,10 +47,22 @@ ga: question: fields: title: Teideal + name: + one: Ceist + two: Ceisteanna + few: Ceisteanna + many: Ceisteanna + other: Ceisteanna response: fields: response_group: Grúpa title: Teideal + name: + one: Freagra + two: Freagraí + few: Freagraí + many: Freagraí + other: Freagraí questions: edit: update: Nuashonraigh @@ -51,6 +79,7 @@ ga: new: create: Cruthaigh titles: + questions: Ceisteanna results: Torthaí consultations: consultations: @@ -61,8 +90,10 @@ ga: filters: active: Gníomhach all: Uile + finished: Críochnaithe search: Cuardaigh state: Stádas + upcoming: Le teacht filters_small_view: filter: Scag unfold: Oscail @@ -72,6 +103,7 @@ ga: votes: Vótaí show: badge_name: + finished: Críochnaithe open: Oscail footer_button_text: debate: Díospóireacht @@ -98,5 +130,6 @@ ga: admin: question: attachments: Ceangaltáin + categories: Catagóirí question_components: unfold: Oscail diff --git a/decidim-consultations/config/locales/lb-LU.yml b/decidim-consultations/config/locales/lb-LU.yml index 823df018114f4..d616bab7bebe7 100644 --- a/decidim-consultations/config/locales/lb-LU.yml +++ b/decidim-consultations/config/locales/lb-LU.yml @@ -1 +1,287 @@ lb: + activemodel: + attributes: + consultation: + banner_image: Banner-Bild + decidim_highlighted_scope_id: Hervorgehobener Umfang + description: Beschreibung + end_voting_date: Die Abstimmung endet + introductory_image: Einführungsbild + introductory_video_url: Einleitende Video-URL + questions: Fragen + slug: URL-Block + start_voting_date: Die Abstimmung beginnt + subtitle: Untertitel + title: Titel + question: + banner_image: Banner-Bild + decidim_scope_id: Kommunales Gebiet + hashtag: Hashtag + hero_image: Hauptbild + i_frame_url: URL des externen Abstimmungssystems + instructions: Zusätzliche Anweisungen für Abstimmungen + max_votes: Maximale Anzahl von Stimmen + min_votes: Mindestanzahl von Stimmen + origin_scope: Umfang + origin_title: Ursprung + origin_url: Ursprungs-URL + participatory_scope: Partizipativer Bereich + promoter_group: Promoter-Gruppe + question_context: Kontext + reference: Referenz + scope: Kommunales Gebiet + slug: URL-Block + subtitle: Untertitel + vote: Externes Wahlsystem + what_is_decided: Was ist entschieden? + response: + decidim_consultations_response_group_id: Gruppe + errors: + models: + question: + attributes: + max_votes: + lower_than_min: Die maximale Anzahl von Stimmen sollte höher oder gleich der Mindestanzahl sein. + vote: + decidim_consultations_response_id: + not_found: Antwort nicht gefunden. + activerecord: + errors: + models: + decidim/consultations/vote: + attributes: + question: + invalid_num_votes: Die Anzahl der Stimmen ist ungültig + models: + decidim/consultation: + one: Beratung + other: Konsultationen + decidim/consultations/question: + one: Frage + other: Fragen + decidim/consultations/response: + one: Antwort + other: Antworten + decidim/consultations/vote: + one: Abstimmung + other: Abstimmung + decidim: + admin: + actions: + back_to_responses: Zurück zu Antworten + new_consultation: Neue Konsultation + new_question: Neue Frage + new_response: Neue Antwort + new_response_group: Neue Gruppe + publish_results: Veröffentlichen Sie die Ergebnisse + response_groups: Antwortgruppen verwalten + unpublish_results: Veröffentlichen Sie die Ergebnisse + consultation_publications: + create: + error: Bei der Veröffentlichung dieser Konsultation ist ein Fehler aufgetreten. + success: Konsultation erfolgreich veröffentlicht. + destroy: + error: Es ist ein Fehler aufgetreten, diese Konsultation aufzuheben. + success: Beratung wurde erfolgreich nicht veröffentlicht. + consultation_results_publications: + create: + error: Bei der Veröffentlichung der Ergebnisse für diese Konsultation ist ein Fehler aufgetreten. + success: Konsultationsergebnisse erfolgreich veröffentlicht. + destroy: + error: Es ist ein Fehler aufgetreten, die Ergebnisse dieser Konsultation nicht zu veröffentlichen. + success: Konsultationsergebnisse wurden nicht veröffentlicht. + consultations: + create: + error: Beim Erstellen einer neuen Konsultation ist ein Fehler aufgetreten. + success: Beratung erfolgreich erstellt. + deprecation_warning: Das Beratungsmodul wird in naher Zukunft veraltet sein. Wir arbeiten an der nächsten, kryptographisch sicheren Version namens Votings. + edit: + update: Aktualisieren + form: + slug_help: 'URL-Slugs werden verwendet, um URLs zu generieren, die auf diese Abfrage verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + questions: + new: + create: Erstellen + title: Neue Frage + update: + error: Beim Aktualisieren dieser Frage ist ein Fehler aufgetreten. + success: Frage erfolgreich aktualisiert. + response_groups: + create: + error: Beim Erstellen einer neuen Antwortgruppe ist ein Fehler aufgetreten. + success: Antwortgruppe wurde erfolgreich erstellt. + destroy: + error: Beim Entfernen der Antwortgruppe ist ein Fehler aufgetreten. Prüfen Sie, dass keine Antworten von dieser Gruppe abhängig sind. + success: Antwortgruppe wurde erfolgreich gelöscht. + edit: + update: Aktualisieren + form: + title: Allgemeine Information + help: Verwenden Sie Gruppen, um Multiple-Choice-Fragen in Paketen zu organisieren. + new: + create: Erstellen + title: Neue Antwortgruppe + update: + error: Beim Aktualisieren dieser Antwort ist ein Fehler aufgetreten. + success: Antwort wurde erfolgreich aktualisiert. + responses: + create: + error: Beim Erstellen einer neuen Antwort ist ein Fehler aufgetreten. + success: Antwort erfolgreich erstellt + destroy: + error: Beim Entfernen der Antwort ist ein Fehler aufgetreten. + success: Antwort wurde erfolgreich gelöscht. + edit: + update: Aktualisieren + form: + title: Allgemeine Information + new: + create: Erstellen + title: Neue Antwort + update: + error: Beim Aktualisieren dieser Antwort ist ein Fehler aufgetreten. + success: Antwort wurde erfolgreich aktualisiert. + titles: + consultations: Konsultationen + questions: Fragen + response_groups: Antwortgruppen + responses: Antworten + results: Ergebnisse + consultations: + admin: + content_blocks: + highlighted_consultations: + max_results: Maximale Anzahl der Elemente, die angezeigt werden sollen + consultation: + start_voting_date: Die Abstimmung beginnt + view_results: Ergebnisse anzeigen + consultation_card: + view_results: Ergebnisse anzeigen + consultations: + orders: + label: 'Sortieren Sie die Konsultationen nach:' + random: Zufällig + recent: Neueste zuerst + show: + dates: Daten + content_blocks: + highlighted_consultations: + name: Hervorgehobene Konsultationen + count: + title: + one: "%{count} Beratung" + other: "%{count} Konsultationen" + filters: + active: Aktiv + all: Alle + finished: Fertig + search: Suche + state: Zustand + upcoming: Bevorstehende + filters_small_view: + close_modal: Fenster schließen + filter: Filter + filter_by: Filtern nach + unfold: Entfalten + pages: + home: + highlighted_consultations: + see_all_consultations: Sehen Sie alle Konsultationen + voting_ends_in: + one: Die Abstimmung endet morgen + other: Die Abstimmung endet in %{count} Tagen + voting_ends_today: Die Abstimmung endet heute + question: + take_part: Teilnehmen + view_results: Ergebnisse anzeigen + votes_out_of: + one: abstimmen + other: Stimmen aus + question_multiple_votes: + results_rules: + minimum_votes_per_user: + description: Teilnehmer konnten mindestens %{votes} Stimmen für verschiedene Optionen abgeben. + title: In dieser Frage sind Multiple-Choice-Fragen erlaubt + total_participants: Es haben insgesamt %{count} Personen an der Abstimmung teilgenommen. + vote_limit: + description: Teilnehmer konnten bis zu über %{limit} Optionen abstimmen. + voting_rules: + minimum_votes_per_user: + description: Sie müssen mindestens %{votes} Stimmen für verschiedene Optionen abgeben. + title: 'Die Abstimmung unterliegt folgenden Regeln:' + vote_limit: + description: Sie können bis zu über %{limit} Optionen abstimmen. + left: Verbleibend + votes: Stimmen + question_votes: + create: + error: Es gab Fehler bei der Abstimmung der Frage + success: Sie können dies bis zum Ende der Konsultation ändern. Nur die letzte Stimme wird akzeptiert. + title_error: Abstimmungsfehler! + title_success: Stimme erfolgreich registriert + regular_questions: + title: Fragen für diese Konsultation + show: + badge_name: + finished: Abgeschlossen + open: Öffnen + open_votes: Stimmen öffnen + published_results: Ergebnisse veröffentlicht + footer_button_text: + debate: Debatte + view: Anzeigen + view_results: Ergebnisse anzeigen + vote: Abstimmen + unspecified: Keine Angabe + help: + participatory_spaces: + consultations: + contextual: "

    Eine Konsultation ist ein Raum, in dem Sie allen Personen, die eine Organisation gründen, eine klare Frage stellen, zur Teilnahme an der Konsultation anrufen, die Debatte für oder gegen eine Antwort. Wenn der Konsultationstermin erreicht ist, können Sie abstimmen und die Ergebnisse der Abstimmungen veröffentlichen.

    Beispiele: Die Konsultationen können sich auf fast jeden Aspekt beziehen, der eine Organisation betrifft: Einige Beispiele sind die Änderung des Namens oder des Logos der Organisation mehrere Alternativen anbieten, Ja oder Nein entscheiden, Teil einer größeren Organisation zu werden, einen neuen strategischen Plan oder das Ergebnis einer Arbeitsgruppe validieren oder ablehnen oder festlegen, ob die Positionen maximal 1, 2 oder 3 Mandate bleiben sollen." + page: "

    Eine Konsultation ist ein Raum, in dem Sie allen Personen, die eine Organisation bilden, eine klare Frage stellen, anrufen, um an der Konsultation teilzunehmen, die Debatte für oder gegen eine Antwort anzuordnen. Wenn das Konsultationsdatum erreicht ist, können Sie abstimmen und die Abstimmungsergebnisse veröffentlichen.

    Beispiele: Bei den Konsultationen kann es sich um fast jeden Aspekt handeln, der eine Organisation betrifft: Bei einigen Beispielen wird der Name oder das Logo der Organisation geändert, die verschiedene Alternativen bietet. Sie entscheiden sich für Ja oder Nein, um Teil einer größeren Organisation zu werden, eine neue Strategie zu bestätigen oder abzulehnen Plan oder das Ergebnis einer Arbeitsgruppe oder die Festlegung, ob die Positionen maximal 1, 2 oder 3 Mandate in der Organisation bleiben sollen.

    \n" + title: Was sind Konsultationen? + menu: + consultations: Konsultationen + questions: + next_button: Nächste Frage + previous_button: Vorherige Frage + results: + title: Resultater + show: + read_more: Weiterlesen + statistics: + assistants_count_title: Assistenten + comments_count_title: Bemerkungen + meetings_count_title: Meetings + supports_count_title: Unterstützt + technical_info: + technical_data: Technische Daten + vote_button: + already_voted: Schon gewählt + already_voted_hover: Support entziehen + starting_from: Beginnend von %{date} + verification_required: Verifizieren Sie Ihr Konto, um abstimmen zu können + vote: Abstimmung + vote_modal: + close_modal: Modal schließen + contextual_help: Bitte wähle eine Option. + title: 'Beratung: Frage Unterstützung' + vote_modal_confirm: + change: Veränderung + close_modal: Modal schließen + confirm: Bestätigen + contextual_help: Bitte bestätigen Sie die ausgewählte Option. + title: 'Beratung: Bestätigung der Unterstützung' + resources: + consultations: + actions: + vote: Abstimmen + layouts: + decidim: + consultation_voting_data: + start_voting_date: Die Abstimmung beginnt + question_components: + question_menu_item: Die Frage + unfold: Entfalten + question_header: + back_to_consultation: Sehen Sie alle Konsultationen + back_to_question: Zurück zur Frage diff --git a/decidim-core/config/locales/ga-IE.yml b/decidim-core/config/locales/ga-IE.yml index b5a7d813b5d19..faa59a10bc57c 100644 --- a/decidim-core/config/locales/ga-IE.yml +++ b/decidim-core/config/locales/ga-IE.yml @@ -49,11 +49,23 @@ ga: publish: Foilsigh review: back: Ar Ais + application: + collection: + documents: + one: Cáipéis + two: Cáipéisí + few: Cáipéisí + many: Cáipéisí + other: Cáipéisí author: avatar: Abhatár authorization_handlers: + another_dummy_authorization_handler: + fields: + postal_code: Cód poist dummy_authorization_handler: fields: + postal_code: Cód poist scope_id: Scóip foo_authorization: fields: @@ -76,6 +88,8 @@ ga: debate: Díospóireacht meeting: Cruinniú post: Postáil + proposal: Moladh + question: Ceist title: 'Taispeáin:' dummy: actions: @@ -89,6 +103,8 @@ ga: highlighted_elements_settings_form: orders: random: Randamach + last_activity: + view_all: Amharc ar uile data_portability: export: ready: Réidh @@ -112,11 +128,15 @@ ga: endorsements: identities: done: Críochnaithe + export_mailer: + data_portability_export: + download: Íoslódáil filters: linked_classes: all: Uile meeting: Cruinnithe project: Tionscadail + proposal: Moltaí result: Torthaí fingerprint: source: Foinse @@ -186,6 +206,7 @@ ga: extended: debates: Díospóireachtaí meetings: Cruinnithe + proposals: Moltaí footer_sub_hero: register: Cláraigh metrics: @@ -198,6 +219,7 @@ ga: orders_count: Vótaí pages_count: Leathanaigh projects_count: Tionscadail + proposals_count: Moltaí results_count: Torthaí surveys_count: Suirbhéanna votes_count: Vótaí @@ -214,6 +236,7 @@ ga: view: Amharc profiles: show: + activity: Gníomhaíocht badges: Suaitheantais following: Leantach groups: Grúpaí @@ -283,9 +306,12 @@ ga: version: show: back_to_resource: Dul ar ais + number_of_versions: Leaganacha versions_list: show: back_to_resource: Dul ar ais + number_of_versions: Leaganacha + title: Leaganacha wizard_step_form: wizard_aside: back: Ar Ais @@ -315,10 +341,16 @@ ga: header: sign_in: Sínigh Isteach sign_up: Cláraigh + timeout_modal: + sign_out: Sínigh amach + user_menu: + sign_out: Sínigh amach user_profile: account: Cuntas my_data: Mo chuid sonraí user_groups: Grúpaí + widget: + see_more: Feic níos mó locale: name: Gaeilge social_share_button: @@ -342,8 +374,12 @@ ga: day_of_week: "%a" day_of_week_long: "%a %e" day_of_year: "%d.%m.%y" + decidim_day_of_year: "%d %B %Y" time_of_day: "%H:%M" versions: dropdown: option_escaped: Éalaithe option_unified: Aontaithe + views: + pagination: + truncate: "…" diff --git a/decidim-core/config/locales/lb-LU.yml b/decidim-core/config/locales/lb-LU.yml index 823df018114f4..3b6048622f139 100644 --- a/decidim-core/config/locales/lb-LU.yml +++ b/decidim-core/config/locales/lb-LU.yml @@ -1 +1,1324 @@ lb: + activemodel: + attributes: + account: + delete_reason: Grund, Ihr Konto zu löschen + common: + created_at: Erstellt am + group: + about: Über + avatar: Profilbild + document_number: Dokumentennummer + email: E-Mail + name: Name + nickname: Spitzname + phone: Telefonnummer + report: + details: Zusätzliche Kommentare + user: + about: Über + email: Ihre E-Mail + name: Ihr Name + nickname: Spitzname + password: Passwort + password_confirmation: Bestätigen Sie Ihr Passwort + personal_url: Persönliche URL + remove_avatar: Avatar entfernen + models: + decidim/attachment_created_event: Anhang + decidim/component_published_event: Aktive Komponente + decidim/demoted_membership: Kein Gruppenadministrator mehr + decidim/gamification/badge_earned_event: Abzeichen verdient + decidim/gamification/level_up_event: Sie sind um ein Level aufgestiegen + decidim/join_request_accepted_event: Beitrittsanfrage akzeptiert + decidim/join_request_rejected_event: Beitrittsanfrage abgelehnt + decidim/profile_updated_event: Profil aktualisiert + decidim/promote_to_admin: Zum Gruppenadministrator hochgestuft + decidim/removed_from_group: Aus der Gruppe entfernt + decidim/resource_endorsed_event: Ressource befürwortet + activerecord: + attributes: + decidim/user: + current_password: Aktuelles Passwort + email: E-Mail + name: Spitzname + password: Passwort + password_confirmation: Bestätigung des Passworts + remember_me: Angemeldet bleiben + models: + decidim/amendment: + one: Änderungsantrag + other: Änderungsanträge + decidim/endorsement: + one: Befürwortung + other: Befürwortungen + decidim/user: + one: Benutzer + other: Benutzer + decidim/user_group: + one: Benutzergruppe + other: Benutzergruppen + booleans: + 'false': 'Nein' + 'true': 'Ja' + carrierwave: + errors: + image_too_big: Das Bild ist zu groß + not_inside_organization: Die Datei ist keiner Organisation hinzugefügt + date: + formats: + decidim_short: "%d/%m/%Y" + decidim_short_with_month_name_short: "%d %b %Y" + decidim_with_day_and_month_name: "%A, %d. %b %Y" + decidim_with_month_name: "%d %B %Y" + decidim_with_month_name_short: "%d. %b" + decidim: + accessibility: + external_link: Externer Link + logo: "Offizielles Logo von %{organization}" + skip_button: Zu Hauptinhalten überspringen + account: + blocked: Dieses Konto wurde wegen Verletzung der Allgemeinen Geschäftsbedingungen gesperrt + data_portability_export: + file_no_exists: Diese Datei existiert nicht + notice: Ihre Daten werden gerade bereitgestellt. Sie erhalten nach Fertigstellung eine E-Mail. + delete: + alert: Diese Aktion kann nicht rückgängig gemacht werden. Wenn Sie Ihr Konto löschen, können Sie sich nicht mehr einloggen. Mit der Löschung ihres Accounts werden all Ihre Beiträge anonymisiert. Sie können später wieder ein neues Konto erstellen, aber diese Beiträge werden nicht mehr mit dem neuen Konto verknüpft sein. + confirm: + close: Fenster schließen + ok: Ja, ich möchte mein Konto löschen + question: Sind Sie sicher, dass Sie Ihr Konto löschen möchten? + title: Mein Konto löschen + explanation: Bitte geben Sie den Grund an, warum Sie Ihr Konto löschen möchten (optional). + destroy: + error: Beim Löschen Ihres Kontos ist ein Fehler aufgetreten. + success: Ihr Konto wurde erfolgreich gelöscht. + show: + change_password: Passwort ändern + update_account: Konto aktualisieren + update: + error: Beim Aktualisieren Ihres Kontos ist ein Fehler aufgetreten. + success: Ihr Konto wurde erfolgreich aktualisiert. + success_with_email_confirmation: Ihr Konto wurde erfolgreich aktualisiert. Sie erhalten eine E-Mail zur Bestätigung Ihrer neuen E-Mail-Adresse. + admin: + actions: + cancel: Stornieren + admin_log: + area: + create: "%{user_name} hat den Bereich %{resource_name} erstellt" + delete: "%{user_name} hat den Bereich %{resource_name} gelöscht" + update: "%{user_name} hat den Bereich %{resource_name} aktualisiert" + component: + create: "%{user_name} hat die Komponente %{resource_name} zu %{space_name} hinzugefügt" + delete: "%{user_name} hat die Komponente %{resource_name} aus %{space_name} entfernt" + publish: "%{user_name} hat die Komponente %{resource_name} in %{space_name} veröffentlicht" + unpublish: "%{user_name} hat die Komponente %{resource_name} in %{space_name} auf \"unveröffentlicht\" gesetzt" + impersonation_log: + manage: "%{user_name} hat %{resource_name} verwaltet, weil %{reason}" + moderation: + hide: "%{user_name} hat eine Ressource vom Typ %{resource_type} in %{space_name} versteckt" + unreport: "%{user_name} hat die Meldung einer Ressource vom Typ %{resource_type} in %{space_name} aufgehoben" + newsletter: + create: "%{user_name} hat den Newsletter %{resource_name} erstellt" + delete: "%{user_name} hat den Newsletter %{resource_name} gelöscht" + deliver: "%{user_name} hat den Newsletter %{resource_name} abgesendet" + update: "%{user_name} hat den Newsletter %{resource_name} aktualisiert" + oauth_application: + create: "%{user_name} hat die OAuth-Applikation %{resource_name} erstellt" + delete: "%{user_name} hat die OAuth-Applikation %{resource_name} gelöscht" + update: "%{user_name} hat die OAuth-Applikation %{resource_name} aktualisiert" + organization: + update: "%{user_name} hat die Organisationseinstellungen aktualisiert" + participatory_space_private_user: + create: "%{user_name} hat %{resource_name} als privaten Benutzer eingeladen" + create_via_csv: "%{user_name} hat %{resource_name} per CSV als privaten Teilnehmer eingeladen" + delete: "%{user_name} hat den Benutzer %{resource_name} als privaten Benutzer entfernt" + scope: + create: "%{user_name} hat den Bereich %{resource_name} erstellt" + create_with_parent: "%{user_name} hat den Bereich %{resource_name} im übergeordneten Bereich %{parent_scope} erstellt" + delete: "%{user_name} hat den Bereich %{resource_name} gelöscht" + delete_with_parent: "%{user_name} hat den Bereich %{resource_name} aus dem übergeordneten Bereich %{parent_scope} gelöscht" + update: "%{user_name} hat den Bereich %{resource_name} aktualisiert" + update_with_parent: "%{user_name} hat den Bereich %{resource_name} im übergeordneten Bereich %{parent_scope} aktualisiert" + static_page: + create: "%{user_name} hat die statische Seite %{resource_name} erstellt" + delete: "%{user_name} hat die statische Seite %{resource_name} gelöscht" + update: "%{user_name} hat die statische Seite %{resource_name} aktualisiert" + user: + block: "%{user_name} hat %{resource_name} blockiert" + invite: "%{user_name} hat den Benutzer %{resource_name} mit der Rolle %{role} eingeladen" + officialize: "%{user_name} den Benutzer %{resource_name} offiziell anerkannt" + promote: "%{user_name} hat %{resource_name} befördert" + remove_from_admin: "%{user_name} hat den Benutzer %{resource_name} mit der Rolle %{role} entfernt" + show_email: "%{user_name} hat die E-Mail des Teilnehmers %{resource_name} abgerufen" + transfer: "%{user_name} hat den Teilnehmer %{resource_name} verschoben" + unblock: "%{user_name} hat die Blockierung von %{resource_name} aufgehoben" + unofficialize: "%{user_name} hat die offizielle Anerkennung des Benutzers %{resource_name} widerrufen" + user_group: + reject: "%{user_name} hat die Gruppen-Verifikation %{resource_name} abgelehnt" + verify: "%{user_name} hat die Gruppe %{resource_name} verifiziert" + verify_via_csv: "%{user_name} hat die Gruppe %{resource_name} über eine CSV-Datei verifiziert" + user_moderation: + unreport: "%{user_name} hat die Meldung auf %{resource_type} - %{unreported_user_name} aufgehoben" + admin_terms_of_use: + default_body: "

    ADMIN-NUTZUNGSBEDINGUNGEN

    Wahrscheinlich haben Sie bereits vom lokalen Systemadministrator gehört. Meist lässt das sich auf die folgenden drei Punkte konzentrieren:

    1. Respektieren Sie die Privatsphäre anderer.
    2. Denken Sie nach, bevor Sie klicken.
    3. Große Macht erfordert große Verantwortung.
    " + alert: + dismiss: Benachrichtigung schließen + amendments: + accepted: + error: Beim Akzeptieren der Änderung ist ein Fehler aufgetreten. + success: Die Änderung wurde erfolgreich angenommen. + amendable: + amended_by: Geändert durch + button: '%{model_name} ändern' + error: Bei der Änderung dieser Ressource ist ein Fehler aufgetreten. + help_text: Verbessern Sie diese %{model_name} indem Sie ihre %{amendable_fields}ändern + promote_button: Zu %{model_name} befördern + promote_confirm_text: Möchten Sie diese Erweiterung wirklich fördern? + promote_help_text: Sie können diese Erweiterung fördern und als unabhängige %{model_name} + section_heading: Änderungen (%{count}) + compare_draft: + continue: Fortfahren + no_similars_found: Keine ähnlichen Entwürfe gefunden. + title: Ähnliche Entwürfe + created: + error: Beim Erstellen des Änderungsvorschlags ist ein Fehler aufgetreten. + success: Der Änderungsvorschlag wurde erfolgreich erstellt. + destroy_draft: + error: Es gab einen Fehler beim Löschen des Änderungsvorschlags. + success: Der Änderungsvorschlag wurde erfolgreich gelöscht. + edit_draft: + discard: Änderungsvorschlag verwerfen + discard_confirmation: Sind Sie sicher, dass Sie diesen Änderungsvorschlag verwerfen möchten? + send: Vorschau + title: Änderungsvorschlag bearbeiten + emendation: + actions: + button_accept: Akzeptieren + button_reject: Ablehnen + help_text: Überprüfen Sie die Änderungen und akzeptieren Sie diese Änderung oder lehnen Sie diese ab. Eine Benachrichtigung wird an den / die Verfasser gesendet. + announcement: + accepted: |- + Diese Änderung für %{amendable_type} %{proposal_link} + wurde am %{date} akzeptiert. + evaluating: |- + Diese Änderung für %{amendable_type} %{proposal_link} + wird derzeit bewertet. + promoted: Befördert zu %{amendable_type}. + rejected: Diese Änderung für %{amendable_type} %{proposal_link} wurde am %{date} abgelehnt. + withdrawn: |- + Diese Änderung für %{amendable_type} %{proposal_link} + wurde vom Autor zurückgezogen. + new: + amendment_author: Änderungsautor + send: Erstellen + title: Änderungsvorschlag erstellen + preview_draft: + modify: Bearbeiten + publish: Veröffentlichen + title: Änderungsvorschlag veröffentlichen + promoted: + error: Es gab Fehler bei der Förderung der Emendation + success: Die Emendation wurde erfolgreich gefördert + publish_draft: + error: Es gab ein Problem bei der Veröffentlichung des Änderungsvorschlags. + success: Änderungsvorschlag erfolgreich veröffentlicht. + rejected: + error: Beim Ablehnen dieser Änderung ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut + success: Die Emendation wurde erfolgreich abgelehnt + review: + back: Zurück + heading: Überprüfen Sie die Änderung + help_text: Sie überprüfen eine Änderung der %{model_name} + send: Akzeptieren Sie den Änderungsantrag + update_draft: + error: Es gab ein Problem bei der Aktualisierung des Änderungsvorschlags. + success: Änderungsvorschlag erfolgreich aktualisiert. + withdraw: + error: Ein Fehler ist beim Zurückziehen des Änderungsvorschlags aufgetreten + success: Der Änderungsvorschlag wurde erfolgreich zurückgezogen + wizard_step_form: + steps: + '1': Erstellen Sie Ihre Änderung + '2': Vergleichen Sie Ihren Änderungsvorschlag + '3': Vervollständigen Sie Ihren Änderungsvorschlag + '4': Veröffentlichen Sie Ihren Änderungsvorschlag + anonymous_user: Anonym + application: + collection: + documents: + one: Dokument + other: Unterlagen + document: + download: Datei herunterladen + documents: + related_documents: Zugehörige Dokumente + photos: + related_photos: Zugehörige Bilder + author: + avatar: Profilbild + comments: + one: Kommentar + other: Kommentare + endorsements: + one: Befürwortung + other: Befürwortungen + authorization_handlers: + another_dummy_authorization_handler: + explanation: Lassen Sie sich verifizieren, indem Sie eine Reisepassnummer eingeben, die mit "A" beginnt + fields: + passport_number: Reisepassnummer + postal_code: Postleitzahl + name: Ein weiteres Beispiel für eine Berechtigung + dummy_authorization_handler: + explanation: Lassen Sie sich verifizieren, indem Sie eine Dokumentennummer eingeben, die mit "X" endet + fields: + allowed_postal_codes: Erlaubte Postleitzahlen (durch Komma getrennt) + allowed_scope_id: Erlaubter Umfang + document_number: Dokumentnummer + postal_code: Postleitzahl + scope_id: Umfang + name: Beispiel Berechtigung + dummy_authorization_workflow: + name: Arbeitsablauf Dummy Berechtigung + errors: + duplicate_authorization: Ein Teilnehmer mit den gleichen Daten ist bereits autorisiert. Ein Administrator wird Sie kontaktieren, um Ihre Daten zu überprüfen. + expired_at: Abgelaufen am %{timestamp} + expires_at: Läuft am %{timestamp} ab + foo_authorization: + fields: + bar: Bar + foo: Foo + name: Foo Berechtigung + granted_at: Zugelassen am %{timestamp} + renew: Verifizierung erneuern + sms: + explanation: Geben Sie Ihre Handynummer ein, damit wir Ihre Identität überprüfen können. + name: Code per SMS + started_at: Begann am %{timestamp} + authorization_modals: + content: + expired: + authorize: Erneute Autorisierung mit "%{authorization}" + explanation: Ihre Autorisierung ist abgelaufen. Um diese Aktion auszuführen, müssen Sie mit "%{authorization}" erneut autorisiert werden. + title: Die Autorisierung ist abgelaufen + incomplete: + cancel: Stornieren + explanation: 'Obwohl Sie derzeit mit "%{authorization}" autorisiert sind, müssen Sie erneut autorisieren, da uns folgende Daten fehlen:' + invalid_field: "%{field}" + reauthorize: Erneut autorisieren + title: Bitte erneut autorisieren + missing: + authorize: Autorisieren mit "%{authorization}" + explanation: Um diese Aktion durchzuführen, müssen Sie mit "%{authorization}" autorisiert sein. + title: Autorisierung erforderlich + ok: + title: "Sie wurden auf dieser Seite autorisiert. Bitte laden Sie die Seite neu, um Ihre Aktion auszuführen\n\n" + pending: + explanation: Um diese Aktion auszuführen, müssen Sie mit "%{authorization}" autorisiert sein, aber Ihre Autorisierung ist noch in Bearbeitung + resume: Überprüfen Sie Ihren Autorisierungsfortschritt "%{authorization}" + title: Die Autorisierung läuft noch + unauthorized: + explanation: Leider können Sie diese Aktion nicht ausführen, da einige Ihrer Autorisierungsdaten nicht übereinstimmen. + invalid_field: "%{field} Wert %{value} ist nicht gültig." + ok: Ok + title: Nicht berechtigt + unconfirmed: + confirmation_instructions: 'Wenn Sie die Bestätigungsanweisungen nicht erhalten haben, können Sie sie erneut anfordern:' + explanation_html: Um diese Aktion auszuführen, müssen Sie autorisiert sein, bevor Sie dies tun müssen, müssen Sie Ihre E-Mail bestätigen %{email}. + request_confirmation_instructions: Bestätigungsanleitungen anfordern + title: Bestätige deine E-Mail + show: + close_modal: Modal schließen + block_user_mailer: + notify: + body_1: Ihr Account wurde gesperrt. + body_2: 'Grund: %{justification}' + greetings: Guten Tag
    %{organization_name}
    %{organization_url}, + hello: Hallo, + subject: Ihr Konto wurde von %{organization_name} gesperrt + collapsible_list: + hidden_elements_count: + one: und %{count} mehr + other: und %{count} mehr + see_less: "(Weniger anzeigen)" + see_more: "(Mehr anzeigen)" + components: + component_order_selector: + no_content: Wir haben keine Inhalte anhand dieser Kriterien gefunden + order: + all_types: All Typen + collaborative_draft: Gemeinsame Brouillon + comment: Kommentar + debate: Debatt + initiative: Initiativ + meeting: Versammlung + post: Bäitrag + proposal: Virschlag + question: Fro + title: 'Uweisen:' + dummy: + actions: + bar: Bar + foo: Foo + settings: + global: + comments_enabled: Kommentarer aktiv + comments_max_length: Maximal Längt vun de Kommentären + scope_id: Ëmfank + contact: Kontakt + content_blocks: + cta_settings_form: + background_image: Hannergrondbild + description: Beschreiwung + highlighted_elements_settings_form: + orders: + random: Zoufälleg + recent: Neist als éischt + how_to_participate: + name: Wie kann ich mich beteiligen + html: + html_content: HTML-Inhalt + name: HTML-Block + last_activity: + name: Letzte Aktivität + title: Letzte Aktivität + view_all: Alle ansehen + metrics: + name: Organisationsmetriken + stats: + name: Organisationsstatistiken + sub_hero: + name: Sub hero Banner + core: + actions: + login_before_access: Bitte melden Sie sich mit Ihrem Konto an, um auf diese Seite zuzugreifen + unauthorized: Sie sind nicht berechtigt, diese Aktion auszuführen + data_portability: + export: + ready: Bereit + show: + download_data: Daten herunterladen + download_data_description: Eine Datei, die alle mit Ihrem Konto verknüpften Informationen enthält, wird an %{user_email} gesendet. Diese E-Mail enthält eine .zip-Datei und ein Passwort, um sie zu öffnen.

    Um die Datei zu entpacken, benötigen Sie 7-Zip (für Windows) oder Keka (für MacOS). Wenn Sie Linux verwenden, wird es meistens standardmäßig installiert. Wenn nicht, können Sie File Roller oder PeaZip verwenden. + request_data: Daten anfordern + datepicker: + help_text: 'Erwartetes Format: %{datepicker_format}' + devise: + omniauth_registrations: + create: + email_already_exists: Ein anderes Konto verwendet dieselbe E-Mail-Adresse + new: + complete_profile: Profil vervollständingen + nickname_help: Ihr Pseudonym in %{organization}. Kann nur Buchstaben, Zahlen, '-' und '_' enthalten. + sign_up: Bitte vervollständigen Sie Ihr Profil + subtitle: Bitte füllen Sie das folgende Formular aus, um die Anmeldung abzuschließen + username_help: Öffentlich sichtbarer Name, der in Ihren Beiträgen angezeigt wird. Um Anonymität zu gewährleisten, kann es sich um einen beliebigen Namen handeln. + registrations: + new: + already_have_an_account?: Haben Sie bereits ein Konto? + newsletter: Gelegentlich einen Newsletter mit relevanten Informationen erhalten + newsletter_title: Kontakterlaubnis + nickname_help: Ihr Pseudonym in %{organization}. Kann nur Buchstaben, Zahlen, '-' und '_' enthalten. + password_help: "Mindestens %{minimun_characters} Zeichen, nicht zu gewöhnlich (z.B. 123456) und darf nicht Ihr Benutzername oder Ihre E-Mail-Adresse sein." + sign_in: Anmelden + sign_up: Registrieren + sign_up_as: + legend: Registrieren als + subtitle: Registrieren Sie sich, um an Diskussionen teilzunehmen und Vorschläge zu unterstützen. + terms: Nutzungsbedingungen + tos_agreement: Mit der Anmeldung stimmen Sie %{link} zu. + tos_title: Nutzungsbedingungen + username_help: Öffentlich sichtbarer Name, der in Ihren Beiträgen angezeigt wird. Um Anonymität zu gewährleisten, kann es sich um einen beliebigen Namen handeln. + sessions: + new: + are_you_new?: Neu auf der Plattform? + register: Konto erstellen + sign_in_disabled: Sie können mit einem externen Konto darauf zugreifen + sign_up_disabled: Die Anmeldung ist deaktiviert. Sie können einen vorhandenen Benutzer für den Zugriff verwenden + user: + timed_out: Sie waren zu lange inaktiv und wurden automatisch abgemeldet. Wenn Sie den Dienst weiterhin nutzen möchten, melden Sie sich bitte erneut an. + shared: + newsletter_modal: + buttons: + check: Überprüfen und fortfahren + close_modal: Modal schließen + uncheck: Ohne Kontakterlaubnis fortfahren + notice: |- +

    Hey, sind Sie sicher, dass Sie keinen Newsletter erhalten möchten?
    + Bitte überlegen Sie sich noch einmal das Kontrollkästchen für den Newsletter doch anzukreuzen.
    + Für uns ist es sehr wichtig, die Möglichkeit zu haben Ihnen gelegentlich E-Mails mit wichtigen Ankündigungen schicken zu können. Sie können dies jederzeit in den Benachrichtigungseinstellungen ändern.

    +

    Wenn Sie das Kontrollkästchen nicht ankreuzen, verpassen Sie möglicherweise relevante Informationen zu neuen Beteiligungsmöglichkeiten auf der Plattform.
    + Wenn Sie nach wie vor keinen Newsletter erhalten möchten, verstehen wir natürlich Ihre Entscheidung.

    +

    Danke fürs Lesen!

    + title: Newsletter Benachrichtigungen + omniauth_buttons: + or: Oder + doorkeeper: + authorizations: + new: + authorize: App zulassen + by_organization_link_html: von %{link} + cancel: Abbrechen + connect_your_account_html: Verbinden Sie Ihr Konto, indem Sie sich bei %{organization} anmelden + this_application_will_not_be_able_to: 'Diese Anwendung kann nicht:' + update_profile: Profil aktualisieren + wants_to_use_your_account_html: "%{application_name} möchte Ihr Konto verwenden" + endorsable: + endorsements: Empfehlungen + endorsements_count: Anzahl Befürworter + endorsement_buttons_cell: + already_endorsed: Befürwortet + endorse: Befürworten + endorsements: + identities: + done: Erledigt + select_identity: Identität auswählen + errors: + internal_server_error: + title: Auf unserem Server ist ein Problem aufgetreten + try_later: Bitte versuchen Sie es später nochmal. + not_found: + back_home: Zurück zur Startseite + content_doesnt_exist: Diese Adresse ist falsch oder wurde entfernt. + title: Die von Ihnen gesuchte Seite kann nicht gefunden werden + events: + amendments: + amendment_accepted: + affected_user: + email_intro: 'Eine Änderung an %{amendable_title} wurde akzeptiert. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Autor von %{amendable_title} sind. + email_subject: Akzeptierte Änderung für %{amendable_title} von %{emendation_author_nickname} + notification_title: Die Änderung von %{emendation_author_nickname} für %{amendable_title} wurde angenommen. + follower: + email_intro: 'Eine Änderung für %{amendable_title} wurde akzeptiert. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{amendable_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Akzeptierte Änderung für %{amendable_title} von %{emendation_author_nickname} + notification_title: Die Änderung von %{emendation_author_nickname} für %{amendable_title} wurde akzeptiert. + amendment_created: + affected_user: + email_intro: 'Eine neue Änderung wurde für %{amendable_title} vorgeschlagen. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Autor von %{amendable_title} sind. + email_subject: Neuer Änderungsantrag für %{amendable_title} + notification_title: Neue Änderung für %{amendable_title} erstellt. + follower: + email_intro: 'Eine neue Änderung für %{amendable_title} wurde erstellt. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{amendable_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neuer Änderungsantrag für %{amendable_title} + notification_title: Eine neue Änderung für %{amendable_title} wurde erstellt. + amendment_promoted: + affected_user: + email_intro: 'Eine abgelehnte Änderung an %{amendable_title} wurde als neue/n %{amendable_type} veröffentlicht. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Autor von %{amendable_title} sind. + email_subject: Eine Änderung von %{emendation_author_nickname} wurde als neue/n %{amendable_type} veröffentlicht + notification_title: Die abgelehnte Änderung für %{amendable_title} wurde von %{emendation_author_nickname} als neue/n %{amendable_type} veröffentlicht. + follower: + email_intro: 'Eine abgelehnte Änderung für %{amendable_title} wurde als neue/n %{amendable_type} veröffentlicht. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{amendable_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Eine Änderung von %{emendation_author_nickname} wurde als neue/n/s %{amendable_type} veröffentlicht + notification_title: Eine abgelehnte Änderung für %{amendable_title} wurde von %{emendation_author_nickname} als neue/n/s %{amendable_type} veröffentlicht. + amendment_rejected: + affected_user: + email_intro: 'Eine Änderung an %{amendable_title} wurde abgelehnt. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Autor von %{amendable_title} sind. + email_subject: Abgelehnter Änderungsantrag für %{amendable_title} von %{emendation_author_nickname} + notification_title: Die Änderung von %{emendation_author_nickname} für %{amendable_title} wurde abgelehnt. + follower: + email_intro: 'Eine Änderung für %{amendable_title} wurde abgelehnt. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{amendable_title}. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Abgelehnte Änderung für %{amendable_title} von %{emendation_author_nickname} + notification_title: Die Änderung für %{amendable_title} von %{emendation_author_nickname} wurde abgelehnt. + attachments: + attachment_created: + email_intro: 'Ein neues Dokument wurde zu %{resource_title} hinzugefügt. Sie können es auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{resource_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Eine Aktualisierung auf %{resource_title} + notification_title: Ein neues Dokument wurde zu %{resource_title}hinzugefügt + components: + component_published: + email_intro: 'Die Komponente %{resource_title} ist jetzt für %{participatory_space_title} aktiv. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Eine Aktualisierung auf %{participatory_space_title} + notification_title: Die Komponente %{resource_title} ist jetzt für %{participatory_space_title} aktiv + email_event: + email_greeting: Hallo %{user_name}, + email_intro: 'Es wurde ein Update auf "%{resource_title}" vorgenommen. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Eine Aktualisierung auf %{resource_title} + gamification: + badge_earned: + email_intro: Gratulation! Sie haben das Abzeichen %{badge_name} (Level %{current_level}) verdient. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie auf unserer Website aktiv waren. + email_subject: 'Sie haben ein neues Abzeichen erhalten: %{badge_name}!' + notification_title: Gratulation! Sie haben das Abzeichen %{badge_name} (Level %{current_level}) verdient. + level_up: + email_intro: Gratulation! Sie haben Level %{current_level} auf dem Abzeichen %{badge_name} erreicht! + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie auf unserer Website aktiv waren. + email_subject: Sie haben Level %{current_level} auf dem Abzeichen %{badge_name} erreicht! + notification_title: Gratulation! Sie haben Level %{current_level} auf dem Abzeichen %{badge_name} erreicht! + groups: + demoted_membership: + email_intro: Ein Administrator der Gruppe %{user_group_name} hat Ihre Administratorrechte für diese Gruppe entfernt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie Mitglied dieser Gruppe sind. + email_subject: Du bist kein Administrator der Gruppe %{user_group_name} mehr! + notification_title: Sie sind nicht mehr Administrator in der Gruppe %{user_group_name}. + invited_to_group: + email_intro: Ein Administrator der Gruppe %{user_group_name} hat Sie in die Gruppe eingeladen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie zu einer Gruppe eingeladen wurden. Überprüfen Sie das Tab "Gruppen" in Ihrem Profil, um die Einladung zu akzeptieren. + email_subject: Sie wurden eingeladen, der Gruppe %{user_group_name} beizutreten! + notification_title: Sie wurden eingeladen, der Gruppe %{user_group_name} beizutreten. Besuchen Sie die Gruppen-Seite in Ihrem Profil, um die Einladung zu akzeptieren! + join_request_accepted: + email_intro: Herzlichen Glückwunsch! Ein Administrator der Gruppe %{user_group_name} hat Ihre Anfrage akzeptiert, der Gruppe beizutreten. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Ihre Beitrittsanfrage aktualisiert wurde. + email_subject: Sie wurden in die Gruppe %{user_group_name} aufgenommen! + notification_title: Sie wurden in die Gruppe %{user_group_name} aufgenommen. + join_request_created: + email_intro: Jemand hat darum gebeten, der Gruppe %{user_group_name} beizutreten. Sie können die Anfrage auf der Gruppenmitglieder-Seite akzeptieren oder ablehnen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie die Gruppe %{user_group_name} verwalten können. + email_subject: Jemand hat darum gebeten, der Gruppe %{user_group_name} beizutreten! + notification_title: Jemand hat darum gebeten, der Gruppe %{user_group_name} beizutreten. Sie können die Anfrage auf der Gruppenmitglieder-Seite akzeptieren oder ablehnen. + join_request_rejected: + email_intro: Ein Administrator der Gruppe %{user_group_name} hat Ihre Anfrage abgelehnt, der Gruppe beizutreten. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Ihre Beitrittsanfrage aktualisiert wurde. + email_subject: Ihre Anfrage, der Gruppe %{user_group_name} beizutreten, wurde abgelehnt! + notification_title: Ihre Anfrage, der Gruppe %{user_group_name} beizutreten, wurde abgelehnt. + promoted_to_admin: + email_intro: Ein Administrator der Gruppe %{user_group_name} hat Ihnen Administratorrechte für diese Gruppe erteilt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie Mitglied dieser Gruppe sind. + email_subject: Du bist jetzt ein Admin der Gruppe %{user_group_name}! + notification_title: Sie sind jetzt ein Administrator in der Gruppe %{user_group_name}. + removed_from_group: + email_intro: Ein Admin der Gruppe %{user_group_name} hat Sie aus der Gruppe entfernt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie Mitglied dieser Gruppe waren. + email_subject: Du wurdest aus der Gruppe %{user_group_name} entfernt! + notification_title: Elimineches do grupo %{user_group_name}. + user_group_created: + email_intro: Eine neue Benutzergruppe mit dem Namen %{user_group_name} wurde erstellt. Sie können sie über das Admin-Panel verifizieren. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator der Plattform sind. + email_subject: Eine neue Benutzergruppe wurde erstellt + notification_title: Die Benutzergruppe %{user_group_name} wurde erstellt. Sie können sie über das Admin-Panel verifizieren. + user_group_updated: + email_intro: Die Benutzergruppe mit dem Namen %{user_group_name} hat ihr Profil aktualisiert, wodurch diese erneut verifiziert werden muss. Sie können sie über das Admin-Panel verifizieren. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator der Plattform sind. + email_subject: Eine Benutzergruppe hat ihr Profil aktualisiert + notification_title: Die Benutzergruppe %{user_group_name} hat ihr Profil aktualisiert, wodurch diese erneut verifiziert werden muss. Sie können sie über das Admin-Panel verifizieren. + notification_event: + notification_title: Ein Ereignis trat auf %{resource_title}. + reports: + resource_hidden: + email_intro: Ein Administrator hat Ihr/e/n %{resource_type} entfernt, weil diese/r/s als %{report_reasons} gemeldet wurde. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie Autor des entfernten Inhalts sind. + email_subject: Ihr/e %{resource_type} wurde entfernt + notification_title: |- + Ein Administrator hat Ihr/e %{resource_type} entfernt, weil es als %{report_reasons} gemeldet wurde.
    + %{resource_content} + resource_endorsed: + email_intro: '%{endorser_name} %{endorser_nickname}, dem Sie folgen, hat gerade "%{resource_title}" unterstützt, und wir denken, das könnte interessant für Sie sein. Schauen Sie es sich an und reden Sie mit:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{endorser_nickname} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: "%{endorser_nickname} hat eine neue Befürwortung ausgesprochen" + notification_title: %{resource_title} %{resource_type} wurde von %{endorser_name} %{endorser_nickname} befürwortet. + users: + profile_updated: + email_intro: Die Profilseite von %{name} (%{nickname}), der Sie folgen, wurde aktualisiert. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{nickname} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: "%{nickname} hat ihr Profil aktualisiert" + notification_title: Die Profilseite von %{name} (%{nickname}), der Sie folgen, wurde aktualisiert. + export_mailer: + data_portability_export: + click_button: 'Klicken Sie auf den Link, um Ihre Daten herunterzuladen.
    Die Datei steht bis zum %{date} zur Verfügung.
    Sie benötigen 7-Zip (für Windows), Keka (für MacOS) oder PeaZip (für Linux) um die Datei zu öffnen. Passwort: %{password}' + download: Eroflueden + filters: + linked_classes: + all: All + meeting: Versammlung + forms: + errors: + decidim/user: + password_confirmation: Die Bestätigung muss mit dem Passwort übereinstimmen. + error: In diesem Feld ist ein Fehler aufgetreten. + file_help: + file: + explanation: 'Anleitung für Datei:' + message_1: Muss ein Bild oder ein Dokument sein. + message_2: Für Bilder, verwenden Sie vorzugsweise Landschaftsbilder, der Dienst erzeugt das Bild. Für CSV-Dateien muss der Trenner zwischen Spalten ein Komma (",") sein + image: + explanation: 'Anleitung für Bild:' + message_1: Vorzugsweise ein Querformat ohne Text. + message_2: Der Dienst schneidet die Datei zu. + file_validation: + allowed_file_extensions: 'Erlaubte Dateiendungen: %{extensions}' + max_file_size: 'Maximale Dateigröße: %{megabytes}MB' + remove_this_file: Diese Datei entfernen + gamification: + all_badges_link: Sieh dir alle verfügbaren Abzeichen an. + badges: + followers: + conditions: + - Aktiv zu sein und anderen Menschen zu folgen, wird sicherlich andere Menschen dazu bringen, dir zu folgen. + description: Dieses Abzeichen wird gewährt, wenn Sie eine bestimmte Anzahl von Followern erreichen. %{organization_name} ist ein soziales und politisches Netzwerk, weben Sie Ihr Web, um mit anderen Menschen auf der Plattform zu kommunizieren. + description_another: Diese*r Benutzer*in hat %{score} Follower. + description_own: "%{score} Benutzer*innen folgen dir." + name: Follower + next_level_in: Erhalten Sie %{score} weitere Nutzer, die Ihnen folgen, um das nächste Level zu erreichen! + unearned_another: Dieser Benutzer hat noch keine Follower. + unearned_own: Sie haben noch keine Follower. + index: + badge_title: "%{name} Abzeichen" + how: Wie kannst du es verdienen? + page_description: Badges sind Anerkennungen für Aktionen der Teilnehmer und Fortschritt in der Plattform. Wenn Sie auf der Plattform entdecken, teilnehmen und interagieren, verdienen Sie verschiedene Abzeichen. Hier ist die Liste der Abzeichen und einige Möglichkeiten, wie Sie sie verdienen können. + title: Abzeichen + invitations: + conditions: + - Verwenden Sie den Link "Freunde einladen" auf Ihrer Nutzerseite, um Ihre Freunde einzuladen + - Passen Sie, wenn Sie möchten, die gesendete Nachricht an + - Sie werden auf den neuesten Stand gebracht, indem Sie Einladungen senden und sie registrieren lassen. + description: Dieses Abzeichen wird gewährt, wenn Sie einige Personen eingeladen haben und sie sich ein wenig Zeit genommen haben, um sich in %{organization_name} zu registrieren und Teilnehmer zu werden. Vielen Dank für die Herstellung von %{organization_name} anderen bekannt und helfen , die Gemeinschaft zu erweitern! + description_another: Diese*r Benutzer*in hat %{score} Benutzer*innen eingeladen. + description_own: Sie haben %{score} Benutzer*innen eingeladen. + name: Einladungen + next_level_in: Laden Sie %{score} weitere Benutzer*innen ein, um das nächste Level zu erreichen! + unearned_another: Diese*r Benutzer*in hat noch niemanden eingeladen. + unearned_own: Sie haben noch keine Benutzer*innen eingeladen. + description: Badges sind Anerkennungen für Aktionen der Teilnehmer und Fortschritt in der Plattform. Wenn Sie auf der Plattform entdecken, teilnehmen und interagieren, verdienen Sie verschiedene Abzeichen. + level: Level %{level} + reached_top: Du hast die höchste Stufe für dieses Abzeichen erreicht. + group_admins: + actions: + are_you_sure: Bist du sicher? Dies wird den Benutzer nicht aus der Gruppe entfernen. + demote_admin: Entferne Admin + demote: + error: Beim Entfernen dieses Benutzers aus der Administratorliste ist ein Fehler aufgetreten + success: Benutzer wurde vom Administrator erfolgreich entfernt + index: + current_admins: 'Aktuelle Admins:' + manage_admins: Admins verwalten + group_invites: + accept: + error: Bei der Annahme dieser Einladung ist ein Fehler aufgetreten + success: Einladung wurde erfolgreich angenommen + accept_invitation: Akzeptieren + accept_or_reject_group_invitations: 'Die folgenden Gruppen haben Sie eingeladen, sich ihnen anzuschließen. Akzeptieren oder ablehnen ihrer Anfragen:' + index: + invite: Einladen + invite_user: Laden Sie einen Benutzer ein + invite: + error: Beim Laden dieses Nutzers ist ein Fehler aufgetreten + groups: + edit: + update_user_group: Gruppe aktualisieren + form: + document_number_help: Verwenden Sie keine Bindestriche oder Leerzeichen + email_help: E-Mail Ihrer Organisation, Ihrer Vereinigung, Ihres Kollektivs, Ihrer Gruppe usw. + fill_in_for_verification: 'Füllen Sie diese Felder aus, wenn Ihre Gruppe überprüft werden soll:' + name_help: Name Ihrer Organisation, Ihrer Vereinigung, Ihres Kollektivs, Ihrer Gruppe usw. + nickname_help: Benutzername Ihrer Organisation, Ihrer Vereinigung, Ihres Kollektivs, Ihrer Gruppe usw. Verwenden Sie keine Leerzeichen oder Akzente. + phone_help: Verwenden Sie keine Bindestriche oder Leerzeichen + join: + error: Es ist ein Problem aufgetreten, der Gruppe beizutreten + success: Join-Anforderung wurde erfolgreich erstellt. Ein Administrator überprüft Ihre Anfrage, bevor er Sie für die Gruppe akzeptiert. + leave: + error: Es gab ein Problem, die Gruppe zu verlassen + success: Gruppe erfolgreich verlassen. + members: + accept_or_reject_join_requests: 'Die folgenden Benutzer haben sich angemeldet, um dieser Gruppe beizutreten. Akzeptieren oder ablehnen ihrer Anfragen:' + accept_request: Akzeptieren + reject_request: Ablehnen + new: + create_user_group: Gruppe erstellen + new_user_group: Neue Gruppe + subtitle: Erstellen Sie eine Gruppe und laden Sie andere Benutzer ein, an einer kollektiven Ebene teilzunehmen. + no_user_groups: Gehört noch keiner Gruppe an. + roles: + admin: Administrator + creator: Schöpfer + member: Mitglied + update: + error: Beim Aktualisieren der Gruppe ist ein Problem aufgetreten + success: Gruppe wurde erfolgreich aktualisiert + help: + main_topic: + default_page: + content: "

    In %{organization} können Sie durch die Felder, die Sie im oberen Menü sehen, an verschiedenen Themen teilnehmen: Prozesse, Gremien, Initiativen, Beratungen.

    In jedem Bereich finden Sie verschiedene Optionen für die Teilnahme: Vorschläge machen - einzeln oder mit anderen -, an Debatten teilnehmen, Prioritäten für umzusetzende Projekte setzen, persönliche Treffen und andere Aktionen besuchen.

    \n" + title: Was kann ich in %{organization} tun? + description: Lesen Sie mehr über %{organization} + title: Allgemeine Hilfe + last_activities: + activities: + no_activities_warning: Keine Aktivität + all: Alle Aktivitätstypen + index: + last_activity: Letzte Aktivität + resource_type: Art + log: + base_presenter: + create: "%{user_name} hat %{resource_name} erstellt" + create_with_space: "%{user_name} hat %{resource_name} in %{space_name} erstellt" + delete: "%{user_name} hat %{resource_name} gelöscht" + delete_with_space: "%{user_name} hat %{resource_name} in %{space_name} gelöscht" + unknown_action: "%{user_name} hat eine Aktion an %{resource_name} ausgeführt" + unknown_action_with_space: "%{user_name} hat eine Aktion an %{resource_name} in %{space_name} ausgeführt" + update: "%{user_name} hat %{resource_name} aktualisiert" + update_with_space: "%{user_name} hat %{resource_name} in %{space_name} aktualisiert" + value_types: + area_presenter: + not_found: 'Der Bereich wurde nicht in der Datenbank gefunden (ID: %{id})' + area_type_presenter: + not_found: 'Der Bereichstyp wurde nicht in der Datenbank gefunden (ID: %{id})' + scope_presenter: + not_found: 'Der Bereich wurde nicht in der Datenbank gefunden (ID: %{id})' + scope_type_presenter: + not_found: 'Der Bereichstyp wurde nicht in der Datenbank gefunden (ID: %{id})' + managed_users: + expired_session: Die aktuelle Identitätswechselsitzung ist abgelaufen. + map: + dynamic: + screen_reader_explanation: Das folgende Element ist eine Karte, die die Elemente auf dieser Seite als Kartenpunkte darstellt. Das Element kann mit einem Screenreader verwendet werden, aber es ist möglicherweise schwer zu verstehen. + messaging: + conversation_mailer: + new_group_message: + subject: "%{group} hat neue Nachrichten von %{sender}" + new_message: + greeting: Hallo, %{recipient}! + intro: "%{sender} hat neue Nachrichten in Ihrer Konversation gepostet. Klicken Sie hier, um sie zu sehen:" + outro: Viel Spaß mit Decidim! + subject: Sie haben neue Nachrichten von %{sender} + conversations: + add_conversation_users: + add_max_users: 'Fügen Sie der Unterhaltung Benutzer hinzu: max. 9 Benutzer' + add_users_placeholder: Suche... + modal_title: Neue Unterhaltung + no_results: Keine Ergebnisse + participant_with_disabled_message_reception: Dieser Teilnehmer hat Nachrichten deaktiviert + conversation: + show: Gespräch mit %{sender} anzeigen + create: + error: Die Unterhaltung wurde nicht gestartet. Versuchen Sie es später noch einmal + error_modal: + close: Dialog schließen + correct_errors: Bitte korrigiere diese Fehler und versuche es erneut. + intro: 'Es gab folgende Fehler bei Ihrer Nachricht:' + ok: OK + index: + ago: vor + close: Modal schließen + from: Von + groups: Meine Gruppen + last_message: Letzte Nachricht + new_conversation: Neue Unterhaltung + next: Weiter + no_conversations: Du hast noch keine Unterhaltungen + title: Gespräche + reply: + placeholder: Ihre Antwort... + send: Senden + title: Antworten + show: + back: Zurück zu allen Unterhaltungen + chat_with: Unterhaltung mit + not_allowed: Dieser Teilnehmer akzeptiert keine direkten Nachrichten. + title: Gespräch mit %{usernames} + start: + send: Senden + title: Ein Gespräch beginnen + update: + error: Nachricht wurde aufgrund eines Fehlers nicht gesendet + metrics: + download: + csv: Daten herunterladen (CSV) + followers: + description: Anzahl der Benutzer, die dieser Teilnahme folgen + object: Anhänger + title: Anhänger + participants: + description: Anzahl der aktiven Benutzer in der Organisation + object: Teilnehmer + title: Teilnehmer + users: + description: Anzahl der Benutzer in der Organisation + object: Benutzer + title: Benutzer + newsletter_mailer: + newsletter: + note: Sie haben diese E-Mail erhalten, weil Sie Newsletter auf %{organization_name}abonniert haben. Sie können Ihre Einstellungen auf Ihrer ändern Benachrichtigungen Seite. + see_on_website: Kann diese E-Mail nicht korrekt angezeigt werden? Klicken Sie bitte hier website. + unsubscribe: Um den Empfang dieser Art von E-Mail zu deaktivieren, Abbestellen. + newsletter_templates: + basic_only_text: + body_preview: 'Blindtext für Haupttext: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.' + name: Grundlage (nur Text) + basic_only_text_settings_form: + body: Haupttext + interpolations_hint: 'Tipp: Sie können „%{name}“ an beliebiger Stelle im Hauptteil oder Betreff verwenden und es wird durch den Namen des Empfängers ersetzt.' + image_text_cta: + body_preview: 'Blindtext für Haupttext: Maecenas ac nisl vitae lectus pretium facilisis. Etiam facilisis sem nibh, sit amet rutrum mi aliquam nec. Sed id urna at nisl pretium mollis eu vel velit. Proin vitae suscipit urna, sed faucibus urna. Pellentesque id libero vulputate ipsum scelerisque suscipit. Nam aliquam sodales mi sit amet cursus. Donec mattis faucibus purus. Aenean tincidunt porta lorem ac commodo. Vestibulum in mollis mi. Morbi eros erat, cursus ut tortor sit amet, imperdiet dapibus arcu. Suspendisse id egestas enim. In eget magna sed enim efficitur elementum sit amet aliquam quam. Donec fermentum metus eget urna luctus pulvinar.' + cta_text_preview: Text Aktionsaufruf + introduction_preview: 'Blindtext für Einführung: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.' + name: Bild, Text und Aktionsaufruf-Schaltfläche + image_text_cta_settings_form: + body: Haupttext + cta_text: Text der Aktionsaufruf-Schaltfläche + cta_url: URL der Aktionsaufruf-Schaltfläche + interpolations_hint: 'Tipp: Sie können „%{name}“ an beliebiger Stelle in der Einführung, im Hauptteil, CTA-Text oder Betreff verwenden und es wird durch den Namen des Empfängers ersetzt.' + introduction: Einführung + main_image: Hauptbild + newsletters: + unsubscribe: + check_subscription: Wenn Sie Ihre Einstellungen ändern möchten, können Sie dies in der - Konfiguration Seite + error: Beim Abbestellen ist ein Fehler aufgetreten + success: Sie haben sich erfolgreich abgemeldet. + token_error: Der Link ist abgelaufen. + unsubscribe: Abmelden + newsletters_opt_in: + unathorized: Entschuldigung, dieser Link ist nicht mehr verfügbar + update: + error: Etwas ist schiefgelaufen + success: Newslettereinstellungen wurden erfolgreich aktualisiert + newsletters_opt_in_mailer: + notify: + body_1: Die Verarbeitung personenbezogener Daten und deren Schutz wird für uns alle immer wichtiger. Mit der neuen Datenschutz-Grundverordnung (DSGV) vom 25. Mai 2018 haben Einzelpersonen eine bessere Kontrolle über ihre personenbezogenen Daten. Aus diesem Grund benötigen wir Ihr "OK" um weiterhin relevante Informationen über die Aktivitäten der %{organization_name}zu senden. + body_2: 'Wie können Sie uns Ihre Zustimmung geben? Klicken Sie einfach auf den folgenden Knopf:' + body_3: Mit dieser Zustimmung können Sie weiterhin Informationen über die Dienste der Plattform erhalten. Wenn wir im Gegenteil keine positive Bestätigung von Ihnen erhalten, werden wir Ihnen keine Nachrichten mehr senden. Wenn Sie bestätigen, dass Sie weiterhin informiert werden möchten, haben Sie jederzeit die Möglichkeit, den Vorgang abzubrechen. + button: Ja, ich möchte weiterhin relevante Informationen erhalten + greetings: Grüße,
    %{organization_name}
    %{organization_url} + hello: Hallo, + subject: Möchten Sie weiterhin relevante Informationen über %{organization_name} erhalten? + notifications: + no_notifications: Noch keine Benachrichtigungen + notifications_settings: + show: + administrators: Administratoren + allow_public_contact: Allen erlauben, mir Direktnachrichten zu senden, selbst wenn ich ihnen nicht folge. + direct_messages: Direktnachrichten von allen erhalten + email_on_moderations: Ich möchte eine E-Mail erhalten, wenn etwas zur Moderation gemeldet wird. + email_on_notification: Ich möchte jedes Mal eine E-Mail erhalten, wenn ich eine Benachrichtigung erhalte. + everything_followed: Alles was ich folge + newsletter_notifications: Ich möchte Newsletter erhalten + newsletters: Newsletter + own_activity: Meine eigene Tätigkeit, etwa wenn sich jemand in meinem Vorschlag äußert oder mich erwähnt + receive_notifications_about: Ich möchte Benachrichtigungen erhalten über + send_notifications_by_email: Senden Sie Benachrichtigungen per E-Mail + update_notifications_settings: Änderungen speichern + update: + error: Beim Aktualisieren der Benachrichtigungseinstellungen ist ein Fehler aufgetreten. + success: Ihre Benachrichtigungseinstellungen wurden erfolgreich aktualisiert. + open_data: + not_available_yet: Die Open Data-Dateien sind noch nicht verfügbar. Bitte versuchen Sie es in einigen Minuten erneut. + own_user_groups: + index: + pending: Ausstehend + rejected: Abgelehnt + verified: Überprüft + pad_iframe: + disclaimer: Der Inhalt dieses Blocks wird von registrierten Benutzern verfasst und gibt deren Meinung wieder. %{organization} kann nicht für den Inhalt verantwortlich gemacht werden. + explanation: Verwenden Sie dieses Pad, um während des Meetings gemeinsam Notizen zu machen. + pad: Pad + pages: + home: + statistics: + endorsements_count: Empfehlungen + meetings_count: Versammlung + users_count: Teilnehmer + participatory_space: + metrics: + headline: Teilnahme an Zahlen + link: Alle Statistiken anzeigen + terms_and_conditions: + accept: + error: Beim Akzeptieren der Nutzungsbedingungen ist ein Fehler aufgetreten. + success: Groß! Sie haben die Allgemeinen Geschäftsbedingungen akzeptiert. + form: + agreement: Ich stimme diesen Bedingungen zu + legend: Stimme den Nutzungsbedingungen zu + refuse: + modal_body: Wenn Sie sich weigern, werden Sie nicht in der Lage sein , die Plattform zu nutzen, können Sie laden Sie Ihre Daten und / oder Ihr Konto löschen. + modal_btn_continue: Bedingungen akzeptieren und fortfahren + modal_btn_exit: Ich werde es später überprüfen + modal_button: Verweiße die Bedingungen + modal_close: Modal schließen + modal_title: Lehnen Sie die aktualisierten Geschäftsbedingungen wirklich ab? + required_review: + alert: Wir haben unsere Nutzungsbedingungen aktualisiert. Bitte überprüfen Sie sie. + body: Bitte nehmen Sie sich einen Moment Zeit, um sich über die Aktualisierungen unserer Nutzungsbedingungen zu informieren. Andernfalls können Sie die Plattform nicht nutzen. + title: 'Erforderlich: Überprüfen Sie die Aktualisierungen unserer Nutzungsbedingungen' + participatory_space_private_users: + not_allowed: Sie dürfen diesen Inhalt nicht sehen + profile: + deleted: Teilnehmer gelöscht + inaccessible_message: Dieses Profil ist wegen Verletzung der Nutzungsbedingungen nicht zugänglich! + view: Anzeigen + profiles: + default_officialization_text_for_user_groups: Diese Benutzergruppe wurde öffentlich überprüft, ihr Name wurde mit dem tatsächlichen Namen verifiziert + default_officialization_text_for_users: Dieser Teilnehmer wird öffentlich überprüft, sein Name oder seine Rolle wurde nachweislich seinem tatsächlichen Namen und seiner Rolle zugeordnet + show: + activity: Aktivität + badges: Abzeichen + conversations: Unterhaltungen + followers: Follower + following: Folgt + groups: Gruppen + members: Mitglieder + officialized: Offizieller Teilnehmer + send_private_message: Private Nachricht senden + timeline: Zeitleiste + view_full_profile: Sehen Sie sich Vollständiges Profil anzeigen + sidebar: + badges: + info: Abzeichen werden verdient, indem bestimmte Aktivitäten in der Plattform ausgeführt werden. + title: Abzeichen + user: + confirmation_instructions_sent: E-Mail-Bestätigungsanweisungen gesendet + create_user_group: Gruppe erstellen + edit_profile: Profil bearbeiten + edit_user_group: Gruppenprofil bearbeiten + fill_in_email_to_confirm_it: Bitte geben Sie die E-Mail-Adresse Ihrer Gruppe zur Bestätigung ein + invite_user: Nutzer einladen + join_user_group: Anfrage zur Teilnahme an der Gruppe + leave_user_group: Gruppe verlassen + manage_user_group_admins: Admins verwalten + manage_user_group_users: Mitglieder verwalten + resend_email_confirmation_instructions: Senden Sie die E-Mail-Bestätigungsanweisungen erneut + reported_mailer: + hide: + hello: Hallo %{name}, + manage_moderations: Moderationen verwalten + report_html:

    Der folgende Inhalt wurde automatisch ausgeblendet.

    + subject: Eine Ressource wurde automatisch ausgeblendet + report: + authors: Autoren + content: Gemeldeter Inhalt + content_original_language: Originalsprache des Inhalts + date: Gemeldet am + details: Einzelheiten + hello: Hallo %{name}, + id: ID + participatory_space: Beteiligungsbereich + reason: Grund + report_html:

    Der folgende Inhalt wurde gemeldet.

    + see_report: Den Bericht ansehen + subject: Eine Ressource wurde gemeldet + reports: + create: + error: Beim Erstellen des Berichts ist ein Fehler aufgetreten. Bitte, versuche es noch einmal. + success: Der Bericht wurde erfolgreich erstellt und wird von einem Administrator überprüft. + resource_endorsements: + create: + error: Bei der Befürwortung ist ein Fehler aufgetreten. + scopes: + global: Globaler Umfang + picker: + cancel: Stornieren + change: Ausgewählten Bereich ändern + choose: Wählen + currently_selected: Aktuell ausgewählter Bereich + title: Wählen Sie %{field} + prompt: Wählen Sie einen Bereich aus + scopes: Bereiche + scopes_picker_input: + select_scope: 'Wählen Sie einen Bereich (aktuell: %{current})' + search: + results: Suchergebnisse + results_found_for_term: '%{count} Ergebnisse für die Suche: "%{term}"' + term_input_placeholder: Suche + searches: + filters: + back: Zurück zu den Ergebnissen + jump_to: 'Springen zu:' + state: + active: Aktiv + all: Alles + future: Zukunft + past: Vergangenheit + filters_small_view: + close_modal: Modal schließen + filter: Filter + filter_by: Filtern nach + unfold: Entfalten + results: + results: + one: "%{count} Ergebnis" + other: "%{count} Ergebnisse" + view_all: Alle anzeigen (%{count}) + security: + selfxss_warning: + description: Diese Browser-Funktion ist nur für Entwickler gedacht und Sie sollten hier keine Daten einfügen, wenn Sie darum gebeten wurden. Das Einfügen von Inhalten in dieses Fenster kann Ihre Privatsphäre beeinträchtigen und Hackern Zugriff auf Ihr Konto ermöglichen. + title: Stop! + shared: + confirm_modal: + cancel: Abbrechen + close_modal: Modal schließen + ok: Ok + title: Bestätigen + embed_modal: + close_window: Fenster schließen + embed: Bitte fügen Sie diesen Code in Ihre Seite ein + embed_link: Einbetten + extended_navigation_bar: + more: Mehr + unfold: Entfalten + filter_form_help: + help: Das untenstehende Formular filtert die Suchergebnisse dynamisch, wenn die Suchbedingungen geändert werden. + represent_user_group: + select_user_group: Wählen Sie eine Gruppe aus + results_per_page: + label: 'Ergebnisse pro Seite:' + title: Anzahl der Ergebnisse pro Seite auswählen + share_modal: + close_window: Fenster schließen + share: Teilen + share_link: Link teilen + tags: + filter_results_for_category: 'Ergebnisse nach Kategorie filtern: %{resource}' + filter_results_for_scope: 'Ergebnisse nach Anwendungsbereich filtern: %{resource}' + translation_bar: + help_text: "Warnung: Inhalt könnte automatisch übersetzt werden und nicht 100% korrekt sein." + show_original: Originaltext anzeigen + show_translated: Automatisch übersetzter Text anzeigen + user_activity: + index: + no_activities_warning: Dieser Benutzer hat noch keine Aktivität gehabt. + user_contact_disabled: Dieser Teilnehmer akzeptiert keine Direktnachrichten. + user_conversations: + create: + error: Die Nachricht konnte nicht erstellt werden. Versuchen Sie es später nochmal + existing_error: Die Nachricht konnte nicht erstellt werden. Die Unterhaltung besteht bereits, versuchen Sie es noch einmal. + success: Unterhaltung erfolgreich gestartet! + index: + add_max_users: 'Fügen Sie der Unterhaltung Benutzer hinzu: max. 9 Benutzer' + add_users_placeholder: Suche... + close: Schließen + conversations_info: Unterhaltungen sind privat, niemand sonst kann sie anzeigen. Eine Unterhaltung kann von jedem auf der Plattform registrierten Teilnehmer oder jeder Gruppe gestartet werden. + from: Von + last_message: Letzte Nachricht + modal_title: Neue Unterhaltung + new_conversation: Neue Unterhaltung + next: Weiter + no_conversations_warning: Es gibt noch keine Unterhaltungen. + no_results: Keine Ergebnisse + participant_with_disabled_message_reception: Dieser Teilnehmer hat Nachrichten deaktiviert + time_ago: "Vor %{time}" + new: + title: Eine Unterhaltung beginnen + reply: + placeholder: Ihre Antwort... + send: Senden + title_reply: Antworten + show: + not_allowed: Dieser Benutzer akzeptiert keine Direktnachrichten mehr. + title: Unterhaltung mit %{usernames} + update: + error: Nachricht wurde nicht gesendet. Versuchen Sie es später noch einmal + user_interests: + show: + my_interests: Meine Interessen + no_scopes: Diese Organisation hat noch keinen Spielraum! + versions_list: + show: + back_to_resource: Zurück + changes_at_title: Änderungen an „%{title}“ + number_of_versions: Versionen + title: Versionen + versions_list_item: + show: + version_index: Version %{index} + welcome_notification: + default_body:

    Hallo {{name}}, Dank für die Verbindung {{organization}} und willkommen!

    • Wenn Sie sich schnell ein Bild machen möchten, was Sie hier tun können, sehen Sie sich den Abschnitt Hilfe .
    • Sobald Sie es gelesen haben, erhalten Sie Ihr erstes Abzeichen. Hier ist eine Liste aller Abzeichen Sie erhalten können, wenn Sie an {{organization}}
    • teilnehmen. Schließen Sie sich anderen Personen an, und teilen Sie mit ihnen die Erfahrung, an {{organization}}teilzunehmen. Machen Sie Vorschläge, kommentieren Sie, diskutieren Sie, wie Sie einen Beitrag zum Gemeinwohl leisten können, geben Sie Argumente an, die überzeugen, zuhören und lesen, um überzeugt zu sein, drücken Sie Ihre Ideen konkret und direkt aus, reagieren Sie mit Geduld und Entscheidung, verteidigen Sie Ihre Ideen und halten Sie sie Offenheit, um zusammenzuarbeiten und sich den Ideen anderer anzuschließen.
    + default_subject: Danke, dass du {{organization}}beigetreten {{organization}}! + wizard_step_form: + wizard_aside: + back: Zurück + wizard_header: + see_steps: siehe Schritte + step_of: Schritt %{current_step} von %{total_steps} + devise: + confirmations: + confirmed: Ihre E-Mail-Adresse wurde erfolgreich bestätigt. + new: + resend_confirmation_instructions: Bestätigungsanweisungen erneut senden + send_instructions: Sie erhalten eine E-Mail mit Anweisungen zur Bestätigung Ihrer E-Mail-Adresse in wenigen Minuten. + send_paranoid_instructions: Wenn Ihre E-Mail-Adresse in unserer Datenbank vorhanden ist, erhalten Sie innerhalb weniger Minuten eine E-Mail mit Anweisungen zur Bestätigung Ihrer E-Mail-Adresse. + failure: + already_authenticated: Sie sind bereits angemeldet. + inactive: Dein Benutzerkonto ist noch nicht aktiviert. + invalid: Ungültige %{authentication_keys} oder Passwort. + invited: Sie haben eine ausstehende Einladung, akzeptieren Sie sie, um die Erstellung Ihres Kontos abzuschließen. + last_attempt: Sie haben noch einen Versuch, bevor Ihr Konto gesperrt ist. + locked: Dein Konto ist gesperrt. + not_found_in_database: Ungültige %{authentication_keys} oder Passwort. + timeout: Ihre Sitzung ist abgelaufen. Bitte logge dich erneut ein, um fortzufahren. + unauthenticated: Sie müssen sich anmelden oder registrieren, bevor Sie fortfahren. + invitations: + edit: + header: Beenden Sie die Erstellung Ihres Kontos + nickname_help: Ihre eindeutige Id in %{organization}. + submit_button: Speichern + subtitle: Wenn Sie die Einladung annehmen, geben Sie bitte Ihren Benutzernamen und Ihr Passwort ein. + invitation_removed: Ihre Einladung wurde entfernt. + invitation_token_invalid: Das angegebene Einladungstoken ist nicht gültig! + new: + header: Einladung senden + submit_button: Eine Einladung schicken + no_invitations_remaining: Keine Einladungen übrig + send_instructions: Eine Einladungs-E-Mail wurde an %{email}gesendet. + updated: Ihr Passwort wurde erfolgreich vergeben. Sie sind jetzt angemeldet. + updated_not_active: Ihr Passwort wurde erfolgreich vergeben. + mailer: + confirmation_instructions: + action: Bestätige mein Konto + greeting: Willkommen %{recipient}! + instruction: 'Sie können Ihre Konto-E-Mail über den folgenden Link bestätigen:' + subject: Bestätigungsanweisungen + email_changed: + greeting: Hallo %{recipient}! + message: Wir setzen uns mit Ihnen in Verbindung, um Sie darüber zu informieren, dass Ihre E-Mail-Adresse auf %{email}geändert wird. + subject: E-Mail geändert + invitation_instructions: + accept: Die Einladung annehmen + accept_until: Diese Einladung wird in %{due_date}fällig. + decline: Einladung ablehnen + hello: Hallo %{email}, + ignore: |- + Wenn Sie die Einladung nicht annehmen möchten, ignorieren Sie diese E-Mail.
    + Ihr Konto wird erst erstellt, wenn Sie auf den obigen Link zugreifen und Ihren Benutzernamen und Ihr Passwort festlegen. + invited_you_as_admin: "%{invited_by} hat dich als Admin von %{application}eingeladen. Sie können es über den folgenden Link akzeptieren." + invited_you_as_private_user: "%{invited_by} hat dich als privaten Benutzer von %{application}eingeladen. Sie können es über den folgenden Link akzeptieren." + someone_invited_you: Jemand hat dich zu %{application}eingeladen. Sie können es über den folgenden Link akzeptieren. + someone_invited_you_as_admin: Jemand hat dich als Admin von %{application}eingeladen, du kannst es über den untenstehenden Link akzeptieren. + someone_invited_you_as_private_user: Jemand hat dich als private_user von %{application}eingeladen, du kannst es über den folgenden Link akzeptieren. + subject: Anweisungen zur Einladung + invite_admin: + subject: Du wurdest eingeladen, %{organization} zu verwalten + invite_collaborator: + subject: Du wurdest eingeladen, an %{organization} + invite_private_user: + subject: Du wurdest zu einem privaten Partizipationsprozess auf %{organization} eingeladen + organization_admin_invitation_instructions: + subject: Du wurdest eingeladen, %{organization} zu verwalten + password_change: + greeting: Hallo %{recipient}! + message: Wir kontaktieren Sie, um Sie darüber zu informieren, dass Ihr Passwort geändert wurde. + subject: Passwort geändert + reset_password_instructions: + action: Ändere mein Passwort + greeting: Hallo %{recipient}! + instruction: Jemand hat einen Link angefordert, um Ihr Passwort zu ändern, und Sie können dies über den folgenden Link tun. + instruction_2: Wenn Sie dies nicht angefordert haben, ignorieren Sie diese E-Mail. + instruction_3: Ihr Passwort ändert sich erst, wenn Sie auf den obigen Link zugreifen und einen neuen erstellen. + subject: Passwort-Anweisungen zurücksetzen + unlock_instructions: + action: Entsperren Sie mein Konto + greeting: Hallo %{recipient}! + instruction: 'Klicken Sie auf den folgenden Link, um Ihr Konto zu entsperren:' + message: Ihr Konto wurde aufgrund einer übermäßigen Anzahl fehlgeschlagener Anmeldeversuche gesperrt. + subject: Entsperren Anweisungen + omniauth_callbacks: + failure: 'Sie konnten nicht mit Ihrem %{kind}-Account angemeldet werden. Grund: "%{reason}".' + success: Sie haben sich erfolgreich mit Ihrem %{kind}-Account angemeldet. + passwords: + edit: + change_my_password: Ändere mein Passwort + change_your_password: Ändern Sie Ihr Passwort + confirm_new_password: Bestätige neues Passwort + new_password: Neues Passwort + password_help: "Mindestens %{minimun_characters} Zeichen, nicht zu gewöhnlich (z. B. 123456) und darf nicht Ihr Benutzername oder Ihre E-Mail-Adresse sein." + new: + forgot_your_password: Haben Sie Ihr Passwort vergessen? + send_me_reset_password_instructions: Senden Sie mir das Passwort zurück + no_token: Sie können nicht auf diese Seite zugreifen, ohne von einer E-Mail zum Zurücksetzen des Kennworts zu stammen. Wenn Sie eine E-Mail zum Zurücksetzen des Passworts erhalten, vergewissern Sie sich bitte, dass Sie die vollständige URL verwendet haben. + send_instructions: Sie erhalten eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts in wenigen Minuten. + send_paranoid_instructions: Wenn Ihre E-Mail-Adresse in unserer Datenbank vorhanden ist, erhalten Sie innerhalb weniger Minuten einen Link zur Passwortwiederherstellung unter Ihrer E-Mail-Adresse. + updated: Ihr Passwort wurde erfolgreich geändert. Sie sind jetzt angemeldet. + updated_not_active: Ihr Passwort wurde erfolgreich geändert. + errors: + messages: + not_locked: war nicht gesperrt + not_saved: + one: 'Bei der Bearbeitung Ihrer Anfrage ist ein Fehler aufgetreten:' + other: 'Bei der Bearbeitung Ihrer Anfrage sind mehrere Fehler aufgetreten:' + too_many_marks: benutzt zu viele aufeinanderfolgende Satzzeichen (zB! und?) + too_much_caps: verwendet zu viele Großbuchstaben (über 25% des Textes) + too_short: ist zu kurz (unter 15 Zeichen) + forms: + correct_errors: Es gibt Fehler auf dem Formular, bitte korrigieren Sie sie, um fortzufahren. + required: Erforderlich + required_explanation: "* Pflichtfelder sind mit einem Stern gekennzeichnet" + invisible_captcha: + sentence_for_humans: Wenn Sie ein Mensch sind, ignorieren Sie dieses Feld + timestamp_error_message: Entschuldigung, das war zu schnell! Bitte erneut einreichen + layouts: + decidim: + cookie_warning: + description_html: Diese Seite verwendet Cookies. Indem Sie die Seite weiter durchsuchen, stimmen Sie der Verwendung von Cookies zu. Erfahren Sie mehr darüber %{link}. + link_label: Hier + ok: Ich stimme zu + edit_link: + edit: Bearbeiten + footer: + cc_by_license: Creative Commons Lizenz + decidim_logo: Decidim-Logo + download_open_data: Open Data Dateien herunterladen + made_with_open_source: Website mit freier Software erstellt. + header: + close_menu: Menü schließen + navigation: Navigation + sign_in: Anmelden + sign_up: Registrieren + impersonation_warning: + close_session: Sitzung schließen + description_html: Sie geben sich als Benutzer %{user_name}. + expire_time_html: Ihre Sitzung wird in %{minutes} Minutenablaufen. + language_chooser: + choose_language: Sprache wählen + notifications_dashboard: + mark_all_as_read: Alles als gelesen markieren + mark_as_read: Als gelesen markieren + social_media_links: + facebook: "%{organization} auf Facebook" + github: "%{organization} auf GitHub" + instagram: "%{organization} auf Instagram" + twitter: "%{organization} bei Twitter" + youtube: "%{organization} auf YouTube" + timeout_modal: + body: Sie sind seit %{minutes} Minuten inaktiv. Wenn Sie weiterhin inaktiv sind, werden Sie aus Sicherheitsgründen automatisch abgemeldet. + continue_session: Sitzung fortsetzen + sign_out: Ausloggen + title: Möchten Sie ihre Sitzung fortsetzen? + user_menu: + account: 'Benutzerkonto: %{name}' + admin_dashboard: Admin-Dashboard + conversations: Gespräche + notifications: Benachrichtigungen + profile: Mein Konto + public_profile: Mein öffentliches Profil + sign_out: Ausloggen + user_profile: + account: Konto + authorizations: Berechtigungen + locale: + name: Lëtzebuergesch + name_with_error: Lëtzebuergesch (Fehler!) + time: + formats: + time_of_day: "%H:%M" + versions: + directions: + left: Löschungen + right: Ergänzungen + dropdown: + choose_diff_view_html: 'HTML-Ansicht:' + choose_diff_view_mode: 'Vergleichsansicht:' + option_escaped: aus der Seite herausgekommen + option_split: Nebeneinander + option_unescaped: aus der Seite nicht herausgekommen + option_unified: Zusammengefasst + views: + pagination: + first: "« zuerst" + first_title: Verknüpfung zur ersten Seite + last: Letzte » + last_title: Verknüpfung zur letzten Seite + next: Nächste › + next_title: Verknüpfung zur nächsten Seite + pagination: Paginierung + previous: "‹ Zurück" + previous_title: Verknüpfung zur vorherigen Seite + title: 'Seitenzahl:' + truncate: "…" diff --git a/decidim-debates/config/locales/ga-IE.yml b/decidim-debates/config/locales/ga-IE.yml index dc5c3ffaee57f..6ff0dc0d4a3be 100644 --- a/decidim-debates/config/locales/ga-IE.yml +++ b/decidim-debates/config/locales/ga-IE.yml @@ -46,6 +46,8 @@ ga: all: Uile category: Catagóir category_prompt: Roghnaigh catagóir + citizens: Saoránaigh + official: Oifigiúil origin: Bunús scope: Scóip search: Cuardaigh @@ -66,6 +68,9 @@ ga: date: Dáta debate_closed: Dúnta groups_count: Grúpaí + versions: + index: + title: Leaganacha models: debate: fields: diff --git a/decidim-debates/config/locales/lb-LU.yml b/decidim-debates/config/locales/lb-LU.yml index 823df018114f4..46f7288893c40 100644 --- a/decidim-debates/config/locales/lb-LU.yml +++ b/decidim-debates/config/locales/lb-LU.yml @@ -1 +1,123 @@ lb: + activemodel: + attributes: + debate: + category_id: Kategorie + closed_at: Geschlossen am + conclusions: Zusammenfassung + decidim_category_id: Kategorie + description: Beschreibung + end_time: Endet am + information_updates: Informationsaktualisierungen + instructions: Anweisungen zur Teilnahme + start_time: Startet um + title: Titel + user_group_id: Debatte erstellen als + models: + decidim/debates/close_debate_event: Debatte beendet + decidim/debates/create_debate_event: Debatte + decidim/debates/creation_disabled_event: Debatten deaktiviert + decidim/debates/creation_enabled_event: Debatten aktiviert + activerecord: + models: + decidim/debates/debate: + one: Debatte + other: Debatten + decidim: + components: + debates: + actions: + create: Erstellen + endorse: Bestätigen + name: Debatten + settings: + global: + announcement: Ankündigung + comments_enabled: Kommentare aktiviert + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + scope_id: Bereich + scopes_enabled: Bereiche aktiviert + step: + announcement: Ankündigung + comments_blocked: Kommentare blockiert + creation_enabled: Debate-Erstellung durch Benutzer aktiviert + endorsements_blocked: Bestätigungen blockiert + endorsements_enabled: Bestätigungen aktiviert + debates: + debates: + filters: + search: Suche + state: Status + state_values: + closed: Geschlossen + open: Offen + user_groups: Gruppen + filters_small_view: + close_modal: Modal schließen + filter: Filter + filter_by: Filtern nach + unfold: Entfalten + form: + select_a_category: Bitte wählen sie eine Kategorie + index: + new_debate: Neue Debatte + new: + back: Zurück + create: Erstellen + title: Neue Debatte + orders: + commented: Am meisten kommentiert + label: Debatten sortieren nach + random: Zufällige Reihenfolge + recent: Neueste zuerst + updated: Kürzlich aktualisiert + show: + back: Zurück zur Liste + close_debate: Debatte schließen + date: Datum + debate_closed: Geschlossen + debate_conclusions_are: 'Die Debatte wurde am %{date} mit diesen Ergebnissen geschlossen:' + edit_conclusions: Schlussfolgerungen bearbeiten + edit_debate: Debatte bearbeiten + groups_count: Gruppen + last_comment_by: Letzter Kommentar von + no_comments_yet: Noch keine Kommentare + open: Offene Debatte + participants_count: Teilnehmer + update: + invalid: Es gab ein Problem bei der Aktualisierung der Aussprache. + success: Debatte erfolgreich aktualisiert. + versions: + debates: + back_to_resource: Zurück zur Debatte + index: + title: Versionen + versions_list: + back_to_resource: Zurück zur Debatte + last_activity: + debate_updated_at_html: "Debatte aktualisiert unter %{link}" + new_debate_at_html: "Neue Debatte bei %{link}" + models: + debate: + fields: + end_time: Endtermin + official_debate: Offizielle Debatte + start_time: Anfangsdatum + title: Titel + events: + debates: + create_debate_event: + space_followers: + email_intro: |- + Hallo, + Eine neue Debatte "%{resource_title}" wurde in %{space_title} erstellt, sehen Sie es sich an und reden Sie mit: + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neue Debatte "%{resource_title}" in %{space_title} + notification_title: Die Debatte %{resource_title} wurde in %{space_title} erstellt. + user_followers: + email_intro: |- + Hallo, + %{author_name} %{author_nickname}, dem Sie folgen, hat eine neue Debatte "%{resource_title}" erstellt. Sehen Sie es sich an und reden Sie mit: + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{author_nickname} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neue Debatte "%{resource_title}" von %{author_nickname} + notification_title: %{author_name} %{author_nickname} hat die Debatte %{resource_title} erstellt. diff --git a/decidim-dev/config/locales/ga-IE.yml b/decidim-dev/config/locales/ga-IE.yml index 8ac76852710aa..8fbb8df8a63f3 100644 --- a/decidim-dev/config/locales/ga-IE.yml +++ b/decidim-dev/config/locales/ga-IE.yml @@ -3,6 +3,7 @@ ga: attributes: dummy_resource: decidim_scope_id: Scóip + field: Mo réimse title: Teideal decidim: components: diff --git a/decidim-elections/config/locales/fr.yml b/decidim-elections/config/locales/fr.yml index fa2054aa86d68..b2b892a4da986 100644 --- a/decidim-elections/config/locales/fr.yml +++ b/decidim-elections/config/locales/fr.yml @@ -448,6 +448,7 @@ fr: question: Question %{count} confirmed: back: Retour aux élections + error: Désolé, il y a eu une erreur lors de la confirmation du vote. Veuillez voter à nouveau. experience: Comment a été votre expérience? feedback: Donnez-nous votre avis header: Vote confirmé @@ -541,8 +542,16 @@ fr: attachment_files: Fichiers attachments: Pièces jointes info: Information + landing_page: Page d’accueil + monitoring_committee_members: Comité de suivi polling_stations: Bureaux de vote models: + monitoring_committee_member: + fields: + name: Nom + polling_officer: + fields: + name: Nom polling_station: fields: address: Adresse @@ -621,11 +630,18 @@ fr: polling_officer_zone: polling_officers: show: + actions: + count_votes: Compter les votes dans les urnes + identify_person: Identifier et vérifier un participant + polling_officer_role_description: Vous avez été assigné à agir en tant qu’officier du Bureau de vote (Président ou Gestionnaire) sur certaines des élections ayant lieu sur cette plateforme. polling_stations: list: actions: Actions address: Adresse name: Nom + role: Votre rôle + voting: Élection + no_polling_stations: Vous n'êtes pas encore assigné à un Bureau de vote. title: Bureaux de vote polling_stations: actions: diff --git a/decidim-elections/config/locales/ga-IE.yml b/decidim-elections/config/locales/ga-IE.yml index 9e25e67a3b8ee..126f4a0dde2f0 100644 --- a/decidim-elections/config/locales/ga-IE.yml +++ b/decidim-elections/config/locales/ga-IE.yml @@ -8,6 +8,14 @@ ga: title: Teideal question: title: Teideal + activerecord: + models: + decidim/elections/question: + one: Ceist + two: Ceisteanna + few: Ceisteanna + many: Ceisteanna + other: Ceisteanna decidim: admin: filters: @@ -33,8 +41,13 @@ ga: models: answer: name: Freagra + question: + name: Ceist trustee: name: Iontaobhaí + questions: + index: + title: Ceisteanna steps: created: trustees: Iontaobhaithe @@ -52,7 +65,9 @@ ga: title: Iontaobhaithe election_m: badge_name: + finished: Críochnaithe ongoing: Gníomhach + upcoming: Le teacht end_date: Deireadh footer: view: Amharc @@ -64,8 +79,10 @@ ga: filters: active: Gníomhach all: Uile + finished: Críochnaithe search: Cuardaigh state: Stádas + upcoming: Le teacht filters_small_view: filter: Scag unfold: Oscail @@ -75,10 +92,17 @@ ga: other: "%{count} vótaí" zero: "%{count} vótaí" show: + action-button: + change-vote: Athraigh do vóta + vote: Tosaigh ag vótáil + vote-again: Vótáil arís preview: Réamhamharc + verify: + already-voted: Ar vótáil tú cheana? models: answer: fields: + proposals: Moltaí title: Teideal election: fields: @@ -208,6 +232,7 @@ ga: actions: Gníomhartha address: Seoladh name: Ainm + role: Do ról voting: Vótáil polling_officers: actions: @@ -226,8 +251,10 @@ ga: filters: active: Gníomhach all: Uile + finished: Críochnaithe search: Cuardaigh state: Stádas + upcoming: Le teacht filters_small_view: filter: Scag unfold: Oscail @@ -239,7 +266,9 @@ ga: dates: Dátaí votings_m: badge_name: + finished: Críochnaithe ongoing: Leanúnach + upcoming: Le teacht footer_button_text: view: Amharc vote: Vóta diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index 301a5cde06682..a58a2e647eec3 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -41,7 +41,7 @@ ja: decidim/votings/polling_officer: attributes: presided_polling_station: - president_and_manager: 投票委員はすでに投票所の代表者/マネージャーです + president_and_manager: 投票委員はすでに投票所の投票管理者/マネージャーです voting: different_organization: 投票はユーザーと同じ組織内にある必要があります decidim/votings/polling_station: @@ -73,7 +73,7 @@ ja: label: ロール values: manager: マネージャー - president: 責任者 + president: 投票管理者 unassigned: 未割り当て search_placeholder: name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: '%{collection} を名前/メールアドレス/ニックネーム/投票所で検索します。' @@ -534,7 +534,14 @@ ja: error: 投票ステータスの更新中に問題が発生しました success: 投票ステータスを更新しました verify: + content: + heading: 投票を確認 + info: この検証器は、暗号化されたテキスト文字列で識別された投票が正しく変換され、投票箱内にあることを確認します。 + error: + header: 投票が見つかりません! + info: 投票コードが %{link} 投票箱に見つかりませんでした。もう一度やり直してください。 form: + back: Decidimに戻る submit: チェック vote_identifier: '識別コード:' header: @@ -558,6 +565,25 @@ ja: trustees: new_election: email_intro: '%{resource_title} 選挙の受託者として追加されました。' + email_outro: '%{resource_title} 選挙の受託者に追加されたため、この通知が届きました。' + email_subject: あなたは %{resource_title} 選挙の受託者です.. + notification_title: あなたは %{resource_title} 選挙の受託者です。 + new_trustee: + email_intro: 管理者が %{resource_name} の受託者としてあなたを追加しました。受託者ゾーンで 公開鍵を作成する必要があります。 + email_outro: '%{resource_name} の受信者として追加されたため、この通知を受信しました。' + email_subject: あなたは %{resource_name} の受託者です。 + notification_title: あなたは %{resource_name} の受託者です。 + votes: + accepted_votes: + email_intro: '投票が承認されました!投票トークン: %{encrypted_vote_hash} を使用して、投票を ここ で確認できます。' + email_outro: '%{resource_name} 選挙に投票したため、この通知を受け取りました。' + email_subject: '%{resource_name} への投票が承認されました。' + notification_title: 'あなたの投票が承認されました。 ここであなたの投票トークン: %{encrypted_vote_hash} を使って投票を確認してください。' + votings: + polling_officers: + polling_station_assigned: + email_outro: '%{polling_station_name} の%{role} として割り当てられているため、この通知を受け取りました。' + email_subject: あなたは投票所%{polling_station_name} の %{role} です。 help: participatory_spaces: votings: @@ -629,7 +655,7 @@ ja: fields: address: 住所 polling_station_managers: マネージャー - polling_station_president: 責任者 + polling_station_president: 投票管理者 title: タイトル name: 投票所 voting: @@ -638,6 +664,16 @@ ja: promoted: ハイライト published: 公開済み title: タイトル + polling_officers: + index: + role_president: 投票管理者 + polling_stations: + form: + polling_station_president_help: '投票管理者:投票所の代表を務める担当者。 投票委員がすでに投票所に設置されていること、および他の投票所に割り当てられていないことを確認してください' + select_president: 投票所の投票管理者として投票委員を選択してください + votings: + edit: + assign_missing_officers: 投票管理者またはマネージャーがいない投票所があります。投票所セクションからアサインしてください polling_officer_zone: polling_officers: show: @@ -654,6 +690,9 @@ ja: voting: 投票 no_polling_stations: まだどの投票所にも割り当てられていません。 title: 投票所 + polling_officers: + roles: + president: 投票管理者 votings: count: title: diff --git a/decidim-elections/config/locales/lb-LU.yml b/decidim-elections/config/locales/lb-LU.yml index 823df018114f4..64873c1e94a39 100644 --- a/decidim-elections/config/locales/lb-LU.yml +++ b/decidim-elections/config/locales/lb-LU.yml @@ -1 +1,41 @@ lb: + decidim: + elections: + elections: + show: + callout: + already-voted: Sie haben bei dieser Wahl bereits abgestimmt. Sie können Ihre Stimme ändern oder sie verifizieren. + vote-rejected: Es war nicht möglich, Ihre Stimme zu verifizieren. Bitte geben Sie ihre Stimme erneut ab. + verify: + already-voted: Bereits abgestimmt? + verify-here: Stimme hier verifizieren. + will-verify: Sie können ihre Stimme nach dem Start der Wahl verifizieren. + feedback: + answer: + invalid: Beim Senden Ihrer Meldung ist ein Fehler aufgetreten. + votes: + confirmed: + error: Leider ist ein Fehler bei der Bestätigung der Abstimmung aufgetreten. Bitte erneut abstimmen. + processing: + header: Stimme wird verarbeitet... + text: Ihre Stimme wurde empfangen und wird verarbeitet. Bitte warten. + update: + error: Beim Aktualisieren dieses Status ist ein Problem aufgetreten + success: Abstimmung erfolgreich aktualisiert + votings: + admin: + menu: + votings_submenu: + monitoring_committee_members: Überwachungskomitee + polling_officer_zone: + polling_officers: + show: + actions: + count_votes: Stimmen in der Wahlurne zählen + identify_person: Eine Person identifizieren und verifizieren + polling_officer_role_description: Ihnen wurde eine Rolle als Wahlhelfer (Präsident oder Manager) in Wahlen dieser Plattform zugewiesen. + polling_stations: + list: + role: Ihre Rolle + voting: Abstimmung + no_polling_stations: Sie sind noch zu keinem Wahllokal zugewiesen. diff --git a/decidim-forms/config/locales/ga-IE.yml b/decidim-forms/config/locales/ga-IE.yml index 2a4a40dbcdaf0..dc60ab94cb69d 100644 --- a/decidim-forms/config/locales/ga-IE.yml +++ b/decidim-forms/config/locales/ga-IE.yml @@ -16,6 +16,7 @@ ga: actions: export: Easpórtáil display_condition: + condition_question: Ceist condition_types: equal: Céanna remove: Bain as @@ -31,6 +32,7 @@ ga: any: Ar Bith down: Síos expand: Méadaigh + question: Ceist remove: Bain as up: Thuas separator: @@ -48,3 +50,4 @@ ga: user_answers_serializer: body: Freagra ip_hash: Hais IP + question: Ceist diff --git a/decidim-forms/config/locales/lb-LU.yml b/decidim-forms/config/locales/lb-LU.yml index 823df018114f4..0d55480956730 100644 --- a/decidim-forms/config/locales/lb-LU.yml +++ b/decidim-forms/config/locales/lb-LU.yml @@ -1 +1,104 @@ lb: + activemodel: + attributes: + questionnaire_question: + mandatory: Verpflichtend + max_characters: Maximale Anzahl Zeichen (0 bedeutet kein Limit) + errors: + models: + answer: + attributes: + add_documents: + needs_to_be_reattached: Muss erneut angehängt werden + body: + too_long: ist zu lang + choices: + missing: sind nicht vollständig + too_many: sind zu viele + questionnaire: + request_invalid: Bei der Bearbeitung der Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es nochmal + decidim: + forms: + admin: + models: + components: + description: Beschreibung + tos: Nutzungsbedingungen + questionnaires: + actions: + back: Zurück zu Fragen + show: Antworten anzeigen + answer_option: + answer_option: Antwortoption + free_text: Freier Text + remove: Löschen + statement: Aussage + answers: + actions: + back: Zurück zu Antworten + export: Exportieren + show: Antworten anzeigen + empty: Noch keine Antworten + export: + answer: + title: 'Antwort #%{number}' + export_response: + title: Umfrage_Benutzer_Antworten_%{token} + index: + title: "%{total} Antworten insgesamt" + show: + title: 'Antwort #%{number}' + display_condition: + answer_option: Antwortoption + condition_question: Frage + condition_type: Bedingung + condition_types: + answered: Beantwortet + equal: Gleich + match: Beinhaltet Text + not_answered: Unbeantwortet + not_equal: Nicht gleich + condition_value: Enthaltener Text + display_condition: Bedingung anzeigen + mandatory: Diese Bedingung muss immer erfüllt werden, unabhängig vom Status anderer Bedingungen + remove: Löschen + save_warning: Vergessen Sie nicht, das Formular zu speichern, bevor Sie die Anzeigebedingungen konfigurieren + select_answer_option: Antwortoption auswählen + select_condition_question: Eine Frage + select_condition_type: Wählen Sie einen Bedingungstyp + edit: + save: Speichern + title: Fragebogen bearbeiten + form: + add_question: Frage hinzufügen + add_separator: Trennzeichen hinzufügen + already_answered_warning: Der Fragebogen wird bereits von einigen Benutzern beantwortet, sodass Sie die Fragen nicht ändern können. + collapse: Alle Fragen einklappen + expand: Alle Fragen ausklappen + preview: Vorschau + title: Formular für %{questionnaire_for} bearbeiten + unpublished_warning: Das Formular ist nicht öffentlich. Sie können die Fragen ändern, dabei werden allerdings die aktuellen Antworten gelöscht. + matrix_row: + matrix_row: Zeile + questionnaires: + show: + questionnaire_not_published: + body: Dieses Formular ist noch nicht veröffentlicht. + tos_agreement: Mit der Teilnahme stimmen Sie den Nutzungsbedingungen zu + step_navigation: + show: + are_you_sure: Diese Aktion kann nicht rückgängig gemacht werden und Sie können Ihre Antworten nicht bearbeiten. Bist du sicher? + back: Zurück + continue: Weiter + submit: einreichen + user_answers_serializer: + body: Antwort + completion: Abschluss + created_at: Beantwortet am + id: ID beantworten + ip_hash: IP-Hash + question: Frage + registered: Registriert + session_token: Benutzerkennung + unregistered: Nicht registriert + user_status: Benutzerstatus diff --git a/decidim-forms/config/locales/pl.yml b/decidim-forms/config/locales/pl.yml index 8080589b5c1e7..0a520a323644d 100644 --- a/decidim-forms/config/locales/pl.yml +++ b/decidim-forms/config/locales/pl.yml @@ -133,19 +133,19 @@ pl: sorting: Sortowanie questionnaires: answer: - invalid: Podczas odpowiadania na formularz wystąpiły błędy. + invalid: Podczas wypełniania formularza wystąpiły błędy. max_choices_alert: Wybrano zbyt wiele opcji - success: Odpowiedziano na formularz. + success: Wypełniono formularz. question: max_choices: 'Maksymalny wybór opcji: %{n}' show: answer_questionnaire: - anonymous_user_message: Zaloguj się na swoje konto lub zarejestruj się aby odpowiedzieć na formularz. - title: Odpowiedz na formularz + anonymous_user_message: Zaloguj się na swoje konto lub zarejestruj się aby wypełnić formularz. + title: Wypełnij formularz current_step: Krok %{step} of_total_steps: z %{total_steps} questionnaire_answered: - body: Już odpowiedziałeś na ten formularz. + body: Już wypełniłeś/łaś ten formularz. title: Już odpowiedziano questionnaire_closed: body: Formularz jest zamknięty i nie można udzielić na niego odpowiedzi. diff --git a/decidim-initiatives/config/locales/ga-IE.yml b/decidim-initiatives/config/locales/ga-IE.yml index 765ac9922363c..4dd9cb4629a8a 100644 --- a/decidim-initiatives/config/locales/ga-IE.yml +++ b/decidim-initiatives/config/locales/ga-IE.yml @@ -11,8 +11,18 @@ ga: title: Teideal initiatives_type: title: Teideal + initiatives_vote: + postal_code: Cód poist organization_data: address: Seoladh + activerecord: + models: + decidim/initiative_comittee: + one: Coiste + two: Coistí + few: Coistí + many: Coistí + other: Coistí decidim: admin: filters: @@ -37,6 +47,7 @@ ga: fields: hash: Hais initiative_end_date: Dáta deiridh + postal_code: Cód poist scope: Scóip initiatives: actions: @@ -156,6 +167,7 @@ ga: email: Seoladh ríomhphoist initiative: title: 'Teideal:' + postal_code: Cód poist print: Clóbhuail show: edit: Eagar @@ -168,6 +180,7 @@ ga: badge_name: created: Cruthaithe states: + accepted: Glactha expired: Éagtha resources: initiatives_type: diff --git a/decidim-initiatives/config/locales/lb-LU.yml b/decidim-initiatives/config/locales/lb-LU.yml index 823df018114f4..d5952cd9a5149 100644 --- a/decidim-initiatives/config/locales/lb-LU.yml +++ b/decidim-initiatives/config/locales/lb-LU.yml @@ -1 +1,341 @@ lb: + activemodel: + attributes: + initiative: + decidim_user_group_id: Autor + description: Beschreibung + offline_votes: Face-to-Face-Unterstützung + offline_votes_for_scope: Persönliche Unterschriften für %{scope_name} + scope_id: Umfang + signature_end_date: Ende der Unterschriftensammlung + signature_start_date: Beginn der Unterschriftensammlung + signature_type: Signatursammeltyp + signature_type_values: + any: Gemischt + offline: Angesicht zu Angesicht + online: Online + state: Zustand + title: Titel + initiatives_committee_member: + user: Ausschussmitglied + initiatives_type: + area_enabled: Die Auswahl des Bereichs von Initiativen für Autoren freigeben + attachments_enabled: Anhänge freigeben + banner_image: Banner-Bild + child_scope_threshold_enabled: Unterschriften von Unterbereichen aktivieren + collect_user_extra_fields: Sammeln Sie persönliche Daten des Benutzers bei der Unterschrift + custom_signature_end_date_enabled: Die Auswahl des Enddatums der Unterschriftensammlung für Autoren freigeben + description: Beschreibung + document_number_authorization_handler: Berechtigung zur Überprüfung der Belegnummer bei Abstimmungen + extra_fields_legal_information: Rechtliche Informationen zur Erhebung personenbezogener Daten + minimum_committee_members: Minimum der Ausschussmitglieder + online_signature_enabled: Online-Signatur aktiviert + only_global_scope_enabled: Nur die Erstellung globaler Initiativen zulassen + promoting_committee_enabled: Förderkomitee freigeben + title: Titel + undo_online_signatures_enabled: Ermöglichen Sie Benutzern, ihre Online-Signaturen rückgängig zu machen + validate_sms_code_on_votes: Fügen Sie dem Signaturprozess einen SMS-Validierungsschritt hinzu + initiatives_vote: + date_of_birth: Geburtsdatum + document_number: Dokumentnummer + name_and_surname: Name und Nachname + postal_code: Postleitzahl + decidim: + admin: + titles: + initiatives: Initiativen + initiatives_types: Arten von Initiativen + events: + initiatives: + admin: + initiative_sent_to_technical_validation: + email_intro: Die Initiative "%{resource_title}" wurde zur technischen Validierung gesendet. Über das Admin-Panel können Sie sie aufrufen + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator der Plattform sind. + email_subject: Die Initiative "%{resource_title}" wurde zur technischen Validierung gesendet. + notification_title: Die Initiative "%{resource_title}" wurde zur technischen Validierung gesendet. Über das Admin-Panel können Sie sie aufrufen + initiative_extended: + email_intro: Das Enddatum der Unterschriftensammlung für die Initiative %{resource_title} wurde verlängert! + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{resource_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Enddatum der Unterschriftensammlung verlängert! + notification_title: Das Enddatum der Unterschriftensammlung für die Initiative %{resource_title} wurde verlängert. + initiative_sent_to_technical_validation: + email_intro: Die Initiative „%{resource_title}“ wurde zur technischen Validierung gesendet. Über das Admin-Panel können Sie sie aufrufen + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator der Plattform sind. + email_subject: Die Initiative "%{resource_title}" wurde zur technischen Validierung gesendet. + notification_title: Die Initiative "%{resource_title}" wurde zur technischen Validierung gesendet. Über das Admin-Panel können Sie sie aufrufen + milestone_completed: + affected_user: + email_intro: Ihre Initiative %{resource_title} hat %{percentage}% der Unterschriften erreicht! + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Autor der Initiative %{resource_title} sind. + email_subject: Neuer Meilenstein abgeschlossen! + notification_title: Ihre Initiative %{resource_title} hat %{percentage}% der Unterschriften erreicht. + follower: + email_intro: Die Initiative %{resource_title} hat %{percentage}% der Unterschriften erreicht! + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{resource_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neuer Meilenstein abgeschlossen! + notification_title: Die Initiative %{resource_title} hat %{percentage}% der Unterschriften erreicht. + support_threshold_reached: + email_intro: Die Initiative %{resource_title} hat die Mindestanzahl an Unterschriften erreicht + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator der Plattform sind. + email_subject: Mindestanzahl an Unterschriften erreicht + notification_title: Die Initiative %{resource_title} hat die Mindestanzahl an Unterschriften erreicht + gamification: + badges: + initiatives: + conditions: + - Gehe zum Teilnehmerbereich von Intiativen + - Befolgen Sie die Schritte, um eine neue Initiative zu erstellen + description: Dieses Abzeichen wird gewährt, wenn Sie neue Initiativen starten und mit anderen zusammenarbeiten, um sie durchzuführen. + description_another: Dieser Benutzer hat %{score} Initiativen veröffentlicht. + description_own: Du hast %{score} Initiativen veröffentlicht. + name: Veröffentlichte Initiativen + next_level_in: Holen Sie sich %{score} weitere Initiativen veröffentlicht, um das nächste Level zu erreichen! + unearned_another: Dieser Benutzer hat noch keine Initiativen veröffentlicht. + unearned_own: Sie haben noch keine Initiativen veröffentlicht. + help: + participatory_spaces: + initiatives: + contextual: "

    Eine Initiative ist ein Vorschlag, der von jedermann aus eigener Initiative (unabhängig von anderen Kanälen oder Beteiligungsräumen) durch die Sammlung von (digitalen) Unterschriften für die Organisation zur Durchführung einer bestimmten Aktion (Änderung einer Verordnung, Initiierung eines Projekts) gefördert werden kann , ändern Sie den Namen einer Abteilung oder einer Straße usw.).

    Die Initiatoren einer Initiative können ihre Ziele festlegen, Unterstützung sammeln, diskutieren, verbreiten und Treffpunkte definieren, an denen Unterschriften der Teilnehmer oder Debatten gesammelt werden können, die für andere Teilnehmer offen sind.

    Beispiele: Eine Initiative kann Unterschriften sammeln, um eine Konsultation unter allen Mitarbeitern einer Organisation einzuberufen, eine Versammlung zu gründen oder einzuberufen oder einen Prozess zur Aufstockung des Budgets für ein Gebiet oder einen Bereich der Organisation einzuleiten. Während des Sammelns von Unterschriften können mehr Personen zu diesem Bedarf beitragen und ihn in der Organisation vorantreiben.

    \n" + page: "

    Eine Initiative ist ein Vorschlag, der von jedermann aus eigener Initiative (unabhängig von anderen Kanälen oder Beteiligungsräumen) durch die Sammlung von (digitalen) Unterschriften für die Organisation zur Durchführung einer bestimmten Aktion (Änderung einer Verordnung, Initiierung eines Projekts) gefördert werden kann , ändern Sie den Namen einer Abteilung oder einer Straße usw.).

    Die Initiatoren einer Initiative können ihre Ziele festlegen, Unterstützung sammeln, diskutieren, verbreiten und Treffpunkte definieren, an denen Unterschriften der Teilnehmer oder Debatten gesammelt werden können, die für andere Teilnehmer offen sind.

    Beispiele: Eine Initiative kann Unterschriften sammeln, um eine Konsultation unter allen Mitarbeitern einer Organisation einzuberufen, eine Versammlung zu gründen oder einzuberufen oder einen Prozess zur Aufstockung des Budgets für ein Gebiet oder einen Bereich der Organisation einzuleiten. Während des Sammelns von Unterschriften können mehr Personen zu diesem Bedarf beitragen und ihn in der Organisation vorantreiben.

    \n" + title: Was sind Initiativen? + initiatives: + actions: + answer: Antworten + admin: + answers: + edit: + answer: Antworten + title: Antwort für %{title} + info_initiative: + created_at: Hergestellt in + description: Beschreibung + initiative_votes_count: Stimmen zählen + initiatives: Initiativen + state: Zustand + committee_requests: + index: + approve: Genehmigen + confirm_revoke: Bist du sicher? + invite_to_committee_help: Teilen Sie diesen Link, um andere Benutzer zum Promotionskomitee einzuladen + no_members_yet: Es gibt keine Mitglieder im Promoter-Ausschuss + initiatives_types: + form: + options: Optionen + title: Allgemeine Information + initiative_type_scopes: + title: Bereiche für den Typ der Initiative + new: + create: Erstellen + title: Neuer Initiativentyp + update: + error: Ein Fehler ist aufgetreten + success: Der Initiativentyp wurde erfolgreich aktualisiert + admin_log: + initiative: + publish: "%{user_name} hat die Initiative %{resource_name} veröffentlicht" + send_to_technical_validation: "%{user_name} hat die Initiative %{resource_name} zur technischen Validierung gesendet" + unpublish: "%{user_name} hat die Initiative %{resource_name} verworfen" + update: "%{user_name} hat die Initiative %{resource_name} aktualisiert" + admin_states: + accepted: Ausreichend Unterschriften + created: Erstellt + discarded: Verworfen + published: Veröffentlicht + rejected: Ungenügend Unterschriften + validating: Technische Validierung + application_helper: + filter_area_values: + all: Alle + filter_scope_values: + all: Alle + filter_state_values: + accepted: Ausreichend Unterschriften + all: Alle + answered: Beantwortet + closed: Geschlossen + open: Öffnen + rejected: Ungenügend Unterschriften + filter_type_values: + all: Alle + committee_requests: + approve: + success: Anfrage wurde bestätigt. + new: + continue: Fortsetzen + help_text: Sie sind dabei, ein Mitglied des Promoter-Komitees dieser Initiative zu werden + revoke: + success: Anfrage wurde zurückgezogen. + spawn: + success: Ihre Anfrage wurde an den Initiativautor gesendet. + content_blocks: + highlighted_initiatives: + name: Hervorgehobene Initiativen + create_initiative: + fill_data: + back: Zurück + continue: Fortsetzen + fill_data_help: "
    • Inhalt Ihrer Initiative überprüfen. Ist Ihr Titel leicht verständlich? Ist das Ziel Ihrer Initiative klar?
    • Sie müssen die Art der Unterschrift wählen. Persönlich, online oder eine Kombination aus beidem
    • Was ist die geografische Reichweite der Initiative? Stadt, Bezirk?
    " + initiative_type: Art der Initiative + more_information: "(Weitere Informationen)" + select_area: Wählen Sie einen Bereich aus + select_scope: Wählen Sie einen Bereich aus + finish: + back: Zurück + back_to_initiatives: Zurück zu den Initiativen + callout_text: Herzlichen Glückwunsch! Ihre Initiative wurde erfolgreich erstellt. + confirm: Sie werden die Initiative an einen Administrator senden, welcher sie zu überprüft und veröffentlicht. Sobald die Initiative veröffentlicht ist, können Sie sie nicht bearbeiten. Sind Sie sicher? + edit_my_initiative: Meine Initiativen bearbeiten + go_to_my_initiatives: Geh zu meinen Initiativen + more_information: "(Weitere Informationen)" + send_my_initiative: Meine Initiative zur technischen Validierung senden + finish_help: + access_reminder: Sie können auf Ihre Initiativen über den Filter %{link} auf der Seite Initiativen zugreifen. + form: + add_attachments: Dokumente + attachment_legend: "(Optional) Anhang hinzufügen" + delete_attachment: Löschen + index: + title: Initiativen + initiative_signatures: + fill_personal_data: + continue: Fortsetzen + date_select: + day: Tag + month: Monat + year: Jahr + help: Bitte füllen Sie die folgenden Felder mit Ihren persönlichen Daten aus, um die Initiative zu unterzeichnen + finish: + back_to_initiative: Zurück zur Initiative + sms_code: + continue: Code überprüfen und fortfahren + help: Überprüfen Sie die an Ihrem Telefon empfangene SMS + sms_phone_number: + continue: Senden Sie mir eine SMS + help: Füllen Sie das Formular mit Ihrer bestätigten Telefonnummer aus, um Ihren Bestätigungscode anzufordern + initiative_votes: + create: + error: Beim Signieren der Initiative sind Fehler aufgetreten. + invalid: Die zur Unterzeichnung der Initiative bereitgestellten Daten sind nicht gültig + success_html: Herzliche Glückwünsche! Die %{title} -Initiative wurde korrekt unterzeichnet + personal_data: + invalid: Persönliche Daten stimmen nicht mit den zur Autorisierung angegebenen Daten überein. + sms_code: + invalid: Ihr Bestätigungscode stimmt nicht mit unserem überein. Bitte überprüfen Sie noch einmal die SMS, die wir Ihnen gesendet haben. + sms_phone: + invalid: Die Telefonnummer ist ungültig oder muss noch autorisiert werden. Bitte überprüfen Sie Ihre Berechtigungen. + initiatives: + author: + deleted: Gelöscht + author_list: + hidden_authors_count: + one: und 1 weitere Person + other: und %{count} weitere Leute + committee_members: + approve: Genehmigen + confirm_revoke: Bist du dir sicher? + invite_to_committee_help: Teilen Sie diesen Link, um andere Benutzer zum Promotionskomitee einzuladen + no_members_yet: Es gibt keine Mitglieder im Promoter-Ausschuss + revoke: Widerrufen + title: Ausschussmitglieder + count: + title: + one: "%{count} Initiative" + other: "%{count} Initiativen" + filters: + any: Irgendein + area: Bereich + author: Autor + myself: Meine Initiativen + scope: Umfang + search: Suche + state: Zustand + type: Art + filters_small_view: + close_modal: Fenster schließen + filter: Filter + filter_by: Filtern nach + unfold: Entfalten + index_header: + new_initiative: Neue Initiative + not_authorized: + authorizations_page: Autorisierungen anzeigen + close: Schließen + explanation: Sie müssen überprüft werden, um eine neue Initiative zu schaffen. + title: Autorisierung erforderlich + initiatives: + closed_initiatives_warning: Derzeit gibt es keine offenen Initiativen, aber hier finden Sie alle abgeschlossenen Initiativen aufgelistet. + no_initiatives_warning: Keine Initiativen entsprechen Ihren Suchkriterien. + interactions: + comments_count: + count: + one: Kommentar + other: Bemerkungen + orders: + label: 'Initiativen sortieren nach:' + last_activity: + new_initiative: Neue Initiative + pages: + home: + highlighted_initiatives: + active_initiatives: Aktive Initiativen + see_all_initiatives: Sehen Sie alle Initiativen + show: + badge_name: + accepted: Ausreichend Unterschriften + created: Erstellt + discarded: Verworfen + published: Veröffentlicht + rejected: Ungenügend Unterschriften + validating: Technische Validierung + states: + accepted: Akzeptiert + expired: Abgelaufen + unavailable_scope: Nicht verfügbarer Umfang + update: + error: Ein Fehler ist aufgetreten + success: Die Initiative wurde erfolgreich aktualisiert + versions: + shared: + back_to_resource: Zurück zur Initiative + menu: + initiatives: Initiativen + resources: + initiatives_type: + actions: + title: Aktionen + vote: Abstimmung + layouts: + decidim: + admin: + initiative: + components: Komponenten + information: Information + initiative_creation_header: + back: Zurück + fill_data: Erstellen + finish: Fertig + previous_form: Anfang + promotal_committee: Promoter-Komitee + select_initiative_type: Wählen + show_similar_initiatives: Vergleichen + step: Schritt %{current} von %{total} + title: Neue Initiative schaffen + initiative_header: + initiative_menu_item: Initiative + initiative_signature_creation_header: + back: Zurück + fill_personal_data: Ergänzen Sie Ihre Daten + finish: Fertig + finished: Initiativsignatur erstellt + see_steps: siehe Schritte + select_identity: Identität auswählen + sms_code: SMS-Code-Bestätigung + sms_phone_number: Handynummer + step: Schritt %{current} von %{total} + title: Zeichen %{initiative_title} + initiatives: + initiative: + check: Hör zu + check_and_support: Überprüfe es und unterschreibe es + no_initiatives_yet: + no_initiatives_yet: Keine Initiativen bisher! diff --git a/decidim-meetings/config/locales/ga-IE.yml b/decidim-meetings/config/locales/ga-IE.yml index c53f7a1e5508f..4af9066ad8c5b 100644 --- a/decidim-meetings/config/locales/ga-IE.yml +++ b/decidim-meetings/config/locales/ga-IE.yml @@ -10,6 +10,8 @@ ga: address: Seoladh decidim_category_id: Catagóir decidim_scope_id: Scóip + end_time: Am Críochnaithe + location: Suíomh title: Teideal type_of_meeting: Cineál minutes: @@ -65,6 +67,7 @@ ga: invite: Tabhair Cuireadh index: filter: + accepted: Glactha all: Uile rejected: Diúltaithe sent: Seolta @@ -86,6 +89,8 @@ ga: service: Seirbhís title: Teideal up: Thuas + services: + services: Seirbhísí minutes: edit: title: Cuir in eagar miontuairiscí @@ -100,6 +105,9 @@ ga: save: Sábháil form: invites: Cuirí + content_blocks: + upcoming_events: + view_all_events: Amharc ar uile directory: meetings: index: @@ -108,6 +116,7 @@ ga: meetings: Cruinnithe past: Roimhe search: Cuardaigh + upcoming: Le teacht meeting_closes: edit: back: Ar Ais @@ -122,9 +131,12 @@ ga: date_values: all: Uile past: Roimhe + upcoming: Le teacht origin: Bunús origin_values: all: Uile + citizens: Saoránaigh + official: Oifigiúil user_groups: Grúpaí scope: Scóip search: Cuardaigh diff --git a/decidim-meetings/config/locales/lb-LU.yml b/decidim-meetings/config/locales/lb-LU.yml index 823df018114f4..d67fc476d9267 100644 --- a/decidim-meetings/config/locales/lb-LU.yml +++ b/decidim-meetings/config/locales/lb-LU.yml @@ -1 +1,222 @@ lb: + activemodel: + attributes: + agenda: + description: Beschreibung + duration: Dauer + title: Titel + close_meeting: + attendees_count: Anzahl der Teilnehmer + attending_organizations: Liste der Organisationen, die teilgenommen haben + closing_report: Bericht + contributions_count: Anzahl der Beiträge + proposal_ids: An der Sitzung entstandene Vorschläge + meeting: + address: Adresse + available_slots: Verfügbare Slots für dieses Meeting + minutes: + audio_url: Audio-URL + description: Beschreibung + video_url: Video-URL + visible: Ist sichtbar + decidim: + admin: + meeting_copies: + create: + error: Es gab einen Fehler beim Duplizieren dieses Meetings. + success: Dupliziertes Meeting erfolgreich + new: + copy: Kopieren + select: Wählen Sie die Daten aus, die Sie duplizieren möchten + title: Doppelte Besprechung + components: + meetings: + actions: + join: Beitreten + name: Meetings + settings: + global: + announcement: Ankündigung + comments_enabled: Kommentare aktiviert + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + creation_enabled_for_participants: Teilnehmer können Besprechungen erstellen + default_registration_terms: Standard-Registrierungsbedingungen + enable_pads_creation: Aktivieren Sie die Pads-Erstellung + registration_code_enabled: Registrierungscode aktiviert + resources_permissions_enabled: Aktionsberechtigungen können für jedes Meeting festgelegt werden + scope_id: Bereich + scopes_enabled: Bereiche aktiviert + terms_and_conditions_url_for_meeting_creators: Nutzungsbedingungen URL für Meeting-Ersteller + step: + announcement: Ankündigung + comments_blocked: Kommentare blockiert + creation_enabled_for_participants: Besprechung-Erstellung durch Teilnehmer aktiviert + creation_enabled_for_user_groups: Besprechung-Erstellung durch Benutzergruppen aktiviert + events: + meetings: + meeting_closed: + affected_user: + email_intro: 'Ihre Sitzung "%{resource_title}" wurde geschlossen. Sie können die Ergebnisse auf dieser Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie die Sitzung "%{resource_title}" organisiert haben. + email_subject: Die Sitzung "%{resource_title}" wurde geschlossen + notification_title: Die Sitzung %{resource_title} wurde geschlossen. + follower: + email_intro: 'Die Sitzung "%{resource_title}" wurde geschlossen. Sie können die Ergebnisse auf dieser Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Sitzung "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Die Sitzung "%{resource_title}" wurde geschlossen + notification_title: Die Sitzung %{resource_title} wurde geschlossen. + meeting_created: + email_intro: Die Sitzung "%{resource_title}" wurde zu "%{participatory_space_title}" hinzugefügt, welchem Sie folgen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{participatory_space_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neue Sitzung zu %{participatory_space_title} hinzugefügt + notification_title: Die Sitzung %{resource_title} wurde zu %{participatory_space_title} hinzugefügt + meeting_registration_confirmed: + notification_title: Ihre Anmeldung zur Sitzung %{resource_title} wurde bestätigt. Ihr Registrierungscode ist %{registration_code}. + meeting_registrations_over_percentage: + email_intro: Die Slots der Sitzung "%{resource_title}" sind zu über %{percentage}% belegt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator des Teilnahmebereichs der Besprechung sind. + email_subject: Slots der Sitzung "%{resource_title}" über %{percentage}% belegt + notification_title: Die Slots der Sitzung %{resource_title} sind zu über %{percentage}% belegt. + meeting_updated: + email_intro: 'Die Sitzung "%{resource_title}" wurde aktualisiert. Sie können die neue Version auf der Sitzungs-Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Sitzung "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Die Sitzung "%{resource_title}" wurde aktualisiert + notification_title: Die Sitzung %{resource_title} wurde aktualisiert. + registration_code_validated: + email_intro: Ihr Registrierungscode "%{registration_code}" für die Sitzung "%{resource_title}" wurde bestätigt. + meetings: + actions: + minutes: Protokoll + admin: + agenda: + edit: + update: Aktualiséieren + form: + add_agenda_item: Tagesordnungspunkt hinzufügen + agenda_items: Tagesordnungspunkte + end_date: Enddatum + start_date: Startdatum + new: + create: Erstellen + title: Neue Agenda + update: + invalid: Beim Aktualisieren dieser Agenda ist ein Problem aufgetreten + success: Agenda erfolgreich aktualisiert + exports: + meeting_comments: Kommentare + meetings: Treffen + registrations: Anmeldungen + invite_join_meeting_mailer: + invite: + decline: Einladung ablehnen + invited_you_to_join_a_meeting: "%{invited_by} hat Sie eingeladen, an einem Meeting um %{application}. Sie können dies über die unten stehenden Links ablehnen oder akzeptieren." + join: Trete dem Meeting '%{meeting_title}' bei + invites: + create: + error: Beim Einladen des Nutzers in das Meeting ist ein Problem aufgetreten. + success: Der Benutzer wurde erfolgreich zum Meeting eingeladen. + form: + attendee_type: Teilnehmertyp + existing_user: Existierender Benutzer + invite: Einladen + invite_explanation: Der Benutzer wird eingeladen, dem Meeting und der Organisation beizutreten. + non_user: Nicht existierender Benutzer + select_user: Nutzer wählen + index: + filter: + accepted: Akzeptiert + all: Alle + rejected: Abgelehnt + sent: Geschickt + filter_by: Filtern nach + invite_attendee: Teilnehmer einladen + invites: Lädt ein + registrations_disabled: Sie können keinen Teilnehmer einladen, da die Registrierungen deaktiviert sind. + search: Suche + meeting_closes: + edit: + close: Schließen + title: Sitzung beenden + meetings: + close: + invalid: Beim Schließen dieses Meetings ist ein Problem aufgetreten + success: Sitzung erfolgreich abgeschlossen + create: + invalid: Beim Erstellen dieses Meetings ist ein Problem aufgetreten + success: Besprechung erfolgreich erstellt + destroy: + invalid: + proposals_count: + one: Die Besprechung kann nicht gelöscht werden, da %{count} Vorschlag mit dieser verbunden ist + other: Die Besprechung kann nicht gelöscht werden, da %{count} Vorschläge mit dieser verbunden sind + success: Das Meeting wurde erfolgreich gelöscht + edit: + title: Meeting bearbeiten + update: Aktualisieren + form: + address_help: 'Adresse: wird von Geocoder zur Lokalisierung verwendet' + available_slots_help: Belassen Sie es auf 0, wenn Sie unbegrenzte Plätze zur Verfügung haben + disclaimer: 'Haftungsausschluss: Durch Verwendung eines externen Registrierungssystems wissen Sie, dass die Organisatoren von %{organization} nicht für die Daten verantwortlich sind, welche die Benutzer dem externen Dienst zur Verfügung stellen.' + location_help: 'Ort: an die Benutzer gerichtete Nachricht mit dem Treffpunkt' + location_hints_help: 'Hinweise zum Standort: Zusätzliche Informationen. Beispiel: das Stockwerk im Gebäude wenn es eine Sitzung vor Ort ist, oder das Passwort wenn es eine Online-Sitzung mit eingeschränktem Zugriff ist.' + online_meeting_url_help: 'Link: Erlaubt Teilnehmern, sich direkt mit Ihrem Meeting zu verbinden' + minutes: + create: + invalid: Beim Erstellen dieser Minuten ist ein Problem aufgetreten + success: Minuten erfolgreich erstellt + edit: + title: Minuten bearbeiten + update: Aktualiséieren + new: + create: Erstellen + title: Erstellen Sie Minuten + update: + invalid: Beim Aktualisieren dieser Minuten ist ein Problem aufgetreten + success: Minuten erfolgreich aktualisiert + admin_log: + minutes: + create: "%{user_name} hat das Protokoll der Sitzung %{resource_name} in %{space_name} erstellt" + update: "%{user_name} hat das Protokoll der Sitzung %{resource_name} in %{space_name} aktualisiert" + calendar_modal: + calendar_url: Kalender-URL + close_window: Fenster schließen + export_calendar: Kalender exportieren + conference_venues: Tagungsstätten + content_blocks: + upcoming_events: + name: Kommende Veranstaltungen + upcoming_events: Bevorstehende Treffen + view_all_events: Alle ansehen + directory: + meetings: + index: + all: Alle + date: Datum + meetings: Meetings + past: Vergangenheit + search: Suche + space_type: Partizipativer Raum + upcoming: Bevorstehende + last_activity: + meeting_updated_at_html: "Besprechung aktualisiert unter %{link}" + new_meeting_at_html: "Neues Treffen um %{link}" + mailer: + invite_join_meeting_mailer: + invite: + subject: Einladung, an einem Meeting teilzunehmen + registration_mailer: + confirmation: + subject: Die Registrierung Ihrer Konferenz wurde bestätigt + meeting: + not_allowed: Sie dürfen dieses Meeting nicht sehen + meeting_closes: + edit: + back: Zurück + close: Sitzung beenden + title: Sitzung beenden + meetings: + meeting_minutes: + meeting_minutes: Sitzungsprotokolle + show: + going: Gehen + meeting_report: Gesprächsprotokoll diff --git a/decidim-participatory_processes/config/locales/ga-IE.yml b/decidim-participatory_processes/config/locales/ga-IE.yml index 50821502255d0..cd43a4d75c38b 100644 --- a/decidim-participatory_processes/config/locales/ga-IE.yml +++ b/decidim-participatory_processes/config/locales/ga-IE.yml @@ -9,6 +9,7 @@ ga: end_date: Dáta deiridh hashtag: Haischlib participatory_process_group_id: Grúpa próisis + promoted: Curtha chun cinn related_process_ids: Próisis Ceangailte scope_id: Scóip slug: Píosa URL @@ -77,6 +78,7 @@ ga: name: Riarachán próisis rannpháirtíochta roles: admin: Riarthóir + valuator: Luachálaí participatory_process_copies: new: copy: Cóipeáil @@ -126,6 +128,7 @@ ga: duration: Fad filters: Scagairí images: Íomhánna + metadata: Meiteashonraí other: Eile participatory_processes: filters: @@ -133,6 +136,7 @@ ga: active: Gníomhach all: Uile past: Roimhe + upcoming: Le teacht see: Feic show: area: Ceantar @@ -149,6 +153,7 @@ ga: pages_count: Leathanaigh processes_count: Próisis projects_count: Tionscadail + proposals_count: Moltaí results_count: Torthaí supports_count: Tacaíochtaí surveys_count: Suirbhéanna diff --git a/decidim-participatory_processes/config/locales/lb-LU.yml b/decidim-participatory_processes/config/locales/lb-LU.yml index 823df018114f4..2ade52b52ceff 100644 --- a/decidim-participatory_processes/config/locales/lb-LU.yml +++ b/decidim-participatory_processes/config/locales/lb-LU.yml @@ -1 +1,19 @@ lb: + activemodel: + attributes: + participatory_process: + weight: Gewicht + decidim: + participatory_process_groups: + content_blocks: + stats: + name: Aktivität + participatory_processes: + statistics: + answers_count: Antworten + comments_count: Bemerkungen + debates_count: Debatten + endorsements_count: Empfehlungen + followers_count: Follower + headline: Aktivität + meetings_count: Meetings diff --git a/decidim-proposals/config/locales/fr.yml b/decidim-proposals/config/locales/fr.yml index 2ea925d7130a8..32191bb9bae69 100644 --- a/decidim-proposals/config/locales/fr.yml +++ b/decidim-proposals/config/locales/fr.yml @@ -140,6 +140,8 @@ fr: participatory_texts_enabled_readonly: Impossible d'interagir avec ce paramètre s'il y a des propositions existantes. Veuillez créer une nouvelle fonctionnalité `Propositions` si vous voulez activer cette fonctionnalité ou supprimer toutes les propositions importées dans 'Textes participatifs` si vous voulez la désactiver. proposal_answering_enabled: Autoriser la réponse officielle aux propositions proposal_edit_before_minutes: Délai (en minutes) après lequel les auteurs ne peuvent plus modifier leurs propositions + proposal_edit_time_choices: + limited: Autoriser l'édition des propositions durant un délai spécifique proposal_length: Nombre maximum de caractères du corps de la proposition proposal_limit: Limite de proposition par utilisateur proposal_wizard_step_1_help_text: Texte d'aide à l'étape "Créer" de la création de proposition @@ -790,7 +792,7 @@ fr: answer: Répondre back_to: Retour à back_to_list: Retour à la liste - changes_at_title: Amendement de (%{title}" + changes_at_title: Amendement de "%{title}" comments: Commentaires edit_proposal: Modifier la proposition endorsements_list: Liste des soutiens diff --git a/decidim-proposals/config/locales/ga-IE.yml b/decidim-proposals/config/locales/ga-IE.yml index 85a0da7294583..d150ad6b8cf64 100644 --- a/decidim-proposals/config/locales/ga-IE.yml +++ b/decidim-proposals/config/locales/ga-IE.yml @@ -21,6 +21,14 @@ ga: proposal_answer: answer: Freagra cost: Costas + activerecord: + models: + decidim/proposals/proposal: + one: Moladh + two: Moltaí + few: Moltaí + many: Moltaí + other: Moltaí decidim: admin: filters: @@ -29,11 +37,14 @@ ga: label: Catagóir is_emendation_true: label: Cineál + values: + 'false': Moltaí scope_id_eq: label: Scóip state_eq: label: Staid values: + accepted: Glactha rejected: Diúltaithe state_null: label: Staid @@ -44,16 +55,26 @@ ga: create: Cruthaigh endorse: Formhuinigh vote: Tacaigh le + name: Moltaí settings: global: scope_id: Scóip step: endorsements_blocked: Formhuinithe blocáilte endorsements_enabled: Formhuinithe cumasaithe + gamification: + badges: + proposals: + name: Moltaí metrics: + accepted_proposals: + object: moltaí endorsements: object: formhuinithe title: Formhuinithe + proposals: + object: moltaí + title: Moltaí votes: object: tacaíochtaí title: Tacaíochtaí @@ -65,12 +86,18 @@ ga: preview: Réamhamharc exports: proposal_comments: Tráchtanna + proposals: Moltaí + models: + proposal: + name: Moladh participatory_texts: new_import: accepted_mime_types: + md: Markdown odt: ODT proposal_answers: form: + accepted: Glactha answer_proposal: Freagra rejected: Diúltaithe proposal_notes: @@ -89,7 +116,9 @@ ga: change_category: Athraigh catagóir merge_button: Cumaisc publish: Foilsigh + selected: roghnaithe split_button: Scoilt + title: Moltaí update: Nuashonraigh new: create: Cruthaigh @@ -103,24 +132,30 @@ ga: endorsers: Formhuinitheoirí link: Nasc photos: Grianghraif + proposals: Moltaí update_category: select_a_category: Roghnaigh catagóir le do thoil answers: + accepted: Glactha rejected: Diúltaithe application_helper: filter_category_values: all: Uile filter_origin_values: all: Uile + citizens: Saoránaigh meetings: Cruinnithe + official: Oifigiúil user_groups: Grúpaí filter_scope_values: all: Uile filter_state_values: + accepted: Glactha all: Uile rejected: Diúltaithe filter_type_values: all: Uile + proposals: Moltaí collaborative_drafts: collaborative_draft: publish: @@ -157,6 +192,9 @@ ga: publish: Foilsigh states: open: Oscail + content_blocks: + highlighted_proposals: + proposals: Moltaí models: collaborative_draft: fields: @@ -171,6 +209,7 @@ ga: scope: Scóip state: Stádas title: Teideal + valuator: Luachálaí votes: Vótaí participatory_text_proposal: buttons: @@ -182,6 +221,8 @@ ga: continue: Lean ar aghaidh complete: send: Seol + dynamic_map_instructions: + instructions:

    Is féidir leat an pointe a bhogadh ar an léarscáil.

    Ná déan dearmad cliceáil ar an gcnaipe "Nuashonraigh Seasamh" roimh do mholadh a fhoilsithe.

    edit: add_images: Comhad back: Ar Ais @@ -209,7 +250,7 @@ ga: recent: Is Déanaí preview: publish: Foilsigh - update_position: Uasdátaigh seasamh + update_position: Nuashonraigh seasamh show: answer: Freagra back_to: Siar @@ -225,5 +266,9 @@ ga: back: Ar Ais wizard_steps: step_2: Cuir i gcomparáid + step_3: Críochnaithe proposals_picker: close: Dún + versions: + index: + title: Leaganacha diff --git a/decidim-proposals/config/locales/lb-LU.yml b/decidim-proposals/config/locales/lb-LU.yml index 823df018114f4..91e53b1077fa4 100644 --- a/decidim-proposals/config/locales/lb-LU.yml +++ b/decidim-proposals/config/locales/lb-LU.yml @@ -1 +1,8 @@ lb: + decidim: + proposals: + proposals: + dynamic_map_instructions: + instructions:

    Sie können den Punkt auf der Karte verschieben.

    Vergessen Sie nicht, vor der Veröffentlichung Ihres Vorschlags auf die Schaltfläche "Position aktualisieren" zu klicken.

    + preview: + update_position: Position aktualisieren diff --git a/decidim-sortitions/config/locales/ga-IE.yml b/decidim-sortitions/config/locales/ga-IE.yml index cfafc16c90180..7c20a86ac35fc 100644 --- a/decidim-sortitions/config/locales/ga-IE.yml +++ b/decidim-sortitions/config/locales/ga-IE.yml @@ -11,6 +11,7 @@ ga: models: sortition: fields: + category: Catagóir dice: Dísle seed: Síol title: Teideal @@ -23,6 +24,7 @@ ga: filters: active: Gníomhach all: Uile + category: Catagóir search: Cuardaigh state: Stádas filters_small_view: diff --git a/decidim-surveys/config/locales/lb-LU.yml b/decidim-surveys/config/locales/lb-LU.yml index 823df018114f4..89a693854e854 100644 --- a/decidim-surveys/config/locales/lb-LU.yml +++ b/decidim-surveys/config/locales/lb-LU.yml @@ -1 +1,66 @@ lb: + activemodel: + models: + decidim/surveys/closed_survey_event: Umfrage beendet + decidim/surveys/opened_survey_event: Umfrage gestartet + activerecord: + models: + decidim/surveys/survey: + one: Emfro + other: Emfroen + decidim/surveys/survey_answer: + one: Äntwerten + other: Äntwerten + decidim: + components: + surveys: + actions: + answer: Äntwert + name: Emfro + settings: + global: + announcement: Ukënnegung + clean_after_publish: Antworten bei Veröffentlichung des Fragebogens löschen + ends_at: Antworten akzeptiert bis + ends_at_help: Leer lassen für kein bestimmtes Datum + scope_id: Beräich + scopes_enabled: Beräicher aktivéiert + starts_at: Äntwerten akzeptéiert vun + starts_at_help: Leer lassen für kein bestimmtes Datum + step: + allow_answers: Äntwerten erlaben + allow_unregistered: Nicht registrierten Benutzern die Beantwortung des Fragebogens erlauben + allow_unregistered_help: Wenn diese Option aktiviert ist, muss man nicht angemeldet sein, um den Fragebogen zu beantworten. Das kann zu schlechten oder unzuverlässigen Daten führen und ist mehr anfällig für automatisierte Angriffe. Verwenden Sie dies mit Bedacht! + announcement: Ukënnegung + events: + surveys: + survey_closed: + email_intro: Die Umfrage %{resource_title} in %{participatory_space_title} wurde geschlossen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Eine Umfrage ist in %{participatory_space_title} + notification_title: Die Umfrage %{resource_title} in %{participatory_space_title} ist beendet. + survey_opened: + email_intro: 'Die Umfrage %{resource_title} in %{participatory_space_title} ist jetzt geöffnet. Sie können auf dieser Seite teilnehmen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Eine neue Umfrage in %{participatory_space_title} + notification_title: Die Umfrage %{resource_title} in %{participatory_space_title} ist jetzt geöffnet. + metrics: + survey_answers: + description: Anzahl der Umfragen, die von den Benutzern beantwortet wurden + object: Antworten auf Umfragen + title: Antworten zu Umfragen + surveys: + admin: + exports: + survey_user_answers: Umfrage Benutzer Antworten + surveys: + update: + invalid: Beim Speichern der Umfrage sind Fehler aufgetreten. + success: Umfrage wurde erfolgreich gespeichert. + last_activity: + new_survey_at_html: "Neue Umfrage bei %{link}" + surveys: + answer: + invalid: Bei der Beantwortung der Umfrage sind Fehler aufgetreten. + spam_detected: Bei der Beantwortung des Fragebogens sind Fehler aufgetreten. Möglicherweise waren Sie zu schnell. Versuchen Sie es vielleicht erneut. + success: Umfrage erfolgreich beantwortet. diff --git a/decidim-verifications/config/locales/lb-LU.yml b/decidim-verifications/config/locales/lb-LU.yml index 823df018114f4..a86128179c188 100644 --- a/decidim-verifications/config/locales/lb-LU.yml +++ b/decidim-verifications/config/locales/lb-LU.yml @@ -1 +1,5 @@ lb: + activemodel: + attributes: + config: + available_methods: Verfügbar Methoden From 0e92059c0e16977aad4da59ec1416d7505c50507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Pereira=20de=20Lucena?= Date: Mon, 6 Sep 2021 12:13:59 +0200 Subject: [PATCH 54/71] Backport "Fix Luxembourgish locale" to v0.24 (#8283) * Add Luxembourgish to crowdin locale mapping * Add lb to available locales * Add foundation-datepicker lb (Luxembourgish) locale in vendor/ * Add lb to available locales spec --- crowdin.yaml | 1 + decidim-core/lib/decidim/core.rb | 2 +- decidim-core/spec/lib/available_locales_spec.rb | 2 +- .../datepicker-locales/foundation-datepicker.lb.js | 13 +++++++++++++ 4 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.lb.js diff --git a/crowdin.yaml b/crowdin.yaml index 2f2ca51c080b7..bf1aab7ee4503 100644 --- a/crowdin.yaml +++ b/crowdin.yaml @@ -29,6 +29,7 @@ files: it: it ja: ja ko: ko + lb: lb lt: lt lv: lv mt: mt diff --git a/decidim-core/lib/decidim/core.rb b/decidim-core/lib/decidim/core.rb index 067d285e98958..4a719c02df6e9 100644 --- a/decidim-core/lib/decidim/core.rb +++ b/decidim-core/lib/decidim/core.rb @@ -152,7 +152,7 @@ def self.seed! # Exposes a configuration option: The application available locales. config_accessor :available_locales do - %w(en bg ar ca cs da de el eo es es-MX es-PY et eu fi-pl fi fr fr-CA ga gl hr hu id is it ja ko lt lv mt nl no pl pt pt-BR ro ru sk sl sr sv tr uk vi zh-CN zh-TW) + %w(en bg ar ca cs da de el eo es es-MX es-PY et eu fi-pl fi fr fr-CA ga gl hr hu id is it ja ko lb lt lv mt nl no pl pt pt-BR ro ru sk sl sr sv tr uk vi zh-CN zh-TW) end # Exposes a configuration option: The application default locale. diff --git a/decidim-core/spec/lib/available_locales_spec.rb b/decidim-core/spec/lib/available_locales_spec.rb index 390e4c3e84c69..fe1fbadbd105f 100644 --- a/decidim-core/spec/lib/available_locales_spec.rb +++ b/decidim-core/spec/lib/available_locales_spec.rb @@ -12,7 +12,7 @@ module LocaleTest describe "available locales", type: :system do let(:languages) do - %w(en bg ar ca cs da de el eo es es-MX es-PY et eu fi-pl fi fr fr-CA ga gl hr hu id is it ja ko lt lv mt nl no pl pt pt-BR ro ru sk sl sr sv tr uk vi zh-CN zh-TW) + %w(en bg ar ca cs da de el eo es es-MX es-PY et eu fi-pl fi fr fr-CA ga gl hr hu id is it ja ko lb lt lv mt nl no pl pt pt-BR ro ru sk sl sr sv tr uk vi zh-CN zh-TW) end let(:datepicker_file) do lambda { |lang| diff --git a/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.lb.js b/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.lb.js new file mode 100644 index 0000000000000..8fc74c7ee1797 --- /dev/null +++ b/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.lb.js @@ -0,0 +1,13 @@ +/** + * Luxembourgish localisation + */ +;(function($){ + $.fn.fdatepicker.dates['lb'] = { + days: ["Sonndeg", "Méindeg", "Dënschdeg", "Mëttwoch", "Donneschdeg", "Freideg", "Samschdeg", "Sonndeg"], + daysShort: ["Son", "Méi", "Dën", "Mët", "Don", "Fre", "Sam", "Son"], + daysMin: ["So", "Mé", "Dë", "Më", "Do", "Fr", "Sa", "So"], + months: ["Januar", "Februar", "Mäerz", "Abrëll", "Mee", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], + monthsShort: ["Jan", "Febr", "Mrz", "Abr", "Mee", "Jun", "Jul", "Aug", "Sept", "Okt", "Nov", "Dez"], + today: "Haut" + }; +}(jQuery)); From 6fad6b3b1c5bd5751ddad64bb799d1f4769c70e2 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Mon, 6 Sep 2021 13:14:58 +0300 Subject: [PATCH 55/71] Fix accountability notifications proposal title (#8240) (#8288) * Fix the proposal title in the accountability notifications * Update the specs for accountability event notifications --- .../events/decidim/accountability/proposal_linked_event.rb | 2 +- .../decidim/accountability/result_progress_updated_event.rb | 2 +- .../decidim/accountability/proposal_linked_event_spec.rb | 5 ++++- .../accountability/result_progress_updated_event_spec.rb | 4 +++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/decidim-accountability/app/events/decidim/accountability/proposal_linked_event.rb b/decidim-accountability/app/events/decidim/accountability/proposal_linked_event.rb index 9a434092a69e5..c4fe40bd24c46 100644 --- a/decidim-accountability/app/events/decidim/accountability/proposal_linked_event.rb +++ b/decidim-accountability/app/events/decidim/accountability/proposal_linked_event.rb @@ -10,7 +10,7 @@ def proposal_path end def proposal_title - @proposal_title ||= proposal.title + @proposal_title ||= translated_attribute(proposal.title) end def proposal diff --git a/decidim-accountability/app/events/decidim/accountability/result_progress_updated_event.rb b/decidim-accountability/app/events/decidim/accountability/result_progress_updated_event.rb index 94a30a214031d..3c37a4f0510cb 100644 --- a/decidim-accountability/app/events/decidim/accountability/result_progress_updated_event.rb +++ b/decidim-accountability/app/events/decidim/accountability/result_progress_updated_event.rb @@ -10,7 +10,7 @@ def proposal_path end def proposal_title - @proposal_title ||= proposal.title + @proposal_title ||= translated_attribute(proposal.title) end def proposal diff --git a/decidim-accountability/spec/events/decidim/accountability/proposal_linked_event_spec.rb b/decidim-accountability/spec/events/decidim/accountability/proposal_linked_event_spec.rb index 970cd90edae1b..f0d400ea70cf0 100644 --- a/decidim-accountability/spec/events/decidim/accountability/proposal_linked_event_spec.rb +++ b/decidim-accountability/spec/events/decidim/accountability/proposal_linked_event_spec.rb @@ -13,7 +13,7 @@ let(:proposal) { create :proposal, component: proposal_component, title: { en: "My super proposal" } } let(:extra) { { proposal_id: proposal.id } } let(:proposal_path) { resource_locator(proposal).path } - let(:proposal_title) { proposal.title } + let(:proposal_title) { translated(proposal.title) } before do resource.link_resources([proposal], "included_proposals") @@ -42,18 +42,21 @@ describe "email_subject" do it "is generated correctly" do expect(subject.email_subject).to eq("An update to #{proposal_title}") + expect(subject.email_subject).not_to include(proposal.title.to_s) end end describe "email_outro" do it "is generated correctly" do expect(subject.email_outro).to eq("You have received this notification because you are following \"#{proposal_title}\". You can stop receiving notifications following the previous link.") + expect(subject.email_outro).not_to include(proposal.title.to_s) end end describe "email_intro" do it "is generated correctly" do expect(subject.email_intro).to eq("The proposal \"#{proposal_title}\" has been included in a result. You can see it from this page:") + expect(subject.email_intro).not_to include(proposal.title.to_s) end end diff --git a/decidim-accountability/spec/events/decidim/accountability/result_progress_updated_event_spec.rb b/decidim-accountability/spec/events/decidim/accountability/result_progress_updated_event_spec.rb index d77703068907b..97107a8c8d47b 100644 --- a/decidim-accountability/spec/events/decidim/accountability/result_progress_updated_event_spec.rb +++ b/decidim-accountability/spec/events/decidim/accountability/result_progress_updated_event_spec.rb @@ -13,7 +13,7 @@ let(:proposal) { create :proposal, component: proposal_component, title: { en: "My super proposal" } } let(:extra) { { proposal_id: proposal.id, progress: 95 } } let(:proposal_path) { resource_locator(proposal).path } - let(:proposal_title) { proposal.title } + let(:proposal_title) { translated(proposal.title) } before do resource.link_resources([proposal], "included_proposals") @@ -48,12 +48,14 @@ describe "email_outro" do it "is generated correctly" do expect(subject.email_outro).to eq("You have received this notification because you are following \"#{proposal_title}\", and this proposal is included in the result \"#{translated resource.title}\". You can stop receiving notifications following the previous link.") + expect(subject.email_outro).not_to include(proposal.title.to_s) end end describe "email_intro" do it "is generated correctly" do expect(subject.email_intro).to eq("The result \"#{translated resource.title}\", which includes the proposal \"#{proposal_title}\", is now 95% complete. You can see it from this page:") + expect(subject.email_intro).not_to include(proposal.title.to_s) end end From 8e449a133e43fe5bc5a8147d67ee1f54f6eb0b22 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Mon, 6 Sep 2021 12:15:34 +0200 Subject: [PATCH 56/71] New Crowdin updates (#8274) * New translations en.yml (French) * New translations en.yml (French, Canada) * New translations en.yml (Polish) * New translations en.yml (French, Canada) * New translations en.yml (French, Canada) * New translations en.yml (French, Canada) * New translations en.yml (Japanese) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (French) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Swedish) * New translations en.yml (Swedish) * New translations en.yml (Luxembourgish) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Italian) * New translations en.yml (Finnish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Portuguese) * New translations en.yml (French) * New translations en.yml (Dutch) * New translations en.yml (Catalan) * New translations en.yml (Romanian) * New translations en.yml (Spanish) * New translations en.yml (Basque) * New translations en.yml (Czech) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Serbian (Latin)) * New translations en.yml (French, Canada) * New translations en.yml (French, Canada) * New translations en.yml (Finnish (plain)) * New translations en.yml (Spanish, Paraguay) --- decidim-accountability/config/locales/pt.yml | 2 + decidim-admin/config/locales/ca.yml | 10 +- decidim-admin/config/locales/cs.yml | 4 +- decidim-admin/config/locales/es-MX.yml | 8 +- decidim-admin/config/locales/es-PY.yml | 8 +- decidim-admin/config/locales/es.yml | 8 +- decidim-admin/config/locales/eu.yml | 4 +- decidim-admin/config/locales/fi-plain.yml | 2 +- decidim-admin/config/locales/fi.yml | 2 +- decidim-admin/config/locales/fr-CA.yml | 3 +- decidim-admin/config/locales/fr.yml | 2 +- decidim-admin/config/locales/it.yml | 4 +- decidim-admin/config/locales/nl.yml | 2 +- decidim-admin/config/locales/pl.yml | 2 +- decidim-admin/config/locales/pt.yml | 180 +++++++- decidim-admin/config/locales/ro-RO.yml | 2 +- decidim-admin/config/locales/sr-CS.yml | 6 + decidim-assemblies/config/locales/pt.yml | 7 + decidim-blogs/config/locales/pt.yml | 1 + decidim-budgets/config/locales/pt.yml | 126 ++++++ decidim-comments/config/locales/pt.yml | 2 + decidim-conferences/config/locales/fr-CA.yml | 20 + decidim-conferences/config/locales/pt.yml | 21 + decidim-core/config/locales/fr.yml | 4 +- decidim-core/config/locales/lb-LU.yml | 11 + decidim-core/config/locales/pl.yml | 12 +- decidim-core/config/locales/pt.yml | 102 +++++ decidim-debates/config/locales/pt.yml | 33 ++ decidim-elections/config/locales/fr-CA.yml | 21 + decidim-elections/config/locales/fr.yml | 5 + decidim-elections/config/locales/ja.yml | 23 +- decidim-elections/config/locales/pt.yml | 415 ++++++++++++++++++ decidim-elections/config/locales/sv.yml | 4 + decidim-forms/config/locales/pt.yml | 10 + decidim-initiatives/config/locales/pt.yml | 47 ++ decidim-meetings/config/locales/pt.yml | 20 + decidim-pages/config/locales/lb-LU.yml | 29 ++ .../config/locales/lb-LU.yml | 99 +++++ .../config/locales/pt.yml | 40 ++ decidim-proposals/config/locales/fr-CA.yml | 2 + decidim-proposals/config/locales/pt.yml | 45 ++ decidim-surveys/config/locales/pt.yml | 5 + decidim-system/config/locales/lb-LU.yml | 7 + decidim-system/config/locales/pt.yml | 17 + decidim-templates/config/locales/pt.yml | 66 +++ decidim-templates/config/locales/sv.yml | 7 + decidim-verifications/config/locales/pt.yml | 17 + 47 files changed, 1423 insertions(+), 44 deletions(-) diff --git a/decidim-accountability/config/locales/pt.yml b/decidim-accountability/config/locales/pt.yml index 227812a5e6822..61d39fe4360b8 100644 --- a/decidim-accountability/config/locales/pt.yml +++ b/decidim-accountability/config/locales/pt.yml @@ -162,6 +162,7 @@ pt: entry_date: Data result_m: executed: Executado + view: Visualizar results: count: results_count: @@ -214,6 +215,7 @@ pt: heading_parent_level_results: Nome para "Resultados" intro: Introdução scope_id: Âmbito + scopes_enabled: Âmbitos activados subcategories_label: Nome para "Subcategorias" step: comments_blocked: Comentários bloqueados diff --git a/decidim-admin/config/locales/ca.yml b/decidim-admin/config/locales/ca.yml index f1c657422309a..8266bd4fc6186 100644 --- a/decidim-admin/config/locales/ca.yml +++ b/decidim-admin/config/locales/ca.yml @@ -887,12 +887,12 @@ ca: user_groups: index: filter: - all: Tots - pending: Pendents - rejected: Rebutjats - verified: Verificats + all: Totes + pending: Pendent + rejected: Rebutjat + verified: Verificat filter_by: Filtra per - search: Cerca + search: Cercar state: pending: Pendent rejected: Rebutjat diff --git a/decidim-admin/config/locales/cs.yml b/decidim-admin/config/locales/cs.yml index 07e0bac56e16b..27301bd776fef 100644 --- a/decidim-admin/config/locales/cs.yml +++ b/decidim-admin/config/locales/cs.yml @@ -888,11 +888,11 @@ cs: index: filter: all: Vše - pending: Čekající + pending: čekající rejected: Odmítnuto verified: Ověřeno filter_by: Filtrovat podle - search: Vyhledávání + search: Hledat state: pending: čekající rejected: Odmítnuto diff --git a/decidim-admin/config/locales/es-MX.yml b/decidim-admin/config/locales/es-MX.yml index 492bb7c42679a..74e434adb8dcc 100644 --- a/decidim-admin/config/locales/es-MX.yml +++ b/decidim-admin/config/locales/es-MX.yml @@ -887,11 +887,11 @@ es-MX: user_groups: index: filter: - all: Todos + all: Todas pending: Pendiente - rejected: Rechazados - verified: Verificados - filter_by: Filtrar por + rejected: Rechazado + verified: Verificado + filter_by: Filtrado por search: Buscar state: pending: Pendiente diff --git a/decidim-admin/config/locales/es-PY.yml b/decidim-admin/config/locales/es-PY.yml index caea88f2111c0..390366a25846f 100644 --- a/decidim-admin/config/locales/es-PY.yml +++ b/decidim-admin/config/locales/es-PY.yml @@ -887,11 +887,11 @@ es-PY: user_groups: index: filter: - all: Todos + all: Todas pending: Pendiente - rejected: Rechazados - verified: Verificados - filter_by: Filtrar por + rejected: Rechazado + verified: Verificado + filter_by: Filtrado por search: Buscar state: pending: Pendiente diff --git a/decidim-admin/config/locales/es.yml b/decidim-admin/config/locales/es.yml index 16919696f78d1..da8018a8786a7 100644 --- a/decidim-admin/config/locales/es.yml +++ b/decidim-admin/config/locales/es.yml @@ -887,11 +887,11 @@ es: user_groups: index: filter: - all: Todos + all: Todas pending: Pendiente - rejected: Rechazados - verified: Verificados - filter_by: Filtrar por + rejected: Rechazado + verified: Verificado + filter_by: Filtrado por search: Buscar state: pending: Pendiente diff --git a/decidim-admin/config/locales/eu.yml b/decidim-admin/config/locales/eu.yml index 517373ba36c8e..a298fd6f9d6bf 100644 --- a/decidim-admin/config/locales/eu.yml +++ b/decidim-admin/config/locales/eu.yml @@ -617,8 +617,8 @@ eu: pending: Zain rejected: Ukatua verified: Egiaztatuta - filter_by: 'Iragazi honen arabera:' - search: Bilatu + filter_by: Iragazi arabera + search: Search state: pending: Zain rejected: Ukatua diff --git a/decidim-admin/config/locales/fi-plain.yml b/decidim-admin/config/locales/fi-plain.yml index 08b8f6496f4af..2e2c6dc93037a 100644 --- a/decidim-admin/config/locales/fi-plain.yml +++ b/decidim-admin/config/locales/fi-plain.yml @@ -892,7 +892,7 @@ fi-pl: rejected: Hylätty verified: Vahvistettu filter_by: Suodata - search: Etsi + search: Hae state: pending: Odottaa rejected: Hylätty diff --git a/decidim-admin/config/locales/fi.yml b/decidim-admin/config/locales/fi.yml index a6647473a9121..98761d4863e70 100644 --- a/decidim-admin/config/locales/fi.yml +++ b/decidim-admin/config/locales/fi.yml @@ -892,7 +892,7 @@ fi: rejected: Hylätty verified: Vahvistettu filter_by: Suodata - search: Etsi + search: Hae state: pending: Odottaa rejected: Hylätty diff --git a/decidim-admin/config/locales/fr-CA.yml b/decidim-admin/config/locales/fr-CA.yml index b15599d4d2656..4a6318d2cd5ae 100644 --- a/decidim-admin/config/locales/fr-CA.yml +++ b/decidim-admin/config/locales/fr-CA.yml @@ -32,6 +32,7 @@ fr-CA: body: Corps de texte subject: Objet organization: + admin_terms_of_use_body: Corps du texte pour les conditions d'utilisation de l'admin alert_color: Alerte available_authorizations: Autorisations disponibles badges_enabled: Activer les badges @@ -886,7 +887,7 @@ fr-CA: user_groups: index: filter: - all: Tous + all: Tout pending: En attente rejected: Non validés verified: Vérifié diff --git a/decidim-admin/config/locales/fr.yml b/decidim-admin/config/locales/fr.yml index 00e59347b9afe..4ca441a4a9da9 100644 --- a/decidim-admin/config/locales/fr.yml +++ b/decidim-admin/config/locales/fr.yml @@ -887,7 +887,7 @@ fr: user_groups: index: filter: - all: Tous + all: Tout pending: En attente rejected: Non validés verified: Vérifié diff --git a/decidim-admin/config/locales/it.yml b/decidim-admin/config/locales/it.yml index 1274b59f8be0f..b46fef73d6f29 100644 --- a/decidim-admin/config/locales/it.yml +++ b/decidim-admin/config/locales/it.yml @@ -887,12 +887,12 @@ it: user_groups: index: filter: - all: Tutto + all: Tutti pending: in attesa di rejected: Rifiutata verified: Verificato filter_by: Filtra per - search: Cerca + search: Ricerca state: pending: in attesa di rejected: Rifiutata diff --git a/decidim-admin/config/locales/nl.yml b/decidim-admin/config/locales/nl.yml index 2bf989d6e8076..0768110546f55 100644 --- a/decidim-admin/config/locales/nl.yml +++ b/decidim-admin/config/locales/nl.yml @@ -835,7 +835,7 @@ nl: pending: In afwachting rejected: Geweigerd verified: Geverifieerd - filter_by: Filteren op + filter_by: Sorteren op search: Zoeken state: pending: In afwachting diff --git a/decidim-admin/config/locales/pl.yml b/decidim-admin/config/locales/pl.yml index 9f5606f12165f..29b22c22f29f3 100644 --- a/decidim-admin/config/locales/pl.yml +++ b/decidim-admin/config/locales/pl.yml @@ -887,7 +887,7 @@ pl: user_groups: index: filter: - all: Wszystkie + all: Wszystko pending: Oczekujące rejected: Odrzucone verified: Zweryfikowane diff --git a/decidim-admin/config/locales/pt.yml b/decidim-admin/config/locales/pt.yml index 5c27a9de9d672..c4e0c8920329d 100644 --- a/decidim-admin/config/locales/pt.yml +++ b/decidim-admin/config/locales/pt.yml @@ -32,7 +32,9 @@ pt: body: Corpo subject: Assunto organization: + admin_terms_of_use_body: Corpo para os termos de utilização do administrador alert_color: Alerta + available_authorizations: Autorizações disponíveis badges_enabled: Ativar distintivos comments_max_length: Comprimento máximo dos comentários (Deixar 0 para o valor predefinido) cta_button_path: Caminho do botão Chamar para Ação @@ -60,6 +62,9 @@ pt: host: Anfitrião instagram_handler: Instagram handler logo: Logótipo + machine_translation_display_priority: Prioridade de apresentação de tradução automática + machine_translation_display_priority_original: Texto original primeiro + machine_translation_display_priority_translation: Texto traduzido primeiro name: Nome official_img_footer: Logótipo oficial do rodapé official_img_header: Logótipo oficial do cabeçalho @@ -67,16 +72,21 @@ pt: omnipresent_banner_short_description: Pequena descrição omnipresent_banner_title: Título omnipresent_banner_url: URL + organization_admin_email: E-mail do administrador da organização + organization_admin_name: Nome do administrador da organização + organization_locales: Localidades da organização primary_color: Primário reference_prefix: Prefixo de referência rich_text_editor_in_public_views: Ativar o editor de texto avançado para os participantes secondary_color: Secundário + secondary_hosts: Anfitriões secundários send_welcome_notification: Enviar notificação de boas-vindas success_color: Sucesso time_zone: Fuso Horário tos_version: Versão dos termos de serviço twitter_handler: Manipulador do Twitter user_groups_enabled: Ativar grupos + users_registration_mode: Modo de registo dos utilizadores warning_color: Aviso welcome_notification_body: Corpo da notificação de boas-vindas welcome_notification_subject: Assunto da notificação de boas-vindas @@ -92,7 +102,10 @@ pt: name: Nome organization: Organização plural: Plural + settings: + scope_id: Âmbito static_page: + allow_public_access: Permitir acesso sem autenticação changed_notably: Ocorreram mudanças notáveis. content: Conteúdo organization: Organização @@ -115,6 +128,10 @@ pt: allowed_file_content_types: Ficheiro de imagem inválido official_img_header: allowed_file_content_types: Ficheiro de imagem inválido + new_import: + attributes: + file: + invalid_mime_type: Tipo MIME inválido activerecord: attributes: decidim/static_page: @@ -133,19 +150,34 @@ pt: admin: actions: add: Adicionar + attachment: + new: Novo anexo + attachment_collection: + new: Nova colecção de anexos browse: Explorar + category: + new: Nova categoria export: Exportar + import: Importar manage: Gerir new: Novo %{name} + newsletter: + new: Novo boletim informativo + participatory_space_private_user: + new: Novo utilizador privado do espaço participativo per_page: Por página permissions: Permissões reject: Rejeitar + share: Partilhar + user: + new: Novo utilizador verify: Verificar admin_terms_of_use: accept: error: Ocorreu um erro ao aceitar os termos de utilização de administrador. success: Excelente! Aceitou os termos de utilização de administrador. actions: + accept: Concordo com os seguintes termos are_you_sure: Tem a certeza de que pretende recusar os termos de administrador? refuse: Recusar os termos de administrador title: Concordar com os termos e condições de utilização @@ -224,6 +256,11 @@ pt: autocomplete: no_results: Nenhum resultado encontrado search_prompt: Digite pelo menos três caracteres para pesquisar + block_user: + new: + action: Bloquear conta e enviar justificação + justification: Justificação + title: Bloquear utilizador %{name} categories: create: error: Ocorreu um problema ao criar esta categoria. @@ -266,6 +303,7 @@ pt: headers: actions: Ações name: Nome do componente + scope: Âmbito do componente type: Tipo de componente new: add: Adicionar componente @@ -278,6 +316,20 @@ pt: update: error: Ocorreu um problema ao atualizar este componente. success: O componente foi atualizado corretamente. + conflicts: + attempts: Tentativas + 'false': 'Não' + managed_user_name: Utilizador gerido + solved: Resolvido + transfer: + email: e-Mail + error: Houve um problema ao transferir o utilizador actual para utilizador gerido. + name: Nome + reason: Motivo + success: A transferência actual foi completada com êxito. + title: Transferência + 'true': 'Sim' + user_name: Utilizador dashboard: show: view_more_logs: Ver mais registos @@ -294,6 +346,9 @@ pt: category_id_eq: label: Categoria filter_label: Filtro + moderations: + reportable_type_string_eq: + label: Tipo officialized_at_null: label: Estado values: @@ -314,9 +369,15 @@ pt: search_label: Pesquisa search_placeholder: name_or_nickname_or_email_cont: Pesquisar %{collection} por e-mail, nome ou alcunha. + reported_id_string_or_reported_content_cont: Pesquisar %{coleção} por identificador de denúncia ou conteúdo. title_cont: Pesquisar %{collection} por título. state_eq: label: Estado + forms: + file_help: + import: + explanation: 'Orientação para ficheiro:' + message_2: Para ficheiros CSV o separador entre coludas deve ser um ponto e vírgula (";") help_sections: error: Ocorreu um problema ao atualizar as secções de ajuda form: @@ -349,12 +410,27 @@ pt: form: authorization_method: Método de autorização name: Nome - reason: Razão + reason: Motivo new: impersonate: Personificar impersonate_existing_managed_user: Gerir participante "%{name}" impersonate_existing_user: Gerir participante "%{name}" impersonate_new_managed_user: Gerir novo participante + imports: + creators: + proposalcreator: Criador de proposta + error: Houve um problema durante a importação + import_from_file: Importar dum ficheiro + invalid_lines: Encontrado erro no recurso número %{invalid_lines} + new: + accepted_mime_types: + csv: csv + json: json + actions: + back: Voltar + file_legend: Adicionar ficheiro para importar a analisar. + import: Importar + notice: "%{number} %{resource_name} importado(s) com êxito" logs: logs_list: no_logs_yet: Ainda não há registos @@ -378,8 +454,10 @@ pt: help_sections: Secções de ajuda homepage: Página inicial impersonations: Personificações + moderation: Moderações globais newsletters: Boletins informativos participants: Participantes + reported_users: Utilizadores denunciados scope_types: Tipos de âmbito scopes: Âmbitos settings: Configurações @@ -414,7 +492,7 @@ pt: admin: Administrador(a) ended_at: Terminou em expired_at: Expirou em - reason: Razão + reason: Motivo started_at: Começou em user: Do utilizador newsletter: @@ -435,6 +513,14 @@ pt: fields: name: Nome plural: Plural + share_token: + fields: + created_at: Criado em + expires_at: Expira em + last_used_at: Ultima utilização + times_used: Total de utilizações + token: Identificador + user: Criado por static_page: fields: created_at: Criado em @@ -459,6 +545,25 @@ pt: phone: Telefone state: Estado users_count: Contagem de participantes + moderated_users: + index: + actions: + block: Bloquear utilizador + title: Acções + unblock: Desbloquear utilizador + unreport: Remover denúncia + name: Nome + nickname: Alcunha + reason: Motivo + reports: Contagem de denúncias + title: A listar utilizadores denunciados + report: + reasons: + does_not_belong: Não pertence + offensive: Ofensivo + tabs: + blocked: Bloqueado + unblocked: Não bloqueado moderations: index: title: Moderações @@ -467,6 +572,21 @@ pt: does_not_belong: Não pertence offensive: Ofensiva spam: Spam + reports: + index: + author: Autor(es) + callout_html: Um conteúdo aparece no painel de moderação quando ele foi sinalizado por um utilizador (pode ser qualquer pessoa com uma conta registrada) clicando no sinalizador %{icon} ao lado do item. + content_original_language: Língua original do conteúdo + participatory_space: Espaço participativo + reported_content: Conteúdo denunciado + see_current: Ver actual + see_original: Ver original + title: Moderar denúncias + show: + report_details: Detalhes do motivo + report_language: Denunciar linguagem + report_reason: Motivo + title: Detalhes da denúncia newsletter_templates: index: preview_template: Pré-visualização @@ -532,6 +652,9 @@ pt: error: Ocorreu um problema ao atualizar este boletim informativo. success: Boletim informativo atualizado corretamente. Por favor, reveja-o antes de enviar. officializations: + block: + error: Houve um erro ao bloquear o participante + success: Participante bloqueado com sucesso create: success: Participante oficializado corretamente destroy: @@ -539,6 +662,7 @@ pt: index: actions: Ações badge: Distintivo + block: Bloquear utilizador created_at: Criado em name: Nome nickname: Alcunha @@ -546,8 +670,10 @@ pt: officialize: Oficializar officialized: Oficializado reofficialize: Reoficializar + reports: Relatórios show_email: Mostrar endereço de e-mail status: Estado + unblock: Desbloquear utilizador unofficialize: Desoficializar new: badge: Distintivo de oficialização @@ -561,6 +687,9 @@ pt: hidden: oculto show: Mostrar title: Mostrar endereço de e-mail do participante + unblock: + error: Houve um erro ao desbloquear o participante + success: Participante desbloqueado com sucesso organization: edit: title: Editar organização @@ -593,8 +722,8 @@ pt: omnipresent_banner_appearance_title: Editar faixa omnipresente organization_homepage: edit: - active_content_blocks: Blocos de conteúdo ativos - inactive_content_blocks: Blocos de conteúdo inativos + active_content_blocks: Blocos de conteúdo activos + inactive_content_blocks: Blocos de conteúdo inactivos organization_homepage_content_blocks: edit: update: Atualizar @@ -606,6 +735,7 @@ pt: error: Houve um problema ao eliminar um participante privado deste espaço participativo. success: Espaço participativo acesso de usuário privado destruído com sucesso. index: + import_via_csv: Importar via CSV title: Espaço participativo de participante privado new: create: Criar @@ -615,6 +745,7 @@ pt: invalid: Ocorreu um problema ao ler o ficheiro CSV. success: Ficheiro CSV carregado com sucesso, estamos a enviar um e-mail de convite aos participantes. Isto poderá demorar algum tempo. new: + explanation: 'Carrege o seu ficheiro CSV. Deve ter duas colunas com o e-mail na primeira coluna do ficheiro e o nome na última coluna do ficheiro (e-mail, nome) dos utilizadores que quer adicionar ao espaço participativo, sem cabeçalhos. Evite utilizar charactéres inválidos como “<>?%&^*#@=+:"{}\|” no nome de utente.' title: Carregar o seu ficheiro CSV upload: Carregar resource_permissions: @@ -623,6 +754,10 @@ pt: title: Editar permissões update: success: Permissões atualizadas corretamente. + resources: + index: + headers: + scope: Âmbito scope_types: create: error: Ocorreu um problema ao criar um novo tipo de âmbito. @@ -654,6 +789,18 @@ pt: update: error: Ocorreu um problema ao atualizar este âmbito. success: Âmbito atualizado com sucesso + share_tokens: + actions: + confirm_destroy: Tem a certeza que quer eliminar este identificador? + destroy: Eliminar + share: Partilhar + destroy: + error: Houve um problema ao destruir o identificador + success: Identificador destruído com sucesso. + share_tokens: + empty: Não existem identificadores activos + help: Estes identificadores são usados para partilhar publicamente para qualquer utilizador este recurso não publicado. Estarão escondidos quando o recurso estiver publicado. Clique no icone de partilha do identificador para visitar o URL parltilhável. + title: Compartilhar identificadores shared: gallery: add_images: Adicionar imagens @@ -711,6 +858,7 @@ pt: impersonatable_users: Participantes geríveis impersonations: Gestão de participantes metrics: Métricas + panel: Administrador participants: Participantes scope_types: Tipos de âmbito scopes: Âmbitos @@ -736,7 +884,7 @@ pt: rejected: Rejeitado verified: Verificado filter_by: Filtrar por - search: Pesquisar + search: Pesquisa state: pending: Pendente rejected: Rejeitado @@ -774,8 +922,19 @@ pt: errors: impersonate_user: reason: Precisa de fornecer um motivo ao gerir um participante que não é gerido + metrics: + blocked_users: + object: utilizadores bloqueados + title: Utilizadores bloqueados + reported_users: + object: utilizadores denunciados + title: Utilizadores denunciados + user_reports: + object: relatórios de utilizador + title: Relatórios de utilizador moderations: actions: + expand: Expandir hidden: Ocultado hide: Ocultar not_hidden: Não oculto @@ -796,17 +955,28 @@ pt: models: moderation: fields: + created_at: Data de criação hidden_at: Escondido em + participatory_space: Espaço participativo report_count: Contagem + reportable_id: Identificação + reportable_type: Tipo reported_content_url: URL de conteúdo reportado reports: Relatórios visit_url: URL de visita + report: + fields: + details: Dados relativos ao motivo + locale: Língua + reason: Motivo errors: messages: invalid_json: JSON inválido layouts: decidim: admin: + global_moderations: + title: Moderações globais newsletters: title: Boletins Informativos settings: diff --git a/decidim-admin/config/locales/ro-RO.yml b/decidim-admin/config/locales/ro-RO.yml index 417fa67465276..ec08c3033abd3 100644 --- a/decidim-admin/config/locales/ro-RO.yml +++ b/decidim-admin/config/locales/ro-RO.yml @@ -891,7 +891,7 @@ ro: rejected: Respins verified: Verificat filter_by: Filtrare după - search: Căutare + search: Caută state: pending: In asteptare rejected: Respins diff --git a/decidim-admin/config/locales/sr-CS.yml b/decidim-admin/config/locales/sr-CS.yml index 58642edb92795..57acfdc04e826 100644 --- a/decidim-admin/config/locales/sr-CS.yml +++ b/decidim-admin/config/locales/sr-CS.yml @@ -575,6 +575,12 @@ sr: titles: metrics: Metrika statistics: Aktivnost + user_groups: + index: + filter: + all: Sve + filter_by: Izaberi po + search: Pretraži users_statistics: users_count: last_day: Poslednji dan diff --git a/decidim-assemblies/config/locales/pt.yml b/decidim-assemblies/config/locales/pt.yml index 37cb001b633c1..b7f850152f2f5 100644 --- a/decidim-assemblies/config/locales/pt.yml +++ b/decidim-assemblies/config/locales/pt.yml @@ -1,6 +1,8 @@ pt: activemodel: attributes: + assemblies_setting: + enable_organization_chart: Activar o diagrama da organização assembly: area_id: Área assembly_type: Tipo de reunião @@ -60,6 +62,7 @@ pt: full_name: Nome completo gender: Género position: Posição + user_id: Utilizador assembly_user_role: email: E-mail name: Nome @@ -246,6 +249,7 @@ pt: update: "%{user_name} atualizou as definições de reuniões" assembly_type: create: "%{user_name} criou o tipo de reunião %{resource_name}" + delete: "%{user_name} removeu o tipo de reunião %{resource_name}" publish: "%{user_name} publicou o tipo de reunião %{resource_name}" unpublish: "%{user_name} removeu a publicação do tipo de reunião %{resource_name}" update: "%{user_name} atualizou o tipo de reunião %{resource_name}" @@ -304,6 +308,9 @@ pt: content_blocks: highlighted_assemblies: max_results: Quantidade máxima de elementos a mostrar + new_import: + accepted_types: + json: JSON assembly_members: index: members: Membros diff --git a/decidim-blogs/config/locales/pt.yml b/decidim-blogs/config/locales/pt.yml index 291a64127509a..983f2292310a2 100644 --- a/decidim-blogs/config/locales/pt.yml +++ b/decidim-blogs/config/locales/pt.yml @@ -29,6 +29,7 @@ pt: success: Publicação eliminada corretamente edit: save: Atualizar + title: Editar publicação index: title: Publicações new: diff --git a/decidim-budgets/config/locales/pt.yml b/decidim-budgets/config/locales/pt.yml index 9a93437f52467..d4254e7657736 100644 --- a/decidim-budgets/config/locales/pt.yml +++ b/decidim-budgets/config/locales/pt.yml @@ -1,11 +1,19 @@ pt: activemodel: attributes: + budget: + decidim_scope_id: Âmbito + description: Descrição + title: Título + total_budget: Orçamento total + weight: Peso project: + budget_amount: Valor do orçamento decidim_category_id: Categoria decidim_scope_id: Âmbito description: Descrição proposal_ids: Propostas relacionadas + selected: Seleccionado para implementação title: Título activerecord: models: @@ -20,11 +28,39 @@ pt: confirm_destroy: Tem certeza de que deseja eliminar este projeto? destroy: Eliminar edit: Editar + edit_projects: Gerir projectos import: Importar propostas para projetos + new: Novo %{name} preview: Pré-visualização title: Ações admin: + budgets: + create: + invalid: Houve um problema ao criar este orçamento + success: Orçamento criado com êxito + destroy: + invalid: Houve um problema com ao apagar este orçamento + success: Orçamento apagado com êxito + edit: + title: Editar orçamento + update: Actualizar orçamento + index: + finished_orders: Votações finalizadas + pending_orders: Votações pendentes + title: Orçamentos + users_with_finished_orders: Utilizadores com votações finalizadas + users_with_pending_orders: Utilizadores com votações pendentes + new: + create: Criar orçamento + title: Novo orçamento + update: + invalid: Houve um problema ao actualizar este orçamento + success: Orçamento actualizado com êxito + exports: + projects: Projectos models: + budget: + name: Orçamento project: name: Projeto projects: @@ -39,6 +75,7 @@ pt: index: finished_orders: Votações concluídas pending_orders: Votações pendentes + selected: Seleccionado title: Projetos new: create: Criar @@ -54,12 +91,41 @@ pt: create: Importar propostas em projetos no_components: Não há outros componentes da proposta neste espaço participativo para importar as propostas em projetos. select_component: Por favor selecione um componente + title: Importar propostas admin_log: + budget: + create: "%{user_name} criou o orçamento %{resource_name} no espaço %{space_name}" + delete: "%{user_name} excluiu o orçamento %{resource_name} no espaço %{space_name}" + update: "%{user_name} actualizou o orçamento %{resource_name} no espaço %{space_name}" project: create: "%{user_name} criou o projeto %{resource_name} no espaço %{space_name}" delete: "%{user_name} eliminou o projeto %{resource_name} no espaço %{space_name}" update: "%{user_name} atualizou o projeto %{resource_name} no espaço %{space_name}" + budget: + view: Ver todos os projectos do orçamento + budget_information_modal: + back_to: Voltar para %{component_name} + close_modal: Fechar o modal + continue: Continuar + more_information: Mais informação + budgets_list: + cancel_order: + more_than_one: apague o seu voto em %{name} e comece de novo + only_one: apague o seu voto e comece de novo + finished_message: Acabou o processo de votação. Obrigado pela participação! + highlighted_cta: Votar em %{name} + if_change_opinion: Se mudou a sua ideia, pode + my_budgets: Os meus orçamentos + voted_on: Votou em %{links} + limit_announcement: + cant_vote: Não pode votar este orçamento. Tente noutro orçamento + limit_reached: Tem votações activas em %{links}. Para votar neste orçamento precisa de apagar o seu voto e começar de novo. models: + budget: + fields: + name: Nome + projects_count: Contagem de procjetos + total_budget: Orçamento total project: fields: title: Título @@ -67,17 +133,25 @@ pt: order_summary: selected_projects: 'Os projetos que selecionou são:' subject: Votou no espaço participativo %{space_name} + voted_on_space: Votou no orçamento %{budget_name} para o espaço participativo %{space_name}. + voted_on_space_with_scope: Votou no orçamento %{budget_name} para o espaço participativo %{space_name} em %{scope_name} (%{scope_type}). projects: budget_confirm: + are_you_sure: Se mudar de ideias, pode alterar o seu voto mais tarde. cancel: Cancelar confirm: Confirmar description: Estes são os projetos que escolheu para fazer parte do orçamento. title: Confirmar votação budget_excess: budget_excess: + description: Este projeto excede o orçamento máximo e não pode ser adicionado. Se quiser pode apagar o projecto que já seleccionou para adicionar, ou fazer o seu voto de acordo com suas preferências. title: Orçamento máximo excedido close: Fechar + description: Este projeto excede o orçamento máximo e não pode ser adicionado. Se quiser pode apagar o projecto que já seleccionou para adicionar, ou fazer o seu voto de acordo com suas preferências. ok: OK + projects_excess: + description: Este projeto excede o número máximo de projectos e não pode ser adicionado. Se quiser pode excluir um procjeto que você já seleccionou para adicionar, ou fazer o seu voto de acordo com suas preferências. + title: Projectos máximos excedidos budget_summary: are_you_sure: Tem a certeza de que deseja cancelar o seu voto? assigned: 'Atribuído:' @@ -85,7 +159,23 @@ pt: checked_out: description: Já votou no orçamento. Se mudou de ideia, pode %{cancel_link}. title: Votação do orçamento concluída + minimum_projects_rule: + description: Que projectos acha que devemos atribuir orçamento? Seleccione pelo menos %{minimum_number} projectos que você deseja e vote de acordo com suas preferências para definir o orçamento. + instruction: "
  • Seleccione pelo menos %{mínimo_número} projectos que você deseja e vote de acordo com suas preferências para definir o orçamento.
  • " + projects_rule: + description: Que projectos acha que devemos atribuir orçamento? Seleccione pelo menos %{minimum_number} e até %{maximum_number} projectos que você deseja e vote de acordo com suas preferências para definir o orçamento. + instruction: "
  • Seleccione pelo menos %{mínimo_número} e até %{maximum_number} projectos que deseja e vote de acordo com as suas preferências para definir o orçamento.
  • " + projects_rule_maximum_only: + description: Que projectos acha que devemos atribuir orçamento? Seleccione até %{maximum_number} projectos que você deseja e vote de acordo com suas preferências para definir o orçamento. + instruction: "
  • Seleccione até %{maximum_number} projectos que você deseja e vote de acordo com suas preferências para definir o orçamento.
  • " + rules: + title: Regras orçamentais title: Você decide o orçamento + total_budget: Orçamento total + total_projects: Total de votos + vote_threshold_percent_rule: + description: Que projectos acha que devemos atribuir orçamento? Atribua pelo menos %{minimum_budget} projectos que você deseja e vote de acordo com suas preferências para definir o orçamento. + instruction: "
  • Atribua pelo menos %{minimum_budget} aos projectos que deseja e vote de acordo com as suas preferências para definir o orçamento.
  • " count: projects_count: one: 1 projeto @@ -94,6 +184,11 @@ pt: category: Categoria scope: Âmbito search: Pesquisar + status: Estado + status_values: + all: Todos + not_selected: Não seleccionado + selected: Seleccionado filters_small_view: close_modal: Fechar modal filter: Filtrar @@ -113,15 +208,22 @@ pt: lowest_cost: Custo mais baixo most_voted: Mais votado random: Ordem aleatória + selected: Seleccionado project: add: Adicionar projeto %{resource_name} à sua votação remove: Remover projeto %{resource_name} da sua votação + selected: Seleccionado view: Visualização + votes: + one: Votações + other: Votações + you_voted: Votou isto project_budget_button: add: Adicionar à sua votação add_descriptive: Adicionar projeto %{resource_name} à sua votação added: Adicionado à sua votação added_descriptive: Projeto %{resource_name} adicionado à sua votação + projects_for: Projectos para %{name} show: budget: Orçamento view_all_projects: Ver todos os projetos @@ -139,18 +241,42 @@ pt: errors: budget_voting_rule_only_one: Apenas deve estar ativa uma regra de votação budget_voting_rule_required: É necessária uma regra de votação + landing_page_content: Página de entrada dos orçamentos + more_information_modal: Mais informações modal projects_per_page: Projetos por página + resources_permissions_enabled: Permissões de acções podem ser definidas para cada projecto + scope_id: Âmbito + title: Título total_budget: Orçamento total vote_minimum_budget_projects_number: Número mínimo de projetos a votar vote_rule_minimum_budget_projects_enabled: 'Ativar regra: Número mínimo de projetos a voto' + vote_rule_selected_projects_enabled: 'Projectos seleccionados com número mínimo e máximo de projectos a votar' vote_rule_threshold_percent_enabled: 'Ativar regra: Percentagem mínima do orçamento' + vote_selected_projects_maximum: Montante máximo dos projectos a seleccionar + vote_selected_projects_minimum: Montante mínimo de projectos a seleccionar vote_threshold_percent: Percentagem do limite da votação + workflow: Fluxo de trabalho + workflow_choices: + all: 'Votar em todos: permite aos participantes de votar em todos os orçamentos.' + one: 'Votar num: permite aos participantes de votar em qualquer orçamento, mas apenas em num.' step: announcement: Anúncio comments_blocked: Comentários bloqueados + highlighted_heading: Cabeçalho destacado + landing_page_content: Página de entrada dos orçamentos + list_heading: Cabeçalho da lista + more_information_modal: Mais informações modal show_votes: Mostrar votos + title: Título + votes: Votação votes_choices: + disabled: Votação desactivada enabled: Votação habilitada + finished: Votação terminada + events: + budgets: + budget_published: + email_outro: Recebeu esta notificação porque segue %{participatory_space_title}. Pode parar de receber notificações seguindo a hiperligação anterior. orders: checkout: error: Ocorreu um problema ao processar o seu voto diff --git a/decidim-comments/config/locales/pt.yml b/decidim-comments/config/locales/pt.yml index 29f43e8cb9195..85a5a7c2fd06d 100644 --- a/decidim-comments/config/locales/pt.yml +++ b/decidim-comments/config/locales/pt.yml @@ -17,8 +17,10 @@ pt: decidim: comments: comments_count: Contagem de comentários + comments_title: Comentários last_activity: new_comment_at_html: "Novo comentário em %{link}" + view: Visualizar votes: create: error: Houve erros ao votar o comentário. diff --git a/decidim-conferences/config/locales/fr-CA.yml b/decidim-conferences/config/locales/fr-CA.yml index 8aa4b01a8ebef..2d2851c51bc02 100644 --- a/decidim-conferences/config/locales/fr-CA.yml +++ b/decidim-conferences/config/locales/fr-CA.yml @@ -12,9 +12,13 @@ fr-CA: description: Description hashtag: Hashtag hero_image: Image de la page d'accueil + main_logo: Logo principal + objectives: Objectifs participatory_processes_ids: Concertations associées promoted: Mise en avant published_at: Publié à + registration_terms: Conditions d’inscription + registrations_enabled: Inscriptions ouvertes scope_id: Périmètre scopes_enabled: Périmètres d'application activés short_description: Brève description @@ -23,13 +27,29 @@ fr-CA: slug: Slug URL title: Titre conference_media_link: + date: Date + link: Lien + title: Titre weight: Rang d'affichage conference_partner: + link: Lien + logo: Logo + name: Nom weight: Rang d'affichage + conference_registration_invite: + email: Courriel + name: Nom + user_id: Utilisateur·rice conference_registration_type: + description: Description + price: Prix + title: Titre weight: Rang d'affichage conference_speaker: + avatar: Image de profil + conference_meeting_ids: Réunions connexes full_name: Nom complet + personal_url: URL personnelle conference_user_role: email: Email name: Nom diff --git a/decidim-conferences/config/locales/pt.yml b/decidim-conferences/config/locales/pt.yml index 1eb98bc63dfa7..76f2cdb749c38 100644 --- a/decidim-conferences/config/locales/pt.yml +++ b/decidim-conferences/config/locales/pt.yml @@ -10,26 +10,47 @@ pt: copy_features: Copiar características decidim_scope_id: Âmbito description: Descrição + end_date: Data final hashtag: Hashtag hero_image: Imagem inicial + location: Localização + objectives: Objetivos participatory_processes_ids: Processos participativos relacionados promoted: Realçado published_at: Publicado em + registration_terms: Termos de registo + registrations_enabled: Registos ativados scope_id: Âmbito scopes_enabled: Âmbitos ativados short_description: Breve descrição show_statistics: Mostrar estatísticas slogan: Slogan slug: Campo de dados dinâmicos de URL + start_date: Data de início title: Título conference_media_link: + date: Datas + link: Hiperligação + title: Título weight: Peso conference_partner: + link: Hiperligação + logo: Logótipo + name: Nome weight: Peso + conference_registration_invite: + name: Nome + registration_type_id: Tipo de registo conference_registration_type: + description: Descrição + price: Preço + title: Título weight: Peso conference_speaker: + affiliation: Afiliação + conference_meeting_ids: Reuniões relacionadas full_name: Nome completo + position: Posição conference_user_role: email: E-mail name: Nome diff --git a/decidim-core/config/locales/fr.yml b/decidim-core/config/locales/fr.yml index 715135f94c16b..99f9dee78f757 100644 --- a/decidim-core/config/locales/fr.yml +++ b/decidim-core/config/locales/fr.yml @@ -1335,7 +1335,7 @@ fr: version: show: back_to_resource: Revenir en arrière - changes_at_title: Changements à%{title}" + changes_at_title: Changements sur "%{title}" number_of_versions: Versions show_all_versions: Afficher toutes les versions version_author: Auteur de la version @@ -1353,7 +1353,7 @@ fr: versions_list: show: back_to_resource: Revenir en arrière - changes_at_title: Changements à%{title}" + changes_at_title: Changements sur "%{title}" number_of_versions: Versions title: Versions versions_list_item: diff --git a/decidim-core/config/locales/lb-LU.yml b/decidim-core/config/locales/lb-LU.yml index 3b6048622f139..063e4b483b63a 100644 --- a/decidim-core/config/locales/lb-LU.yml +++ b/decidim-core/config/locales/lb-LU.yml @@ -63,6 +63,7 @@ lb: 'true': 'Ja' carrierwave: errors: + general: Fehler bei der Bildverarbeitung image_too_big: Das Bild ist zu groß not_inside_organization: Die Datei ist keiner Organisation hinzugefügt date: @@ -914,9 +915,18 @@ lb: pages: home: statistics: + answers_count: Abgeschlossene Umfragen + assemblies_count: Versammlungen + comments_count: Kommentare + conferences_count: Konferenzen endorsements_count: Empfehlungen meetings_count: Versammlung + orders_count: Stimmen + processes_count: Beteiligungsprozesse + proposals_accepted: Akzeptierte Vorschläge + surveys_count: Umfragen users_count: Teilnehmer + votes_count: Stimmen participatory_space: metrics: headline: Teilnahme an Zahlen @@ -1229,6 +1239,7 @@ lb: updated_not_active: Ihr Passwort wurde erfolgreich geändert. errors: messages: + content_type_allowlist_error: Der Dateityp ist nicht gültig not_locked: war nicht gesperrt not_saved: one: 'Bei der Bearbeitung Ihrer Anfrage ist ein Fehler aufgetreten:' diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index 3038d605708e7..3ef8e2475e259 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -909,7 +909,7 @@ pl: comanagers_new_message: admin_in_group: Otrzymujesz to powiadomienie, ponieważ jesteś administratorem w %{group}. greeting: Cześć, %{recipient}! - intro: "%{manager} opublikował(a) nowe wiadomości w konwersacji w imieniu %{group}. Kliknij tutaj, aby je zobaczyć:" + intro: "%{manager} wysłał(a) nową wiadomość w konwersacji w imieniu %{group}. Kliknij tutaj, aby ją zobaczyć:" outro: Miłego korzystania z platformy! subject: "%{manager} wysłał(a) nowe wiadomości jako %{group}" new_conversation: @@ -926,12 +926,12 @@ pl: new_group_message: admin_in_group: Otrzymujesz to powiadomienie, ponieważ jesteś administratorem w %{group}. greeting: Cześć, %{recipient}! - intro: "%{sender} opublikował(a) nowe wiadomości w konwersacji z grupą %{group}. Kliknij tutaj, aby je zobaczyć:" + intro: "%{sender} wysłał(a) nową wiadomość w konwersacji z grupą %{group}. Kliknij tutaj, aby ją zobaczyć:" outro: Miłego korzystania z platformy! subject: "%{group} ma nowe wiadomości od %{sender}" new_message: greeting: Cześć, %{recipient}! - intro: "%{sender} opublikował(a) nowe wiadomości w twojej rozmowie. Kliknij tutaj, aby je zobaczyć:" + intro: "%{sender} wysłał(a) nową wiadomość w konwersacji. Kliknij tutaj, aby ją zobaczyć:" outro: Miłego korzystania z platformy! subject: Masz nowe wiadomości od %{sender} conversations: @@ -957,7 +957,7 @@ pl: groups: Moje grupy last_message: Ostatnia wiadomość new_conversation: Nowa konwersacja - next: Następna + next: Dalej no_conversations: Nie masz jeszcze żadnych konwersacji title: Konwersacje reply: @@ -1321,7 +1321,7 @@ pl: last_message: Ostatnia wiadomość modal_title: Nowa konwersacja new_conversation: Nowa konwersacja - next: Następna + next: Dalej no_conversations_warning: Brak konwersacji. no_results: Brak wyników participant_with_disabled_message_reception: Ten użytkownik wyłączył odbiór wiadomości @@ -1618,7 +1618,7 @@ pl: public_profile: Mój profil publiczny sign_out: Wyloguj się user_profile: - account: Konto + account: Moje konto authorizations: Autoryzacje delete_my_account: Usuń moje konto my_data: Moje dane diff --git a/decidim-core/config/locales/pt.yml b/decidim-core/config/locales/pt.yml index c88b81eb08cf0..c68df15274cf4 100644 --- a/decidim-core/config/locales/pt.yml +++ b/decidim-core/config/locales/pt.yml @@ -35,6 +35,7 @@ pt: decidim/profile_updated_event: Perfil atualizado decidim/promote_to_admin: Promovido a administrador do grupo decidim/removed_from_group: Removido do grupo + decidim/resource_endorsed_event: Recurso apoiado activerecord: attributes: decidim/user: @@ -64,6 +65,7 @@ pt: errors: general: Erro ao processar a imagem image_too_big: A imagem é demasiado grande + not_inside_organization: O ficheiro não está anexado a nenhuma organização date: formats: decidim_short: "%d/%m/%Y" @@ -77,10 +79,12 @@ pt: logo: "Logótipo oficial de %{organization}" skip_button: Avançar para o conteúdo principal account: + blocked: Esta conta foi bloqueada por violação dos Termos e Condições data_portability_export: file_no_exists: Ficheiro não existente notice: A transferência dos seus dados está atualmente em progresso. Receberá um e-mail quando estiver concluído. delete: + alert: Esta acção não pode ser revertida. Se apagar a sua conta não poderá mais ligar-se com as suas credenciais. Apagar a sua conta resultará no anonimizar de todas as suas contribuições. Conseguirá criar uma nova conta, mas essas contribuições não serão associadas a ela. confirm: close: Fechar janela ok: Sim, eu quero cancelar a minha conta @@ -110,6 +114,8 @@ pt: delete: "%{user_name} removeu o componente %{resource_name} do espaço %{space_name}" publish: "%{user_name} publicou o componente %{resource_name} no espaço %{space_name}" unpublish: "%{user_name} removeu a publicação do componente %{resource_name} do espaço %{space_name}" + impersonation_log: + manage: "%{user_name} geriu %{resource_name} porque %{reason}" moderation: hide: "%{user_name} escondeu um recurso de tipo %{resource_type} no %{space_name} espaço" unreport: "%{user_name} não declarou um recurso de tipo %{resource_type} no %{space_name} espaço" @@ -126,6 +132,7 @@ pt: update: "%{user_name} atualizou as configurações da organização" participatory_space_private_user: create: "%{user_name} convidou %{resource_name} para ser um participante privado" + create_via_csv: "%{user_name} convidou %{resource_name} via CSV para ser participante privado" delete: "%{user_name} removeu o participante %{resource_name} como participante privado" scope: create: "%{user_name} criou o âmbito %{resource_name}" @@ -139,15 +146,21 @@ pt: delete: "%{user_name} eliminou a página estática %{resource_name}" update: "%{user_name} atualizou a página estática %{resource_name}" user: + block: "%{user_name} bloqueou o utilizador %{resource_name}" invite: "%{user_name} convidou o usuário %{resource_name} com papel: %{role}" officialize: "%{user_name} oficializou o participante %{resource_name}" + promote: "%{user_name} promoveu %{resource_name}" remove_from_admin: "%{user_name} removeu o participante %{resource_name} com função: %{role}" show_email: "%{user_name} obteve o e-mail do participante %{resource_name}" + transfer: "%{user_name} transferiu o participante %{resource_name}" + unblock: "%{user_name} desbloqueou o utilizador %{resource_name}" unofficialize: "%{user_name} remoção a oficialização do participante %{resource_name}" user_group: reject: "%{user_name} rejeitou a verificação de grupo %{resource_name}" verify: "%{user_name} verificou o grupo %{resource_name}" verify_via_csv: "%{user_name} verificou o grupo %{resource_name} através de um ficheiro CSV" + user_moderation: + unreport: "%{user_name} retirou denuncia a %{resource_type} - %{unreported_user_name}" admin_terms_of_use: default_body: "

    TERMOS DE UTILIZAÇÃO DE ADMINISTRADOR

    Confiamos que recebeu as instruções habituais por parte do Administrador de Sistema local. Normalmente resume-se a estes três fatores:

    1. Respeitar a privacidade dos outros.
    2. Pensar antes de clicar.
    3. Um grande poder acarreta uma grande responsabilidade.
    " alert: @@ -268,6 +281,8 @@ pt: name: Exemplo de autorização dummy_authorization_workflow: name: Fluxo de trabalho de autorização falsa + errors: + duplicate_authorization: Um participante já foi autorizado com os mesmos dados. Um administrador irá contactá-lo para verificar os seus detalhes. expired_at: Expirou em %{timestamp} expires_at: Expira em %{timestamp} foo_authorization: @@ -297,6 +312,8 @@ pt: authorize: Autorizar com "%{authorization}" explanation: Para executar esta ação, você precisa ser autorizado com "%{authorization}". title: Autorização necessária + ok: + title: Recebeu autorização enquanto nesta página. Por favor carrege a página de novo para executar a sua acção. pending: explanation: De forma a executar esta ação, precisa de ser autorizado com "%{authorization}", mas a sua autorização ainda está em progresso resume: Verifique o progresso da sua autorização "%{authorization}" @@ -313,6 +330,13 @@ pt: title: Confirmar o seu e-mail show: close_modal: Fechar modal + block_user_mailer: + notify: + body_1: A sua conta foi bloqueada. + body_2: 'Razão: %{justification}' + greetings: Saudações,
    %{organization_name}
    %{organization_url} + hello: Olá, + subject: A sua conta foi bloqueada por %{organization_name} collapsible_list: hidden_elements_count: one: e mais %{count} @@ -348,6 +372,7 @@ pt: dummy_global_translatable_text: Texto Traduzível Fictício enable_pads_creation: Ativar criação de blocos resources_permissions_enabled: Permissões de recursos ativadas + scope_id: Âmbito step: amendment_creation_enabled: Criação de modificação ativada amendment_promotion_enabled: Promoção de modificação ativada @@ -359,6 +384,13 @@ pt: dummy_step_translatable_text: Passo de Texto Traduzível Fictício contact: Contacto content_blocks: + cta: + name: Image, texto, botão de convite a acção + cta_settings_form: + background_image: Imagem de fundo + button_text: Texto de chamada a acção + button_url: URL de chamada para acção + description: Descrição footer_sub_hero: name: Faixa sub hero do rodapé hero: @@ -368,6 +400,10 @@ pt: welcome_text: Texto de boas-vindas highlighted_content_banner: name: Faixa de conteúdo realçado + highlighted_elements_settings_form: + orders: + label: 'Ordenar elementos por:' + random: Aleatório how_to_participate: name: Como participar html: @@ -401,6 +437,7 @@ pt: email_already_exists: Outra conta está usando o mesmo endereço de e-mail new: complete_profile: Complete o seu perfil + nickname_help: A sua alcunha em %{organization}. Só pode conter letras, números, “-” e “_” sign_up: Por favor, complete o seu perfil subtitle: Por favor, preencha o seguinte formulário para completar a inscrição username_help: Nome público que aparece nas suas publicações. Com o objetivo de garantir o anonimato, pode ser qualquer nome. @@ -409,6 +446,7 @@ pt: already_have_an_account?: Já tem uma conta? newsletter: Receber um boletim informativo ocasional com informações relevantes newsletter_title: Permissão de contacto + nickname_help: A sua alcunha em %{organization}. Só pode conter letras, números, “-” e “_” password_help: "%{minimun_characters} caracteres no mínimo, não deverá ser muito comum (por ex. 123456) e deverá ser diferente da sua alcunha e do seu e-mail." sign_in: Entrar sign_up: Inscreva-se @@ -425,11 +463,14 @@ pt: register: Criar uma conta sign_in_disabled: Pode aceder com uma conta externa sign_up_disabled: A inscrição está desativada, pode utilizar uma conta existente para aceder + user: + timed_out: Esteve inactivo por muito tempo e foi automaticamente desligado do serviço. Se quiser continuar a usar o serviço, por favor faça a ligação de novo. shared: newsletter_modal: buttons: check: Verificar e continuar close_modal: Fechar modal + uncheck: Manter não verificado notice: |-

    Tem a certeza de que não deseja receber um boletim informativo?
    Por favor, considere novamente marcar a caixa de seleção do boletim informativo abaixo.
    @@ -595,6 +636,14 @@ pt: notification_title: O grupo de utilizadores %{user_group_name} atualizou o seu perfil, deixando-o por verificar. Pode agora verificá-lo no painel de administrador. notification_event: notification_title: Ocorreu um evento em %{resource_title}. + reports: + resource_hidden: + email_intro: Um administrador removeu o seu %{resource_type} porque foi denunciado como %{report_reasons}. + email_outro: Recebeu esta notificação porque é o autor do conteúdo removido + email_subject: O seu %{resource_type} foi removido + notification_title: |- + Um administrador removeu o seu %{resource_type} porque foi denunciado como %{report_reasons}.
    + %{resource_content} resource_endorsed: email_intro: '%{endorser_name} %{endorser_nickname}, que você segue, endossou "%{resource_title}" e pensamos que poderá ser do seu interesse. Verifique e contribua:' email_outro: Recebeu esta notificação porque segue %{endorser_nickname}. Poderá deixar de receber notificações seguindo a hiperligação anterior. @@ -640,6 +689,7 @@ pt: create: button: Seguir error: Ocorreu um problema ao seguir este recurso. + participatory_space: Seguindo %{resource_name} destroy: button: Parar de seguir error: Ocorreu um problema ao seguir este recurso. @@ -656,6 +706,7 @@ pt: file: explanation: 'Orientação para o ficheiro:' message_1: Tem que ser uma imagem ou um documento. + message_2: Para imagens, use de preferência imagens em paisagem, o serviço corta a imagem. Para ficheiros CSV, o separador entre colunas deve ser uma vírgula (“,”) image: explanation: 'Orientação para a imagem:' message_1: Preferencialmente, uma imagem de paisagem que não tem nenhum texto. @@ -875,6 +926,10 @@ pt: show: Mostrar conversa com %{sender} create: error: Conversa não iniciada. Tente novamente mais tarde + error_modal: + close: Fechar o modal + correct_errors: Por favor corrija os erros e tente de novo + intro: 'Há os seguintes erros com a sua mensagem:' index: ago: atrás close: Fechar modal @@ -892,11 +947,16 @@ pt: show: back: Retroceder a todas as conversas chat_with: Conversa com + not_allowed: Este participante não aceita mensagens directas. title: Conversa com %{usernames} start: send: Enviar title: Iniciar uma conversa + update: + error: A mensage não foi enviada devido a um erro metrics: + download: + csv: Descarregar dados (CSV) followers: description: Número de participantes que seguem este espaço de participação object: seguidores @@ -958,8 +1018,10 @@ pt: no_notifications: Ainda não há notificações. notifications_settings: show: + administrators: Administradores allow_public_contact: Permitir que qualquer pessoa me envie uma mensagem direta, mesmo que não a siga. direct_messages: Receber mensagens diretas de qualquer pessoa + email_on_moderations: Quero receber um email sempre que alguma coisa for denunciada para moderação email_on_notification: Quero receber um e-mail sempre que recebo uma notificação. everything_followed: Tudo o que eu sigo newsletter_notifications: Quero receber boletins informativos @@ -1038,6 +1100,7 @@ pt: error: Ocorreu um problema ao aceitar os termos e condições. success: Ótimo! Aceitou os termos e condições. form: + agreement: Concordo com estes termos legend: Concordo com os termos e condições de uso refuse: modal_body: Se recusar, não será capaz de utilizar a plataforma, pode transferir os seus dados e / ou eliminar a sua conta. @@ -1054,6 +1117,7 @@ pt: not_allowed: Não tem permissão para visualizar este conteúdo profile: deleted: Participante eliminado + inaccessible_message: Esta conta foi bloqueada por violação dos Termos e Condições! view: Visualizar profiles: default_officialization_text_for_user_groups: Este grupo está verificado publicamente, o seu nome foi confirmado para corresponder ao seu nome real @@ -1067,6 +1131,7 @@ pt: groups: Grupos members: Membros officialized: Participante oficial + send_private_message: Enviar mensagem privada timeline: Cronograma view_full_profile: Ver o perfil completo sidebar: @@ -1094,12 +1159,15 @@ pt: report: authors: Autores content: Conteúdo reportado + content_original_language: Língua original do conteúdo date: Reportado em details: Detalhes hello: Olá %{name}, + id: IDENTIFICAÇÃO participatory_space: Espaço participativo reason: Razão report_html:

    O seguinte conteúdo foi reportado.

    + see_report: Ver relatório subject: Um recurso foi reportado reports: create: @@ -1143,6 +1211,9 @@ pt: one: "%{count} resultado" other: "%{count} resultados" view_all: Ver todos (%{count}) + security: + selfxss_warning: + title: Pare! shared: confirm_modal: cancel: Cancelar @@ -1168,6 +1239,15 @@ pt: report: Reportar spam: Contém clickbait, publicidade, fraudes ou robots de scripts. title: Reportar um problema + flag_user_modal: + already_reported: Este conteúdo já foi denunciado e será revisto por um administrador. + close: Fechar + description: O que é inapropriado acerca do utilizador? + does_not_belong: Contém actividade ilegal, ameaças de suicídio, informações pessoais ou algo que acha que não pertence a %{organization_name}. + offensive: Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer forma de discurso de ódio. + report: Denuncie + spam: Contém clickbait, publicidade, golpes ou bots de script. + title: Comunicar utilizador inapropriado floating_help: close: Fechar ajuda help: Ajuda @@ -1196,6 +1276,10 @@ pt: tags: filter_results_for_category: 'Resultados do filtro para a categoria: %{resource}' filter_results_for_scope: 'Resultados do filtro para o âmbito: %{resource}' + translation_bar: + help_text: "Aviso: O conteúdo pode ser traduzido automaticamanete e não ser 100% fidedigno." + show_original: Mostrar texto original + show_translated: Mostrar texto traduzido automaticamente user_activity: index: no_activities_warning: Este participante ainda não possui nenhuma atividade. @@ -1239,6 +1323,13 @@ pt: update: error: Ocorreu um problema ao atualizar os seus interesses. success: Os seus interesses foram atualizados corretamente. + user_report_mailer: + notify: + body_1: O utilizador %{user} foi denunciado por %{token} + body_2: 'Razão: %{razão}' + greetings: Saudações,
    %{organization_name}
    %{organization_url} + hello: Olá %{admin}, + subject: Um novo utilizador foi denunciado em %{organization_name} version: show: back_to_resource: Retroceder @@ -1255,6 +1346,7 @@ pt: versions: resource_version: of_versions: "(de %{number})" + see_other_versions: Ver outras versões version: Versão %{number} versions_list: show: @@ -1441,6 +1533,10 @@ pt: too_short: é muito curto (abaixo de 15 caracteres) forms: correct_errors: Existem erros no formulário, por favor corrija-os para continuar. + length_validator: + minimum: + one: Pelo menos %{count} caracter + other: Pelo menos %{count} caractéres required: Requeridos required_explanation: "* Campos obrigatórios estão marcados com um asterisco" invisible_captcha: @@ -1479,6 +1575,11 @@ pt: instagram: "%{organization} no Instagram" twitter: "%{organization} no Twitter" youtube: "%{organization} no YouTube" + timeout_modal: + body: Está inactivo há %{minutos}. Se continuar inactivo será automáticamente desligado para a sua própria segurança. + continue_session: Continuar sessão + sign_out: Desligar + title: Gostaria de continuar a sua sessão? user_menu: account: 'Conta de utilizador: %{name}' admin_dashboard: Painel de administração @@ -1500,6 +1601,7 @@ pt: see_more: Ver mais locale: name: Português + name_with_error: Português (erro!) password_validator: domain_included_in_password: é muito semelhante a este nome de domínio email_included_in_password: é muito semelhante com o seu email diff --git a/decidim-debates/config/locales/pt.yml b/decidim-debates/config/locales/pt.yml index 57cab543ee4c8..81e0313671b3f 100644 --- a/decidim-debates/config/locales/pt.yml +++ b/decidim-debates/config/locales/pt.yml @@ -31,18 +31,24 @@ pt: announcement: Anúncio comments_enabled: Comentários ativados comments_max_length: Comprimento máximo dos comentários (Deixar 0 para o valor predefinido) + scope_id: Âmbito step: announcement: Anúncio comments_blocked: Comentários bloqueados creation_enabled: Criação de debate por participantes ativado + endorsements_enabled: Endossamentos ativados debates: actions: + close: Fechar confirm_destroy: Tem a certeza? destroy: Eliminar edit: Editar new: Novo %{name} title: Ações admin: + debate_closes: + edit: + close: Fechar debates: create: invalid: Ocorreu um problema ao criar o debate. @@ -60,6 +66,8 @@ pt: update: invalid: Ocorreu um problema ao atualizar este debate. success: Debate atualizado corretamente. + exports: + comments: Comentários models: debate: name: Debate @@ -82,13 +90,21 @@ pt: save: Guardar alterações title: Editar debate filters: + activity: A minha atividade all: Todos category: Categoria category_prompt: Selecione uma categoria citizens: Cidadãos + commented: Comentários official: Oficial origin: Origem + scope: Âmbito search: Pesquisar + state: Estado + state_values: + closed: Fechar + open: Abertas + user_groups: Grupos filters_small_view: close_modal: Fechar modal filter: Filtrar @@ -102,10 +118,15 @@ pt: back: Retroceder create: Criar title: Novo debate + orders: + random: Ordem aleatória show: back: Retroceder à lista date: Data + debate_closed: Fechar edit_debate: Editar debate + groups_count: Grupos + participants_count: Participantes update: invalid: Ocorreu um problema ao atualizar o debate. success: Debate atualizado corretamente. @@ -117,6 +138,7 @@ pt: versions_list: back_to_resource: Retroceder para debate last_activity: + debate_updated_at_html: "Proposta actualizada em %{link}" new_debate_at_html: "Novo debate em %{link}" models: debate: @@ -152,6 +174,17 @@ pt: email_outro: Recebeu esta notificação porque segue %{participatory_space_title}. Pode parar de receber notificações seguindo a hiperligação anterior. email_subject: Debates agora disponíveis em %{participatory_space_title} notification_title: Agora pode começar novos debates em %{participatory_space_title} + debate_closed: + affected_user: + email_intro: 'O debate "%{resource_title}" foi encerrado. Pode ler as conclusões a partir da sua página:' + email_outro: Recebeu esta notificação porque segue o debate "%{resource_title}". Pode deixar de segui-lo a partir da hiperligação anterior. + email_subject: O debate “%{resource_title}” foi encerrado. + notification_title: O debate %{resource_title} foi encerrado. + follower: + email_intro: 'O debate "%{resource_title}" foi encerrado. Pode ler as conclusões a partir da sua página:' + email_outro: Recebeu esta notificação porque segue o debate "%{resource_title}". Pode deixar de segui-lo a partir da hiperligação anterior. + email_subject: O debate “%{resource_title}” foi encerrado. + notification_title: O debate %{resource_title} foi encerrado. gamification: badges: commented_debates: diff --git a/decidim-elections/config/locales/fr-CA.yml b/decidim-elections/config/locales/fr-CA.yml index a8becd56f6092..14f2aa11df5df 100644 --- a/decidim-elections/config/locales/fr-CA.yml +++ b/decidim-elections/config/locales/fr-CA.yml @@ -254,7 +254,12 @@ fr-CA: success: Le garant %{trustee} a été mis à jour avec succès admin_log: election: + end_vote: "%{user_name} a terminé la période de vote pour l'élection %{resource_name} sur le Tableau des Bulletins" publish: "%{user_name} a publié l'élection %{resource_name}" + setup: "%{user_name} a créé l'élection %{resource_name} sur le Tableau des Bulletins" + start_key_ceremony: "%{user_name} a commencé la cérémonie des clés pour l'élection %{resource_name} sur le Tableau des Bulletins" + start_tally: "%{user_name} a commencé le dépouillement pour l'élection %{resource_name} sur le Tableau des Bulletins" + start_vote: "%{user_name} a commencé la période de vote pour l'élection %{resource_name} sur le Tableau des Bulletins" unpublish: "%{user_name} a dépublié l'élection %{resource_name}" election_m: badge_name: @@ -448,6 +453,7 @@ fr-CA: question: Question %{count} confirmed: back: Retour aux élections + error: Désolé, il y a eu une erreur lors de la confirmation du vote. Veuillez voter à nouveau. experience: Comment a été votre expérience? feedback: Donnez-nous votre avis header: Vote confirmé @@ -541,8 +547,16 @@ fr-CA: attachment_files: Fichiers attachments: Pièces jointes info: Information + landing_page: Page d’accueil + monitoring_committee_members: Comité de suivi polling_stations: Bureaux de vote models: + monitoring_committee_member: + fields: + name: Nom + polling_officer: + fields: + name: Nom polling_station: fields: address: Adresse @@ -621,11 +635,18 @@ fr-CA: polling_officer_zone: polling_officers: show: + actions: + count_votes: Compter les votes dans les urnes + identify_person: Identifier et vérifier un participant + polling_officer_role_description: Vous avez été assigné à agir en tant qu’officier du Bureau de vote (Président ou Gestionnaire) sur certaines des élections ayant lieu sur cette plateforme. polling_stations: list: actions: Actions address: Adresse name: Nom + role: Votre rôle + voting: Élection + no_polling_stations: Vous n'êtes pas encore assigné à un Bureau de vote. title: Bureaux de vote polling_stations: actions: diff --git a/decidim-elections/config/locales/fr.yml b/decidim-elections/config/locales/fr.yml index b2b892a4da986..aad9c41f549c8 100644 --- a/decidim-elections/config/locales/fr.yml +++ b/decidim-elections/config/locales/fr.yml @@ -254,7 +254,12 @@ fr: success: Le garant %{trustee} a été mis à jour avec succès admin_log: election: + end_vote: "%{user_name} a terminé la période de vote pour l'élection %{resource_name} sur le Tableau des Bulletins" publish: "%{user_name} a publié l'élection %{resource_name}" + setup: "%{user_name} a créé l'élection %{resource_name} sur le Tableau des Bulletins" + start_key_ceremony: "%{user_name} a commencé la cérémonie des clés pour l'élection %{resource_name} sur le Tableau des Bulletins" + start_tally: "%{user_name} a commencé le dépouillement pour l'élection %{resource_name} sur le Tableau des Bulletins" + start_vote: "%{user_name} a commencé la période de vote pour l'élection %{resource_name} sur le Tableau des Bulletins" unpublish: "%{user_name} a dépublié l'élection %{resource_name}" election_m: badge_name: diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index a58a2e647eec3..8f305b8922a9d 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -603,6 +603,14 @@ ja: highlighted_votings: max_results: 表示する要素の最大量 landing_page: + attachments_and_folders: + name: 投票の添付ファイルとフォルダ + description: + name: 投票の説明 + elections: + name: 投票する選挙 + header: + name: 投票のヘッダー html_block_1: name: 投票htmlブロック1 html_block_2: @@ -610,7 +618,7 @@ ja: html_block_3: name: 投票htmlブロック3 metrics: - name: 投票メトリック + name: 投票メトリクス polling_stations: name: 投票ステーション stats: @@ -664,9 +672,22 @@ ja: promoted: ハイライト published: 公開済み title: タイトル + monitoring_committee_members: + create: + invalid: この監視委員会メンバーの作成中に問題が発生しました + success: 監視委員会のメンバーが正常に作成されました + destroy: + invalid: この監視委員会メンバーの削除中に問題が発生しました + success: 監視委員会のメンバーが正常に削除されました + form: + existing_user: 既存の参加者 + non_user: 新しい参加者を招待 + select_user: 名前、メールアドレス、ニックネームで検索 polling_officers: index: role_president: 投票管理者 + polling_officers_picker: + close: 閉じる polling_stations: form: polling_station_president_help: '投票管理者:投票所の代表を務める担当者。 投票委員がすでに投票所に設置されていること、および他の投票所に割り当てられていないことを確認してください' diff --git a/decidim-elections/config/locales/pt.yml b/decidim-elections/config/locales/pt.yml index ecc739f04d571..7b63275f9ca08 100644 --- a/decidim-elections/config/locales/pt.yml +++ b/decidim-elections/config/locales/pt.yml @@ -14,14 +14,36 @@ pt: question: description: Descrição max_selections: Número máximo de seleções + min_selections: Nenhuma das opções acima title: Título + voting: + end_time: A votação termina + start_time: A votação inicia errors: models: answer: attributes: attachment: needs_to_be_reattached: Necessita de ser recolocado + trustee: + attributes: + name: + cant_be_changed: não pode ser alterado + public_key: + cant_be_changed: não pode ser alterado activerecord: + errors: + models: + decidim/votings/polling_officer: + attributes: + presided_polling_station: + president_and_manager: O oficial de votação já é um presidente/gestor da secção de voto + voting: + different_organization: A votação deve estar na mesma organização que o utilizador + decidim/votings/polling_station: + attributes: + polling_station_president: + different_voting: O oficial de voto deve estar na mesma votação que a secção de voto models: decidim/elections/answer: one: Resposta @@ -32,7 +54,33 @@ pt: decidim/elections/question: one: Pergunta other: Perguntas + decidim/votings/polling_officer: + one: Oficial de votação + other: Oficiais de votação + decidim/votings/polling_station: + one: Secção de voto + other: Secções de voto + decidim/votings/voting: + one: Votação + other: Votações decidim: + admin: + filters: + officers_assigned_eq: + label: Oficiais + values: + assigned: Atribuído + unassigned: Não atribuído + role_eq: + label: Papel + values: + manager: Gestor + president: Presidente + unassigned: Não atribuído + search_placeholder: + name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Pesquisar %{coleção} pelo nome/email/alcunha ou posto de votação. + ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont + : Pesquisar %{coleção} por título, endereço ou nome do oficial/email/alcunha. components: elections: actions: @@ -48,7 +96,11 @@ pt: confirm_destroy: Tem a certeza? destroy: Destruir edit: Editar + feedback: Retorno dos eleitores import: Importar propostas para perguntas + manage_answers: Gerir as respostas + manage_questions: Gerir as perguntas + manage_steps: Gerir as etapas new: Novo %{name} preview: Pré-visualizar publish: Publicar @@ -66,10 +118,19 @@ pt: title: Editar resposta update: Atualizar resposta index: + invalid_max_selections: Você precisa de %{missing_answers} mais resposta/s para corresponder às selecções máximas title: Respostas new: create: Criar resposta title: Nova resposta + select: + disable: Resposta não seleccionada + enable: Marcar resposta como seleccionada + invalid: Houve um problema ao seleccionar esta resposta + success: Resposta seleccionada com êxito + unselect: + invalid: Houve um problema ao desseleccionar esta resposta + success: Resposta desseleccionada com êxito update: invalid: Ocorreu um problema ao atualizar esta resposta success: Resposta atualizada corretamente @@ -84,6 +145,7 @@ pt: title: Editar eleição update: Atualizar eleição index: + no_bulletin_board: Não há nenhum servidor do Quadro Informativo configurado, o que é necessário para usar este módulo. title: Eleições new: create: Criar eleição @@ -95,6 +157,9 @@ pt: update: invalid: Ocorreu um problema ao atualizar esta eleição success: Eleição atualizada corretamente + exports: + elections: Eleições + feedback_form_answers: Respostas do formulário de retroacção models: answer: name: Resposta @@ -102,6 +167,8 @@ pt: name: Eleição question: name: Pergunta + trustee: + name: Curador proposals_imports: create: invalid: Ocorreu um problema ao importar as propostas em respostas @@ -110,6 +177,7 @@ pt: create: Importar propostas para perguntas no_components: Não há outros componentes de propostas neste espaço participativo para importar as propostas em respostas. select_component: Selecione um componente + title: Importar propostas questions: create: invalid: Ocorreu um problema ao criar esta pergunta @@ -128,20 +196,147 @@ pt: update: invalid: Ocorreu um problema ao atualizar esta pergunta success: Pergunta atualizada corretamente + steps: + create_election: + errors: + max_selections: As perguntas não têm um valor correcto para quantidade de respostas + minimum_answers: As perguntas devem ter pelo menos duas respostas. + minimum_questions: A eleição deve ter pelo menos uma pergunta. + published: A eleição não está publicada. + time_before: A hora de início é menos de 3 horas antes do início da eleição. + trustees_number: O espaço participativo deve ter pelo menos %{número} curadores com chave pública. + invalid: Houve um problema ao configurar esta eleição. + no_trustees: Não há curadores configurados para este espaço participativo + not_used_trustee: "(não utilizado)" + public_key: + 'false': não tem uma chave pública + 'true': tem uma chave pública + requirements: + max_selections: Todas as perguntas têm um valor correcto para máximo de respostas. + minimum_answers: As perguntas devem ter pelo menos duas respostas. + minimum_questions: A eleição tem pelo menos 1 pergunta. + published: A eleição está publicada. + time_before: A configuração está a ser feita pelo menos %{hours} horas antes do início da eleição. + trustees_number: O espaço participativo tem pelo menos %{número} curadores com chave pública. + submit: Configurar eleição + success: Eleição enviada com sucesso para o Quadro Informativo + title: Configurar eleição + trustees: Curadores da eleição + created: + invalid: Houve um problema ao iniciar a cerimónia principal + submit: Iniciar a cerimónia principal + success: Cerimónia-chave inicial foi enviada com êxito para o Quadro Informativo + title: Eleição criada + trustees: Curadores + key_ceremony: + title: Cerimónia-chave + trustees: Curadores + key_ceremony_ended: + errors: + time_before: A eleição está pronta para começar. Tem de esperar até %{hours} horas antes da hora de início (%{start_time}) para abrir o período de votação. + invalid: Houve um problema ao abrir o período da votação + requirements: + time_before: A eleição começa em breve. Pode abrir o período de votação manualmante, ou será aberto automaticamente antes da hora de início, às %{start_time}. + submit: Abrir período de votação + success: Pedido para abertura do período de votação enviado com êxito para o Quadro Informativo + title: Pronto para começar + processing: A processar... + results_published: + title: Resultados publicados + tally: + title: Processo de contagem + trustees: Curadores + tally_ended: + submit: Publicar resultados + vote: + errors: + time_after: A eleição ainda está a decorrer. Tem que esperar até à hora de fecho (%{end_time}) para poder fechar o período de votação. + invalid: Houve um problema ao fechar o período da votação + requirements: + time_after: A eleição terminou. Pode fechar manualmente o período de votação ou este terminará automaticamente em alguns minutos. + submit: Fechar período de votação + success: Pedido para fecho do período de votação enviado com êxito para o Quadro Informativo + title: Período de votação + vote_ended: + invalid: Houve um problema ao começar a contagem + submit: Começar a contagem + success: Pedido começar a contagem enviado com êxito para o Quadro Informativo + title: Período de votação terminou + vote_stats: + no_vote_statistics_yet: Ainda não há estatísticas da votação + title: Estatísticas da votação + voters: Eleitores + votes: Votos + trustees_participatory_spaces: + actions: + disable: Desativar + enable: Considerar + create: + exists: Existe curador para este espaço participativo + invalid: Houve um problema ao criar um curador + success: Curador criado com êxito + delete: + invalid: Houve um problema ao remover este curador + success: Curador removido com êxito + form: + select_user: Seleccionar o utilizador + index: + title: Curadores + new: + create: Criar curador + title: Novo curador + update: + invalid: Houve um problema ao actualizar o curador %{trustee} + success: Curador %{trustee} actualizado com êxito admin_log: election: publish: "%{user_name} publicou a eleição %{resource_name}" unpublish: "%{user_name} removeu a publicação da eleição %{resource_name}" + election_m: + badge_name: + finished: Terminado + ongoing: Activo + upcoming: Seguinte + end_date: Termina + footer: + view: Visualizar + vote: Votar + label: + date: Datas + questions: Perguntas %{contagem} + start_date: Inicia + unspecified: Não especificado elections: count: elections_count: one: "%{count} eleição" other: "%{count} eleições" + filters: + active: Activo + all: Todos + search: Pesquisar + state: Estado + filters_small_view: + close_modal: Fechar o modal + filter: Filtro + filter_by: Filtrar por + unfold: Desdobrar + preview: + title: Questões da eleição + results: + selected: Seleccionado + title: Resultados da eleição show: + back: Eleições disponíveis preview: Pré-visualizar voting_period_status: finished: A votação começou em %{start_time} e terminou em %{end_time} + ongoing: 'Votação ativa até: %{end_time}' upcoming: A votação começa em %{start_time} + feedback: + answer: + spam_detected: Houve um problema ao responder ao formulário. Talvez tenha sido rápido demais, pode tentar outra vez? + success: Retorno enviado com sucesso. models: answer: fields: @@ -149,6 +344,7 @@ pt: title: Título election: fields: + bb_status: Estado do Quadro Informativo end_time: Termina às start_time: Inicia às title: Título @@ -157,6 +353,70 @@ pt: answers: Respostas max_selections: Máx. de seleções title: Título + trustees_participatory_space: + fields: + considered: considerado + inactive: inactivo + name: Nome + notification: Notificação enviada às + public_key: Chave pública + status: Estado + orders: + label: Ordenar eleições por + older: Menos recentes + recent: Mais recentes + trustee_zone: + elections: + backup_modal: + description: Esta eleição está a ser criada no Quadro Informativo. É muito importante que todos os seus Curadores criem uma cópia de segurança destas chaves e as guardem num lugar seguro. Após isso o processo continua. + download_election_keys: Descarregar chaves + download_icon: Ícone que indica uma acção de descarregar + title: Chaves %{eleição} em cópia de segurança + key_ceremony_steps: + back: Recuar + description: Esta eleição está a ser criada no Quadro Informativo. Para completar este precesso a sua participação com Curador é necessária. + keys: + create_election: Geração de chaves + key_ceremony: + joint_election_key: Geração de chaves conjunta + step_1: Publicação de chaves + list: + status: Estado + task: Tarefa + process_warning: Uma vez o processo é iniciado, você não deve sair desta página até que o processo termine. Pode demorar vários minutos, visto que os Curadores todos os curadores devem estar ligados para completá-lo. + start: Início + start_icon: Ícone que indica um botão de início para iniciar a geração de chaves eleitorais + status: + completed: Completo + pending: Pendente + processing: A processar + title: Criar chaves de eleição para %{election} + restore_modal: + upload_icon: Ícone que indica uma acção de descarregar + tally_steps: + back: Recuar + list: + status: Estado + task: Tarefa + process_warning: Uma vez o processo é iniciado, você não deve sair desta página até que o processo termine. Pode demorar vários minutos, visto que os Curadores todos os curadores devem estar ligados para completá-lo. + start: Início + start_icon: Ícone que indica um botão de início para iniciar a geração de chaves eleitorais + status: + completed: Completo + pending: Pendente + processing: A processar + trustees: + show: + elections: + list: + action_required: + 'false': 'Não' + bb_status: Estado + election: Eleição + voting_period: Período de votação + title: Eleições + identification_keys: + cancel: Cancelar votes: confirm: answer: Responder @@ -187,6 +447,7 @@ pt: proposal_header: 'Propostas:' new: more_information: Mais informações + nota_option: Branco / Nenhum dos itens acima preview_alert: Isto é uma pré-visualização da cabina de voto. question_steps: Questão %{current_step} de %{total_steps} selections: "%{selected} de %{max_selections}
    seleções" @@ -200,6 +461,8 @@ pt: email_outro: Recebeu esta notificação porque segue %{participatory_space_title}. Pode parar de receber notificações seguindo a hiperligação anterior. email_subject: A eleição %{resource_title} está agora ativa em %{participatory_space_title}. notification_title: A eleição %{resource_title} está agora ativa em %{participatory_space_title}. + menu: + votings: Votações pages: home: statistics: @@ -208,13 +471,165 @@ pt: statistics: elections_count: Eleições votings: + admin: + content_blocks: + landing_page: + stats: + name: Estatísticas da votação + landing_page: + content_blocks: + edit: + update: Actualizar + edit: + active_content_blocks: Blocos de conteúdo activos + inactive_content_blocks: Blocos de conteúdo inactivos + menu: + votings: Votações + votings_submenu: + attachment_collections: Pastas + attachment_files: Ficheiros + attachments: Anexos + components: Componentes + info: Informação + landing_page: Página de entrada + polling_officers: Oficiais de votação + polling_stations: Secções de voto + models: + monitoring_committee_member: + fields: + name: Nome + polling_officer: + fields: + name: Nome + name: Oficiais de votação + polling_station: + fields: + address: Endereço + polling_station_managers: Gestor + polling_station_president: Presidente + title: Título + name: Secções de voto + voting: + fields: + created_at: Criado em + promoted: Realçado + published: Publicado + title: Título + monitoring_committee_members: + form: + existing_user: Participante existente + user_type: Tipo de participante + new: + create: Criar + polling_officers: + form: + existing_user: Participante existente + user_type: Tipo de participante + index: + role_manager: Gestor + role_president: Presidente + title: Oficiais de votação + new: + create: Criar + polling_stations: + index: + title: Secções de voto + new: + create: Criar + titles: + votings: Votações + votings: + actions: + confirm_destroy: Tem a certeza? + destroy: Destruir + unpublish: Remover publicação + create: + invalid: Houve um problema ao actualizar esta votação + form: + title: Título + voting_type: + online: On-line + new: + create: Criar + publish: + success: Publicação da votação retirada com êxito + unpublish: + success: Publicação da votação retirada com êxito + update: + invalid: Houve um problema ao actualizar esta votação + admin_log: + voting: + create: "%{user_name} publicou a votação%{resource_name}" + publish: "%{user_name} publicou a votação%{resource_name}" + unpublish: "%{user_name} publicou a votação%{resource_name}" + monitoring_committee_members: + actions: + confirm_destroy: Tem a certeza? + destroy: Eliminar polling_officer_zone: + menu: + polling_officer_zone: Zona do Oficial de Votação polling_officers: show: polling_stations: list: actions: Ações + address: Endereço + name: Nome + title: Secções de voto + polling_officers: + actions: + confirm_destroy: Tem a certeza? + destroy: Eliminar + new: Novo + title: Acções + roles: + manager: Gestor + president: Presidente + unassigned: Não atribuído + polling_stations: + actions: + confirm_destroy: Tem a certeza? + destroy: Eliminar + edit: Editar + new: Novo + title: Acções + votings: + count: + title: + one: "%{count} votos" + other: "%{count} votos" + filters: + active: Activo + all: Todos + search: Pesquisar + state: Estado + filters_small_view: + close_modal: Fechar o modal + filter: Filtro + filter_by: Filtrar por + unfold: Desdobrar + index: + title: Votações + orders: + recent: Mais recente + show: + dates: Datas + votings_m: + badge_name: + finished: Terminado + footer_button_text: + participate: Participantes + view: Visualizar + vote: Votar + unspecified: Não especificado + voting_type: + online: On-line layouts: decidim: election_votes_header: exit: Sair + votings: + promoted_voting: + more_info: Mais informações + vote: Votar diff --git a/decidim-elections/config/locales/sv.yml b/decidim-elections/config/locales/sv.yml index 8ba42ba63e20d..d2cc5dd5fcb82 100644 --- a/decidim-elections/config/locales/sv.yml +++ b/decidim-elections/config/locales/sv.yml @@ -76,6 +76,7 @@ sv: destroy: Förstör edit: Redigera import: Importera förslag till svar + manage_steps: Hanterade steg new: Ny %{name} preview: Förhandsgranska publish: Publicera @@ -317,6 +318,8 @@ sv: encrypting: header: Kodar omröstning... text: Din röst krypteras så att du kan skicka den anonymt. + failed: + header: Röst ej framgångsrik header: confirm: Bekräfta din röst confirmed: Rösta bekräftad @@ -498,6 +501,7 @@ sv: hybrid: Hybrid in_person: Fysisk online: Online + voting_types_label: Rösttyp layouts: decidim: election_votes_header: diff --git a/decidim-forms/config/locales/pt.yml b/decidim-forms/config/locales/pt.yml index 221674df7314f..83e9b53cece35 100644 --- a/decidim-forms/config/locales/pt.yml +++ b/decidim-forms/config/locales/pt.yml @@ -3,15 +3,22 @@ pt: attributes: answer: body: Responder + choices: Escolhas + selected_choices: Escolhas seleccionadas question: max_choices: Número máximo de escolhas question_type: Tipo questionnaire_question: mandatory: Obrigatório + max_characters: Limite de caracteres (deixar para 0 se não houver limite) errors: models: answer: attributes: + add_documents: + needs_to_be_reattached: Precisa de ser reanexado + body: + too_long: é demasiado longo choices: missing: não estão completos too_many: são demasiados @@ -76,6 +83,7 @@ pt: collapse: Colapsar todas as questões expand: Expandir todas as questões preview: Pré-visualizar + title: Editar formulário para %{questionnaire_for} unpublished_warning: O formulário não está publicado. Pode modificar as suas questões, mas essa ação eliminará as respostas atuais. matrix_row: matrix_row: Linha @@ -102,6 +110,7 @@ pt: up: Acima update: invalid: Ocorreu um problema ao guardar o questionário. + success: Formulário guardado com êxito errors: answer: body: O corpo não pode ficar em branco @@ -114,6 +123,7 @@ pt: resize_and_pad: Redimensionada e ajustada para resize_to_fit: Redimensionada para caber question_types: + files: Ficheiros long_answer: Resposta longa matrix_multiple: Matriz (Escolha múltipla) matrix_single: Matriz (Escolha única) diff --git a/decidim-initiatives/config/locales/pt.yml b/decidim-initiatives/config/locales/pt.yml index 16bb81e867e1c..ad44cdcb5a60a 100644 --- a/decidim-initiatives/config/locales/pt.yml +++ b/decidim-initiatives/config/locales/pt.yml @@ -65,6 +65,18 @@ pt: actions: new_initiative_type: Novo tipo de iniciativa filters: + initiatives: + decidim_area_id_eq: + label: Área + state_eq: + label: Estado + values: + accepted: Assinaturas suficientes + created: Criado + published: Publicado + rejected: Assinaturas insuficientes + type_id_eq: + label: Tipo search_placeholder: title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Pesquisar %{collection} por título, descrição, ID ou nome do autor. menu: @@ -101,6 +113,7 @@ pt: initiative_title: Título da iniciativa name_and_surname: Nome e apelido postal_code: Código postal + scope: Âmbito time_and_date: Hora e data timestamp: Data e hora titles: @@ -119,6 +132,11 @@ pt: email_outro: Recebeu esta notificação porque segue %{resource_title}. Pode parar de receber notificações seguindo a hiperligação anterior. email_subject: Data final das assinaturas da iniciativa foi estendida! notification_title: A data final das assinaturas da iniciativa %{resource_title} foi estendida. + initiative_sent_to_technical_validation: + email_intro: A iniciativa "%{resource_title}" foi enviada para validação técnica. Consulte-a no painel de administrador + email_outro: Recebeu esta notificação porque é administrador da plataforma. + email_subject: A iniciativa "%{resource_title}" foi enviada para validação técnica. + notification_title: A iniciativa "%{resource_title}" foi enviada para validação técnica. Consulte-a no painel de administrador milestone_completed: affected_user: email_intro: A sua iniciativa %{resource_title} alcançou os %{percentage}% de assinaturas! @@ -182,6 +200,7 @@ pt: edit: accept: Aceitar iniciativa confirm: Tem a certeza? + confirm_send_to_technical_validation: Tem a certeza? discard: Descartar a iniciativa export_pdf_signatures: Exportar PDF de assinaturas export_votes: Exportar assinaturas @@ -190,6 +209,7 @@ pt: success: A iniciativa foi enviada para validação técnica update: Atualizar form: + attachments: Anexos title: Informação geral index: actions_title: Ação @@ -314,6 +334,12 @@ pt: compare_help: Se alguma das seguintes iniciativas for semelhante à sua, incentivamos-o(a) a apoiá-la. A sua proposta terá mais possibilidades de ser feita. continue: A minha iniciativa é diferente more_information: "(Mais informações)" + edit: + confirm: Tem a certeza? + discard: Descartar a iniciativa + export_pdf_signatures: Exportar PDF de assinaturas + export_votes: Exportar assinaturas + reject: Rejeitar iniciativa events: create_initiative_event: email_intro: "%{author_name} %{author_nickname}, que você segue, criou uma nova iniciativa, confira e contribua:" @@ -325,6 +351,9 @@ pt: email_outro: Recebeu esta notificação porque segue %{author_nickname}. Pode parar de receber notificações seguindo a hiperligação anterior. email_subject: Iniciativa endossada por %{author_nickname} notification_title: A iniciativa %{resource_title} foi endossada por %{author_name} %{author_nickname}. + form: + add_attachments: Documentos + delete_attachment: Eliminar index: title: Iniciativas initiative_signatures: @@ -361,6 +390,13 @@ pt: hidden_authors_count: one: e mais 1 pessoa other: e mais %{count} pessoas + committee_members: + approve: Aprovar + confirm_revoke: Tem a certeza? + invite_to_committee_help: Partilhe esta hiperligação para convidar outros participantes para o comité promotor + no_members_yet: Não há membros no comité promotor + revoke: Revogar + title: Membros do Comité count: title: one: "%{count} iniciativa" @@ -399,11 +435,18 @@ pt: recent: Mais recente recently_published: Publicado mais recentemente print: + address: Endereço city: Cidade + initiative: + description: 'Descrição' + title: 'Título' + print: Impressão result: initiative_rejected_reason: Esta iniciativa foi rejeitada devido à falta de assinaturas. show: + edit: Editar follow_description: Receber uma notificação quando houverem notícias nesta iniciativa + send_to_technical_validation: Enviar para validação técnica signatures_count: one: " assinatura" other: " assinaturas" @@ -449,6 +492,9 @@ pt: accepted: Aceite expired: Expirado unavailable_scope: Âmbito não disponível + update: + error: Ocorreu um erro + success: A iniciativa foi atualizada corretamente versions: shared: back_to_resource: Retroceder para a iniciativa @@ -463,6 +509,7 @@ pt: decidim: admin: initiative: + attachments: Anexos committee_members: Membros do Comité components: Componentes information: Informação diff --git a/decidim-meetings/config/locales/pt.yml b/decidim-meetings/config/locales/pt.yml index cab29db5c2d5f..38b63130f95b8 100644 --- a/decidim-meetings/config/locales/pt.yml +++ b/decidim-meetings/config/locales/pt.yml @@ -30,6 +30,7 @@ pt: start_time: Hora de início title: Título transparent: Transparente + type_of_meeting: Tipo minutes: description: Descrição visible: Está visível @@ -86,6 +87,7 @@ pt: default_registration_terms: Termos de registo predefinidos enable_pads_creation: Ativar criação de blocos resources_permissions_enabled: As permissões de ações podem ser definidas para cada reunião + scope_id: Âmbito step: announcement: Anúncio comments_blocked: Comentários bloqueados @@ -198,6 +200,7 @@ pt: invalid: Ocorreu um problema ao atualizar esta agenda success: Agenda atualizada corretamente exports: + meeting_comments: Comentários meetings: Reuniões registrations: Registos invite_join_meeting_mailer: @@ -245,6 +248,7 @@ pt: other: A reunião não pode ser destruída porque tem %{count} propostas associadas success: Reunião eliminada corretamente edit: + title: Editar reunião update: Atualizar form: address_help: 'Endereço: utilizado por Geocoder para encontrar a localização' @@ -342,6 +346,7 @@ pt: space_type: Espaço participativo upcoming: Próximas last_activity: + meeting_updated_at_html: "Proposta actualizada em %{link}" new_meeting_at_html: "Nova reunião em %{link}" mailer: invite_join_meeting_mailer: @@ -352,6 +357,11 @@ pt: subject: O seu registo da reunião foi confirmado meeting: not_allowed: Não tem permissão para ver esta reunião + meeting_closes: + edit: + back: Recuar + close: Encerrar reunião + title: Encerrar reunião meetings: count: meetings_count: @@ -365,6 +375,8 @@ pt: title: Editar a Sua Reunião update: Atualizar filters: + activity: A minha atividade + all: Todos category: Categoria date: Data date_values: @@ -379,6 +391,11 @@ pt: user_groups: Grupos scope: Âmbito search: Pesquisar + type: Tipo + type_values: + all: Todos + in_person: Presencial + online: On-line filters_small_view: close_modal: Fechar modal filter: Filtrar @@ -407,6 +424,7 @@ pt: show: attendees: Contagem de participantes back: Retroceder à lista + close_meeting: Encerrar reunião contributions: Contagem de contribuições date: Data edit_meeting: Editar reunião @@ -463,6 +481,8 @@ pt: destroy: invalid: Ocorreu um problema ao sair desta reunião. success: Saiu da reunião corretamente. + type_of_meeting: + online: On-line types: private_meeting: Reunião privada transparent: Transparente diff --git a/decidim-pages/config/locales/lb-LU.yml b/decidim-pages/config/locales/lb-LU.yml index 823df018114f4..fb03b5346d7fe 100644 --- a/decidim-pages/config/locales/lb-LU.yml +++ b/decidim-pages/config/locales/lb-LU.yml @@ -1 +1,30 @@ lb: + activerecord: + models: + decidim/pages/page: + one: Seite + other: Seiten + decidim: + admin_log: + page: + update: "%{user_name} hat die Seite %{resource_name} in %{space_name} aktualisiert" + components: + pages: + name: Seite + settings: + global: + announcement: Ankündigung + step: + announcement: Ankündigung + pages: + admin: + models: + components: + body: Haupttext + pages: + edit: + save: Aktualisieren + title: Seite bearbeiten + update: + invalid: Beim Speichern der Seite sind Fehler aufgetreten. + success: Seite erfolgreich gespeichert diff --git a/decidim-participatory_processes/config/locales/lb-LU.yml b/decidim-participatory_processes/config/locales/lb-LU.yml index 2ade52b52ceff..6704a53608d32 100644 --- a/decidim-participatory_processes/config/locales/lb-LU.yml +++ b/decidim-participatory_processes/config/locales/lb-LU.yml @@ -2,8 +2,107 @@ lb: activemodel: attributes: participatory_process: + announcement: Ukënnegung + area_id: Bereich + banner_image: Banner-Bild + copy_categories: Kategorien kopieren + copy_components: Komponenten kopieren + copy_steps: Phasen kopieren + decidim_area_id: Bereich + description: Beschreibung + developer_group: Promoter-Gruppe + domain: Domäne + end_date: Enddatum + hashtag: Hashtag + hero_image: Hauptbild + local_area: Organisationsbereich + meta_scope: Bereichs-Metadaten + participatory_process_group_id: Prozessgruppe + participatory_scope: Was wird entschieden + participatory_structure: Wie wird es entschieden + promoted: Hervorgehoben + published_at: Veröffentlicht unter + related_process_ids: Ähnliche Beteiligungsprozesse + scope_id: Themenbereich + scope_type_max_depth_id: Umfang-Filtertiefe + scopes_enabled: Themenbereiche aktiviert + short_description: Kurzbeschreibung + show_metrics: Metriken anzeigen + show_statistics: Statistiken anzeigen + slug: URL-Slug + start_date: Ufanksdatum + subtitle: Ënnertitel + target: Wer nimmt teil + title: Titel weight: Gewicht + participatory_process_group: + description: Beschreibung + developer_group: Gruppe der Unterstützer + group_url: Website + hashtag: Hashtag + hero_image: Bild + local_area: Organisationsbereich + meta_scope: Informationen zum Bereich + participatory_process_ids: Ähnliche Beteiligungsprozesse + participatory_scope: Was wird entschieden + participatory_structure: Wie wird es entschieden + target: Wer nimmt teil + title: Titel + participatory_process_step: + cta_path: '"Call to Action"-Pfad' + cta_text: Call to Action-Text + description: Beschreibung + end_date: Enddatum + short_description: Kurzbeschreibung decidim: + admin: + models: + participatory_process_step: + fields: + end_date: Enddatum + start_date: Ufanksdatum + title: Titel + name: Beteiligungsprozess Phase + participatory_process_user_role: + fields: + email: E-Mail + name: Numm + role: Rolle + name: Partizipativer Prozessbenutzer + roles: + admin: Administrator + collaborator: Mitarbeiter + moderator: Moderator + valuator: Schätzer + user: + fields: + invitation_accepted_at: Einladung akzeptiert am + invitation_sent_at: Einladung gesendet am + participatory_process_copies: + new: + copy: Kopieren + select: Wählen Sie aus, welche Daten Sie duplizieren möchten + title: Beteiligungsprozess duplizieren + participatory_process_group_landing_page: + edit: + active_content_blocks: Aktive Inhaltsblöcke + inactive_content_blocks: Inaktive Inhaltsblöcke + participatory_process_group_landing_page_content_blocks: + edit: + update: Aktualisieren + participatory_process_groups: + destroy: + error: Beim Löschen der Beteiligungsprozessgruppe ist ein Fehler aufgetreten. + success: Beteiligungsprozess erfolgreich gelöscht. + edit: + title: Prozessgruppe bearbeiten + update: Aktualisieren + new: + create: Erstellen + title: Neue Prozessgruppe + update: + error: Beim Aktualisieren dieser partizipativen Prozessgruppe ist ein Fehler aufgetreten. + success: Partizipative Prozessgruppe wurde erfolgreich aktualisiert. participatory_process_groups: content_blocks: stats: diff --git a/decidim-participatory_processes/config/locales/pt.yml b/decidim-participatory_processes/config/locales/pt.yml index 749cb51b936b0..74e1812f11179 100644 --- a/decidim-participatory_processes/config/locales/pt.yml +++ b/decidim-participatory_processes/config/locales/pt.yml @@ -36,8 +36,14 @@ pt: title: Título participatory_process_group: description: Descrição + group_url: Sítio Web hero_image: Imagem + local_area: Área de organização participatory_process_ids: Processos relacionados + participatory_scope: O que é decidido + participatory_structure: Como é decidido + target: Quem participa + title: Título participatory_process_step: cta_path: Caminho de Chamada para Ação cta_text: Texto de Call to Action @@ -93,6 +99,9 @@ pt: unpublish: Remover publicação menu: participatory_process_groups: Grupos do processo + participatory_process_groups_submenu: + info: Informação + landing_page: Página de entrada participatory_processes: Processos participatory_processes_submenu: attachment_collections: Pastas @@ -115,6 +124,8 @@ pt: title: Título name: Processo participativo participatory_process_group: + fields: + title: Título name: Grupo de processo participatory_process_step: fields: @@ -142,6 +153,10 @@ pt: copy: Copiar select: Selecione os dados que pretende duplicar title: Duplicar processo participativo + participatory_process_group_landing_page: + edit: + active_content_blocks: Blocos de conteúdo activos + inactive_content_blocks: Blocos de conteúdo inactivos participatory_process_groups: destroy: error: Ocorreu um erro ao destruir o grupo do processo Participativo. @@ -299,8 +314,25 @@ pt: related_assemblies: Reuniões relacionadas participatory_process_groups: content_blocks: + html_1: + name: Primeiro bloco HTML + html_2: + name: Segundo bloco HTML + html_3: + name: Terceiro bloco HTML + metadata: + developer_group: Promovido por + name: Metadados + participatory_scope: O que é decidido + participatory_structure: Como é decidido + target: Quem participa + participatory_processes: + name: Processos participativos stats: name: Estatísticas + title: + meta_scope: Âmbito + name: Título, descrição e hashtag show: title: Grupos do processo participativo participatory_process_steps: @@ -315,6 +347,11 @@ pt: participatory_process_copies: form: slug_help: 'Os campos de dados dinâmicos de URL são utilizados para gerar os URL que direcionam para este processo. Apenas aceitam letras, números e traços, devendo começar com uma letra. Exemplo: %{url}' + participatory_process_groups: + form: + metadata: Metadados + title: Informações gerais + visibility: Visibilidade participatory_process_imports: form: document_legend: Adicionar um documento @@ -386,6 +423,7 @@ pt: loading: Carregando os resultados... show: area: Área + belongs_to_group: Este processo pertence a dates: Datas developer_group: Grupo promotor end_date: Data final @@ -443,6 +481,8 @@ pt: more_info_about: Mais informações sobre o processo %{resource_name} take_part: Participar take_part_in: Fazer parte do processo %{resource_name} + promoted_process_group: + more_info: Mais informações process_header_steps: step: Fase %{current} de %{total} view_steps: Visualizar fases diff --git a/decidim-proposals/config/locales/fr-CA.yml b/decidim-proposals/config/locales/fr-CA.yml index 8150e7829154e..d59614efe970c 100644 --- a/decidim-proposals/config/locales/fr-CA.yml +++ b/decidim-proposals/config/locales/fr-CA.yml @@ -140,6 +140,8 @@ fr-CA: participatory_texts_enabled_readonly: Impossible d'interagir avec ce paramètre s'il y a des propositions existantes. Veuillez créer une nouvelle fonctionnalité `Propositions` si vous voulez activer cette fonctionnalité ou supprimer toutes les propositions importées dans 'Textes participatifs` si vous voulez la désactiver. proposal_answering_enabled: Autoriser la réponse officielle aux propositions proposal_edit_before_minutes: Délai (en minutes) après lequel les auteurs ne peuvent plus modifier leurs propositions + proposal_edit_time_choices: + limited: Autoriser l'édition des propositions durant un délai spécifique proposal_length: Nombre maximum de caractères du corps de la proposition proposal_limit: Limite de proposition par utilisateur proposal_wizard_step_1_help_text: Texte d'aide à l'étape "Créer" de la création de proposition diff --git a/decidim-proposals/config/locales/pt.yml b/decidim-proposals/config/locales/pt.yml index 474a568bf247a..f70c3d9e39379 100644 --- a/decidim-proposals/config/locales/pt.yml +++ b/decidim-proposals/config/locales/pt.yml @@ -27,6 +27,9 @@ pt: user_group_id: Criar proposta como proposal_answer: answer: Responder + cost: Custo + cost_report: Relatório de custo + execution_period: Período de execução proposals_copy: copy_proposals: Eu entendo que isto irá importar todas as propostas do componente selecionado para o atual e que esta ação não pode ser revertida. origin_component_id: Componente para copiar as propostas de @@ -80,6 +83,28 @@ pt: admin: filters: proposals: + category_id_eq: + label: Categoria + is_emendation_true: + label: Tipo + values: + 'false': Propostas + 'true': Revisões + scope_id_eq: + label: Âmbito + state_eq: + label: Estado + values: + accepted: Aceite + evaluating: Em avaliação + published: Publicado + rejected: Rejeitado + validating: Validação técnica + withdrawn: Retirado + state_null: + label: Estado + values: + 'true': Não respondido valuator_role_ids_has: label: Atribuído a avaliador search_placeholder: @@ -115,6 +140,10 @@ pt: participatory_texts_enabled_readonly: Não é possível interagir com esta configuração caso existam propostas. Crie um novo "Componente de propostas" caso pretenda ativar esta característica ou elimine todas as propostas importadas no menu "Textos Participativos" caso pretenda desativá-la. proposal_answering_enabled: Respostas à proposta ativadas proposal_edit_before_minutes: As propostas podem ser editadas pelos autores antes que estes minutos passem + proposal_edit_time: Edição de proposta + proposal_edit_time_choices: + infinite: Permitir editar propostas por um limite de tempo infinito + limited: Permitir edição de propostas dentro dum horizonte temporal proposal_length: Comprimento máximo do corpo da proposta proposal_limit: Limite de propostas por utilizador proposal_wizard_step_1_help_text: Texto de ajuda do passo "Criar" do Assistente de Propostas @@ -122,6 +151,7 @@ pt: proposal_wizard_step_3_help_text: Texto de ajuda do passo "Concluir" do Assistente de Propostas proposal_wizard_step_4_help_text: Texto de ajuda do passo "Publicar" do Assistente de Propostas resources_permissions_enabled: As permissões de ações podem ser definidas para cada proposta + scope_id: Âmbito threshold_per_proposal: Limiar por proposta vote_limit: Limite de voto por participante step: @@ -328,6 +358,7 @@ pt: actions: preview: Pré-visualizar exports: + proposal_comments: Comentários proposals: Propostas models: proposal: @@ -352,6 +383,7 @@ pt: accepted_mime_types: md: Anotação bottom_hint: "(Será capaz de pré-visualizar e classificar as secções do documento)" + document_legend: 'Adicionar um documento menor que 2MB, cada secção até 3 níveis de profundidade será introduzida nas propostas. Os formatos suportados são: %{valid_mime_types}' title: ADICIONAR DOCUMENTO upload_document: Enviar documento publish: @@ -392,6 +424,7 @@ pt: form: attachment_legend: "(Opcional) Adicionar um anexo" created_in_meeting: Esta proposta vem de uma reunião + delete_attachment: Apagar anexo select_a_category: Selecione uma categoria select_a_meeting: Selecione uma reunião index: @@ -466,6 +499,7 @@ pt: no_components: Não há outros componentes da proposta neste espaço participativo de onde importar as propostas. select_component: Selecione um componente select_states: Verifique os estados das propostas a importar + title: Importar propostas proposals_merges: create: invalid: Ocorreu um problema ao fundir as propostas selecionadas. @@ -618,6 +652,9 @@ pt: info: Está a criar um projeto colaborativo. wizard_header: title: Criar o seu rascunho colaborativo + content_blocks: + highlighted_proposals: + proposals: Propostas create: error: Ocorreu um problema ao guardar a proposta. success: Proposta criada corretamente. Guardado como Rascunho. @@ -626,6 +663,7 @@ pt: success: O rascunho da proposta foi eliminado corretamente. last_activity: new_proposal_at_html: "Nova proposta em %{link}" + proposal_updated_at_html: "Proposta actualizada em %{link}" models: collaborative_draft: fields: @@ -671,8 +709,13 @@ pt: one: "%{count} proposta" other: "%{count} propostas" edit: + add_documents: Documentos + add_images: Ficheiro attachment_legend: "(Opcional) Adicione um anexo" back: Voltar + delete_document: Apagar Documento + delete_image: Apagar Imagem + gallery_legend: "(Opcional) Adicionar uma imagem ao cartão da proposta" select_a_category: Por favor selecione uma categoria send: Enviar title: Editar proposta @@ -726,6 +769,8 @@ pt: view_index: see_index: Ver o índice preview: + announcement_body: A sua porposta foi guardada como rascunho. Precisa de ser publicada para aparecer no site. + announcement_title: A sua proposta ainda não foi publicada modify: Modificar a proposta proposal_edit_before_minutes: one: Poderá editar esta proposta durante o primeiro minuto após a publicação da mesma. Assim que esta janela de tempo passe, não poderá editar a proposta. diff --git a/decidim-surveys/config/locales/pt.yml b/decidim-surveys/config/locales/pt.yml index d75b0d8c9f16e..f91465eefb4bb 100644 --- a/decidim-surveys/config/locales/pt.yml +++ b/decidim-surveys/config/locales/pt.yml @@ -21,6 +21,11 @@ pt: global: announcement: Anúncio clean_after_publish: Eliminar respostas ao publicar o inquérito + ends_at: Respostas aceites até + ends_at_help: Deixar em branco se sem data específica + scope_id: Âmbito + starts_at: Respostas aceites a partir de + starts_at_help: Deixar em branco se sem data específica step: allow_answers: Permitir respostas allow_unregistered: Permitir que utilizadores não registados respondam ao inquérito diff --git a/decidim-system/config/locales/lb-LU.yml b/decidim-system/config/locales/lb-LU.yml index 823df018114f4..b1413e8cd3576 100644 --- a/decidim-system/config/locales/lb-LU.yml +++ b/decidim-system/config/locales/lb-LU.yml @@ -1 +1,8 @@ lb: + activemodel: + attributes: + oauth_application: + name: Name OAuth-Anwendung + organization_logo: Organisatiounslogo (quadratesch) + organization_name: Organisatioun + organization_url: URL der Organisatioun diff --git a/decidim-system/config/locales/pt.yml b/decidim-system/config/locales/pt.yml index 71829358d668d..5c21751f23eb0 100644 --- a/decidim-system/config/locales/pt.yml +++ b/decidim-system/config/locales/pt.yml @@ -1,4 +1,10 @@ pt: + activemodel: + attributes: + oauth_application: + organization_name: Organização + organization: + from_email: Endereço de e-mail decidim: system: actions: @@ -41,6 +47,10 @@ pt: name: Administrador validations: email_uniqueness: já existe outro administrador com o mesmo e-mail + oauth_application: + fields: + created_at: Criado em + organization_name: Organização organization: actions: save_and_invite: Criar organização e convidar administrador @@ -50,6 +60,13 @@ pt: omniauth_settings: Configurações Omniauth smtp_settings: Configurações SMTP name: Organização + oauth_applications: + create: + error: Houve um problema ao criar este modelo. + index: + confirm_delete: Tem a certeza que quer eliminar este identificador? + update: + error: Houve um problema ao actualizar esta votação organizations: create: error: Ocorreu um problema ao criar uma nova organização. diff --git a/decidim-templates/config/locales/pt.yml b/decidim-templates/config/locales/pt.yml index 9cbe1f038722e..988edea189013 100644 --- a/decidim-templates/config/locales/pt.yml +++ b/decidim-templates/config/locales/pt.yml @@ -1 +1,67 @@ pt: + activemodel: + attributes: + questionnaire: + title: Título + template: + description: Descrição + name: Nome + decidim: + admin: + menu: + templates: Modelos + templates: + apply: + error: Houve um problema ao aplicar este modelo + success: Modelo aplicado com êxito + copy: + error: Houve um problema ao copiar este modelo + success: Modelo copiado com êxito + create: + error: Houve um problema ao criar este modelo. + success: Modelo criado com êxito + destroy: + success: Modelo eliminado com êxito + empty: Ainda não há modelos. + update: + error: Houve um problema ao actualizar este modelo. + success: Modelo actualizado com êxito + titles: + template_types: + questionnaires: Modelos de questionário + templates: Modelos + models: + questionnaire_template: + fields: + questions: Número de questões + title: Título do questionário + template: + fields: + created_at: Criado em + name: Modelo + templates: + admin: + questionnaire_templates: + choose: + create_from_template: Criar a partir do modelo + description: Está prestes a criar um novo questionário. Pode escolher um modelo predefinido e modificá-lo posteriormente. + label: Escolher modelo + placeholder: Escolher modelo + skip_template: Saltar + edit: + edit: Editar + empty: Ainda não há questões + questionnaire: Questionário + form: + save: Guardar + template_title: Informação do modelo + title: Modelo de questionário %{questionnaire_for} + index: + confirm_delete: Tem a certeza que quer apagar este modelo? + title: Modelos de questionário + preview: + current_step: Passo %{step} + of_total_steps: De %{total_steps} + tos_agreement: Ao participar aceita as Condições de Serviço + template_types: + questionnaires: Questionários diff --git a/decidim-templates/config/locales/sv.yml b/decidim-templates/config/locales/sv.yml index 9ab7503cdf031..fe53e36087a62 100644 --- a/decidim-templates/config/locales/sv.yml +++ b/decidim-templates/config/locales/sv.yml @@ -1,4 +1,11 @@ sv: + activemodel: + attributes: + questionnaire: + title: Titel + template: + description: Beskrivning + name: Namn decidim: admin: menu: diff --git a/decidim-verifications/config/locales/pt.yml b/decidim-verifications/config/locales/pt.yml index 6d5ad2bba1d92..7988c4d982948 100644 --- a/decidim-verifications/config/locales/pt.yml +++ b/decidim-verifications/config/locales/pt.yml @@ -34,8 +34,16 @@ pt: confirm: As autorizações do tipo "Revogar antes de data" não podem ser anuladas. Tem a certeza de que pretende continuar? confirm_all: A opção de revogar todas as autorizações não pode ser anulada. Tem a certeza de que pretende continuar? destroy_nok: Ocorreu um problema ao revogar as autorizações. + destroy_ok: Todas as autorizações correspondentes foram revogadas com êxito. info: Existe um total de %{count} participantes verificados. no_data: Não existem participantes verificados + title: Revogação de autorizações + authorization_workflows: Autorizações + admin_log: + organization: + update_id_documents_config: "%{user_name} actualizou a configuração da autorização de Documentos de Identidade" + user: + grant_id_documents_offline_verification: "%{user_name} verificou %{resource_name} usando autorização de Documentos de Identidade offline" authorization_handlers: admin: csv_census: @@ -67,6 +75,10 @@ pt: postal_letter: explanation: Enviaremos-lhe uma carta postal com um código que terá que inserir para que possamos verificar o seu endereço name: Código por carta postal + events: + verifications: + verify_with_managed_user: + notification_title: O participante %{resource_title} tentou verificar-se com os dados do participante gerido >%{managed_user_name} verifications: authorizations: authorization_metadata: @@ -123,6 +135,7 @@ pt: title: Dados do censo atual instructions: body: Para fazer isto, deverá entrar na administração do sistema e adicionar as autorizações csv_census à organização + title: Você precisa ativar o recenseamento CSV para esta organização new: file: "ficheiro .csv com dados de e-mails" info: 'Deverá ser um ficheiro em formato CSV com apenas uma coluna com o endereço de e-mail:' @@ -138,6 +151,10 @@ pt: one: A participação é restrita aos participantes com o código postal %{postal_codes}. other: 'A participação é restrita aos participantes com qualquer um dos seguintes códigos postais: %{postal_codes}.' scope: A participação é restrita aos participantes com o âmbito %{scope_name}. + user_postal_codes: + one: A participação é restrita aos participantes com o código postal %{postal_codes}, e seu código postal é %{user_postal_code}. + other: 'A participação é restrita aos participantes com um dos códigos postais seguintes: %{postal_codes}. O seu código postal é %{user_postal_code}.' + user_scope: A participação é restrita aos participantes com o âmbito %{scope_name}, e seu âmbito é %{user_scope_name}. id_documents: admin: config: From 087a9f425024037fb4c6b85d092c2ade94fdc759 Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Wed, 8 Sep 2021 11:18:55 +0300 Subject: [PATCH 57/71] Backport "Fix invalid i18n values for diff changeset" to v0.24 (#8306) --- .../decidim/log/diff_changeset_calculator.rb | 9 ++- .../log/diff_changeset_calculator_spec.rb | 66 +++++++++++++++++++ 2 files changed, 73 insertions(+), 2 deletions(-) diff --git a/decidim-core/app/services/decidim/log/diff_changeset_calculator.rb b/decidim-core/app/services/decidim/log/diff_changeset_calculator.rb index 96e905bc62b83..2ec2aa8d13df0 100644 --- a/decidim-core/app/services/decidim/log/diff_changeset_calculator.rb +++ b/decidim-core/app/services/decidim/log/diff_changeset_calculator.rb @@ -75,9 +75,14 @@ def calculate_changeset(attribute, values, type) # # Returns an array of hashes. def generate_i18n_changeset(attribute, values, type) - values.map! { |value| value.is_a?(String) ? JSON.parse(value) : value } + values.map! do |value| + value = value.is_a?(String) ? JSON.parse(value) : value + value.is_a?(Hash) ? value : { I18n.default_locale.to_s => value } + rescue JSON::ParserError + { I18n.default_locale.to_s => value } + end - locales = values[0].to_h.keys | values[1].to_h.keys + locales = values[0].keys | values[1].keys locales.flat_map do |locale| previous_value = values.first.try(:[], locale) new_value = values.last.try(:[], locale) diff --git a/decidim-core/spec/services/decidim/log/diff_changeset_calculator_spec.rb b/decidim-core/spec/services/decidim/log/diff_changeset_calculator_spec.rb index d2a3d8b3eada7..5ef541d62a940 100644 --- a/decidim-core/spec/services/decidim/log/diff_changeset_calculator_spec.rb +++ b/decidim-core/spec/services/decidim/log/diff_changeset_calculator_spec.rb @@ -129,6 +129,72 @@ ] end end + + context "when the i18n values are strings" do + let(:changeset) do + { + field: %w(Foo Bar) + } + end + + it "calculates the changeset for the default locale" do + expect(subject).to eq [ + { + attribute_name: :field, + label: "My field (English)", + previous_value: "Foo", + new_value: "Bar", + type: :i18n + } + ] + end + end + + context "when the i18n values are JSON formatted strings" do + let(:changeset) do + { + field: [ + '"Foo"', + '"Bar"' + ] + } + end + + it "calculates the changeset for the default locale" do + expect(subject).to eq [ + { + attribute_name: :field, + label: "My field (English)", + previous_value: "Foo", + new_value: "Bar", + type: :i18n + } + ] + end + end + + context "when the i18n values are symbols" do + let(:changeset) do + { + field: [ + :foo, + :bar + ] + } + end + + it "calculates the changeset for the default locale" do + expect(subject).to eq [ + { + attribute_name: :field, + label: "My field (English)", + previous_value: :foo, + new_value: :bar, + type: :i18n + } + ] + end + end end context "when fields mapping is empty" do From 44dd6d64defef6fec2f9de78092079cca2e7d82d Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Tue, 21 Sep 2021 16:00:07 +0200 Subject: [PATCH 58/71] New Crowdin updates (#8301) * New translations en.yml (Japanese) * New translations en.yml (French) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (French) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Galician) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Portuguese) * New translations en.yml (Polish) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Turkish) * New translations en.yml (Dutch) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Czech) * New translations en.yml (Italian) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (French, Canada) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (French, Canada) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (French, Canada) * New translations en.yml (French, Canada) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (French) * New translations en.yml (French, Canada) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) --- decidim-accountability/config/locales/eu.yml | 47 + decidim-accountability/config/locales/lb.yml | 246 +++ .../config/locales/ro-RO.yml | 2 +- decidim-admin/config/locales/eu.yml | 55 +- decidim-admin/config/locales/fr-CA.yml | 3 + decidim-admin/config/locales/fr.yml | 3 + decidim-admin/config/locales/lb.yml | 993 ++++++++++ decidim-admin/config/locales/pt.yml | 8 + decidim-assemblies/config/locales/lb.yml | 395 ++++ decidim-assemblies/config/locales/pt.yml | 7 + decidim-blogs/config/locales/lb.yml | 85 + decidim-blogs/config/locales/pt.yml | 8 +- decidim-budgets/config/locales/lb.yml | 285 +++ decidim-budgets/config/locales/pt.yml | 4 + decidim-comments/config/locales/lb.yml | 137 ++ decidim-comments/config/locales/pt.yml | 22 +- decidim-conferences/config/locales/fr-CA.yml | 14 + decidim-conferences/config/locales/fr.yml | 14 + decidim-conferences/config/locales/lb.yml | 530 ++++++ decidim-conferences/config/locales/pl.yml | 2 + decidim-conferences/config/locales/pt.yml | 25 + decidim-consultations/config/locales/lb.yml | 287 +++ decidim-consultations/config/locales/pt.yml | 3 + decidim-core/config/locales/eu.yml | 6 +- decidim-core/config/locales/fr-CA.yml | 4 + decidim-core/config/locales/fr.yml | 4 + decidim-core/config/locales/lb.yml | 1681 +++++++++++++++++ decidim-core/config/locales/pt.yml | 54 +- decidim-core/config/locales/ro-RO.yml | 10 +- decidim-debates/config/locales/lb.yml | 134 ++ decidim-debates/config/locales/pt.yml | 33 + decidim-dev/config/locales/lb.yml | 1 + decidim-elections/config/locales/cs.yml | 2 +- decidim-elections/config/locales/eu.yml | 11 + decidim-elections/config/locales/fr-CA.yml | 20 + decidim-elections/config/locales/fr.yml | 20 + decidim-elections/config/locales/it.yml | 2 +- decidim-elections/config/locales/ja.yml | 16 + decidim-elections/config/locales/lb.yml | 41 + decidim-elections/config/locales/nl.yml | 1 + decidim-elections/config/locales/pt-BR.yml | 4 +- decidim-elections/config/locales/pt.yml | 257 +++ decidim-elections/config/locales/ro-RO.yml | 4 + decidim-elections/config/locales/tr-TR.yml | 5 + decidim-forms/config/locales/eu.yml | 2 + decidim-forms/config/locales/lb.yml | 178 ++ decidim-forms/config/locales/pt.yml | 2 +- decidim-initiatives/config/locales/lb.yml | 482 +++++ decidim-initiatives/config/locales/pt.yml | 73 + decidim-meetings/config/locales/gl.yml | 3 + decidim-meetings/config/locales/lb.yml | 388 ++++ decidim-meetings/config/locales/pt.yml | 30 + decidim-pages/config/locales/lb.yml | 30 + decidim-pages/config/locales/pt.yml | 4 +- .../config/locales/lb.yml | 324 ++++ .../config/locales/pt.yml | 21 +- .../config/locales/ro-RO.yml | 10 +- decidim-proposals/config/locales/fr-CA.yml | 2 + decidim-proposals/config/locales/fr.yml | 2 + decidim-proposals/config/locales/lb.yml | 43 + decidim-proposals/config/locales/pt.yml | 17 +- decidim-sortitions/config/locales/lb.yml | 1 + decidim-surveys/config/locales/lb.yml | 66 + decidim-surveys/config/locales/pt.yml | 1 + decidim-system/config/locales/lb.yml | 8 + decidim-system/config/locales/pt.yml | 66 + decidim-templates/config/locales/lb.yml | 1 + decidim-templates/config/locales/pt.yml | 2 +- decidim-verifications/config/locales/lb.yml | 5 + decidim-verifications/config/locales/pt.yml | 32 +- 70 files changed, 7199 insertions(+), 79 deletions(-) create mode 100644 decidim-accountability/config/locales/lb.yml create mode 100644 decidim-admin/config/locales/lb.yml create mode 100644 decidim-assemblies/config/locales/lb.yml create mode 100644 decidim-blogs/config/locales/lb.yml create mode 100644 decidim-budgets/config/locales/lb.yml create mode 100644 decidim-comments/config/locales/lb.yml create mode 100644 decidim-conferences/config/locales/lb.yml create mode 100644 decidim-consultations/config/locales/lb.yml create mode 100644 decidim-core/config/locales/lb.yml create mode 100644 decidim-debates/config/locales/lb.yml create mode 100644 decidim-dev/config/locales/lb.yml create mode 100644 decidim-elections/config/locales/lb.yml create mode 100644 decidim-forms/config/locales/lb.yml create mode 100644 decidim-initiatives/config/locales/lb.yml create mode 100644 decidim-meetings/config/locales/lb.yml create mode 100644 decidim-pages/config/locales/lb.yml create mode 100644 decidim-participatory_processes/config/locales/lb.yml create mode 100644 decidim-proposals/config/locales/lb.yml create mode 100644 decidim-sortitions/config/locales/lb.yml create mode 100644 decidim-surveys/config/locales/lb.yml create mode 100644 decidim-system/config/locales/lb.yml create mode 100644 decidim-templates/config/locales/lb.yml create mode 100644 decidim-verifications/config/locales/lb.yml diff --git a/decidim-accountability/config/locales/eu.yml b/decidim-accountability/config/locales/eu.yml index 03e4df0629cc2..9b1d4aeed2588 100644 --- a/decidim-accountability/config/locales/eu.yml +++ b/decidim-accountability/config/locales/eu.yml @@ -32,16 +32,29 @@ eu: decidim: accountability: actions: + attachment_collections: Karpetak + attachments: Erantsitako artxiboak confirm_destroy: Ziur zaude emaitza hau ezabatu nahi duzula? destroy: Ezabatu edit: Editatu + import_csv: Inportatu CSV new: '%{name} berria' preview: Aurreikusi timeline_entries: Proiektuen bilakaera title: Ekintzak admin: exports: + result_comments: Iruzkinak results: Emaitzak + import_results: + new: + import: Inportatu + info: "Ondoko urrats hauek ematea gomendatzen dizugu:

    1. Sortu egoerak erantsi nahi dituzun emaitzetarako ( link )
    2. ) Sortu emaitza bat gutxienez eskuz administrazioaren panelaren bidez (link) inportatu baino lehen, hobeto ulertzeko formatua eta nola bete.
    3. Deskargatu CSV formatuko artxiboa (%{link_export_csv}
    4. Egin aldaketak lokalean. CSVren ondoko zutabeak baino ezin dituzu aldatu:
    • id category /id: ID kategoriarako
    • scope /id: ID eremurako
    • parent /id: ID aitarentzat (erlazionatutako emaitzetarako). Aukerakoa
    • title /I18N: izenburua hizkuntzan X
    • deskribapena /I18N: deskribapena hizkuntzan X
    • start_date: emaitza gauzatzen den hasiera-data (AAAA-MM-DD formatua)
    • end emaitza gauzatzen den amaiera-data (AAAA-MM-DD formatua)
    • status /id: egoeraren ID emaitza honetarako
    • progress: gauzatzearen ehunekoa (0tik 100era)
    • proposals_ids: erlazionatutako proposamenen barneko ID (komez bidez bereizita). Automatikoki bihurtuko da: proposal_url
    " + link: lotura + title: Inportatu emaitzak CSVtik + imports: + create: + success: Fitxeroa inportatzen ari da. Hurrengo minutuetan mezu elektroniko bat jasoko duzu inportazioaren emaitzak dituena models: result: name: Emaitza @@ -111,13 +124,29 @@ eu: value_types: parent_presenter: not_found: 'Gurasoa ez zen datu-basean aurkitu (ID: %{id})' + content_blocks: + highlighted_results: + dates: Datak + results: Emaitzak + unspecified: Zehaztu gabe + import_mailer: + import: + errors: Erroreak + errors_present: Arazo bat izan da emaitzak inportatzen + row_number: Errenkada + subject: Emaitzak zuzen inportatu dira + success: Emaitzak zuzen inportatu dira. Emaitzak administrazioaren panelaren bidez berrikusi ahal dituzu. last_activity: new_result_at_html: " %{link}emaitza berrian" models: result: fields: + category: Kategoria + created_at: Noiz sortua end_date: Bukaera-data + id: NAN progress: Aurrerapena + scope: Esparrua start_date: Hasiera-data status: Egoera title: Izenburua @@ -131,6 +160,9 @@ eu: fields: description: Descripción entry_date: Data + result_m: + executed: Burutua + view: Ikusi results: count: results_count: @@ -161,6 +193,15 @@ eu: votes: Sostenguak timeline: title: Proiektuen bilakaera + admin: + filters: + results: + category_id_eq: + label: Kategoria + scope_id_eq: + label: Esparrua + status_id_eq: + label: Egoera components: accountability: name: Kontuak @@ -168,10 +209,13 @@ eu: global: categories_label: '"Kategoriak" izena' comments_enabled: Iruzkinak gaituta + comments_max_length: Iruzkinen gehieneko luzera (utzi 0 defektuz konfigurazioa mantendu nahi baduzu) display_progress_enabled: Bistaratze aurrerapena heading_leaf_level_results: '"Proiektuak" izena' heading_parent_level_results: '"Emaitzak" izena' intro: Intro + scope_id: Esparrua + scopes_enabled: Esparru gaituak subcategories_label: Izena "Azpikategoriak" izenarekin step: comments_blocked: Iruzkinak blokeatuta @@ -192,6 +236,9 @@ eu: description: Sortutako emaitza kopurua object: emaitzak title: Emaitzak + participatory_spaces: + highlighted_results: + see_all: Ikusi emaitza guztiak (%{count}) resource_links: included_projects: result_project: Emaitza honetan sartutako proiektuak diff --git a/decidim-accountability/config/locales/lb.yml b/decidim-accountability/config/locales/lb.yml new file mode 100644 index 0000000000000..8699b5b2d9dcd --- /dev/null +++ b/decidim-accountability/config/locales/lb.yml @@ -0,0 +1,246 @@ +lb: + activemodel: + attributes: + result: + decidim_accountability_status_id: Status + decidim_category_id: Kategorie + decidim_scope_id: Umfang + description: Beschreiwung + end_date: Schlussdatum + progress: Progrès + project_ids: Bedeelegt Projeten + proposals: Bedeelegt Proposen + start_date: Ufanksdatum + title: Titel + updated_at: Aktualiséiert den + status: + description: Beschreiwung + key: Schlëssel + name: Numm + progress: Progrès + timeline_entry: + description: Beschreiwung + entry_date: Datum + models: + decidim/accountability/proposal_linked_event: Propose déi Deel vun engem Resultat ass + decidim/accountability/result_progress_updated_event: Aktualiséiert Entwécklung vun engem Resultat + activerecord: + models: + decidim/accountability/result: + one: Resultat + other: Resultat + decidim: + accountability: + actions: + attachment_collections: Dossier + attachments: Unhäng + confirm_destroy: Sidd Dir sécher datt Dir dësen %{name} läsche wëllt? + destroy: Läschen + edit: Editéieren + import_csv: CSV importéieren + new: Néi %{name} + preview: Preview + timeline_entries: Projektentwécklung + title: Aktiounen + admin: + exports: + result_comments: Kommentarer + results: Resultater + import_results: + new: + import: Import + info: "

    Wir empfehlen, dass Sie folgende Schritte befolgen:

    1. Erstellen Sie den Status der Ergebnisse, die Sie hinzufügen möchten (link)
    2. Erstellen Sie mindestens ein Ergebnis über diesen Administrator-Panel (link) bevor Sie Importieren, damit Sie mit dem Format und den benötigten Eingaben vertraut sind.
    3. Laden Sie den Export im CSV-Format herunter (%{link_export_csv})
    4. Nehmen Sie Änderungen lokal vor. Sie können nur die folgenden Spalten der CSV ändern:
    • Kategorie/ID: ID der Kategorie
    • Umfang/ID: ID des Umfangs
    • Übergeordnet/ID: Übergeordnete ID (für verwandte Ergebnisse). Optional
    • Titel/I18N: Titel in Sprache X
    • Beschreibung/I18N: Beschreibung in Sprache X
    • start_datum: Datum, an dem die Ausführung des Ergebnisses beginnt (Format JJJJ-MM-TT)
    • end_datum: Datum, an dem die Ausführung des Ergebnisses endet (Format JJJJ-MM-TT)
    • Status/ID: ID des Status dieses Ergebnisses
    • Fortschritt: Prozentualer (von 0 bis 100) Fortschritt der Durchführung
    • Vorschläge_IDs: Interne ID der verwandten Vorschläge (getrennt durch Komma). Dies wird automatisch umgewandelt in proposal_url
    " + link: link + title: Resultater aus engem CSV-Fichier importéieren + imports: + create: + success: Den Import vum Fichier huet ugefaang. Dir kritt eng Email an den nächste puer Minutte mam Resultat vum Import + models: + result: + name: Resultat + status: + name: Status + timeline_entry: + name: Zeitachseneintrag + results: + create: + invalid: Beim Erstellen dieses Ergebnisses ist ein Problem aufgetreten + success: Ergebnis erfolgreich erstellt + destroy: + success: Ergebnis erfolgreich gelöscht + edit: + title: Ergebnis bearbeiten + update: Ergebnis aktualisieren + index: + title: Resultater + new: + create: Ergebnis erstellen + title: Neues Ergebnis + update: + invalid: Beim Aktualisieren dieses Ergebnisses ist ein Problem aufgetreten + success: Ergebnis erfolgreich aktualisiert + shared: + subnav: + statuses: Status + statuses: + create: + invalid: Beim Erstellen dieses Status ist ein Problem aufgetreten + success: Status erfolgreich erstellt + destroy: + success: Status erfolgreich gelöscht + edit: + title: Status bearbeiten + update: Update Status + index: + title: Status + new: + create: Status erstellen + title: Neuer Status + update: + invalid: Beim Aktualisieren dieses Status ist ein Problem aufgetreten + success: Status erfolgreich aktualisiert + timeline_entries: + create: + invalid: Beim Erstellen dieses Eintrags ist ein Problem aufgetreten + success: Der Eintrag wurde erfolgreich erstellt + destroy: + success: Der Eintrag wurde erfolgreich gelöscht + edit: + title: Eintrag bearbeiten + update: Eintrag aktualisieren + index: + title: Projektzeitplaneinträge + new: + create: Eintrag erstellen + title: Neuer Eintrag + update: + invalid: Beim Aktualisieren dieses Eintrags ist ein Problem aufgetreten + success: Eintrag erfolgreich aktualisiert + admin_log: + result: + create: "%{user_name} hat das Ergebnis %{resource_name} in %{space_name} erstellt" + delete: "%{user_name} hat das Ergebnis %{resource_name} in %{space_name} gelöscht" + update: "%{user_name} hat das Ergebnis %{resource_name} in %{space_name} aktualisiert" + value_types: + parent_presenter: + not_found: 'Das übergeordnete Objekt wurde nicht in der Datenbank gefunden (ID: %{id})' + content_blocks: + highlighted_results: + dates: Daten + results: Ergebnisse + unspecified: Keine Angabe + import_mailer: + import: + errors: Fehler + errors_present: Beim Importieren der Ergebnisse ist ein Fehler aufgetreten + row_number: Zeile + subject: Ergebnisse wurden erfolgreich importiert + success: Ergebnisse wurden erfolgreich importiert. Sie können die Ergebnisse über die Administrationsoberfläche aufrufen. + last_activity: + new_result_at_html: "Neues Ergebnis bei %{link}" + models: + result: + fields: + category: Kategorie + created_at: Erstellt am + end_date: Enddatum + id: ID + progress: Fortschritt + scope: Themenbereich + start_date: Startdatum + status: Status + title: Titel + status: + fields: + description: Beschreibung + key: Schlüssel + name: Name + progress: Fortschritt + timeline_entry: + fields: + description: Beschreibung + entry_date: Datum + result_m: + executed: Ausgeführt + view: Ansicht + results: + count: + results_count: + one: 1 Ergebnis + other: "%{count} Ergebnisse" + filters: + all: Alle + scopes: Bereiche + home: + categories_label: Kategorien + subcategories_label: Unterkategorien + home_header: + global_status: Globaler Umsetzungsstatus + nav_breadcrumb: + global: Globale Ausführung + search: + search: Suche nach Aktionen + show: + stats: + attendees: Teilnehmer + back_to_resource: Gehe zurück zum Ergebnis + comments: Bemerkungen + contributions: Beiträge + last_edited_by: Zuletzt bearbeitet von + last_updated_at: Zuletzt aktualisiert am + meetings: Versammlungen + proposals: Vorschläge + votes: Unterstützt + timeline: + title: Projektentwicklung + admin: + filters: + results: + category_id_eq: + label: Kategorie + scope_id_eq: + label: Themenberäich + status_id_eq: + label: Status + components: + accountability: + name: Rechenschaftspflicht + settings: + global: + categories_label: Name für "Kategorien" + comments_enabled: Kommentare aktiviert + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + display_progress_enabled: Fortschritt anzeigen + heading_leaf_level_results: Name für "Projekte" + heading_parent_level_results: Name für "Resultate" + intro: Einführung + scope_id: Bereich + scopes_enabled: Bereiche aktiviert + subcategories_label: Name für "Unterkategorien" + step: + comments_blocked: Kommentare blockiert + events: + accountability: + proposal_linked: + email_intro: 'Der Vorschlag "%{proposal_title}" wurde in ein Ergebnis aufgenommen. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{proposal_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Eine Aktualisierung auf %{proposal_title} + notification_title: Der Vorschlag %{proposal_title} wurde im Ergebnis %{resource_title} aufgenommen. + result_progress_updated: + email_intro: 'Das Ergebnis "%{resource_title}", das den Vorschlag "%{proposal_title}" enthält, ist jetzt zu %{progress}% abgeschlossen. Sie können das auf dieser Seite sehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{proposal_title}" folgen und dieser Vorschlag in das Ergebnis "%{resource_title}" aufgenommen wurde. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Fortschritt von %{resource_title} aktualisiert + notification_title: Das Ergebnis %{resource_title}, das den Vorschlag %{proposal_title} enthält, ist jetzt zu %{progress}% abgeschlossen. + metrics: + results: + description: Anzahl der generierten Ergebnisse + object: Ergebnisse + title: Ergebnisse + participatory_spaces: + highlighted_results: + see_all: Alle Ergebnisse ansehen (%{count}) + resource_links: + included_projects: + result_project: Projekte in diesem Ergebnis enthalten + included_proposals: + result_proposal: Vorschläge in diesem Ergebnis enthalten diff --git a/decidim-accountability/config/locales/ro-RO.yml b/decidim-accountability/config/locales/ro-RO.yml index 029d6a01aad85..d2e7329737f50 100644 --- a/decidim-accountability/config/locales/ro-RO.yml +++ b/decidim-accountability/config/locales/ro-RO.yml @@ -7,7 +7,7 @@ ro: decidim_scope_id: Domeniu de aplicare description: Descriere end_date: Data de sfârșit - progress: Progresul + progress: Progres project_ids: Proiecte incluse proposals: Propuneri incluse start_date: Data de început diff --git a/decidim-admin/config/locales/eu.yml b/decidim-admin/config/locales/eu.yml index a298fd6f9d6bf..14d4063a82a50 100644 --- a/decidim-admin/config/locales/eu.yml +++ b/decidim-admin/config/locales/eu.yml @@ -13,6 +13,7 @@ eu: attachment_collection_id: Karpeta description: Descripción file: Fitxategia + title: Erantsitakoaren edo irudiaren izena attachment_collection: description: Deskribapena name: Izena @@ -25,21 +26,31 @@ eu: published_at: Argitaratu at weight: Pisu id: NAN + import: + user_group_id: Inportatu hau bezala newsletter: body: Testua subject: Gaia organization: + admin_terms_of_use_body: Administratzailearen erabilera-terminoetarako testu-atala alert_color: Alerta + available_authorizations: Baimen erabilgarriak badges_enabled: Gaitu txapak + comments_max_length: Iruzkinen gehieneko luzera (utzi 0 defektuz konfigurazioa mantendu nahi baduzu) cta_button_path: Deitu ekintza botoiaren bideora cta_button_text: Deitu ekintza botoiaren testura + customize_welcome_notification: Pertsonalizatu ongietorri-jakinarazpena default_locale: Eskualdeko ezarpen lehenetsiak description: Deskribapena enable_omnipresent_banner: Erakutsi omnipresent banner facebook_handler: Facebook kudeatzailea favicon: Ikonoa + force_authentication: Behartu autentikazioa + force_users_to_authenticate_before_access_organization: Behartu erabiltzaileak autentikatzera erakundean sartu baino lehen github_handler: GitHub kudeatzailea header_snippets: Goiburuko mozkinak + highlight_alternative_color: Nabarmendua, aukerakoa + highlight_color: Nabarmendua highlighted_content_banner_action_subtitle: Ekintza botoia azpititulua highlighted_content_banner_action_title: Ekintza botoien titulua highlighted_content_banner_action_url: Ekintza botoia URLa @@ -47,8 +58,12 @@ eu: highlighted_content_banner_image: Image highlighted_content_banner_short_description: Deskribapen laburra highlighted_content_banner_title: Izenburua + host: Zerbitzaria instagram_handler: Instagram kudeatzailea logo: Logotipo + machine_translation_display_priority: Itzulpen automatikoaren lehentasuna + machine_translation_display_priority_original: Lehen jatorrizko testua + machine_translation_display_priority_translation: Lehen itzulitako testua name: Izena official_img_footer: Logotipoaren logotipo ofiziala official_img_header: Logotipoaren goiburu ofiziala @@ -56,14 +71,24 @@ eu: omnipresent_banner_short_description: Deskribapen laburra omnipresent_banner_title: Izenburua omnipresent_banner_url: URL + organization_admin_email: Erakundearen administratzailearen mezu elektronikoa + organization_admin_name: Erakundearen administratzailearen izena + organization_locales: Tokiko erakundeak primary_color: Lehen reference_prefix: Erreferentzia-aurrizkia + rich_text_editor_in_public_views: Gaitu testu-editore aberastua parte-hartzaileentzat secondary_color: Bigarren + secondary_hosts: Bigarren mailako zerbitzariak + send_welcome_notification: Bidali ongietorri-jakinarazpena success_color: Arrakasta + time_zone: Ordu-zona tos_version: Zerbitzu-baldintzak bertsioa twitter_handler: Twitter kudeatzailea user_groups_enabled: Gaitu erabiltzaileen taldeak + users_registration_mode: Erabiltzaileak erregistratzeko modua warning_color: Abisua + welcome_notification_body: Ongietorri-jakinarazpenaren mezuaren atala + welcome_notification_subject: Ongietorri-jakinarazpenaren mezuaren gaia youtube_handler: YouTube kudeatzailea scope: code: Kodea @@ -76,7 +101,10 @@ eu: name: Izena organization: Erakundea plural: Anitza + settings: + scope_id: Esparrua static_page: + allow_public_access: Baimendu sarbidea balidatu gabe changed_notably: Aldaketa nabarmenak izan dira. content: Edukia organization: Erakundea @@ -99,6 +127,10 @@ eu: allowed_file_content_types: Irudi fitxategi baliogabea official_img_header: allowed_file_content_types: Irudi fitxategi baliogabea + new_import: + attributes: + file: + invalid_mime_type: Baliogabeko mime mota activerecord: attributes: decidim/static_page: @@ -117,13 +149,34 @@ eu: admin: actions: add: Gehitu + attachment: + new: Beste artxibo bat + attachment_collection: + new: Erantsitako beste artxibo-blduma bat browse: Arakatu + category: + new: Kategoria berria export: Esportatu + import: Inportatu manage: Kudeatu new: '%{name}berria' + newsletter: + new: Beste buletin bat + participatory_space_private_user: + new: Eremu parte-hartzaileko beste erabiltzaile pribatu bat + per_page: Orrialdeko permissions: Baimenak reject: Ukatu + share: Partekatu + user: + new: Beste erabiltzaile bat verify: Egiaztatu + admin_terms_of_use: + accept: + error: Errorea gertatu da Administrazioaren Gaiak eta Baldintzak onartzean. + success: Ederto! Onartu dituzu Administrazioaren Gaiak eta Baldintzak. + actions: + accept: Ados nago ondoko gai hauekin area_types: create: error: Errorea eremu mota berri bat sortzean. @@ -449,7 +502,7 @@ eu: badge: Badge created_at: Sortua name: izena - nickname: ezizena + nickname: Ezizena not_officialized: Ez ofiziala officialize: Officialize officialized: Officialized diff --git a/decidim-admin/config/locales/fr-CA.yml b/decidim-admin/config/locales/fr-CA.yml index 4a6318d2cd5ae..172d29ded1ea7 100644 --- a/decidim-admin/config/locales/fr-CA.yml +++ b/decidim-admin/config/locales/fr-CA.yml @@ -937,6 +937,9 @@ fr-CA: reported_users: object: utilisateurs signalés title: Utilisateurs signalés + user_reports: + object: signalements d'utilisateurs + title: Signalements d'utilisateurs moderations: actions: expand: Agrandir diff --git a/decidim-admin/config/locales/fr.yml b/decidim-admin/config/locales/fr.yml index 4ca441a4a9da9..ec835533e690b 100644 --- a/decidim-admin/config/locales/fr.yml +++ b/decidim-admin/config/locales/fr.yml @@ -937,6 +937,9 @@ fr: reported_users: object: utilisateurs signalés title: Utilisateurs signalés + user_reports: + object: signalements d'utilisateurs + title: Signalements d'utilisateurs moderations: actions: expand: Agrandir diff --git a/decidim-admin/config/locales/lb.yml b/decidim-admin/config/locales/lb.yml new file mode 100644 index 0000000000000..5018af8359c9e --- /dev/null +++ b/decidim-admin/config/locales/lb.yml @@ -0,0 +1,993 @@ +lb: + activemodel: + attributes: + area: + area_type: Bereichstyp + name: Numm + organization: Organisatioun + area_type: + name: Numm + organization: Organisatioun + plural: Plural + attachment: + attachment_collection_id: Dossier + description: Beschreiwung + file: Datei + title: Anhang oder Bildname + attachment_collection: + description: Beschreiwung + name: Numm + category: + description: Beschreiwung + name: Numm + parent_id: Übergeordnete Kategorie + component: + name: Numm + published_at: Veröffentlicht unter + weight: Reihenfolge + id: ID + import: + user_group_id: Importierte Inhalte erstellen als + newsletter: + body: Haapttext + subject: Betreff + organization: + admin_terms_of_use_body: Körper für die Admin-Nutzungsbedingungen + alert_color: Benachrichtigung + available_authorizations: Verfügbare Autorisierungen + badges_enabled: Abzeichen aktivieren + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + cta_button_path: Call To Action Schaltfläche Pfad + cta_button_text: Call To Action Schaltfläche Text + customize_welcome_notification: Willkommens-Benachrichtigung anpassen + default_locale: Standardgebietsschema + description: Beschreiwung + enable_omnipresent_banner: Zeige allgegenwärtiges Banner + facebook_handler: Facebook-Handler + favicon: Icon + force_authentication: Authentifizierung erzwingen + force_users_to_authenticate_before_access_organization: Benutzer müssen sich authentifizieren bevor sie auf die Organisation zugreifen können + from: Absender E-Mail + github_handler: GitHub-Handler + header_snippets: Header-Snippets + highlight_alternative_color: Hervorhebung, Alternative + highlight_color: Hervorheben + highlighted_content_banner_action_subtitle: Aktion Schaltfläche Untertitel + highlighted_content_banner_action_title: Titel der Aktionsschaltfläche + highlighted_content_banner_action_url: Aktionsschaltflächen-URL + highlighted_content_banner_enabled: Zeigen Sie das hervorgehobene Inhaltsbanner an + highlighted_content_banner_image: Bild + highlighted_content_banner_short_description: Kurze Beschreibung + highlighted_content_banner_title: Titel + host: Host + instagram_handler: Instagram-Handler + logo: Logo + machine_translation_display_priority: Priorität der maschinellen Übersetzung + machine_translation_display_priority_original: Originaltext zuerst + machine_translation_display_priority_translation: Übersetzter Text zuerst + name: Numm + official_img_footer: Offizielles Logo Fußzeile + official_img_header: Offizieller Logo-Header + official_url: Offizielle Organisations-URL + omnipresent_banner_short_description: Kurze Beschreibung + omnipresent_banner_title: Titel + omnipresent_banner_url: URL + organization_admin_email: E-Mail des Organisations-Admins + organization_admin_name: Name des Organisations-Admins + organization_locales: Verfügbare Sprachen + primary_color: Primär + reference_prefix: Referenzpräfix + rich_text_editor_in_public_views: Rich-Text-Editor für Teilnehmer aktivieren + secondary_color: Sekundär + secondary_hosts: Weitere Hosts + send_welcome_notification: Willkommens-Benachrichtigung senden + success_color: Erfolg + time_zone: Zeitzone + tos_version: Nutzungsbedingungen Version + twitter_handler: Twitter-Handler + user_groups_enabled: Benutzergruppen aktivieren + users_registration_mode: Benutzerregistrierungs-Modus + warning_color: Warnung + welcome_notification_body: Text der Willkommens-Benachrichtigung + welcome_notification_subject: Betreff der Willkommens-Benachrichtigung + youtube_handler: YouTube-Handler + scope: + code: Code + name: Name + organization: Organisation + parent_id: Elternteil + scope_type: Geltungsbereich + scope_type_id: Geltungsbereich + scope_type: + name: Name + organization: Organisation + plural: Plural + settings: + scope_id: Umfang + static_page: + allow_public_access: Zugriff ohne Authentifizierung erlauben + changed_notably: Es gab bemerkenswerte Änderungen. + content: Inhalt + organization: Organisation + show_in_footer: In der Fußzeile anzeigen + slug: URL-Block + title: Titel + weight: Gewicht + static_page_topic: + description: Beschreibung + show_in_footer: In der Fußzeile anzeigen + title: Titel + weight: Reihenfolge + user_group_csv_verification: + file: Datei + errors: + models: + organization: + attributes: + official_img_footer: + allowed_file_content_types: Ungültige Bilddatei + official_img_header: + allowed_file_content_types: Ungültige Bilddatei + new_import: + attributes: + file: + invalid_mime_type: Ungültiger MIME-Typ + activerecord: + attributes: + decidim/static_page: + content: Inhalt + slug: URL-Block + title: Titel + doorkeeper/application: + authorize_url: URL autorisieren + client_id: Client-ID + client_secret: Kundengeheimnis + organization_name: Name der Organisation + organization_url: Organisations-URL + redirect_uri: Umleitungs URI + site: Webseite + decidim: + admin: + actions: + add: Hinzufügen + attachment: + new: Neuer Anhang + attachment_collection: + new: Neuer Ordner + browse: Durchsuchen + category: + new: Neue Kategorie + export: Exportéieren + import: Importieren + manage: Verwalten + new: Neu %{name} + newsletter: + new: Neuer Newsletter + participatory_space_private_user: + new: Neuer privater Benutzer + per_page: Pro Seite + permissions: Berechtigungen + reject: Ablehnen + share: Teilen + user: + new: Neuer Benutzer + verify: Überprüfen + admin_terms_of_use: + accept: + error: Beim Akzeptieren der Nutzungsbedingungen ist ein Fehler aufgetreten. + success: Super! Sie haben die Admin-Nutzungsbedingungen akzeptiert. + actions: + accept: Ich stimme den folgenden Bedingungen zu + are_you_sure: Sind Sie sicher, dass Sie die Admin-Nutzungsbedingungen ablehnen möchten? + refuse: Die Admin-Nutzungsbedingungen ablehnen + title: Den Admin-Nutzungsbedingungen zustimmen + required_review: + alert: 'Erforderlich: Überprüfen Sie unsere Admin-Nutzungsbedingungen' + callout: Bitte nehmen Sie sich einen Moment Zeit, um die Admin-Nutzungsbedingungen zu lesen. Ansonsten können Sie die Plattform nicht administrieren. + cta: Lesen Sie sie jetzt. + title: Admin-Nutzungsbedingungen + area_types: + create: + error: Beim Erstellen eines neuen Bereichstyps ist ein Fehler aufgetreten. + success: Bereichstyp wurde erfolgreich erstellt. + destroy: + success: Der Bereichstyp wurde erfolgreich zerstört + edit: + title: Bereichstyp bearbeiten + update: Aktualisieren + new: + create: Bereichstyp erstellen + title: Neuer Bereichstyp + update: + error: Beim Aktualisieren dieses Bereichstyps ist ein Fehler aufgetreten. + success: Bereichstyp wurde erfolgreich aktualisiert + areas: + create: + error: Beim Erstellen eines neuen Bereichs ist ein Fehler aufgetreten. + success: Bereich wurde erfolgreich erstellt. + destroy: + has_spaces: Dieser Bereich hat abhängige Abschnitte. Es darf keine Abhängigkeiten geben, um gelöscht zu werden. + success: Bereich wurde erfolgreich zerstört + edit: + title: Bereich bearbeiten + update: Aktualisieren + new: + create: Bereich erstellen + title: Neues Gebiet + no_areas: Keine Bereiche + update: + error: Beim Aktualisieren dieses Bereichs ist ein Fehler aufgetreten. + success: Bereich wurde erfolgreich aktualisiert + attachment_collections: + create: + error: Beim Erstellen eines neuen Ordners ist ein Fehler aufgetreten. + success: Ordner erfolgreich erstellt + destroy: + success: Der Ordner wurde erfolgreich zerstört. + edit: + title: Ordner bearbeiten + update: Aktualisieren + index: + attachment_collection_used: Dieser Ordner kann nicht entfernt werden, weil er verwendet wird. + attachment_collections_title: Anhang Ordner + new: + create: Erstellen + title: Neuer Ordner + update: + error: Beim Aktualisieren dieses Ordners ist ein Fehler aufgetreten. + success: Der Ordner wurde erfolgreich aktualisiert. + attachments: + create: + error: Beim Erstellen des neuen Anhangs ist ein Fehler aufgetreten. + success: Anhang wurde erfolgreich erstellt. + destroy: + success: Anhang wurde erfolgreich entfernt. + edit: + title: Anhang bearbeiten + update: Aktualisieren + index: + attachments_title: Anhänge + new: + create: Anhang erstellen + title: Neuer Anhang + update: + error: Beim Aktualisieren dieses Anhangs ist ein Fehler aufgetreten. + success: Anhang wurde erfolgreich aktualisiert. + autocomplete: + no_results: keine Ergebnisse gefunden + search_prompt: Geben Sie mindestens drei Zeichen ein, um zu suchen + block_user: + new: + action: Konto sperren und Begründung senden + description: Das Blockieren eines Benutzers wird sein Konto unbrauchbar machen. Sie können begründen und Richtlinien dafür bieten, wie der Benutzer vorgehen könnte, damit Sie in Betracht ziehen, die Blockierung wieder aufzuheben. + justification: Begründung + title: Benutzer %{name} blockieren + categories: + create: + error: Beim Erstellen dieser Kategorie ist ein Fehler aufgetreten. + success: Kategorie wurde erfolgreich erstellt. + destroy: + error: Beim Löschen dieser Kategorie ist ein Fehler aufgetreten. Bitte löschen Sie zuerst eine Unterkategorie, stellen Sie sicher, dass keine andere Entität zu dieser Kategorie gehört, und versuchen Sie es erneut. + success: Kategorie wurde erfolgreich gelöscht. + edit: + title: Kategorie bearbeiten + update: Aktualisieren + index: + categories_title: Kategorien + category_used: Diese Kategorie kann nicht entfernt werden, weil sie verwendet wird. + new: + create: Kategorie erstellen + title: Neue Kategorie + update: + error: Beim Aktualisieren dieser Kategorie ist ein Fehler aufgetreten. + success: Die Kategorie wurde erfolgreich aktualisiert. + component_permissions: + update: + error: Es gab ein Problem beim Aktualisieren der Berechtigungen dieser Komponente. + success: Berechtigungen wurden erfolgreich aktualisiert. + components: + create: + error: Beim Erstellen dieser Komponente ist ein Fehler aufgetreten. + success: Komponente wurde erfolgreich erstellt. + destroy: + error: Beim Löschen dieser Komponente ist ein Fehler aufgetreten. + success: Komponente wurde erfolgreich gelöscht. + edit: + title: Komponente bearbeiten + update: Aktualisieren + form: + default_step_settings: Standardschritteinstellungen + global_settings: Globale Einstellungen + step_settings: Schritteinstellungen + index: + add: Komponente hinzufügen + headers: + actions: Aktionen + name: Komponentenname + scope: Komponentenbereich + type: Komponententyp + new: + add: Komponente hinzufügen + title: 'Komponente hinzufügen: %{name}' + publish: + success: Die Komponente wurde erfolgreich veröffentlicht. + title: Komponenten + unpublish: + success: Die Komponente wurde erfolgreich veröffentlicht. + update: + error: Beim Aktualisieren dieser Komponente ist ein Fehler aufgetreten. + success: Die Komponente wurde erfolgreich aktualisiert. + conflicts: + attempts: Versuche + 'false': 'Nein' + managed_user_name: Verwalteter Benutzer + solved: Gelöst + title: Konflikte von Überprüfungen + transfer: + email: E-Mail + error: Es gab ein Problem bei der Übertragung des aktuellen Teilnehmers zu den verwalteten Teilnehmern. + name: Name + reason: Grund + success: Übertragung erfolgreich. + title: Übertragung + 'true': 'Ja' + user_name: Nutzer + dashboard: + show: + view_more_logs: Weitere Protokolle anzeigen + welcome: Willkommen im Decidim Admin Panel. + exports: + export_as: "%{name} als %{export_format}" + formats: + CSV: CSV + Excel: Excel + FormPDF: PDF + JSON: JSON + notice: Ihr Export wird gerade ausgeführt. Sie erhalten nach Fertigstellung eine E-Mail. + filters: + category_id_eq: + label: Kategorie + filter_label: Filtern + moderations: + reportable_type_string_eq: + label: Art + officialized_at_null: + label: Zustand + values: + 'false': Offizialisiert + 'true': Nicht offiziell + private_space_eq: + label: Privat + values: + 'false': Öffentlich + 'true': Privat + published_at_null: + label: Veröffentlicht + values: + 'false': Veröffentlicht + 'true': Unveröffentlicht + scope_id_eq: + label: Themenbereich + search_label: Suche + search_placeholder: + name_or_nickname_or_email_cont: Suche in %{collection} nach E-Mail, Name oder Benutzername. + reported_id_string_or_reported_content_cont: Suche %{collection} nach meldbarer Id oder Inhalt. + title_cont: In %{collection} nach Titel suchen. + state_eq: + label: Bundesland + forms: + file_help: + import: + explanation: 'Hinweise für die Datei:' + message_1: CSV, JSON und Excel (.xls) Dateien werden unterstützt + message_2: Bei CSV-Dateien muss das Trennzeichen zwischen den Spalten ein Semikolon sein (";") + help_sections: + error: Beim Aktualisieren der Hilfeabschnitte ist ein Fehler aufgetreten + form: + save: Speichern + success: Hilfeabschnitte wurden erfolgreich aktualisiert + impersonatable_users: + index: + filter: + all: Alle + managed: Gelang es + not_managed: Nicht verwaltet + filter_by: Filtern nach + impersonate: Imitieren + impersonate_new_managed_user: Sich als neuer verwalteter Benutzer ausgeben + managed: Gelang es + name: Name + needs_authorization_warning: Sie benötigen mindestens eine Autorisierung, die für diese Organisation aktiviert ist. + not_managed: Nicht verwaltet + promote: Fördern + search: Suche + status: Status + view_logs: Protokolle anzeigen + impersonations: + close_session: + error: Beim Schließen der aktuellen Identitätswechsel-Sitzung ist ein Fehler aufgetreten. + success: Die aktuelle Identitätswechselsitzung wurde erfolgreich beendet. + create: + error: Es gab einen Fehler bei der Identität des Benutzers. + success: Der verwaltete Benutzer wurde erfolgreich erstellt. + form: + authorization_method: Autorisierungsmethode + name: Name + reason: Grund + new: + impersonate: Imitieren + impersonate_existing_managed_user: Angenommen, dass der Benutzer "%{name}" verwaltet wird + impersonate_existing_user: Imitieren von Benutzer "%{name}" + impersonate_new_managed_user: Sich als neuer verwalteter Benutzer ausgeben + imports: + creators: + proposalcreator: Vorschlagsersteller + error: Beim Importieren ist ein Fehler aufgetreten + help: + proposalcreator: Die Datei muss die Spaltennamen title/de und body/de (oder andere Sprachen wie zum Beispiel title/en und body/en) enthalten. Zudem sind scope/id und category/id unterstützt. + import_from_file: Aus einer Datei importieren + invalid_lines: Fehler in der Ressource Nummer %{invalid_lines} + new: + accepted_mime_types: + csv: CSV + json: JSON + xls: xls + actions: + back: Zurück + file_legend: Datei zum Importieren hinzufügen. + import: Importieren + notice: "%{number}%{resource_name} erfolgreich importiert" + logs: + logs_list: + no_logs_yet: Es gibt noch keine Protokolle + managed_users: + promotion: + error: Es ist ein Fehler aufgetreten, der den verwalteten Benutzer unterstützt. + success: Der verwaltete Benutzer wurde erfolgreich hochgestuft. + promotions: + new: + explanation: Verwaltete Benutzer können zu Standardbenutzern heraufgestuft werden. Das bedeutet, dass sie zu der Anwendung eingeladen werden und nicht in der Lage sind, sie erneut zu repräsentieren. Der eingeladene Benutzer erhält eine E-Mail, um Ihre Einladung anzunehmen. + new_managed_user_promotion: Neue verwaltete Benutzerwerbung + promote: Fördern + menu: + admin_log: Admin-Aktivitätsprotokoll + admins: Admins + appearance: Aussehen + area_types: Bereichstypen + areas: Bereiche + configuration: Aufbau + dashboard: Instrumententafel + help_sections: Hilfeabschnitte + homepage: Startseite + impersonations: Identitätswechsel + moderation: Globale Moderationen + newsletters: Newsletter + participants: Teilnehmer + reported_users: Gemeldete Nutzer + scope_types: Bereichstypen + scopes: Bereiche + settings: die Einstellungen + static_pages: Seiten + user_groups: Benutzergruppen + users: Benutzer + metrics: + metrics: + see_more_metrics: Mehr Kriterien anzeigen + models: + area: + fields: + area_type: Bereichstyp + name: Name + area_type: + fields: + name: Name + plural: Plural + attachment: + fields: + collection: Mappe + content_type: Art + file_size: Größe + title: Titel + name: Befestigung + attachment_collection: + name: Mappe + category: + name: Kategorie + impersonation_log: + fields: + admin: Administrator + ended_at: Beendet um + expired_at: Abgelaufen um + reason: Grund + started_at: Fing an bei + user: Benutzer + newsletter: + fields: + created_at: Hergestellt in + progress: Fortschritt + sent_at: Gesendet um + sent_to: Gesendet an + subject: Gegenstand + name: Newsletter + participatory_space_private_user: + name: Participatory Space privater Benutzer + scope: + fields: + name: Name + scope_type: Geltungsbereich + scope_type: + fields: + name: Name + plural: Plural + share_token: + fields: + created_at: Erstellt am + expires_at: Läuft ab am + last_used_at: Zuletzt verwendet + times_used: Anzahl Anwendungen + token: Token + user: Erstellt von + static_page: + fields: + created_at: Hergestellt in + title: Titel + user: + fields: + created_at: Erstellungsdatum + email: Email + last_sign_in_at: Letztes Anmeldedatum + name: Name + role: Rolle + roles: + admin: Administrator + user_manager: Benutzer Manager + name: Benutzer + user_group: + fields: + actions: Aktionen + created_at: Hergestellt in + document_number: Dokumentnummer + name: Name + phone: Telefon + state: Zustand + users_count: Benutzer zählen + moderated_users: + index: + actions: + block: Benutzer blockieren + title: Aktionen + unblock: Blockierung des Benutzers aufheben + unreport: Meldung Rückgängig machen + name: Name + nickname: Spitzname + reason: Grund + reports: Anzahl Meldungen + title: Liste der gemeldeten Benutzer + report: + reasons: + does_not_belong: Gehört nicht zu + offensive: Offensiv + spam: Spam + tabs: + blocked: Blockiert + unblocked: Nicht blockiert + moderations: + index: + title: Moderationen + report: + reasons: + does_not_belong: Gehört nicht + offensive: Beleidigend + spam: Spam + reports: + index: + author: Autor(en) + callout_html: Ein Inhalt erscheint im Moderations-Panel, wenn er von einem Benutzer signalisiert wurde (kann jeder mit einem registrierten Konto sein), indem er auf die %{icon} Flagge neben dem Element klickt. + content_original_language: Originalsprache des Inhalts + participatory_space: Beteiligungsbereich + reported_content: Gemeldeter Inhalt + see_current: Siehe aktuelles + see_original: Original ansehen + title: Moderationsberichte + show: + report_details: Details zum Grund + report_language: Berichtssprache + report_reason: Grund + title: Berichtdetails + newsletter_templates: + index: + preview_template: Vorschau + title: Newsletter Vorlagen + use_template: Diese Vorlage verwenden + show: + preview: 'Vorschau der Vorlage: %{template_name}' + use_template: Diese Vorlage verwenden + newsletters: + create: + error: Beim Erstellen dieses Newsletters ist ein Fehler aufgetreten. + success: Newsletter erfolgreich erstellt Bitte, überprüfen Sie es vor dem Senden. + deliver: + error: Beim Versand dieses Newsletters ist ein Fehler aufgetreten. + success: Newsletter erfolgreich geliefert + destroy: + error_already_sent: 'Newsletter kann nicht gelöscht werden: Es wurde bereits gesendet.' + success: Newsletter erfolgreich zerstört. + edit: + save_and_preview: Speichern und Vorschau + title: Newsletter bearbeiten + index: + all: Alle + all_users: 'Alle Benutzer ' + and: 'und ' + confirm_delete: Möchten Sie diesen Newsletter wirklich löschen? + followers: 'Follower ' + has_been_sent_to: 'Wurde gesendet an: ' + no_scopes: Keine Themenbereiche + not_sent: Nicht gesendet + participants: 'Teilnehmer ' + segmented_to: 'Unterteilt in %{subject}: ' + subscribed_count: 'Abonniert:' + title: Newsletter + new: + save: Speichern + title: Neuer Newsletter + select_recipients_to_deliver: + all_spaces: Alle + all_users_help: Sendet Newsletter an alle bestätigten Benutzer. + confirm_deliver: Möchten Sie diesen Newsletter wirklich liefern? Diese Aktion kann nicht rückgängig gemacht werden. + deliver: Liefern Newsletter + followers_help: Sendet den Newsletter an alle bestätigten Benutzer, die den ausgewählten Teilnehmerräumen in der Liste folgen. + none: Niemand + participants_help: Sendet den Newsletter an alle bestätigten Benutzer, die an den ausgewählten Teilnehmerräumen der Liste teilgenommen haben. + recipients_count: Dieser Newsletter wird an %{count} Teilnehmer gesendet. + scopes_help: Sendet den Newsletter an Teilnehmer, die einen der gewählten Themenbereiche in den "Meine Interessen" Einstellungen ihres Kontos aktiviert haben. + select_scopes: Nur Teilnehmer anzeigen, die einen der gewählten Themenbereiche in Ihren "Meine Interessen" Einstellungen ihres Kontos aktiviert haben. + select_spaces: Wählen Sie Abschnitte, um den Newsletter zu unterteilen + select_users: Wählen Sie aus, welchen Benutzern Sie den Newsletter senden möchten + send_to_all_users: An alle Benutzer senden + send_to_followers: An Follower senden + send_to_participants: An Teilnehmer senden + title: Empfänger auswählen + warning: "Achtung: Dieser Newsletter wird nur an Benutzer gesendet, die Ich möchte Newsletter empfangen in ihren Benachrichtigungseinstellungen aktiviert haben." + send: + no_recipients: Keine Empfänger für diese Auswahl + show: + preview: Vorschau + select_recipients_to_deliver: Empfänger auswählen + subject: Gegenstand + update: + error: Beim Aktualisieren dieses Newsletters ist ein Fehler aufgetreten. + success: Newsletter erfolgreich aktualisiert. Bitte überprüfen Sie es vor dem Senden. + officializations: + block: + error: Beim Blockieren des Teilnehmers ist ein Fehler aufgetreten + success: Teilnehmer erfolgreich blockiert + create: + success: Benutzer wurde offiziell anerkannt + destroy: + success: Der Benutzer wurde erfolgreich inoffizialisiert + index: + actions: Aktionen + badge: Abzeichen + block: Benutzer blockieren + created_at: Hergestellt in + name: Name + nickname: Spitzname + not_officialized: Nicht offiziell + officialize: Offizialisieren + officialized: Offizialisiert + reofficialize: Reoffizialisieren + reports: Berichte + show_email: E-Mail-Adresse anzeigen + status: Status + unblock: Blockierung des Users aufheben + unofficialize: Nicht offiziell + new: + badge: Offizielles Abzeichen + officialize: Offizialisieren + title: Benutzer "%{name}" offiziellisieren + show_email_modal: + close_modal: Modal schließen + description: Wenn Sie einen Teilnehmer direkt kontaktieren möchten, können Sie auf die Schaltfläche "Anzeigen" klicken, um die E-Mail-Adresse zu sehen. Diese Aktion wird protokolliert. + email_address: E-Mail-Adresse + full_name: Voller Name + hidden: versteckt + show: Anzeigen + title: Teilnehmer E-Mail-Adresse anzeigen + unblock: + error: Beim Blockieren des Teilnehmers ist ein Fehler aufgetreten + success: Blockierung des Teilnehmers wurde erfolgreich aufgehoben + organization: + edit: + title: Organisation bearbeiten + update: Aktualisieren + form: + facebook: Facebook + github: GitHub + instagram: Instagram + rich_text_editor_in_public_views_help: In einigen Textbereichen können Teilnehmer mit Hilfe des Rich-Text-Editors HTML-Tags einfügen. + social_handlers: Sozial + twitter: Twitter + url: URL + youtube: Youtube + update: + error: Beim Aktualisieren dieser Organisation ist ein Fehler aufgetreten. + success: Die Organisation wurde erfolgreich aktualisiert. + organization_appearance: + edit: + update: Aktualisieren + form: + colors: + colors_title: Organisationsfarben + header_snippets_help: Verwenden Sie dieses Feld, um Dinge zum HTML-Kopf hinzuzufügen. Die häufigste Verwendung ist die Integration von Drittanbieterdiensten, für die zusätzliches JavaScript oder CSS erforderlich ist. Außerdem können Sie damit dem HTML zusätzliche Meta-Tags hinzufügen. Beachten Sie, dass dies nur auf öffentlichen Seiten und nicht im Admin-Bereich erfolgt. + cta_button_path_help: 'Sie können überschreiben, wo die Call To Action-Schaltfläche in der Homepage verlinkt ist. Verwenden Sie hier Teilpfade, nicht vollständige URLs. Akzeptiert Buchstaben, Zahlen, Bindestriche und Schrägstriche und muss mit einem Buchstaben beginnen. Die Call To Action-Schaltfläche wird auf der Startseite zwischen Begrüßungstext und Beschreibung angezeigt. Beispiel: %{url}' + cta_button_text_help: Sie können den Text der Call To Action-Schaltfläche auf der Startseite für jede verfügbare Sprache in Ihrer Organisation überschreiben. Wenn nicht festgelegt, wird der Standardwert verwendet. Die Call To Action-Schaltfläche wird auf der Startseite zwischen Begrüßungstext und Beschreibung angezeigt. + homepage_appearance_title: Homepage-Erscheinungsbild bearbeiten + homepage_highlighted_content_banner_title: Highlighted Inhaltsbanner + images: + layout_appearance_title: Layout-Layout bearbeiten + preview: Vorschau + omnipresent_banner_appearance_title: Bearbeiten Sie das allgegenwärtige Banner + organization_homepage: + edit: + active_content_blocks: Aktive Inhaltsblöcke + inactive_content_blocks: Inaktive Inhaltsblöcke + organization_homepage_content_blocks: + edit: + update: Aktualisieren + participatory_space_private_users: + create: + error: Beim Hinzufügen eines privaten Benutzers für diesen partizipativen Bereich ist ein Fehler aufgetreten. + success: Participatory Space Privater Benutzerzugriff erfolgreich erstellt. + destroy: + error: Beim Löschen eines privaten Benutzers für diesen partizipativen Bereich ist ein Fehler aufgetreten. + success: Participatory Space Privater Benutzerzugriff wurde erfolgreich zerstört. + index: + import_via_csv: Aus CSV-Datein importieren + title: Participatory Space privater Benutzer + new: + create: Erstellen + title: Neuer privater Benutzer des Participatory Space. + participatory_space_private_users_csv_imports: + create: + invalid: Beim Lesen der CSV-Datei ist ein Fehler aufgetreten. + success: CSV-Datei wurde erfolgreich hochgeladen, wir senden eine Einladungs-E-Mail an die Teilnehmer. Dies kann eine Weile dauern. + new: + explanation: 'Laden Sie Ihre CSV-Datei hoch. Diese muss zwei Spalten haben ohne Kopfzeile, mit E-Mail in der ersten Spalte der Datei und Namen in der letzten Spalte der Datei (E-Mail, Name) in Bezug auf die Benutzer, die Sie dem Beteiligungsbereich hinzufügen möchten. Vermeiden sie ungültige Zeichen wie `<>?%&^*#@()[]=+:;"{}\|` im Namen des Nutzers zu verwenden.' + title: CSV-Datei hochladen + upload: Hochladen + resource_permissions: + edit: + submit: einreichen + title: Berechtigungen bearbeiten + update: + success: Berechtigungen wurden erfolgreich aktualisiert. + resources: + index: + headers: + scope: Bereich + scope_types: + create: + error: Beim Erstellen eines neuen Geltungstyps ist ein Fehler aufgetreten. + success: Der Geltungsbereichstyp wurde erfolgreich erstellt. + destroy: + success: Der Scope-Typ wurde erfolgreich zerstört + edit: + title: Bereichstyp bearbeiten + update: Aktualisieren + new: + create: Erstellen Sie den Geltungsbereichstyp + title: Neuer Umfang + update: + error: Beim Aktualisieren dieses Bereichstyps ist ein Fehler aufgetreten. + success: Der Geltungsbereichstyp wurde erfolgreich aktualisiert + scopes: + create: + error: Beim Erstellen eines neuen Bereichs ist ein Fehler aufgetreten. + success: Bereich erfolgreich erstellt + destroy: + success: Bereich wurde erfolgreich zerstört + edit: + title: Bereich bearbeiten + update: Aktualisieren + new: + create: Bereich erstellen + title: Neuer Umfang + no_scopes: Keine Bereiche auf dieser Ebene. + update: + error: Beim Aktualisieren dieses Bereichs ist ein Fehler aufgetreten. + success: Bereich wurde erfolgreich aktualisiert + share_tokens: + actions: + confirm_destroy: Sind Sie sicher, dass Sie diesen Token löschen wollen? + destroy: Löschen + share: Teilen + destroy: + error: Beim Löschen dieses Tokens ist ein Fehler aufgetreten. + success: Token wurde erfolgreich gelöscht. + share_tokens: + empty: Es gibt keine aktiven Token + help: Diese Token werden verwendet, um diese unveröffentlichte Ressource öffentlich an jeden Benutzer weiterzugeben. Sie werden ausgeblendet, wenn das Werk veröffentlicht wird. Klicken Sie auf das Teilen-Symbol des Tokens um die teilbare URL zu besuchen. + title: Token teilen + shared: + gallery: + add_images: Bilder hinzufügen + delete_image: Bild löschen + gallery_legend: Bildergalerie hinzufügen (Optional) + static_page_topics: + create: + error: Beim Erstellen eines neuen Themas ist ein Fehler aufgetreten. + success: Thema erfolgreich erstellt. + destroy: + success: Thema erfolgreich zerstört + edit: + title: Thema bearbeiten + update: Thema aktualisieren + new: + create: Thema erstellen + title: Neues Thema + update: + error: Beim Aktualisieren dieses Themas ist ein Fehler aufgetreten. + success: Thema erfolgreich aktualisiert + static_pages: + actions: + view: Öffentliche Seite anzeigen + create: + error: Beim Erstellen einer neuen Seite ist ein Fehler aufgetreten. + success: Seite erfolgreich erstellt + destroy: + success: Seite erfolgreich zerstört + edit: + changed_notably_help: Wenn diese Option aktiviert ist, werden Benutzer benachrichtigt, um die neuen Nutzungsbedingungen zu akzeptieren. + title: Seite bearbeiten + update: Aktualisieren + form: + none: Keiner + slug_help: 'Benutze partielle Pfade, nicht vollständige URLs. Akzeptiert Buchstaben, Zahlen, Bindestriche und Schrägstriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + index: + last_notable_change: Letzte bemerkenswerte Änderung + new: + create: Seite erstellen + title: Neue Seite + topic: + destroy: Thema entfernen + edit: Thema bearbeiten + empty: Es gibt keine Seite zu diesem Thema + without_topic: Seiten ohne Thema + update: + error: Beim Aktualisieren dieser Seite ist ein Fehler aufgetreten. + success: Seite wurde erfolgreich aktualisiert + titles: + admin_log: Adminprotokoll + area_types: Bereichstypen + areas: Bereiche + authorization_workflows: Verifizierungsmethoden + dashboard: Instrumententafel + impersonatable_users: Überschaubare Benutzer + impersonations: Benutzerverwaltung + metrics: Kriterien + panel: Admin + participants: Benutzer + scope_types: Bereichstypen + scopes: Bereiche + static_pages: Seiten + statistics: Aktivität + user_groups: Benutzergruppen + users: Benutzer + user_group: + csv_verify: + invalid: Beim Lesen der CSV-Datei ist ein Fehler aufgetreten. + success: CSV-Datei wurde erfolgreich hochgeladen. Wir überprüfen, ob die Benutzergruppen den Kriterien entsprechen. Das kann eine Weile dauern. + reject: + invalid: Beim Ablehnen dieser Benutzergruppe ist ein Fehler aufgetreten. + success: Benutzergruppe wurde erfolgreich abgelehnt + verify: + invalid: Beim Überprüfen dieser Benutzergruppe ist ein Fehler aufgetreten. + success: Benutzergruppe erfolgreich verifiziert + user_groups: + index: + filter: + all: Alle + pending: steht aus + rejected: Abgelehnt + verified: Überprüft + filter_by: Filtern nach + search: Suche + state: + pending: steht aus + rejected: Abgelehnt + verified: Überprüft + verify_via_csv: Überprüfen Sie über CSV + user_groups_csv_verifications: + new: + explanation: Laden Sie Ihre CSV-Datei hoch. In der ersten Spalte der Datei müssen die offiziellen E-Mails der Benutzergruppen in Ihrer Organisation enthalten sein, ohne Kopfzeilen. Nur Benutzergruppen, die ihre E-Mail bestätigt haben und deren E-Mail in der CSV-Datei enthalten ist, werden überprüft. + title: Laden Sie Ihre CSV-Datei hoch + upload: Hochladen + users: + create: + error: Beim Einladen dieses Benutzers ist ein Fehler aufgetreten. + success: Benutzer wurde erfolgreich eingeladen. + destroy: + error: Beim Versuch, diesen Benutzer zu löschen, ist ein Fehler aufgetreten. + success: Der Benutzer ist kein Administrator mehr. + form: + email: Email + name: Name + role: Rolle + new: + create: Einladen + title: Benutzer als Administrator einladen + users_statistics: + users_count: + admins: Admins + last_day: Letzter Tag + last_month: Letzter Monat + last_week: Letzte Woche + no_users_count_statistics_yet: Es gibt noch keine Nutzerstatistiken + participants: Teilnehmer + view_public_page: Öffentliche Seite anzeigen + forms: + errors: + impersonate_user: + reason: Sie müssen einen Grund angeben, wenn Sie sich als nicht verwalteter Benutzer ausgeben + metrics: + blocked_users: + object: blockierte Benutzer + title: Blockierte Benutzer + reported_users: + object: gemeldete Benutzer + title: Gemeldete Benutzer + user_reports: + object: Benutzer-Meldungen + title: Benutzer-Meldungen + moderations: + actions: + expand: Ausklappen + hidden: Versteckt + hide: verbergen + not_hidden: Nicht versteckt + title: Aktionen + unhide: Einblenden + unreport: Nicht melden + admin: + reportable: + hide: + invalid: Beim Verbergen der Ressource ist ein Problem aufgetreten. + success: Ressource erfolgreich ausgeblendet + unhide: + invalid: Es gab ein Problem beim Verstecken der Ressource. + success: Ressource erfolgreich ausgeblendet. + unreport: + invalid: Es ist ein Problem aufgetreten, die Ressource nicht zu melden. + success: Die Meldung der Ressource wurde erfolgreich aufgehoben. + models: + moderation: + fields: + created_at: Erstellungsdatum + hidden_at: Versteckt bei + participatory_space: Beteiligungsbereich + report_count: Anzahl + reportable_id: ID + reportable_type: Typ + reported_content_url: URL des gemeldeten Inhalts + reports: Berichte + visit_url: Besuchs-URL + report: + fields: + details: Details zum Grund + locale: Sprache + reason: Grund + errors: + messages: + invalid_json: Ungültiger JSON + layouts: + decidim: + admin: + global_moderations: + title: Globale Moderationen + newsletters: + title: Newsletter + settings: + title: die Einstellungen + users: + title: Benutzer diff --git a/decidim-admin/config/locales/pt.yml b/decidim-admin/config/locales/pt.yml index c4e0c8920329d..aa0825351258f 100644 --- a/decidim-admin/config/locales/pt.yml +++ b/decidim-admin/config/locales/pt.yml @@ -259,6 +259,7 @@ pt: block_user: new: action: Bloquear conta e enviar justificação + description: Bloquear um utilizador torna a sua conta inutilizada, pode fornecer na sua justificação e orientações na forma que pondera poder considerar para desbloquear o utilizador. justification: Justificação title: Bloquear utilizador %{name} categories: @@ -321,6 +322,7 @@ pt: 'false': 'Não' managed_user_name: Utilizador gerido solved: Resolvido + title: Conflitos de verificações transfer: email: e-Mail error: Houve um problema ao transferir o utilizador actual para utilizador gerido. @@ -377,6 +379,7 @@ pt: file_help: import: explanation: 'Orientação para ficheiro:' + message_1: São suportados os ficheiros CSV,JSON, e Excel (.xls) message_2: Para ficheiros CSV o separador entre coludas deve ser um ponto e vírgula (";") help_sections: error: Ocorreu um problema ao atualizar as secções de ajuda @@ -420,12 +423,15 @@ pt: creators: proposalcreator: Criador de proposta error: Houve um problema durante a importação + help: + proposalcreator: O ficheiro deve ter nomes de coluna title/pt e body/pt (ou qualquer outro idioma que prefira exemplo title/en e body/en). Também são suportadas colunas âmbito/id e categoria/id. import_from_file: Importar dum ficheiro invalid_lines: Encontrado erro no recurso número %{invalid_lines} new: accepted_mime_types: csv: csv json: json + xls: xls actions: back: Voltar file_legend: Adicionar ficheiro para importar a analisar. @@ -561,6 +567,7 @@ pt: reasons: does_not_belong: Não pertence offensive: Ofensivo + spam: Spam tabs: blocked: Bloqueado unblocked: Não bloqueado @@ -701,6 +708,7 @@ pt: rich_text_editor_in_public_views_help: Em algumas áreas de texto, os participantes serão capazes de inserir algumas etiquetas HTML utilizando o editor de texto avançado. social_handlers: Social twitter: Twitter + url: URL youtube: Youtube update: error: Ocorreu um problema ao atualizar esta organização. diff --git a/decidim-assemblies/config/locales/lb.yml b/decidim-assemblies/config/locales/lb.yml new file mode 100644 index 0000000000000..fbfad4c21c436 --- /dev/null +++ b/decidim-assemblies/config/locales/lb.yml @@ -0,0 +1,395 @@ +lb: + activemodel: + attributes: + assemblies_setting: + enable_organization_chart: Organisationsdiagramm aktivieren + assembly: + area_id: Bereich + assembly_type: Versammlungstyp + assembly_type_other: Sonstiger Versammlungstyp + banner_image: Banner-Bild + closing_date: Einsendeschluss + closing_date_reason: Schlussdatums Grund + composition: Zusammensetzung + copy_categories: Kategorien kopieren + copy_components: Komponenten kopieren + copy_features: Funktionen kopieren + created_by: Erstellt von + created_by_other: Erstellt von anderen + creation_date: Datum erstellt + decidim_area_id: Bereich + decidim_assemblies_type_id: Versammlungstyp + decidim_scope_id: Umfang + description: Beschreibung + developer_group: Promoter-Gruppe + domain: Domain + duration: Dauer + facebook: Facebook + github: GitHub + hashtag: Hashtag + hero_image: Hauptbild + included_at: Inbegriffen bei + instagram: Instagram + internal_organisation: Interne Organisation + is_transparent: Ist transparent + local_area: Organisationsbereich + meta_scope: Bereichs-Metadaten + parent_id: Haupt Versammlung + participatory_processes_ids: Ähnliche Beteiligungsprozesse + participatory_scope: Was wird entschieden? + participatory_structure: Wie wird es entschieden? + private_space: Privatsphäre + promoted: Hervorgehoben + published_at: Veröffentlicht am + purpose_of_action: Zweck der Aktion + scope_id: Umfang + scopes_enabled: Bereiche aktiviert + short_description: Kurze Beschreibung + show_statistics: Zeige Statistiken + slug: URL-Block + special_features: Besondere Merkmale + subtitle: Untertitel + target: Wer nimmt teil? + title: Titel + twitter: Twitter + youtube: Youtube + assembly_member: + birthday: Geburtstag + birthplace: Geburtsort + ceased_date: Aufgegebenes Datum + designation_date: Datum der Benennung + designation_mode: Bezeichnungsmodus + full_name: Vollständiger Name + gender: Geschlecht + position: Position + assembly_user_role: + email: Email + name: Name + role: Rolle + errors: + models: + assembly: + attributes: + document: + invalid_document_type: 'Ungültiger Dokumenttyp. Zulässige Formate sind: %{valid_mime_types}' + activerecord: + models: + decidim/assembly: + one: Gre­mi­um + other: Gremien + decidim/assembly_member: + one: Gremienmitglieder + other: Mitglieder der Versammlung + decidim/assembly_user_role: + one: Assembly-Benutzerrolle + other: Zusammenbau von Benutzerrollen + decidim: + admin: + actions: + import_assembly: Importieren + new_assembly: Neues Gremium + new_assembly_type: Neuer Gremiumtyp + assemblies: + create: + error: Beim Erstellen eines neuen Gremiums ist ein Fehler aufgetreten. + success: Das Gremium wurde erfolgreich erstellt. + edit: + update: Aktualisieren + index: + not_published: Nicht veröffentlicht + private: Privat + public: Öffentlich + published: Veröffentlicht + new: + create: Erstellen + title: Neues Gremium + update: + error: Beim Aktualisieren dieses Gremiums ist ein Fehler aufgetreten. + success: Das Gremium wurde erfolgreich aktualisiert. + assemblies_copies: + create: + error: Beim Duplizieren dieses Gremiums ist ein Fehler aufgetreten. + success: Das Gremium wurde erfolgreich dupliziert. + assemblies_settings: + update: + error: Beim Aktualisieren der Einstellungen ist ein Fehler aufgetreten. + success: Einstellungen wurden erfolgreich aktualisiert. + assemblies_types: + create: + error: Beim Erstellen eines neuen Gremiumtyps ist ein Fehler aufgetreten. + success: Gremiumtyp wurde erfolgreich erstellt. + destroy: + success: Gremiumtyp wurde erfolgreich gelöscht. + new: + create: Erstellen + title: Neuer Gremiumtyp + update: + error: Beim Aktualisieren dieses Gremiumtyps ist ein Fehler aufgetreten. + success: Gremiumtyp wurde erfolgreich aktualisiert. + assembly_copies: + new: + copy: Kopieren + select: Wählen Sie die Daten aus, die Sie duplizieren möchten + title: Doppelte Montage + assembly_imports: + create: + error: Beim Importieren dieses Gremiums ist ein Fehler aufgetreten. + success: Gremium wurde erfolgreich importiert. + new: + import: Importieren + select: Wählen Sie aus, welche Daten Sie importieren möchten + title: Gremium importieren + assembly_members: + create: + error: Beim Hinzufügen eines Mitglieds zu diesem Gremium ist ein Fehler aufgetreten. + success: Mitglied wurde diesem Gremium erfolgreich hinzugefügt. + destroy: + success: Mitglied wurde erfolgreich aus diesem Gremium entfernt. + edit: + title: Aktualisieren Sie die Versammlungsmitglieder. + update: Aktualisieren + index: + assembly_members_title: Gremienmitglieder + new: + create: Erstellen + title: Neues Gremienmitglied. + update: + error: Beim Aktualisieren des Mitglieds dieses Gremiums ist ein Fehler aufgetreten. + success: Mitglied dieses Gremiums erfolgreich aktualisiert. + assembly_publications: + create: + error: Beim Veröffentlichen dieses Gremiums ist ein Fehler aufgetreten. + success: Gremium erfolgreich veröffentlicht. + destroy: + error: Beim Aufheben der Veröffentlichung dieser Assembly ist ein Fehler aufgetreten. + success: Die Assembly wurde nicht veröffentlicht. + assembly_user_roles: + create: + error: Beim Hinzufügen eines Benutzers für diese Assembly ist ein Fehler aufgetreten. + success: Der Administrator wurde dieser Versammlung erfolgreich hinzugefügt. + destroy: + success: Benutzer wurde erfolgreich von dieser Assembly entfernt. + edit: + title: Aktualisiere den Benutzer der Baugruppe + update: Aktualisieren + index: + assembly_admins_title: Assembly Benutzer + new: + create: Erstellen + title: Neuer Assembly-Benutzer + update: + error: Bei einem Fehler ist ein Benutzer für diese Assembly aktualisiert worden. + success: Der Benutzer wurde für diese Assembly erfolgreich aktualisiert. + menu: + assemblies: Gremien + assemblies_settings: Einstellungen + assemblies_submenu: + assembly_admins: Assembly Benutzer + assembly_members: Mitglieder + attachment_collections: Ordner + attachment_files: Dateien + categories: Kategorien + components: Komponenten + info: Info + moderations: Moderationen + private_users: Private Benutzer + assemblies_types: Versammlungstypen + models: + assemblies_types: + fields: + created_at: Hergestellt in + title: Titel + assembly: + fields: + created_at: Hergestellt in + private: Privat + promoted: Hervorgehoben + published: Veröffentlicht + title: Titel + name: Gremium + assembly_member: + fields: + ceased_date: Aufgegebenes Datum + designation_date: Datum der Benennung + full_name: Name + position: Position + name: Mitglied + positions: + other: Andere + president: Präsident + secretary: Sekretär + vice_president: Vizepräsident + assembly_user_role: + fields: + email: Email + name: Name + assemblies: + admin: + assemblies_types: + form: + title: Titel + assembly_copies: + form: + slug_help: 'URL-Slugs werden zum Generieren der URLs verwendet, die auf diese Assembly verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + assembly_imports: + form: + document_legend: Dokument hinzufügen + slug_help: 'URL-Slugs werden zum Generieren der URLs verwendet, die auf diese Versammlung verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + assembly_members: + form: + existing_user: Existierender Benutzer + non_user: Nichtbenutzer + select_a_position: Wählen Sie eine Position + select_user: Wählen Sie einen Benutzer aus + user_type: Benutzertyp + index: + filter: + all: Alle + ceased: Aufgegeben + not_ceased: Nicht aufgehört + filter_by: Filtern nach + search: Suche + content_blocks: + highlighted_assemblies: + max_results: Maximale Anzahl der Elemente, die angezeigt werden sollen + new_import: + accepted_types: + json: JSON + assembly_members: + index: + members: Mitglieder + assembly_types: + commission: Kommission + consultative_advisory: Beratende / Beratende + executive: Exekutive + government: Regierung + others: Andere + participatory: Teilnehmend + working_group: Arbeitsgruppe + content_blocks: + highlighted_assemblies: + name: Hervorgehobene Gremien + created_by: + city_council: Stadtrat + others: Andere + public: Öffentlich + filter: + all: Alle Typen + commission: Kommission + consultative_advisory: Beratung / Beratung + executive: Executive + government: Regierung + help: 'Anzeigen:' + others: Andere + participatory: Partizipativ + working_group: Arbeitsgruppe + index: + title: Gremien + last_activity: + new_assembly: Neues Gremium + pages: + home: + highlighted_assemblies: + active_assemblies: Aktive Gremien + assemblies_button_title: Verknüpfung zu der Versammlungsseite mit einem Überblick aller Versammlungen + see_all_assemblies: Alle Gremien anzeigen + user_profile: + member_of: + member_of: Mitglied von + show: + area: Bereich + assembly_type: Montageart + children: Gremien + closing_date: Einsendeschluss + composition: Zusammensetzung + created_by: Erstellt von + creation_date: Datum erstellt + developer_group: Promoter-Gruppe + duration: Dauer + included_at: Inbegriffen bei + indefinite_duration: Unbestimmt + internal_organisation: Interne Organisation + is_transparent: + 'false': undurchsichtig + 'true': transparent + local_area: Organisationsbereich + participatory_scope: Was ist entschieden? + participatory_structure: Wie ist es entschieden? + private_space: Dies ist eine private Versammlung + purpose_of_action: Zweck der Aktion + read_less: Lese weniger + read_more: Weiterlesen + related_participatory_processes: Procesos participativos relacionados + scope: Umfang + social_networks: Soziale Netzwerke + social_networks_title: Diese Versammlung auf teilen + target: Wer nimmt teil? + statistics: + assemblies_count: Gremien + assembly_members: + assembly_member: + designated_on: Bezeichnet am + index: + title: Mitglieder + events: + assemblies: + create_assembly_member: + email_intro: Ein Administrator des Gremiums %{resource_name} hat Sie als Mitglied eingeladen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie zu einer Versammlung eingeladen wurden. Gehen Sie zur Versammlungsseite, um daran teilzunehmen! + email_subject: Sie wurden als Mitglied des Gremiums %{resource_name} eingeladen! + notification_title: Sie wurden als Mitglied des Gremiums %{resource_name} registriert. Gehen Sie zur Gremiumsseite, um mitzuwirken! + assembly: + role_assigned: + email_intro: Sie wurden als %{role} für die Versammlung "%{resource_title}" ausgewählt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein %{role} der Versammlung "%{resource_title}" sind. + email_subject: Sie wurden als %{role} für "%{resource_title}" ausgewählt. + notification_title: Sie wurden als %{role} für die Versammlung %{resource_title} ausgewählt. + help: + participatory_spaces: + assemblies: + contextual: "

    Eine Versammlung ist eine Gruppe von Mitgliedern einer Organisation, die sich regelmäßig treffen, um Entscheidungen über einen bestimmten Bereich oder einen bestimmten Bereich der Organisation zu treffen.

    Versammlungen halten Meetings ab, einige sind privat und andere sind offen. Wenn sie offen sind, ist es möglich, an ihnen teilzunehmen (z. B. Teilnahme, wenn die Kapazität es erlaubt, Punkte auf die Tagesordnung setzen oder Vorschläge und Entscheidungen dieses Organs kommentieren).

    Beispiele: Eine Generalversammlung (die einmal im Jahr zusammentritt, um die wichtigsten Aktionslinien der Organisation sowie ihre Exekutivorgane per Abstimmung festzulegen), ein Gleichstellungsbeirat (der alle zwei Monate zusammentritt, um Vorschläge zur Verbesserung der Geschlechterbeziehungen vorzulegen In der Organisation sind eine Evaluierungskommission (die sich jeden Monat zur Überwachung eines Prozesses trifft) oder eine Garantieeinrichtung (die Vorfälle, Missbräuche oder Vorschläge zur Verbesserung der Entscheidungsverfahren sammelt) Beispiele für Versammlungen.

    \n" + page: "

    Eine Versammlung ist eine Gruppe von Mitgliedern einer Organisation, die sich regelmäßig treffen, um Entscheidungen über einen bestimmten Bereich oder einen bestimmten Bereich der Organisation zu treffen.

    Versammlungen halten Meetings ab, einige sind privat und andere sind offen. Wenn sie offen sind, ist es möglich, an ihnen teilzunehmen (z. B. Teilnahme, wenn die Kapazität es erlaubt, Punkte auf die Tagesordnung setzen oder Vorschläge und Entscheidungen dieses Organs kommentieren).

    Beispiele: Eine Generalversammlung (die einmal im Jahr zusammentritt, um die wichtigsten Aktionslinien der Organisation sowie ihre Exekutivorgane per Abstimmung festzulegen), ein Gleichstellungsbeirat (der alle zwei Monate zusammentritt, um Vorschläge zur Verbesserung der Geschlechterbeziehungen vorzulegen In der Organisation sind eine Evaluierungskommission (die sich jeden Monat zur Überwachung eines Prozesses trifft) oder eine Garantieeinrichtung (die Vorfälle, Missbräuche oder Vorschläge zur Verbesserung der Entscheidungsverfahren sammelt) Beispiele für Versammlungen.

    \n" + title: Was sind Gremien? + log: + value_types: + assembly_presenter: + not_found: 'Die Assembly wurde nicht in der Datenbank gefunden (ID: %{id})' + assembly_type_presenter: + not_found: 'Der Versammlungstyp wurde nicht in der Datenbank gefunden (ID: %{id})' + menu: + assemblies: Gremien + metrics: + assemblies: + description: Anzahl der erstellten Gremien + object: Gremien + title: Gremien + participatory_processes: + show: + related_assemblies: Ähnliche Versammlungen + errors: + messages: + cannot_be_blank: darf nicht leer sein + layouts: + decidim: + assemblies: + assembly: + more_info: Mehr Informationen + take_part: Teilnehmen + index: + children: 'Versammlungen:' + organizational_chart: Organigramm + promoted_assemblies: Hervorgehobene Gremien + reset_chart: Zurücksetzen + order_by_assemblies: + assemblies: + one: "%{count} Gremien" + other: "%{count} Gremien" + promoted_assembly: + more_info: Mehr Informationen + take_part: Teilnehmen + assembly_navigation: + assembly_member_menu_item: Mitglieder + assembly_menu_item: Das Gremium + assembly_widgets: + show: + take_part: Teilnehmen diff --git a/decidim-assemblies/config/locales/pt.yml b/decidim-assemblies/config/locales/pt.yml index b7f850152f2f5..05bd7a6d2f308 100644 --- a/decidim-assemblies/config/locales/pt.yml +++ b/decidim-assemblies/config/locales/pt.yml @@ -52,6 +52,7 @@ pt: target: Quem participa title: Título twitter: Twitter + weight: Peso youtube: Youtube assembly_member: birthday: Aniversário @@ -386,11 +387,15 @@ pt: comments_count: Comentários debates_count: Debates endorsements_count: Endossos + followers_count: Seguidores + headline: Estatísticas meetings_count: Reuniões + no_stats: Ainda não há estatísticas. orders_count: Votos pages_count: Páginas participants_count: Participantes posts_count: Publicações + processes_count: Processos projects_count: Projetos proposals_count: Propostas results_count: Resultados @@ -444,6 +449,8 @@ pt: home: hero: participate_title: Participar nos processos da plataforma + sub_hero: + register_title: Registe-se para criar conta participatory_processes: pages: home: diff --git a/decidim-blogs/config/locales/lb.yml b/decidim-blogs/config/locales/lb.yml new file mode 100644 index 0000000000000..ccb6a34ebbb35 --- /dev/null +++ b/decidim-blogs/config/locales/lb.yml @@ -0,0 +1,85 @@ +lb: + activemodel: + models: + decidim/blogs/create_post_event: Neuer Blogeintrag + activerecord: + models: + decidim/blogs/post: + one: Post + other: Beiträge + decidim: + blogs: + actions: + confirm_destroy: Möchten Sie diesen Beitrag wirklich löschen? + destroy: Löschen + edit: Bearbeiten + new: Neuer Beitrag + title: Aktionen + admin: + models: + components: + body: Haupttext + post: + name: Post + posts: + create: + invalid: Beim Erstellen dieses Posts ist ein Problem aufgetreten + success: Post erfolgreich erstellt + destroy: + success: Beitrag wurde erfolgreich gelöscht + edit: + save: Aktualisieren + title: Post bearbeiten + index: + title: Beiträge + new: + create: Erstellen + title: Post erstellen + update: + invalid: Beim Speichern des Posts sind Fehler aufgetreten. + success: Beitrag wurde erfolgreich gespeichert + last_activity: + new_post_at_html: "Neuer Beitrag bei %{link}" + models: + post: + fields: + author: Autor + body: Haupttext + created_at: Hergestellt in + title: Titel + posts: + show: + back: Zurück zur Liste + comments: Kommentare + view: Anzeigen + sidebar_blog: + comments: Bemerkungen + most_commented_posts: Meist kommentierte Posts + read_more: Weiterlesen + components: + blogs: + name: Blog + settings: + global: + announcement: Ankündigung + comments_enabled: Kommentare aktiviert + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + step: + announcement: Ankündigung + comments_blocked: Kommentare blockiert + endorsements_blocked: Unterstützung deaktiviert + endorsements_enabled: Unterstützung aktiviert + events: + blogs: + post_created: + email_intro: Der Beitrag "%{resource_title}" wurde in "%{participatory_space_title}" veröffentlicht, dem Sie folgen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{participatory_space_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neuer Beitrag in %{participatory_space_title} + notification_title: Der Beitrag %{resource_title} wurde in %{participatory_space_title} veröffentlicht + pages: + home: + statistics: + posts_count: Beiträge + participatory_processes: + statistics: + posts_count: Beiträge diff --git a/decidim-blogs/config/locales/pt.yml b/decidim-blogs/config/locales/pt.yml index 983f2292310a2..fb7b3aec81302 100644 --- a/decidim-blogs/config/locales/pt.yml +++ b/decidim-blogs/config/locales/pt.yml @@ -24,11 +24,11 @@ pt: posts: create: invalid: Ocorreu um problema ao criar esta publicação - success: Publicação criada corretamente + success: Publicação criada com êxito destroy: - success: Publicação eliminada corretamente + success: Publicação eliminada com êxito edit: - save: Atualizar + save: Actualizar title: Editar publicação index: title: Publicações @@ -37,7 +37,7 @@ pt: title: Criar publicação update: invalid: Ocorreu um problema ao guardar a publicação. - success: Publicação guardada corretamente + success: Publicação guardada com êxito last_activity: new_post_at_html: "Nova publicação em %{link}" models: diff --git a/decidim-budgets/config/locales/lb.yml b/decidim-budgets/config/locales/lb.yml new file mode 100644 index 0000000000000..ebb876f82c4ff --- /dev/null +++ b/decidim-budgets/config/locales/lb.yml @@ -0,0 +1,285 @@ +lb: + activemodel: + attributes: + project: + budget_amount: Höhe des Budgets + decidim_category_id: Kategorie + decidim_scope_id: Umfang + description: Beschreibung + proposal_ids: Ähnliche Vorschläge + selected: Zur Implementierung ausgewählt + title: Titel + activerecord: + models: + decidim/budgets/project: + one: Projekt + other: Projekte + decidim: + budgets: + actions: + attachment_collections: Ordner + attachments: Anhänge + confirm_destroy: Möchten Sie dieses Projekt wirklich löschen? + destroy: Löschen + edit: Bearbeiten + edit_projects: Projekte verwalten + import: Vorschläge in Projekte importieren + new: Neue(r/s) %{name} + preview: Vorschau + title: Aktionen + admin: + budgets: + create: + invalid: Beim Erstellen dieses Budgets ist ein Problem aufgetreten + success: Budget erfolgreich erstellt + destroy: + invalid: Es gab ein Problem beim Löschen dieses Budgets + success: Budget erfolgreich gelöscht + edit: + title: Budget bearbeiten + update: Budget aktualisieren + index: + finished_orders: Abgeschlossene Stimmen + pending_orders: Ausstehende Stimmen + title: Budgets + users_with_finished_orders: Benutzer mit abgeschlossenen Stimmen + users_with_pending_orders: Benutzer mit ausstehenden Stimmen + new: + create: Budget erstellen + title: Neues Budget + update: + invalid: Es gab ein Problem beim Aktualisieren dieses Budgets + success: Budget erfolgreich aktualisiert + exports: + projects: Projekte + models: + budget: + name: Bugdet + project: + name: Projekt + projects: + create: + invalid: Beim Erstellen dieses Projekts ist ein Problem aufgetreten + success: Projekt erfolgreich erstellt + destroy: + success: Projekt erfolgreich gelöscht + edit: + title: Projekt bearbeiten + update: Aktualisieren + index: + finished_orders: Abgeschlossene Stimmen + pending_orders: Ausstehende Stimmen + selected: Ausgewählt + title: Projekte + new: + create: Erstellen + title: Neues Projekt + update: + invalid: Beim Aktualisieren dieses Projekts ist ein Problem aufgetreten + success: Projekt erfolgreich aktualisiert + proposals_imports: + create: + invalid: Beim Importieren der Vorschläge in Projekte ist ein Problem aufgetreten + success: "%{number} Vorschläge wurden erfolgreich in Projekte importiert" + new: + create: Importieren Sie Vorschläge in Projekte + no_components: Es gibt keine weiteren Vorschlagskomponenten in diesem partizipativen Raum, um die Vorschläge in Projekte zu importieren. + select_component: Bitte wählen Sie eine Komponente aus + title: Vorschläge importieren + admin_log: + budget: + create: "%{user_name} hat das Budget %{resource_name} in %{space_name} erstellt" + delete: "%{user_name} hat das Budget %{resource_name} in %{space_name} gelöscht" + update: "%{user_name} hat das Budget %{resource_name} in %{space_name} aktualisiert" + project: + create: "%{user_name} hat das Projekt %{resource_name} in %{space_name} erstellt" + delete: "%{user_name} hat das Projekt %{resource_name} in %{space_name} gelöscht" + update: "%{user_name} hat das Projekt %{resource_name} in %{space_name} aktualisiert" + budget: + view: Alle Budgetprojekte anzeigen + budget_information_modal: + back_to: Zurück zu %{component_name} + close_modal: Dialog schließen + continue: Weiter + more_information: Mehr Informationen + budgets_list: + cancel_order: + more_than_one: lösche deine Stimme am %{name} und beginne neu + only_one: Löschen Sie Ihre Stimme und beginnen Sie von vorne. + finished_message: Sie haben den Abstimmungsprozess beendet. Vielen Dank für Ihre Teilnahme! + highlighted_cta: Über %{name} abstimmen + if_change_opinion: Wenn sie ihr Meinung geändert haben, können sie + my_budgets: Meine Budgets + voted_on: Sie haben über %{links} abgestimmt + limit_announcement: + cant_vote: Sie können nicht über dieses Budget abstimmen. Versuchen Sie es mit einem anderen Budget. + limit_reached: Sie haben aktive Stimmen in %{links}. Um über dieses Budget abstimmen zu können, müssen Sie Ihre Stimme löschen und neu beginnen. + models: + budget: + fields: + name: Name + projects_count: Anzahl Projekte + total_budget: Gesamt Budget + project: + fields: + title: Titel + order_summary_mailer: + order_summary: + selected_projects: 'Die ausgewählten Projekte sind:' + subject: Sie haben im Beteiligungsbereich %{space_name} abgestimmt + voted_on_space: Sie haben für das %{budget_name} Budget for the %{space_name} abgestimmt. + voted_on_space_with_scope: Sie haben für das %{budget_name} Budget for the %{space_name} innerhalb %{scope_name} (%{scope_type}) abgestimmt. + projects: + budget_confirm: + are_you_sure: Wenn du deine Meinung änderst, kannst du deine Stimme nachträglich ändern. + cancel: Stornieren + confirm: Bestätigen + description: Dies sind die Projekte, die Sie für das Budget ausgewählt haben. + title: Bestätigung der Abstimmung + budget_excess: + budget_excess: + description: Dieses Projekt überschreitet das maximale Budget und kann nicht hinzugefügt werden. Wenn Sie möchten können Sie ein bereits gewähltes Projekt wieder entfernen, oder gemäss Ihren Präferenzen abstimmen. + close: Schließen + description: Dieses Projekt überschreitet das maximale Budget und kann nicht hinzugefügt werden. Wenn Sie möchten können Sie ein bereits gewähltes Projekt wieder entfernen, oder gemäss Ihren Präferenzen abstimmen. + ok: OK + projects_excess: + description: Dieses Projekt überschreitet die maximale Anzahl Projekte und kann nicht hinzugefügt werden. Wenn Sie möchten können Sie ein bereits gewähltes Projekt wieder entfernen, oder gemäss Ihren Präferenzen abstimmen. + title: Maximale Anzahl Projekte überschritten + budget_summary: + are_you_sure: Sind Sie sicher, dass Sie Ihre Stimme zurückziehen wollen? + assigned: 'Zugewiesen:' + cancel_order: Löschen Sie Ihre Stimme und beginnen Sie von vorne + checked_out: + description: Sie haben bereits für die Verteilung dieses Budget gestimmt. Wenn Sie Ihre Meinung geändert haben, können Sie %{cancel_link}. + title: Budget-Abstimmung abgeschlossen + minimum_projects_rule: + description: Welche Projekte sollen finanziert werden? Wählen Sie mindestens %{minimum_number} Projekte aus und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget festzulegen. + instruction: "
  • Wählen Sie mindestens %{minimum_number} Projekte, die Sie unterstützen möchten, und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget zu definieren.
  • " + projects_rule: + description: Welche Projekte sollen finanziert werden? Wählen Sie mindestens %{minimum_number} und bis zu %{maximum_number} Projekte aus und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget festzulegen. + instruction: "
  • Wählen Sie mindestens %{minimum_number} und bis zu %{maximum_number} Projekte, die Sie wünschen und stimmen Sie nach Ihren Präferenzen ab, um das Budget zu definieren.
  • " + projects_rule_maximum_only: + description: Welche Projekte sollen finanziert werden? Wählen Sie bis zu %{maximum_number} Projekte aus und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget festzulegen. + instruction: "
  • Wählen Sie bis zu %{maximum_number} Projekte, die Sie unterstützen möchten, und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget zu definieren.
  • " + rules: + title: Budgetregeln + title: Sie entscheiden über das Budget + total_budget: Gesamtbudget + total_projects: Stimmen insgesamt + vote_threshold_percent_rule: + description: Welche Projekte sollen finanziert werden? Wählen Sie Projekte im Wert von mindestens %{minimum_budget} aus und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget festzulegen. + instruction: "
  • Wählen Sie Projekte im Wert von mindestens %{minimum_budget} aus und stimmen Sie entsprechend Ihren Präferenzen ab, um das Budget festzulegen.
  • " + count: + projects_count: + one: 1 Projekt + other: "%{count} Projekte" + filters: + category: Kategorie + scope: Umfang + search: Suche + status: Status + status_values: + all: Alle + not_selected: Nicht ausgewählt + selected: Ausgewählt + filters_small_view: + close_modal: Modal schließen + filter: Filter + filter_by: Filtern nach + unfold: Aufklappen + order_progress: + vote: Abstimmung + order_selected_projects: + remove: Löschen + selected_projects: + one: Projekt ausgewählt + other: ausgewählte Projekte + view: Anzeigen + orders: + highest_cost: Höchste Kosten + label: Projekte sortieren nach + lowest_cost: Niedrigste Kosten + most_voted: Meiste Stimmen + random: Zufällige Anordnung + selected: Ausgewählt + project: + add: Projekt %{resource_name} Ihrer Stimme hinzufügen + remove: Projekt %{resource_name} aus deiner Stimme entfernen + selected: Ausgewählt + view: Anzeigen + votes: + one: Abstimmung + other: Abstimmungen + you_voted: Du hast für dieses gestimmt + project_budget_button: + add: Zur Abstimmung hinzufügen + add_descriptive: Projekt %{resource_name} Ihrer Stimme hinzufügen + added: Zu deiner Abstimmung hinzugefügt + added_descriptive: Projekt %{resource_name} wurde zu deiner Abstimmung hinzugefügt + projects_for: Projekte für %{name} + show: + budget: Budget + view_all_projects: Alle Projekte anzeigen + components: + budgets: + actions: + vote: Abstimmen + name: Budgets + settings: + global: + announcement: Ankündigung + comments_enabled: Kommentare aktiviert + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + form: + errors: + budget_voting_rule_only_one: Nur eine Abstimmungsregel kann aktiviert sein + budget_voting_rule_required: Es ist eine Abstimmungsregel notwendig + landing_page_content: Budgets Landingpage + more_information_modal: Weitere Informationen + projects_per_page: Projekte pro Seite + resources_permissions_enabled: Berechtigungen können für jedes Projekt festgelegt werden + scope_id: Bereich + scopes_enabled: Bereiche aktiviert + title: Titel + total_budget: Gesamtbudget; Gesamtetat + vote_minimum_budget_projects_number: Mindestanzahl von Projekten, um abzustimmen + vote_rule_minimum_budget_projects_enabled: 'Regel aktivieren: Mindestanzahl von Projekten, um abzustimmen' + vote_rule_selected_projects_enabled: 'Regel aktivieren: Minimale und maximale Anzahl Projekte, für die gestimmt werden soll' + vote_rule_threshold_percent_enabled: 'Regel aktivieren: Minimaler Budgetprozentsatz' + vote_selected_projects_maximum: Maximale Anzahl auszuwählender Projekte + vote_selected_projects_minimum: Minimale Anzahl auszuwählender Projekte + vote_threshold_percent: Abstimmungsschwelle in Prozent + workflow: Workflow + workflow_choices: + all: 'Gesamthaft abstimmen: erlaubt es den Teilnehmern, in allen Budget‘s abzustimmen.' + one: 'Selektiv abstimmen: erlaubt es den Teilnehmern, in einem (1) der Budget’s abzustimmen.' + step: + announcement: Ankündigung + comments_blocked: Kommentare blockiert + highlighted_heading: Hervorgehobene Überschrift + landing_page_content: Budgets Landingpage + list_heading: Listenüberschrift + more_information_modal: Weitere Informationen modal + show_votes: Stimmen anzeigen + title: Überschrift + votes: Abstimmungen + votes_choices: + disabled: Abstimmung deaktiviert + enabled: Abstimmung aktiviert + finished: Abstimmung beendet + events: + budgets: + budget_published: + email_intro: 'Das Budget %{resource_title} ist jetzt für %{participatory_space_title} aktiv. Sie können es auf dieser Seite ansehen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Das Budget %{resource_title} ist jetzt für %{participatory_space_title} aktiv. + notification_title: Das Budget %{resource_title} ist jetzt aktiv für %{participatory_space_title}. + orders: + checkout: + error: Während der Bearbeitung Ihrer Abstimmung ist ein Fehler aufgetreten + success: Ihre Stimme wurde erfolgreich angenommen + destroy: + error: Bei der Absage der Abstimmung ist ein Fehler aufgetreten + success: Ihre Abstimmung wurde erfolgreich abgebrochen + index: + confirmed_orders_count: Stimmen zählen diff --git a/decidim-budgets/config/locales/pt.yml b/decidim-budgets/config/locales/pt.yml index d4254e7657736..af1326b374780 100644 --- a/decidim-budgets/config/locales/pt.yml +++ b/decidim-budgets/config/locales/pt.yml @@ -246,6 +246,7 @@ pt: projects_per_page: Projetos por página resources_permissions_enabled: Permissões de acções podem ser definidas para cada projecto scope_id: Âmbito + scopes_enabled: Âmbitos activados title: Título total_budget: Orçamento total vote_minimum_budget_projects_number: Número mínimo de projetos a votar @@ -276,7 +277,10 @@ pt: events: budgets: budget_published: + email_intro: 'A Orçamento %{resource_title} está agora activo para %{participatory_space_title}. Pode vê-lo a partir desta página:' email_outro: Recebeu esta notificação porque segue %{participatory_space_title}. Pode parar de receber notificações seguindo a hiperligação anterior. + email_subject: A orçamento %{resource_title} está agora activo para %{participatory_space_title}. + notification_title: O orçamento Neuer Kommentar unter %{link}" + view: Ansicht + votes: + create: + error: Beim Abstimmen des Kommentars sind Fehler aufgetreten. + components: + add_comment_form: + account_message: Melden Sie sich mit Ihrem Konto an oder registrieren Sie sich, um Ihren Kommentar hinzuzufügen. + form: + body: + label: Kommentar + placeholder: Was denken Sie darüber? + form_error: Der Text ist erforderlich und darf nicht länger als %{length} Zeichen sein. + submit: Senden + user_group_id: + label: Kommentieren als + opinion: + neutral: Neutral + remaining_characters: "%{count} Zeichen übrig" + remaining_characters_1: "%{count} Zeichen übrig" + title: Kommentar hinzufügen + comment: + alignment: + against: Gegen + in_favor: Zugunsten + deleted_user: Gelöschter Benutzer + hide_replies: Antworten verbergen + reply: Antworten + report: + action: Melden + already_reported: Dieser Inhalt wurde bereits gemeldet und wird von einem Administrator überprüft. + close: Schließen + description: Ist dieser Inhalt unangemessen? + details: Zusätzliche Kommentare + reasons: + does_not_belong: Enthält illegale Aktivitäten, Selbstmorddrohungen, persönliche Informationen oder etwas anderes, von dem Sie denken, dass es nicht auf %{organization_name} gehört. + offensive: Enthält Rassismus, Sexismus, Verleumdungen, persönliche Angriffe, Morddrohungen, Selbstmordanträge oder jegliche Form von Hassreden. + spam: Enthält Clickbait, Werbung, Scams oder Script Bots. + title: Ungeeigneten Inhalt melden + show_replies: '%{replies_count} Antworten anzeigen' + comment_order_selector: + order: + best_rated: Am besten bewertet + most_discussed: Meist diskutiert + older: Chronologisch + recent: Kürzlich hinzugefügt + title: 'Sortieren nach:' + comment_thread: + title: Konversation mit %{authorName} + comments: + blocked_comments_for_user_warning: Sie können momentan nichts kommentieren, aber Sie können die vorherigen lesen. + blocked_comments_warning: Kommentare sind zu diesem Zeitpunkt deaktiviert, aber Sie können die vorherigen lesen. + comment_details_title: Kommentarinformationen + loading: Kommentare werden geladen ... + single_comment_warning: Sie können die restlichen Kommentare hier prüfen. + single_comment_warning_title: Ihnen wird ein einzelner Kommentar angezeigt + title: + one: "%{count} Kommentar" + other: "%{count} Kommentare" + down_vote_button: + text: Ich bin mit diesem Kommentar nicht einverstanden + up_vote_button: + text: Ich stimme diesem Kommentar zu + events: + comments: + comment_by_followed_user: + email_intro: "%{author_name} hat einen Kommentar zu %{resource_title} hinterlassen. Sie können diesen auf dieser Seite lesen:" + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie die Profil-Seite dieses Benutzers. + email_subject: Neuer Kommentar von %{author_name} zu %{resource_title} + notification_title: Es gibt einen neuen Kommentar von %{author_name} %{author_nickname} zu %{resource_title}. + comment_by_followed_user_group: + email_intro: 'Die Gruppe %{author_name} hat einen Kommentar in %{resource_title} hinterlassen. Sie können diesen auf dieser Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie die Profil-Seite dieser Gruppe. + email_subject: Neuer Kommentar von %{author_name} zu %{resource_title} + notification_title: Es gibt einen neuen Kommentar von %{author_name} %{author_nickname} zu %{resource_title}. + comment_created: + email_intro: "%{resource_title} wurde kommentiert. Sie können den Kommentar auf dieser Seite lesen:" + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{resource_title}" oder seinem Autor folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neuer Kommentar von %{author_name} zu %{resource_title} + notification_title: Es gibt einen neuen Kommentar von %{author_name} %{author_nickname} zu %{resource_title} + comment_downvoted: + email_intro: Ihr Kommentar in "%{resource_title}" wurde negativ bewertet. Er hat nun insgesamt %{upvotes} positive und %{downvotes} negative Stimmen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Autor des Vorschlags sind. + email_subject: Ihr Kommentar in "%{resource_title}" wurde negativ bewertet. + notification_title: Ihr Kommentar in "%{resource_title}" wurde negativ bewertet. Er hat nun insgesamt %{upvotes} positive und %{downvotes} negative Stimmen. + comment_upvoted: + email_intro: Ihr Kommentar in "%{resource_title}" wurde positiv bewertet. Er hat nun insgesamt %{upvotes} positive und %{downvotes} negative Stimmen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Autor des Vorschlags sind. + email_subject: Ihr Kommentar in "%{resource_title}" wurde positiv bewertet. + notification_title: Ihr Kommentar in "%{resource_title}" wurde positiv bewertet. Er hat nun insgesamt %{upvotes} positive und %{downvotes} negative Stimmen. + reply_created: + email_intro: "%{author_name} hat auf Ihren Kommentar zu %{resource_title} geantwortet. Sie können das auf dieser Seite lesen:" + email_outro: Sie haben diese Benachrichtigung erhalten, weil Ihr Kommentar beantwortet wurde. + email_subject: "%{author_name} hat auf Ihren Kommentar zu %{resource_title} geantwortet" + notification_title: %{author_name} %{author_nickname} hat auf Ihren Kommentar in %{resource_title} geantwortet + user_group_mentioned: + email_intro: Eine Ihrer Gruppen wurde erwähnt + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Mitglied der Gruppe %{group_name} sind, die in %{resource_title} erwähnt wurde. + email_subject: Sie wurden in %{resource_title} als Mitglied von %{group_name} erwähnt + notification_title: Sie wurden in %{resource_title} von %{author_name} %{author_nickname} als ein Mitglied von %{group_name} %{group_nickname} erwähnt + user_mentioned: + email_intro: Sie wurden erwähnt + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie in %{resource_title} erwähnt wurden. + email_subject: Sie wurden in %{resource_title} erwähnt + notification_title: Sie wurden in %{resource_title} von %{author_name} %{author_nickname} erwähnt + metrics: + comments: + description: Anzahl der von Benutzern generierten Kommentare + object: Bemerkungen + title: Bemerkungen + errors: + messages: + cannot_have_comments: kann keine Kommentare haben diff --git a/decidim-comments/config/locales/pt.yml b/decidim-comments/config/locales/pt.yml index 85a5a7c2fd06d..15b68f6d6d412 100644 --- a/decidim-comments/config/locales/pt.yml +++ b/decidim-comments/config/locales/pt.yml @@ -16,6 +16,9 @@ pt: other: Votos decidim: comments: + comments: + create: + error: Ocorreu um problema ao criar o comentário comments_count: Contagem de comentários comments_title: Comentários last_activity: @@ -23,10 +26,10 @@ pt: view: Visualizar votes: create: - error: Houve erros ao votar o comentário. + error: Houve erros na votação do comentário. components: add_comment_form: - account_message: Inscreva-se com sua conta ou sign up para adicionar seu comentário. + account_message: Ligue-se com sua conta ou sign up para adicionar seu comentário. form: body: label: Comente @@ -76,6 +79,9 @@ pt: loading: A carregar comentários ... single_comment_warning: Pode consultar os restantes comentários aqui. single_comment_warning_title: Está a ver um único comentário + title: + one: "%{count} comentário" + other: "%{count} comentários" down_vote_button: text: Eu discordo deste comentário up_vote_button: @@ -94,9 +100,19 @@ pt: notification_title: Há um novo comentário por %{author_name} %{author_nickname} em %{resource_title}. comment_created: email_intro: "%{resource_title} foi comentado. Você pode ler o comentário nesta página:" - email_outro: Recebeu esta notificação porque segue "%{resource_title}" ou o seu autor. Pode deixar de segui-lo a partir da hiperligação anterior. + email_outro: Recebeu esta notificação porque segue "%{resource_title}" ou o seu autor. Pode deixar de segui-lo a partir da ligação anterior. email_subject: Há um novo comentário de %{author_name} em %{resource_title} notification_title: Há um novo comentário de %{author_name} %{author_nickname} em %{resource_title} + comment_downvoted: + email_intro: O seu comentário em "%{resource_title}” foi desvalorizado. Tem agora um total de %{upvotes} valorizações e %{downvotes} desvalorizações. + email_outro: Recebeu esta notificação porque é o autor deste comentário. + email_subject: O seu comentário em "%{resource_title}” foi desvalorizado. + notification_title: O seu comentário in "%{resource_title}" foi desvalorizado. Tem agora um total de %{upvotes} valorizações e %{downvotes} desvalorizações. + comment_upvoted: + email_intro: O seu comentário em "%{resource_title}” foi valorizado. Tem agora um total de %{upvotes} valorizações e %{downvotes} desvalorizações. + email_outro: Recebeu esta notificação porque é o autor deste comentário. + email_subject: O seu comentário em "%{resource_title}” foi valorizado. + notification_title: O seu comentário in "%{resource_title}" foi valorizado. Tem agora um total de %{upvotes} valorizações e %{downvotes} desvalorizações. reply_created: email_intro: "%{author_name} respondeu ao seu comentário em %{resource_title}. Pode lê-lo nesta página:" email_outro: Recebeu esta notificação porque responderam ao seu comentário. diff --git a/decidim-conferences/config/locales/fr-CA.yml b/decidim-conferences/config/locales/fr-CA.yml index 2d2851c51bc02..ea410079d2406 100644 --- a/decidim-conferences/config/locales/fr-CA.yml +++ b/decidim-conferences/config/locales/fr-CA.yml @@ -3,6 +3,7 @@ fr-CA: attributes: conference: assemblies_ids: Assemblées associées + available_slots: Emplacements disponibles banner_image: Image d'en-tête consultations_ids: Votations associées copy_categories: Copier les catégories @@ -10,8 +11,10 @@ fr-CA: copy_features: Copier les fonctionnalités decidim_scope_id: Périmètre description: Description + end_date: Date de fin hashtag: Hashtag hero_image: Image de la page d'accueil + location: Lieu main_logo: Logo principal objectives: Objectifs participatory_processes_ids: Concertations associées @@ -23,8 +26,12 @@ fr-CA: scopes_enabled: Périmètres d'application activés short_description: Brève description show_statistics: Montrer les statistiques + sign_date: Date de signature + signature: Signature + signature_name: nom de la signature slogan: Slogan slug: Slug URL + start_date: Date de début title: Titre conference_media_link: date: Date @@ -35,10 +42,12 @@ fr-CA: link: Lien logo: Logo name: Nom + partner_type: Type de partenaire weight: Rang d'affichage conference_registration_invite: email: Courriel name: Nom + registration_type_id: Type d'inscription user_id: Utilisateur·rice conference_registration_type: description: Description @@ -46,10 +55,15 @@ fr-CA: title: Titre weight: Rang d'affichage conference_speaker: + affiliation: Affiliation avatar: Image de profil conference_meeting_ids: Réunions connexes full_name: Nom complet personal_url: URL personnelle + position: Position + short_bio: Courte bio + twitter_handle: Gestionnaire Twitter + user_id: Utilisateur conference_user_role: email: Email name: Nom diff --git a/decidim-conferences/config/locales/fr.yml b/decidim-conferences/config/locales/fr.yml index 1eebd24de2def..76a6b75c9bbd6 100644 --- a/decidim-conferences/config/locales/fr.yml +++ b/decidim-conferences/config/locales/fr.yml @@ -3,6 +3,7 @@ fr: attributes: conference: assemblies_ids: Assemblées associées + available_slots: Emplacements disponibles banner_image: Image d'en-tête consultations_ids: Votations associées copy_categories: Copier les catégories @@ -10,8 +11,10 @@ fr: copy_features: Copier les fonctionnalités decidim_scope_id: Périmètre description: Description + end_date: Date de fin hashtag: Hashtag hero_image: Image de la page d'accueil + location: Lieu main_logo: Logo principal objectives: Objectifs participatory_processes_ids: Concertations associées @@ -23,8 +26,12 @@ fr: scopes_enabled: Périmètres d'application activés short_description: Brève description show_statistics: Montrer les statistiques + sign_date: Date de signature + signature: Signature + signature_name: nom de la signature slogan: Slogan slug: Slug URL + start_date: Date de début title: Titre conference_media_link: date: Date @@ -35,10 +42,12 @@ fr: link: Lien logo: Logo name: Nom + partner_type: Type de partenaire weight: Rang d'affichage conference_registration_invite: email: Courriel name: Nom + registration_type_id: Type d'inscription user_id: Utilisateur·rice conference_registration_type: description: Description @@ -46,10 +55,15 @@ fr: title: Titre weight: Rang d'affichage conference_speaker: + affiliation: Affiliation avatar: Image de profil conference_meeting_ids: Réunions connexes full_name: Nom complet personal_url: URL personnelle + position: Position + short_bio: Courte bio + twitter_handle: Gestionnaire Twitter + user_id: Utilisateur conference_user_role: email: Email name: Nom diff --git a/decidim-conferences/config/locales/lb.yml b/decidim-conferences/config/locales/lb.yml new file mode 100644 index 0000000000000..afea1885cbfb4 --- /dev/null +++ b/decidim-conferences/config/locales/lb.yml @@ -0,0 +1,530 @@ +lb: + activemodel: + attributes: + conference: + assemblies_ids: Ähnliche Assemblies + available_slots: Verfügbare Plätze + banner_image: Banner-Bild + consultations_ids: Verwandte Konsultationen + copy_categories: Kategorien kopieren + copy_components: Kopieren Sie Komponenten + copy_features: Funktionen kopieren + decidim_scope_id: Umfang + description: Beschreibung + end_date: Endtermin + hashtag: Hashtag + hero_image: Hauptbild + location: Standort + main_logo: Hauptlogo + objectives: Ziele + participatory_processes_ids: Ähnliche Beteiligungsprozesse + promoted: Gefördert + published_at: Veröffentlicht unter + registration_terms: Registrierungsbedingungen + registrations_enabled: Registrierungen aktiviert + scope_id: Umfang + scopes_enabled: Bereiche aktiviert + short_description: Kurze Beschreibung + show_statistics: Zeige Statistiken + sign_date: Datum der Unterschrift + signature: Unterschrift + signature_name: Signaturname + slogan: Slogan + slug: URL-Block + start_date: Startdatum + title: Titel + conference_media_link: + date: Datum + link: Verknüpfung + title: Titel + conference_partner: + link: Verknüpfung + logo: Logo + name: Numm + partner_type: Partnertyp + conference_registration_invite: + email: E-Mail + conference_speaker: + conference_meeting_ids: Ähnlech Versammlungen + decidim: + admin: + conference_user_roles: + create: + success: Benutzer wurde erfolgreich zu dieser Konferenz hinzugefügt. + destroy: + success: Benutzer wurde erfolgreich von dieser Konferenz entfernt. + edit: + title: Aktualisieren Sie den Konferenzbenutzer. + update: Aktualisieren + index: + conference_admins_title: Konferenzbenutzer + new: + create: Erstellen + title: Neuer Konferenzbenutzer + update: + error: Bei einem Fehler ist ein Benutzer für diese Konferenz aktualisiert worden. + success: Der Benutzer wurde für diese Konferenz erfolgreich aktualisiert. + conferences: + create: + error: Beim Erstellen einer neuen Konferenz ist ein Fehler aufgetreten. + success: Konferenz erfolgreich erstellt + edit: + update: Aktualisieren + exports: + registrations: Anmeldungen + form: + title: Allgemeine Information + index: + not_published: Nicht veröffentlicht + published: Veröffentlicht + new: + create: Erstellen + title: Konferenz + update: + error: Beim Aktualisieren dieser Konferenz ist ein Fehler aufgetreten. + success: Konferenz wurde erfolgreich aktualisiert. + conferences_copies: + create: + error: Beim Duplizieren dieser Konferenz ist ein Fehler aufgetreten. + success: Konferenz wurde erfolgreich dupliziert. + media_links: + create: + error: Beim Erstellen einer neuen Medienverknüpfung ist ein Fehler aufgetreten. + success: Medienlink erfolgreich erstellt + destroy: + success: Medienlink wurde erfolgreich gelöscht. + edit: + title: Medienlink aktualisieren + update: Aktualisieren + index: + media_links_title: Medienlinks + new: + create: Erstellen + title: Medienlink + update: + error: Beim Aktualisieren dieser Medienverbindung ist ein Fehler aufgetreten. + success: Media Link wurde erfolgreich aktualisiert. + menu: + conferences: Konferenzen + conferences_submenu: + attachment_collections: Ordner + attachment_files: Dateien + attachments: Anhänge + categories: Kategorien + components: Komponenten + conference_admins: Konferenzadministratoren + conference_invites: Lädt ein + conference_speakers: Lautsprecher + diploma: Teilnahmebestätigung + info: Info + media_links: Medienlinks + moderations: Moderationen + partners: Partner + registration_types: Registrierungsarten + registrations: Registrierungen + user_registrations: Benutzerregistrierungen + models: + conference: + fields: + created_at: Hergestellt in + conference_speaker: + fields: + position: Positioun + name: Konferenzsprecher + conference_user_role: + fields: + email: Email + name: Name + role: Rolle + name: Konferenzbenutzer + roles: + admin: Administrator + collaborator: Mitarbeiter + moderator: Moderator + valuator: Schätzer + media_link: + fields: + date: Datum + link: Verknüpfung + title: Titel + name: Medienlink + partner: + fields: + link: Verknüpfung + logo: Logo + name: Name + partner_type: Art + name: Partner + types: + collaborator: Mitarbeiter + main_promotor: Hauptförderer + registration_type: + fields: + conference_meetings: Konferenzsitzungen + price: Preis + registrations_count: Registrierungen zählen + title: Titel + name: Registrierungstyp + partners: + create: + error: Beim Hinzufügen eines Partners für diese Konferenz ist ein Fehler aufgetreten. + success: Der Partner wurde erfolgreich zu dieser Konferenz hinzugefügt. + destroy: + success: Der Partner wurde erfolgreich von dieser Konferenz entfernt. + edit: + title: Partner aktualisieren + update: Aktualisieren + new: + create: Erstellen + title: Neuer Partner + update: + error: Bei einem Fehler ist ein Partner für diese Konferenz aktualisiert worden. + success: Der Partner wurde für diese Konferenz erfolgreich aktualisiert. + registration_type_publications: + create: + error: Beim Veröffentlichen dieses Registrierungstyps ist ein Fehler aufgetreten. + success: Die Registrierung wurde erfolgreich veröffentlicht. + destroy: + error: Beim Aufheben der Veröffentlichung dieses Registrierungstyps ist ein Fehler aufgetreten. + success: Registrierungstyp nicht erfolgreich veröffentlicht. + registration_types: + create: + error: Beim Hinzufügen eines Registrierungstyps für diese Konferenz ist ein Fehler aufgetreten. + success: Die Registrierung wurde erfolgreich zu dieser Konferenz hinzugefügt. + destroy: + success: Der Registrierungstyp wurde erfolgreich von dieser Konferenz entfernt. + edit: + title: Registrierungsart aktualisieren + update: Aktualisieren + new: + create: Erstellen + title: Neuer Registrierungstyp + update: + error: Bei einem Fehler ist ein Registrierungstyp für diese Konferenz aktualisiert worden. + success: Die Registrierung wurde für diese Konferenz erfolgreich aktualisiert. + titles: + conferences: Konferenzen + admin_log: + conference: + create: "%{user_name} hat die Konferenz %{resource_name} erstellt" + publish: "%{user_name} hat die Konferenz %{resource_name} veröffentlicht" + send_conference_diplomas: "%{user_name} hat Teilnahmebescheinigungen an die Teilnehmenden der Konferenz %{resource_name} gesendet" + unpublish: "%{user_name} hat die Konferenz %{resource_name} auf \"unveröffentlicht\" gesetzt" + update: "%{user_name} hat die Konferenz %{resource_name} aktualisiert" + update_diploma: "%{user_name} hat die Konfiguration der Teilnahmebescheinigungen für die Konferenz %{resource_name} aktualisiert" + conference_speaker: + create: "%{user_name} hat den Sprecher %{resource_name} in der Konferenz %{space_name} erstellt" + delete: "%{user_name} hat den Sprecher %{resource_name} aus der Konferenz %{space_name} entfernt" + update: "%{user_name} hat den Sprecher %{resource_name} in der Konferenz %{space_name} aktualisiert" + conference_user_role: + create: "%{user_name} hat %{resource_name} zur Konferenz %{space_name} eingeladen" + delete: "%{user_name} hat den Admin %{resource_name} aus der Konferenz %{space_name} entfernt" + update: "%{user_name} hat die Rolle von %{resource_name} in der Konferenz %{space_name} geändert" + conferences: + conference_registration: + confirm: "%{user_name} hat eine Anmeldung zur Konferenz %{resource_name} bestätigt" + partner: + create: "%{user_name} hat den Partner %{resource_name} in der Konferenz %{space_name} erstellt" + delete: "%{user_name} hat den Partner %{resource_name} aus der Konferenz %{space_name} entfernt" + update: "%{user_name} hat den Partner %{resource_name} in der Konferenz %{space_name} aktualisiert" + registration_type: + create: "%{user_name} hat den Registrierungstyp %{resource_name} in der Konferenz %{space_name} erstellt" + publish: "%{user_name} hat den Registrierungstyp %{resource_name} in der Konferenz %{space_name} veröffentlicht" + unpublish: "%{user_name} hat den Registrierungstyp %{resource_name} in der Konferenz %{space_name} auf \"unveröffentlicht\" gesetzt" + update: "%{user_name} hat den Registrierungstyp %{resource_name} in der Konferenz %{space_name} aktualisiert" + media_link: + create: "%{user_name} hat den Medienlink %{resource_name} in der Konferenz %{space_name} erstellt" + delete: "%{user_name} hat den Medienlink %{resource_name} aus der Konferenz %{space_name} entfernt" + update: "%{user_name} hat den Medienlink %{resource_name} in der Konferenz %{space_name} aktualisiert" + conference_program: + index: + title: Programm + conference_speakers: + index: + title: Lautsprecher + conferences: + admin: + conference_copies: + form: + slug_help: 'URL-Slugs werden verwendet, um URLs zu generieren, die auf diese Konferenz verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + conference_invites: + create: + error: Beim Einladen des Benutzers zur Teilnahme an der Konferenz ist ein Problem aufgetreten. + success: Der Benutzer wurde erfolgreich zur Teilnahme an der Konferenz eingeladen. + form: + attendee_type: Teilnehmertyp + existing_user: Existierender Benutzer + invite_explanation: Der Benutzer wird eingeladen, der Konferenz und der Organisation beizutreten. + non_user: Nicht existierender Benutzer + select_user: Nutzer wählen + index: + filter: + accepted: Akzeptiert + all: Alle + rejected: Abgelehnt + sent: Geschickt + filter_by: Filtern nach + invite_attendee: Teilnehmer einladen + invites: Lädt ein + search: Suche + new: + explanation: Der Benutzer wird eingeladen, an einer Konferenz teilzunehmen. Wenn die E-Mail nicht registriert ist, werden sie ebenfalls zur Organisation eingeladen. + invite: Einladen + new_invite: Nutzer einladen + conference_registrations: + index: + registrations: Anmeldungen + conference_speakers: + form: + existing_user: Existierender Benutzer + non_user: Nichtbenutzer + select_user: Nutzer wählen + user_type: Benutzertyp + index: + search: Suche + conferences: + form: + available_slots_help: Belassen Sie es auf 0, wenn Sie unbegrenzte Plätze zur Verfügung haben. + registrations_count: + one: Es gab 1 Registrierung. + other: Es gab %{count} Registrierungen. + slug_help: 'URL-Slugs werden verwendet, um URLs zu generieren, die auf diese Konferenz verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + diplomas: + edit: + save: Speichern + title: Teilnahmebestätigung + invite_join_conference_mailer: + invite: + decline: Einladung '%{conference_title}' ablehnen + invited_you_to_join_a_conference: "%{invited_by} hat Sie eingeladen, an einer Konferenz um %{application}teilzunehmen. Sie können dies über die unten stehenden Links ablehnen oder akzeptieren." + registration: Registrierung für '%{conference_title}' + partners: + index: + title: Partner + registration_types: + form: + select_conference_meetings: Konferenzmeetings auswählen + index: + title: Registrierungsarten + send_conference_diploma_mailer: + diploma: + diploma_html: Die Teilnahmebescheinigung für die Konferenz %{title} finden Sie in den Anhängen. + diploma_user: + attendance_verified_by: Anwesenheit überprüft durch + certificate_of_attendance: Teilnahmebestätigung + certificate_of_attendance_description: Hiermit wird bestätigt, dass %{user} an den %{title} teilgenommen hat, die am %{location} am %{start} - %{end}abgehalten wurden + send_diploma: + error: Beim Senden der Teilnahmebestätigung der Konferenz ist ein Problem aufgetreten. + success: Konferenz-Teilnahmebestätigung korrekt gesendet + conference: + registration_confirm: + cancel: Stornieren + confirm: Bestätigen + show: + free: Kostenlos + going: Gehen + no_slots_available: Keine Steckplätze verfügbar + registration: Anmeldung + conference_program: + program_meeting: + content: Inhalt + location: Ort + speakers: Lautsprecher + streaming: Streaming + show: + day: Tag + program: Programm + conference_registration_mailer: + confirmation: + confirmed_html: Ihre Anmeldung zur Konferenz %{title} wurde bestätigt. + details_1: 'Sie sind mit dem Typ %{registration_type} zur Konferenz angemeldet. Es kostet %{price} und Sie können an folgenden Veranstaltungen teilnehmen:' + details_2: Sie finden die Details der Konferenz im Anhang. + pending_validation: + confirmation_pending: Sie erhalten in Kürze eine Bestätigung + details: 'Sie haben sich für %{registration_type} Typ mit einem Preis von %{price} angemeldet und können an den folgenden Veranstaltungen teilnehmen:' + pending_html: Ihre Anmeldung zur Konferenz %{title} steht noch aus. + conference_registrations: + create: + invalid: Bei dieser Konferenz ist ein Problem aufgetreten. + success: Sie sind der Konferenz erfolgreich beigetreten. + decline_invitation: + invalid: Es ist ein Problem aufgetreten, dass die Einladung abgelehnt wurde. + success: Sie haben die Einladung erfolgreich abgelehnt. + destroy: + invalid: Beim Verlassen dieser Konferenz ist ein Problem aufgetreten. + success: Sie haben die Konferenz erfolgreich verlassen. + conference_speaker: + go_to_twitter: Gehe zu Twitter + more_info: Mehr Informationen + personal_website: Persönliche Webseite + show: + more_info: Mehr Informationen + speaking_at: Sprecher bei + conference_speaker_cell: + personal_url: + personal_website: Persönliche Webseite + twitter_handle: + go_to_twitter: Gehe zu Twitter + conference_speakers: + index: + speakers: Lautsprecher + conferences: + partners: + collaborators: Partner + main_promotors: Organisatoren + show: + login_as: Sie sind als %{name} <%{email}> angemeldet + make_conference_registration: 'Machen Sie Ihre Registrierung in der Konferenz:' + register: Registrieren + content_blocks: + highlighted_conferences: + name: Hervorgehobene Konferenzen + index: + title: Konferenzen + mailer: + conference_registration_mailer: + confirmation: + subject: Die Registrierung Ihrer Konferenz wurde bestätigt + pending_validation: + subject: Ihre Anmeldung zur Konferenz steht noch aus + invite_join_conference_mailer: + invite: + subject: Einladung zur Teilnahme an einer Konferenz + send_conference_diploma_mailer: + diploma: + subject: Ihre Konferenz-Teilnahmebestätigung wurde gesendet + models: + conference_invite: + fields: + email: Email + name: Name + registration_type: Registrierungstyp + sent_at: Gesendet um + status: Status + status: + accepted: Akzeptiert (%{at}) + rejected: Zurückgewiesen (%{at}) + sent: Geschickt + conference_registration: + fields: + email: Email + name: Name + registration_type: Registrierungstyp + state: Zustand + states: + confirmed: Bestätigt + pending: steht aus + pages: + home: + highlighted_conferences: + active_conferences: Aktive Konferenzen + see_all_conferences: Alle Konferenzen anzeigen + photo: + image: + attributes: + alt: Pressebild + show: + close_modal: Modal schließen + photo: Bild + photos_list: + show: + related_photos: Bilder + registration_types: + index: + choose_an_option: 'Wählen Sie Ihre Registrierungsoption:' + login_as: Sie sind als %{name} <%{email}> angemeldet + no_registrations: Keine Registrierungen + register: Registrieren + title: Registrierungsarten + shared: + conference_user_login: + already_account: Haben Sie schon einen Account in Decidim? + new_user: Neuer Benutzer? + sign_in: Melden Sie sich an, um sich für die Konferenz zu registrieren + sign_up: Erstellen Sie ein Konto in decidim, um sich für die Konferenz anzumelden + show: + details: Einzelheiten + introduction: Einführung + objectives: Ziele + related_assemblies: Ähnliche Gremien + related_consultations: Verwandte Konsultationen + related_participatory_processes: Ähnliche Beteiligungsprozesse + statistics: + conference_count: Konferenzen + events: + conferences: + conference_registration_confirmed: + notification_title: Ihre Anmeldung für die Konferenz %{resource_title} wurde bestätigt. + conference_registration_validation_pending: + notification_title: Ihre Anmeldung für die Konferenz %{resource_title} steht noch aus. + conference_registrations_over_percentage: + email_intro: Die Slots der Konferenz "%{resource_title}" sind zu über %{percentage}% belegt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator des Teilnahmebereichs der Konferenz sind. + email_subject: Die Slots in der Konferenz "%{resource_title}" sind zu über %{percentage}% belegt + notification_title: Die Slots der Konferenz %{resource_title} sind zu über %{percentage}% belegt. + conference_updated: + email_intro: 'Die Konferenz "%{resource_title}" wurde aktualisiert. Sie können die neue Version auf der Konferenz-Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Konferenz "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Die Konferenz "%{resource_title}" wurde aktualisiert + notification_title: Die Konferenz %{resource_title} wurde aktualisiert. + registrations_enabled: + email_intro: 'Die Konferenz "%{resource_title}" hat Registrierungen aktiviert. Sie können sich auf der Konferenz-Seite registrieren:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Konferenz "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Die Konferenz "%{resource_title}" hat Registrierungen aktiviert. + notification_title: Die Konferenz %{resource_title} hat Registrierungen aktiviert. + role_assigned: + email_intro: Sie wurden als %{role} für die Konferenz "%{resource_title}" ausgewählt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein %{role} der Konferenz "%{resource_title}" sind. + email_subject: Sie wurden als %{role} für "%{resource_title}" ausgewählt. + notification_title: Sie wurden als %{role} für die Konferenz %{resource_title} ausgewählt. + upcoming_conference: + email_intro: 'Die Konferenz "%{resource_title}" findet in 2 Tagen statt. Sie können die Beschreibung auf der Konferenz-Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Konferenz "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Die Konferenz "%{resource_title}" kommt! + notification_title: Die Konferenz %{resource_title} beginnt in 2 Tagen. + help: + participatory_spaces: + conferences: + contextual: "

    Eine Konferenz ist eine Sammlung von Meetings, die in einem Programm organisiert werden, mit einer Anzahl von Personen, die als Referenten eingeladen werden und andere Informationsfelder, die für große Kongresse oder gesellschaftliche Veranstaltungen typisch sind (Registrierung, Liste der Organisationen, die die Veranstaltung unterstützen oder sponsern, usw.)..

    Beispiele: Eine Konferenz kann ein relevantes Ereignis für eine Organisation und ihre Mitglieder sein oder im Rahmen eines partizipatorischen Prozesses oder einer Beratung folgen.

    \n" + page: "

    Eine Konferenz ist eine Sammlung von Meetings, die in einem Programm organisiert werden, mit einer Anzahl von Personen, die als Referenten eingeladen werden und andere Informationsfelder, die für große Kongresse oder gesellschaftliche Veranstaltungen typisch sind (Registrierung, Liste der Organisationen, die die Veranstaltung unterstützen oder sponsern, usw.)..

    Beispiele: Eine Konferenz kann ein relevantes Ereignis für eine Organisation und ihre Mitglieder sein oder im Rahmen eines partizipatorischen Prozesses oder einer Beratung folgen.

    \n" + title: Was sind Konferenzen? + log: + value_types: + conference_presenter: + not_found: 'Die Konferenz wurde nicht in der Datenbank gefunden (ID: %{id})' + media: + index: + description: Links zu dieser Konferenz + title: Medien und Links + menu: + conferences: Konferenzen + devise: + mailer: + join_conference: + subject: Einladung zur Teilnahme an einer Konferenz + layouts: + decidim: + conference_hero: + register: Registrieren + conference_widgets: + show: + take_part: Teilnehmen + conferences: + conference: + more_info: Mehr Informationen + take_part: Teilnehmen + index: + promoted_conferences: Geförderte Konferenzen + order_by_conferences: + conferences: + one: "%{count} Konferenz" + other: "%{count} Konferenzen" + promoted_conference: + more_info: Mehr Informationen + take_part: Teilnehmen + conferences_nav: + conference_menu_item: Information + conference_partners_menu_item: Partner + conference_speaker_menu_item: Lautsprecher + media: Medien + venues: Veranstaltungsorte diff --git a/decidim-conferences/config/locales/pl.yml b/decidim-conferences/config/locales/pl.yml index 86afb1e021cfc..3d22dfbbd23cd 100644 --- a/decidim-conferences/config/locales/pl.yml +++ b/decidim-conferences/config/locales/pl.yml @@ -54,7 +54,9 @@ pl: title: Tytuł weight: Kolejność na stronie conference_speaker: + affiliation: Przynależność avatar: Awatar + conference_meeting_ids: Powiązane spotkania full_name: Pełne imię i nazwisko position: Pozycja short_bio: Notka biograficzna diff --git a/decidim-conferences/config/locales/pt.yml b/decidim-conferences/config/locales/pt.yml index 76f2cdb749c38..1a2bd0433d276 100644 --- a/decidim-conferences/config/locales/pt.yml +++ b/decidim-conferences/config/locales/pt.yml @@ -3,6 +3,7 @@ pt: attributes: conference: assemblies_ids: Reuniões Relacionadas + available_slots: Espaços disponíveis banner_image: Imagem da faixa consultations_ids: Consultas Relacionadas copy_categories: Copiar categorias @@ -14,6 +15,7 @@ pt: hashtag: Hashtag hero_image: Imagem inicial location: Localização + main_logo: Logo principal objectives: Objetivos participatory_processes_ids: Processos participativos relacionados promoted: Realçado @@ -24,6 +26,9 @@ pt: scopes_enabled: Âmbitos ativados short_description: Breve descrição show_statistics: Mostrar estatísticas + sign_date: Data de assinatura + signature: Assinatura + signature_name: nome da assinatura slogan: Slogan slug: Campo de dados dinâmicos de URL start_date: Data de início @@ -37,10 +42,13 @@ pt: link: Hiperligação logo: Logótipo name: Nome + partner_type: Tipo de parceiro weight: Peso conference_registration_invite: + email: E-Mail name: Nome registration_type_id: Tipo de registo + user_id: Utilizador conference_registration_type: description: Descrição price: Preço @@ -48,9 +56,14 @@ pt: weight: Peso conference_speaker: affiliation: Afiliação + avatar: Avatar conference_meeting_ids: Reuniões relacionadas full_name: Nome completo + personal_url: URL pessoal position: Posição + short_bio: Curta biografia + twitter_handle: Identificador do Twitter + user_id: Utilizador conference_user_role: email: E-mail name: Nome @@ -293,6 +306,10 @@ pt: conferences: conference_registration: confirm: "%{user_name} confirmou um registo da conferência na conferência %{resource_name}" + partner: + create: "%{user_name} criou o parceiro %{resource_name} na conferência %{space_name}" + delete: "%{user_name} removeu o parceiro %{resource_name} na conferência %{space_name}" + update: "%{user_name} actualizou o parceiro %{resource_name} na conferência %{space_name}" registration_type: create: "%{user_name} criou o tipo de registo %{resource_name} na conferência %{space_name}" publish: "%{user_name} publicou o tipo de registo %{resource_name} na conferência %{space_name}" @@ -425,6 +442,7 @@ pt: personal_website: Sítio pessoal show: more_info: mais informações + speaking_at: A falar em conference_speaker_cell: personal_url: personal_website: Sítio pessoal @@ -498,6 +516,7 @@ pt: index: choose_an_option: 'Escolha a sua opção de registo:' login_as: Iniciou sessão como %{name} <%{email}> + no_registrations: Sem registos register: Registar title: Tipos de registo shared: @@ -561,6 +580,12 @@ pt: email_outro: Recebeu esta notificação porque segue a conferência "%{resource_title}". Pode deixar de segui-la a partir da hiperligação anterior. email_subject: A conferência "%{resource_title}" está a chegar! notification_title: A conferência %{resource_title} irá ocorrer em 2 dias. + help: + participatory_spaces: + conferences: + contextual: "

    Uma conferência é uma colecção de reuniões organizadas num programa, com um número de pessoas convidadas como oradores, e outras áreas de informação típicas a congressos ou eventos sociais de grande dimensão (registo, lista de organizações que apoiam ou patrocinam o evento, etc.).

    Exemplos: A conferência pode ser um evento relevante para uma organização e para os seus membros, ou ter lugar como parte dum processo participativo ou seguir uma consultação.

    " + page: "

    Uma conferência é uma colecção de reuniões organizadas num programa, com um número de pessoas convidadas como oradores, e outras áreas de informação típicas a congressos ou eventos sociais de grande dimensão (registo, lista de organizações que apoiam ou patrocinam o evento, etc.).

    Exemplos: A conferência pode ser um evento relevante para uma organização e para os seus membros, ou ter lugar como parte dum processo participativo ou seguir uma consultação.

    " + title: O que são as conferências? log: value_types: conference_presenter: diff --git a/decidim-consultations/config/locales/lb.yml b/decidim-consultations/config/locales/lb.yml new file mode 100644 index 0000000000000..d616bab7bebe7 --- /dev/null +++ b/decidim-consultations/config/locales/lb.yml @@ -0,0 +1,287 @@ +lb: + activemodel: + attributes: + consultation: + banner_image: Banner-Bild + decidim_highlighted_scope_id: Hervorgehobener Umfang + description: Beschreibung + end_voting_date: Die Abstimmung endet + introductory_image: Einführungsbild + introductory_video_url: Einleitende Video-URL + questions: Fragen + slug: URL-Block + start_voting_date: Die Abstimmung beginnt + subtitle: Untertitel + title: Titel + question: + banner_image: Banner-Bild + decidim_scope_id: Kommunales Gebiet + hashtag: Hashtag + hero_image: Hauptbild + i_frame_url: URL des externen Abstimmungssystems + instructions: Zusätzliche Anweisungen für Abstimmungen + max_votes: Maximale Anzahl von Stimmen + min_votes: Mindestanzahl von Stimmen + origin_scope: Umfang + origin_title: Ursprung + origin_url: Ursprungs-URL + participatory_scope: Partizipativer Bereich + promoter_group: Promoter-Gruppe + question_context: Kontext + reference: Referenz + scope: Kommunales Gebiet + slug: URL-Block + subtitle: Untertitel + vote: Externes Wahlsystem + what_is_decided: Was ist entschieden? + response: + decidim_consultations_response_group_id: Gruppe + errors: + models: + question: + attributes: + max_votes: + lower_than_min: Die maximale Anzahl von Stimmen sollte höher oder gleich der Mindestanzahl sein. + vote: + decidim_consultations_response_id: + not_found: Antwort nicht gefunden. + activerecord: + errors: + models: + decidim/consultations/vote: + attributes: + question: + invalid_num_votes: Die Anzahl der Stimmen ist ungültig + models: + decidim/consultation: + one: Beratung + other: Konsultationen + decidim/consultations/question: + one: Frage + other: Fragen + decidim/consultations/response: + one: Antwort + other: Antworten + decidim/consultations/vote: + one: Abstimmung + other: Abstimmung + decidim: + admin: + actions: + back_to_responses: Zurück zu Antworten + new_consultation: Neue Konsultation + new_question: Neue Frage + new_response: Neue Antwort + new_response_group: Neue Gruppe + publish_results: Veröffentlichen Sie die Ergebnisse + response_groups: Antwortgruppen verwalten + unpublish_results: Veröffentlichen Sie die Ergebnisse + consultation_publications: + create: + error: Bei der Veröffentlichung dieser Konsultation ist ein Fehler aufgetreten. + success: Konsultation erfolgreich veröffentlicht. + destroy: + error: Es ist ein Fehler aufgetreten, diese Konsultation aufzuheben. + success: Beratung wurde erfolgreich nicht veröffentlicht. + consultation_results_publications: + create: + error: Bei der Veröffentlichung der Ergebnisse für diese Konsultation ist ein Fehler aufgetreten. + success: Konsultationsergebnisse erfolgreich veröffentlicht. + destroy: + error: Es ist ein Fehler aufgetreten, die Ergebnisse dieser Konsultation nicht zu veröffentlichen. + success: Konsultationsergebnisse wurden nicht veröffentlicht. + consultations: + create: + error: Beim Erstellen einer neuen Konsultation ist ein Fehler aufgetreten. + success: Beratung erfolgreich erstellt. + deprecation_warning: Das Beratungsmodul wird in naher Zukunft veraltet sein. Wir arbeiten an der nächsten, kryptographisch sicheren Version namens Votings. + edit: + update: Aktualisieren + form: + slug_help: 'URL-Slugs werden verwendet, um URLs zu generieren, die auf diese Abfrage verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}' + questions: + new: + create: Erstellen + title: Neue Frage + update: + error: Beim Aktualisieren dieser Frage ist ein Fehler aufgetreten. + success: Frage erfolgreich aktualisiert. + response_groups: + create: + error: Beim Erstellen einer neuen Antwortgruppe ist ein Fehler aufgetreten. + success: Antwortgruppe wurde erfolgreich erstellt. + destroy: + error: Beim Entfernen der Antwortgruppe ist ein Fehler aufgetreten. Prüfen Sie, dass keine Antworten von dieser Gruppe abhängig sind. + success: Antwortgruppe wurde erfolgreich gelöscht. + edit: + update: Aktualisieren + form: + title: Allgemeine Information + help: Verwenden Sie Gruppen, um Multiple-Choice-Fragen in Paketen zu organisieren. + new: + create: Erstellen + title: Neue Antwortgruppe + update: + error: Beim Aktualisieren dieser Antwort ist ein Fehler aufgetreten. + success: Antwort wurde erfolgreich aktualisiert. + responses: + create: + error: Beim Erstellen einer neuen Antwort ist ein Fehler aufgetreten. + success: Antwort erfolgreich erstellt + destroy: + error: Beim Entfernen der Antwort ist ein Fehler aufgetreten. + success: Antwort wurde erfolgreich gelöscht. + edit: + update: Aktualisieren + form: + title: Allgemeine Information + new: + create: Erstellen + title: Neue Antwort + update: + error: Beim Aktualisieren dieser Antwort ist ein Fehler aufgetreten. + success: Antwort wurde erfolgreich aktualisiert. + titles: + consultations: Konsultationen + questions: Fragen + response_groups: Antwortgruppen + responses: Antworten + results: Ergebnisse + consultations: + admin: + content_blocks: + highlighted_consultations: + max_results: Maximale Anzahl der Elemente, die angezeigt werden sollen + consultation: + start_voting_date: Die Abstimmung beginnt + view_results: Ergebnisse anzeigen + consultation_card: + view_results: Ergebnisse anzeigen + consultations: + orders: + label: 'Sortieren Sie die Konsultationen nach:' + random: Zufällig + recent: Neueste zuerst + show: + dates: Daten + content_blocks: + highlighted_consultations: + name: Hervorgehobene Konsultationen + count: + title: + one: "%{count} Beratung" + other: "%{count} Konsultationen" + filters: + active: Aktiv + all: Alle + finished: Fertig + search: Suche + state: Zustand + upcoming: Bevorstehende + filters_small_view: + close_modal: Fenster schließen + filter: Filter + filter_by: Filtern nach + unfold: Entfalten + pages: + home: + highlighted_consultations: + see_all_consultations: Sehen Sie alle Konsultationen + voting_ends_in: + one: Die Abstimmung endet morgen + other: Die Abstimmung endet in %{count} Tagen + voting_ends_today: Die Abstimmung endet heute + question: + take_part: Teilnehmen + view_results: Ergebnisse anzeigen + votes_out_of: + one: abstimmen + other: Stimmen aus + question_multiple_votes: + results_rules: + minimum_votes_per_user: + description: Teilnehmer konnten mindestens %{votes} Stimmen für verschiedene Optionen abgeben. + title: In dieser Frage sind Multiple-Choice-Fragen erlaubt + total_participants: Es haben insgesamt %{count} Personen an der Abstimmung teilgenommen. + vote_limit: + description: Teilnehmer konnten bis zu über %{limit} Optionen abstimmen. + voting_rules: + minimum_votes_per_user: + description: Sie müssen mindestens %{votes} Stimmen für verschiedene Optionen abgeben. + title: 'Die Abstimmung unterliegt folgenden Regeln:' + vote_limit: + description: Sie können bis zu über %{limit} Optionen abstimmen. + left: Verbleibend + votes: Stimmen + question_votes: + create: + error: Es gab Fehler bei der Abstimmung der Frage + success: Sie können dies bis zum Ende der Konsultation ändern. Nur die letzte Stimme wird akzeptiert. + title_error: Abstimmungsfehler! + title_success: Stimme erfolgreich registriert + regular_questions: + title: Fragen für diese Konsultation + show: + badge_name: + finished: Abgeschlossen + open: Öffnen + open_votes: Stimmen öffnen + published_results: Ergebnisse veröffentlicht + footer_button_text: + debate: Debatte + view: Anzeigen + view_results: Ergebnisse anzeigen + vote: Abstimmen + unspecified: Keine Angabe + help: + participatory_spaces: + consultations: + contextual: "

    Eine Konsultation ist ein Raum, in dem Sie allen Personen, die eine Organisation gründen, eine klare Frage stellen, zur Teilnahme an der Konsultation anrufen, die Debatte für oder gegen eine Antwort. Wenn der Konsultationstermin erreicht ist, können Sie abstimmen und die Ergebnisse der Abstimmungen veröffentlichen.

    Beispiele: Die Konsultationen können sich auf fast jeden Aspekt beziehen, der eine Organisation betrifft: Einige Beispiele sind die Änderung des Namens oder des Logos der Organisation mehrere Alternativen anbieten, Ja oder Nein entscheiden, Teil einer größeren Organisation zu werden, einen neuen strategischen Plan oder das Ergebnis einer Arbeitsgruppe validieren oder ablehnen oder festlegen, ob die Positionen maximal 1, 2 oder 3 Mandate bleiben sollen." + page: "

    Eine Konsultation ist ein Raum, in dem Sie allen Personen, die eine Organisation bilden, eine klare Frage stellen, anrufen, um an der Konsultation teilzunehmen, die Debatte für oder gegen eine Antwort anzuordnen. Wenn das Konsultationsdatum erreicht ist, können Sie abstimmen und die Abstimmungsergebnisse veröffentlichen.

    Beispiele: Bei den Konsultationen kann es sich um fast jeden Aspekt handeln, der eine Organisation betrifft: Bei einigen Beispielen wird der Name oder das Logo der Organisation geändert, die verschiedene Alternativen bietet. Sie entscheiden sich für Ja oder Nein, um Teil einer größeren Organisation zu werden, eine neue Strategie zu bestätigen oder abzulehnen Plan oder das Ergebnis einer Arbeitsgruppe oder die Festlegung, ob die Positionen maximal 1, 2 oder 3 Mandate in der Organisation bleiben sollen.

    \n" + title: Was sind Konsultationen? + menu: + consultations: Konsultationen + questions: + next_button: Nächste Frage + previous_button: Vorherige Frage + results: + title: Resultater + show: + read_more: Weiterlesen + statistics: + assistants_count_title: Assistenten + comments_count_title: Bemerkungen + meetings_count_title: Meetings + supports_count_title: Unterstützt + technical_info: + technical_data: Technische Daten + vote_button: + already_voted: Schon gewählt + already_voted_hover: Support entziehen + starting_from: Beginnend von %{date} + verification_required: Verifizieren Sie Ihr Konto, um abstimmen zu können + vote: Abstimmung + vote_modal: + close_modal: Modal schließen + contextual_help: Bitte wähle eine Option. + title: 'Beratung: Frage Unterstützung' + vote_modal_confirm: + change: Veränderung + close_modal: Modal schließen + confirm: Bestätigen + contextual_help: Bitte bestätigen Sie die ausgewählte Option. + title: 'Beratung: Bestätigung der Unterstützung' + resources: + consultations: + actions: + vote: Abstimmen + layouts: + decidim: + consultation_voting_data: + start_voting_date: Die Abstimmung beginnt + question_components: + question_menu_item: Die Frage + unfold: Entfalten + question_header: + back_to_consultation: Sehen Sie alle Konsultationen + back_to_question: Zurück zur Frage diff --git a/decidim-consultations/config/locales/pt.yml b/decidim-consultations/config/locales/pt.yml index f44aad0557a97..f0e0a4df0aa39 100644 --- a/decidim-consultations/config/locales/pt.yml +++ b/decidim-consultations/config/locales/pt.yml @@ -94,6 +94,7 @@ pt: create: error: Ocorreu um problema ao criar uma nova consulta. success: Consulta criada corretamente. + deprecation_warning: O módulo de consultação será descontinuado no futuro próximo. Estamos a trabalhar na próxima versão criptograficamente segura chamará Votações. edit: update: Atualizar form: @@ -318,6 +319,8 @@ pt: help: participatory_spaces: consultations: + contextual: "

    Uma consultação é um espaço que permite perguntar uma questão transparente a todas a pessoas que formam uma organização, fazer uma chamada a participar na consultação, espoletar e ordenar o debate a favor ou contra uma resposta. Quando a data duma consultação chega, pode votar e publicar o resultados das votações.

    Exemplos: As consultações podem ser sobre praticamente todos os aspectos que afectam uma organização: alguns exemplos são a mudança de nome ou logótipo da organização oferecendo várias alternativas, decidir Sim ou Não ser parte duma organização maior, validar ou rejeitar um plano estratégico novo ou o resultado dum grupo de trabalho, ou definir se os cargos devem durar por um máximo de 1, 2, ou 3 mandatos.

    " + page: "

    Uma consultação é um espaço que permite perguntar uma questão transparente a todas a pessoas que formam uma organização, fazer uma chamada a participar na consultação, espoletar e ordenar o debate a favor ou contra uma resposta. Quando a data duma consultação chega, pode votar e publicar o resultados das votações.

    Exemplos: As consultações podem ser sobre praticamente todos os aspectos que afectam uma organização: alguns exemploes são a mudança de nome ou logótipo da organização oferecendo várias alternativas, decidir Sim ou Não ser parte duma organização maior, validar ou rejeitar um plano estratégico novo ou o resultado dum grupo de trabalho, ou definir se os cargos devem durar por um máximo de 1, 2, ou 3 mandatos na organização.

    " title: O que são consultas? menu: consultations: Consultas diff --git a/decidim-core/config/locales/eu.yml b/decidim-core/config/locales/eu.yml index 84336827c9123..21083300dcd40 100644 --- a/decidim-core/config/locales/eu.yml +++ b/decidim-core/config/locales/eu.yml @@ -318,7 +318,7 @@ eu: registrations: new: already_have_an_account?: Baduzu kontu bat? - newsletter: Jaso buletin bat noizbehinka informazio garrantzitsu batekin + newsletter: Informazio garrantzitsua duen noizbehinkako buletina jaso nahi dut newsletter_title: Harremanetarako baimena sign_in: Sartu sign_up: Erregistratu @@ -1117,8 +1117,8 @@ eu: shared: links: back: Back - didn_t_receive_confirmation_instructions: Ez al duzu baieztatu argibideak? - didn_t_receive_unlock_instructions: Ez al zuten desblokeatze-argibideak jaso? + didn_t_receive_confirmation_instructions: Ez dituzu jaso berresteko jarraibideak? + didn_t_receive_unlock_instructions: Ez dituzu jaso desblokeatzeko jarraibideak? forgot_your_password: Zure pasahitza ahaztu duzu? sign_in: Saioa hasi sign_in_with_provider: Hasi saioa %{provider} diff --git a/decidim-core/config/locales/fr-CA.yml b/decidim-core/config/locales/fr-CA.yml index 657f296188d84..c90c0dee5e3c2 100644 --- a/decidim-core/config/locales/fr-CA.yml +++ b/decidim-core/config/locales/fr-CA.yml @@ -1535,6 +1535,10 @@ fr-CA: too_short: est trop court (moins de 15 caractères) forms: correct_errors: Il y a des erreurs dans le formulaire, veuillez les corriger pour continuer. + length_validator: + minimum: + one: Au moins %{count} caractère + other: Au moins %{count} caractères required: Champs obligatoires required_explanation: "* Les champs obligatoires sont marqués d'un astérisque" invisible_captcha: diff --git a/decidim-core/config/locales/fr.yml b/decidim-core/config/locales/fr.yml index 99f9dee78f757..22c4db145f0ad 100644 --- a/decidim-core/config/locales/fr.yml +++ b/decidim-core/config/locales/fr.yml @@ -1535,6 +1535,10 @@ fr: too_short: est trop court (moins de 15 caractères) forms: correct_errors: Il y a des erreurs dans le formulaire, veuillez les corriger pour continuer. + length_validator: + minimum: + one: Au moins %{count} caractère + other: Au moins %{count} caractères required: Champ obligatoire required_explanation: "* Les champs obligatoires sont marqués d'un astérisque" invisible_captcha: diff --git a/decidim-core/config/locales/lb.yml b/decidim-core/config/locales/lb.yml new file mode 100644 index 0000000000000..ba4aad5a7380b --- /dev/null +++ b/decidim-core/config/locales/lb.yml @@ -0,0 +1,1681 @@ +lb: + activemodel: + attributes: + account: + delete_reason: Grond fir d'Läschen vum Kont + common: + created_at: Erstallt den + group: + about: Iwwert eisen Grupp + avatar: Profil-Bild + document_number: Nummer vum Dokument + email: Email + name: Numm + nickname: Spëtznumm + phone: Telefon + report: + details: Zousätzleche Kommentar + user: + about: Iwwert mech + email: Deng Email + name: Däin Numm + nickname: Spëtznumm + password: Passwuert + password_confirmation: Bestäteg däi Passwuert + personal_url: Perséinlech URL + remove_avatar: Avatar läschen + models: + decidim/attachment_created_event: Unhang + decidim/component_published_event: Aktiv Komponent + decidim/demoted_membership: Keen Gruppen-Admin méi + decidim/gamification/badge_earned_event: Ofzeechen verdengt + decidim/gamification/level_up_event: Du bass e Level geklomme + decidim/join_request_accepted_event: Beitrittsanfrage akzeptiert + decidim/join_request_rejected_event: Beitrittsanfrage abgelehnt + decidim/profile_updated_event: Profil aktualiséiert + decidim/promote_to_admin: Als Grupp-Admin fräigeschalt + decidim/removed_from_group: Aus dem Gruppe geläscht + decidim/resource_endorsed_event: Ressource akzeptéiert + activerecord: + attributes: + decidim/user: + current_password: Aktuellt Passwuert + email: Email + name: Spëtznumm + password: Passwuert + password_confirmation: Passwuert Bestätegung + remember_me: Ugemellt bleiwen + models: + decidim/amendment: + one: Ännerung + other: Ännerungen + decidim/endorsement: + one: Akzeptéiert + other: Ennerstëtzungen + decidim/user: + one: Teilnehmer + other: Teilnehmer + decidim/user_group: + one: Grupp + other: Gruppen + booleans: + 'false': 'Nee' + 'true': 'Jo' + carrierwave: + errors: + general: Fehler bei der Bildverarbeitung + image_too_big: Bild ass ze grouss + not_inside_organization: D'Datei ass net mat enger Organisatioun verbonnen + date: + formats: + decidim_short: "%d/%m/%Y" + decidim_short_with_month_name_short: "%d %b %Y" + decidim_with_day_and_month_name: "%A, %d. %b %Y" + decidim_with_month_name: "%d %B %Y" + decidim_with_month_name_short: "%d. %b" + decidim: + accessibility: + external_link: Externe Link + logo: "Offiziellen Logo vun %{organization}" + skip_button: Zum Haapt-Inhalt eriwwergoen + account: + blocked: Dësen Kont gouf gespaart wéinst dem Net-Respekt vun den allgemengen Bestëmmungen + data_portability_export: + file_no_exists: Datei existéiert net + notice: D'Eroflueden ass am Gaang. Du kriss en Email wann et vollstänneg ass. + delete: + alert: Dës Aktioun kann net réckgängeg gemaach ginn. Wann däin Kont geläscht ass, kanns du dech net méi mat de selwechten Donnéeën aloggen. Zukünfteg Beiträg sinn dann anonymiséiert. Du kanns nach ëmmer en neien Kont erstellen, mee anonym Beiträg sinn net mat engem Kont verknäppt. + confirm: + close: Fënster zou maachen + ok: Jo ech well mäin Kont läschen + question: Bass du sécher dass du däin Kont läsche wëlls? + title: Mäin Kont läschen + explanation: Gëff w. e. g. de Grond un, woufir s'du de Kont läsche wëlls (optinal). + destroy: + error: Et gouf e Problem beim Läschen vum Kont. + success: De Kont gouf geläscht. + show: + change_password: Passwuert änneren + update_account: Kont aktualiséieren + update: + error: Beim Aktualiséieren vum Kont ass e Feeler entstane. + success: Däin Kont gouf aktualiséiert. + success_with_email_confirmation: Däin Kont gouf aktualiséiert. Du kriss en Email fir déi nei Email-Adress. ze bestätegen. + admin: + actions: + cancel: Ofbriechen + admin_log: + area: + create: "%{user_name} huet den Beräich %{resource_name} erstellt" + delete: "%{user_name} huet den Beräich %{resource_name} geläscht" + update: "%{user_name} huet den Beräich %{resource_name} aktualiséiert" + component: + create: "%{user_name} huet d'Komponent %{resource_name} bei %{space_name} dobäi gesat" + delete: "%{user_name} huet d'Komponent %{resource_name} aus %{space_name} eweg gemaach" + publish: "%{user_name} huet d'Komponent %{resource_name} an %{space_name} verëffentlecht" + unpublish: "%{user_name} huet d'Komponent %{resource_name} an %{space_name} onverëffentlecht" + impersonation_log: + manage: "%{user_name} huet %{resource_name} verwalt, well %{reason}" + moderation: + hide: "%{user_name} huet eng Ressource vum Typ %{resource_type} an %{space_name} verstoppt" + unreport: "%{user_name} huet eng Ressource vum Typ %{resource_type} an %{space_name} net gemellt" + newsletter: + create: "%{user_name} huet en Newsletter %{resource_name} erstallt" + delete: "%{user_name} huet en Newsletter %{resource_name} geläscht" + deliver: "%{user_name} huet en Newsletter %{resource_name} fortgeschéckt" + update: "%{user_name} huet en Newsletter %{resource_name} aktualiséiert" + oauth_application: + create: "%{user_name} huet d'OAuth-Applikation %{resource_name} erstallt" + delete: "%{user_name} huet d'OAuth-Applikation %{resource_name} geläscht" + update: "%{user_name} huet d'OAuth-Applikation %{resource_name} aktualiséiert" + organization: + update: "%{user_name} huet d'Organisatiouns-Astellungen aktualiséiert" + participatory_space_private_user: + create: "%{user_name} huet d' %{resource_name} als privaten Benotzer agelueden" + create_via_csv: "%{user_name} huet d'%{resource_name} per CSV als privaten Teilnehmer agelueden" + delete: "%{user_name} huet den Benotzer %{resource_name} als privaten Benotzer geläscht" + scope: + create: "%{user_name} huet den Beräich %{resource_name} erstallt" + create_with_parent: "%{user_name} huet den Beräich %{resource_name} am iwwergeuerdenten Beräich %{parent_scope} erstallt" + delete: "%{user_name} huet den Beräich %{resource_name} geläscht" + delete_with_parent: "%{user_name} huet den Beräich %{resource_name} am iwwergeuerdenten Beräich %{parent_scope} geläscht" + update: "%{user_name} huet den Beräich %{resource_name} aktualiséiert" + update_with_parent: "%{user_name} huet den Beräich %{resource_name} am iwwergeuerdenten Beräich %{parent_scope} aktualiséiert" + static_page: + create: "%{user_name} huet eng statesch Säit %{resource_name} erstallt" + delete: "%{user_name} huet déi statesch Säit %{resource_name} geläscht" + update: "%{user_name} huet déi statesch Säit %{resource_name} aktualiséiert" + user: + block: "%{user_name} huet %{resource_name} blockéiert" + invite: "%{user_name} huet den Benotzer %{resource_name} mat der Roll %{role} agelueden" + officialize: "%{user_name} huet den Benotzer %{resource_name} offiziell unerkannt" + promote: "%{user_name} huet %{resource_name} befërdert" + remove_from_admin: "%{user_name} huet den Benotzer %{resource_name} mat der Roll %{role} geläscht" + show_email: "%{user_name} huet d'Email vum Teilnehmer %{resource_name} opgeruff" + transfer: "%{user_name} huet den Benotzer %{resource_name} geréckelt" + unblock: "%{user_name} huet d'Blockéierung vun %{resource_name} opgehuewen" + unofficialize: "%{user_name} huet déi offiziell Unerkennung vum Benotzer %{resource_name} widderruff" + user_group: + reject: "%{user_name} huet Iwwerpréiwung duerch de Grupp %{resource_name} refuséiert" + verify: "%{user_name} huet den Grupp %{resource_name} iwwerpréift" + verify_via_csv: "%{user_name} huet de Grupp %{resource_name} via eng CSV-Datei iwwerpréift" + user_moderation: + unreport: "%{user_name} huet de Meldung vun %{resource_type} - %{unreported_user_name} opgehuewen" + admin_terms_of_use: + default_body: "

    ADMIN-KONDITIOUNEN VUM BENOTZEN

    Du hues bestëmmt schonn eng Aféierung duerch den lokalen Admin kritt. 3 Punkten sinn wichteg:

    1. respektéier den aneren hir Privatsphär
    2. Denk no éiers de klicks.
    3. Vill Muecht ass och vill Verantwortung.
    " + alert: + dismiss: Noriicht zou maachen + amendments: + accepted: + error: Beim Akzeptéieren vun der Ännerung ass e Feeler opgetrueden. + success: D'Ännerung gouf ugeholl. + amendable: + amended_by: Geännert duerch + button: '%{model_name} änneren' + error: Beim Änneren vun dëser Ressource ass e Feeler opgetrueden. + help_text: Verbesser dësen %{model_name} andeems de %{amendable_fields} änners + promote_button: Zu engem %{model_name} befërderen + promote_confirm_text: Möchten Sie diese Erweiterung wirklich fördern? + promote_help_text: Du kanns dës Erweiderung befërderen an als onofhängegen Modell verëffentlechen %{model_name} + section_heading: Ännerungen (%{count}) + compare_draft: + continue: Weider + no_similars_found: Keine ähnlichen Entwürfe gefunden. + title: Änlech Entwërf + created: + error: Beim Erstellen des Änderungsvorschlags ist ein Fehler aufgetreten. + success: D'Ännerung gouf ugeholl. + destroy_draft: + error: Beim Läschen vun der Virbereedung zur Ännerung ass e Feeler opgetrueden. + success: D'Virbereedung fir d'Ännerung gouf geläscht. + edit_draft: + discard: Virschlag fir Ännerung verwerfen + discard_confirmation: Bass du sécher, dass du dësen Ännerungs-Virschlag läsche wëlls? + send: Virausbléck + title: Ännerungs-Virschlag beaarbechten + emendation: + actions: + button_accept: Acceptéieren + button_reject: Refuséieren + help_text: Ännerungen iwwerpréiwen an unhuelen oder refuséieren. D'Auteuren kréien eng Noriicht geschéckt. + announcement: + accepted: |- + D'Ännerung fir %{amendable_type} %{proposal_link} + gouf am %{date} akzeptéiert. + evaluating: |- + D'Ännerung fir %{amendable_type} %{proposal_link} + gëtt zur Zäit bewäert. + promoted: Gouf zu %{amendable_type} befërdert. + rejected: D'Ännerung fir %{amendable_type}%{proposal_link} gouf am %{date} refuséiert. + withdrawn: |- + D'Ännerung fir %{amendable_type} %{proposal_link} + gouf vum Auteur zréck geszunn. + new: + amendment_author: Auteur vun der Ännerung + send: Erstellen + title: Ännerungs-Virschlag erstellen + preview_draft: + modify: Beaarbechten + publish: Verëffentlechen + title: Ännerungs-Virschlag verëffentlechen + promoted: + error: Bei der Verëffentlechung vun der Ännerung als neien Virschlag ass e Problem opgetrueden + success: D'Ännerung gouf als neien Virschlag verëffentlecht + publish_draft: + error: Et gouf e Problem bei der Verëffentlechung vum Ännerungs-Virschlag. + success: D'Ännerung gouf verëffentlecht. + rejected: + error: Bei der Ofleenung vun dëser Ännerung ass e Feeler opgetrueden. Probéier w. e. g. méi spéit op en Neits + success: Dës Ännerung gouf ofgeleent + review: + back: Zréck + heading: Ännerung iwwerpréiwen + help_text: Du iwwerpréifs d'Ännerung vun %{model_name} + send: Ännerung akzeptéieren + update_draft: + error: Et gouf e Problem beim Aktualiséieren vum Ännerungsvirschlag. + success: Ännerungsvirschlag gouf aktualiséiert. + withdraw: + error: Beim Zréckzéien vum Ännerungsvirschlag ass e Feeler opgetrueden + success: Den Ännerungsvirschlag gouf zréckgezunn + wizard_step_form: + steps: + '1': Erstell deng Ännerung + '2': Vergläich deng Ännerungsvirschléi + '3': Vervollstänneg deng Ännerungsvirschléi + '4': Verëffentlech deng Ännerungsvirschléi + anonymous_user: Anonym + application: + collection: + documents: + one: Dokument + other: Unterlagen + document: + download: Datei erof lueden + documents: + related_documents: Dokumenter déi dobäi gehéieren + photos: + related_photos: Biller déi dobäi gehéieren + author: + avatar: Profil-Bild + comments: + one: Kommentar + other: Kommentare + endorsements: + one: Ënnerstëtzungen + other: Befürwortungen + authorization_handlers: + another_dummy_authorization_handler: + explanation: Loss dech iwwerpréiwen, andeems de d'Nummer vun dengem Pass agëss déi mat "A" muss ufänken + fields: + passport_number: Nummer vum Pass + postal_code: Postleitzuel + name: En anert Beispill fir eng Berechtegung + dummy_authorization_handler: + explanation: Loss dech iwwerpréiwen, andeems de eng Auswäis-Nummer agëss déi mat "X" muss ophalen + fields: + allowed_postal_codes: Erlaabten Postleitzuelen (duerch Komma getrennt) + allowed_scope_id: Erlaabten Ëmfang + document_number: Dokument-Nummer + postal_code: Postleitzuel + scope_id: Ëmfang + name: Beispill Berechtegung + dummy_authorization_workflow: + name: Aarbechtsoflaf Dummy-Berechtegung + errors: + duplicate_authorization: Et ass schonn en Teilnehmer mat den selwechten Donnéeën autorisiéiert. Ein Admin kontaktéiert dech fir deng Donnéeën ze iwwerpréiwen. + expired_at: Ofgelaf den %{timestamp} + expires_at: Leeft of den %{timestamp} + foo_authorization: + fields: + bar: Bar + foo: Foo + name: Foo Berechtegung + granted_at: Bewëllegt den %{timestamp} + renew: Iwwerpréiwung erneieren + sms: + explanation: Gëff w. e. g. deng Handy-Nummer an, dass mir deng Identitéit iwwerpréiwen kënnen. + name: Code iwwer SMS + started_at: Ugefaange den %{timestamp} + authorization_modals: + content: + expired: + authorize: Erneute Autorisierung mit "%{authorization}" + explanation: Deng Berechtegung ass ofgelaf. Fir dës Aktioun duerch ze féieren muss du eng nei Berechtegung kréien iwwer %{authorization}. + title: Deng Berechtegung ass ofgelaf + incomplete: + cancel: Ofbriechen + explanation: 'Du bass elo iwwer "%{authorization}" berechtegt, mee du muss eng nei Berechtegung ufron well, well ons hunn dës Donnéeën gefeelt:' + invalid_field: "%{field}" + reauthorize: Op en Neits berechtegen + title: Bitte erneut autorisieren + missing: + authorize: Mat "%{authorization}" berechtegen + explanation: Fir dës Aktioun duerch ze féieren muss du mat "%{authorization}" berechtegt sinn. + title: Berechtegung ass néideg + ok: + title: Du goufs berechtegt andeems op der Säit wos. Lued d'Säit w. e. g. nei, fir deng Aktioun duerch ze féieren + pending: + explanation: Fir dës Handlung muss de berechtegt sinn iwwer "%{authorization}", deng Berechtegung gëtt awer réischt verschafft + resume: Überprüfen Sie Ihren Autorisierungsfortschritt "%{authorization}" + title: D'Berechtegung ass nach am Gang verschafft ze ginn + unauthorized: + explanation: Du kanns dës Aktioun net duerchféieren, well deng Donnéeën fir Berechtegung net iwwert eneen stëmmen. + invalid_field: "%{field} Wert %{value} ist nicht gültig." + ok: Ok + title: Net berechtegt + unconfirmed: + confirmation_instructions: 'Wann s''du Uweisungen fir d''Bestätegung nach kritt hues, kanns du se hei nei ufroen:' + explanation_html: Fir dës Aktioun duerch ze féieren muss du eng Berechtegung hunn, fir dass déi gülteg ass muss du fir d'éischt deng Email-Adress bestätegen %{email}. + request_confirmation_instructions: Instruktiounen fir d'Bestätegung ufroen + title: Email bestätegen + show: + close_modal: Modal zou maachen + block_user_mailer: + notify: + body_1: Däin Kont ass gespaart. + body_2: 'Grond: %{justification}' + greetings: Gréiss
    %{organization_name}
    %{organization_url}, + hello: Moien, + subject: Däin Kont gouf duerch %{organization_name} gespaart + collapsible_list: + hidden_elements_count: + one: und %{count} mehr + other: und %{count} mehr + see_less: "(Weniger anzeigen)" + see_more: "(Mehr anzeigen)" + components: + component_order_selector: + no_content: Wir haben keine Inhalte anhand dieser Kriterien gefunden + order: + all_types: All Typen + collaborative_draft: Gemeinsame Brouillon + comment: Kommentar + debate: Debatt + initiative: Initiativ + meeting: Versammlung + post: Bäitrag + proposal: Virschlag + question: Fro + title: 'Uweisen:' + dummy: + actions: + bar: Bar + foo: Foo + name: Dummy Komponent + settings: + global: + amendments_enabled: Ännerungen aktivéiert + comments_enabled: Kommentarer aktiv + comments_max_length: Maximal Längt vun de Kommentären + dummy_global_attribute_1: Dummy Attribut 1 + dummy_global_attribute_2: Dummy Attribut 2 + dummy_global_translatable_text: Dummy Text ze iwwersetzen + enable_pads_creation: Erstellen vun Pads erméiglechen + resources_permissions_enabled: Ressourcen-Berechtegung aktivéiert + scope_id: Ëmfank + scopes_enabled: Beräicher aktivéiert + step: + amendment_creation_enabled: Erstellen vun Ännerungen/Kommentarer aktivéiert + amendment_promotion_enabled: Fërderung vun Ännerungen aktivéiert + amendment_reaction_enabled: Reaktioun op Ännerungen aktivéiert + amendments_visibility: Siichtbarkeet vun Ännerungen + comments_blocked: Kommentare blockéiert + dummy_step_attribute_1: Dummy Schrëtt Attributer 1 + dummy_step_attribute_2: Dummy Schrëtt Attributer 2 + dummy_step_translatable_text: Dummy Schrëtt ze iwwersetzenden Text + contact: Kontakt + content_blocks: + cta: + name: Bild, Text an Call To Action Button + cta_settings_form: + background_image: Hannergrondbild + button_text: Call to Action-Text + button_url: Call To Action-URL + description: Beschreiwung + footer_sub_hero: + name: Fouss-Text Sub-Hero-Banner + hero: + name: Hero Bild + hero_settings_form: + background_image: Hannergrond Bild + welcome_text: Begréissungstext + highlighted_content_banner: + name: Inhalt-Banner ervirgehuewen + highlighted_elements_settings_form: + orders: + label: 'Elementer zortéiert no:' + random: Zoufälleg + recent: Neist als éischt + how_to_participate: + name: Wéi kann ech mat maachen + html: + html_content: HTML-Inhalt + name: HTML-Block + last_activity: + name: Lescht Aktivitéit + title: Lescht Aktivitéit + view_all: Alles gesinn + metrics: + name: Organisations-Metriken + stats: + name: Organisations-Statistiken + sub_hero: + name: Sub hero Banner + core: + actions: + login_before_access: Bitte melden Sie sich mit Ihrem Konto an, um auf diese Seite zuzugreifen + unauthorized: Du hues keng Berechtegung fir dës Aktioun + data_portability: + export: + ready: Fäerdeg + show: + download_data: Daten eroflueden + download_data_description: Eng Datei, déi all Informatiounen enthält, déi mat dengem Konto verknäppt sinn, gëtt an den %{user_email} geschéckt. Dës Mail enthält eng .zip-Datei an e Passwuert fir se opzemaachen .

    Fir d'Datei auszepaken, brauchs du 7-Zip (fir Windows) oder Keka (fir MacOS). Wann s'du mat Linux schaffs, gëtt ass et meeschtens als Standard mat installéiert. Wann net, kanns du File Roller oder PeaZip benotzen. + request_data: Daten ufroen + datepicker: + help_text: 'Format: %{datepicker_format}' + devise: + omniauth_registrations: + create: + email_already_exists: En aneren Kont benotzt déi selwecht Email-Adress + new: + complete_profile: Profil vervollstännegen + nickname_help: Däin Pseudonym an %{organization}. Dierf nëmmen aus Buschtawen, Zuelen, _ an - bestoen. + sign_up: Bitte vervollständigen Sie Ihr Profil + subtitle: Fëll w. e. g. folgend Formular aus, fir deng Registréierung ofzeschléissen + username_help: Den ëffentlechen Numm gëtt an dengen Beiträg ugewisen. Fir d'Anonymat ze garantéieren, kann s'de der och en belibegen Numm eraussichen. + registrations: + new: + already_have_an_account?: Hues du schonn en Kont? + newsletter: Heiansdo en Newsletter mat relevanten Informatiounen zougeschéckt kréien + newsletter_title: Erlabnis Kontakt opzehuelen + nickname_help: Däin Pseudonym an %{organization}. Dierf nëmmen aus Buschtawen, Zuelen, _ an - bestoen. + password_help: "Muss op mannst aus %{minimun_characters} Zeechen bestoen, keng ze banal (z.B. 123456) an et dierf net däin Benotzernumm oder deng Email-Adress enthalen." + sign_in: Umelden + sign_up: Registréieren + sign_up_as: + legend: Registréieren als + subtitle: Registréier dech fir bei Diskussiounen mat ze maachen an Virschléi ze ënnerstëtzen. + terms: Konditiounen vum Benotzen + tos_agreement: Mat der Umeldung erkläers du dech mat %{link} averstane. + tos_title: Konditiounen vum Service + username_help: Den ëffentlechen Numm gëtt an dengen Beiträg ugewisen. Fir d'Anonymat ze garantéieren, kann s'de der och en belibegen Numm eraussichen. + sessions: + new: + are_you_new?: Nei op dëser Plattform? + register: Kont uleeën + sign_in_disabled: Du kënns mat engem externen Kont eran + sign_up_disabled: D'Umeldung ass desaktivéiert. Du kanns mat engem bestoenden Benotzer-Kont erakommen + user: + timed_out: Sie waren zu lange inaktiv und wurden automatisch abgemeldet. Wenn Sie den Dienst weiterhin nutzen möchten, melden Sie sich bitte erneut an. + shared: + newsletter_modal: + buttons: + check: Iwwerpréiwen an weider maachen + close_modal: Modal zou maachen + uncheck: Ouni Kontakt-Erlabnis weidermaachen + notice: |- +

    Hey, bass de sécher, dass de keen Newsletter wëlls?
    + Iwwerlee der et nach emol, ob s'de den Newsletter net awer un-ticken wëlls.
    + Fir ons ass et wichteg, d'Méiglechkeet ze hunn dir vun Zäit zu Zäit kënnen en Email ze schécken an dem mir dir all déi wichteg Annoncen matdeelen. Du kanns dat zu all Moment an dengen Astellungen fir Noriichten änneren.

    +

    Wann d'Kontroll-Këscht net aktivéiert ass, verpass du relevant Informatiounen iwwert Méiglechkeeten sech op der Plattform ze bedeelegen.
    + Wann s'du trotz all dem keen Newsletter wëlls, respektéieren mir selbstverständlech deng Entscheedung.

    +

    Merci fri d'Liesen!

    + title: Newsletter Matdeelungen + omniauth_buttons: + or: Oder + doorkeeper: + authorizations: + new: + authorize: Applikatioun zouloossen + by_organization_link_html: vun %{link} + cancel: Ofbriechen + connect_your_account_html: Verbann däin Kont, andeem s'de dech bei %{organization} umells + publish_content: Inhalt fir Iech verëffentlechen + see_email: Kuck deng Email + see_name: Kuck däin Numm + see_username: Kuck däin Spëtznumm + this_application_will_be_able_to: 'Dës Applikatioun mécht:' + this_application_will_not_be_able_to: 'Diese Applikatioun kann net:' + update_profile: Profil aktualiséieren + wants_to_use_your_account_html: "%{application_name} well däin Kont benotzen" + endorsable: + endorsements: Ennerstëtzungen + endorsements_count: Zuel vun den Ënnerstëtzer + endorsement_buttons_cell: + already_endorsed: Ënnerstëtzt + endorse: Ënnerstëtzen + endorsements: + identities: + done: Erleedegt + select_identity: Identitéit wielen + errors: + internal_server_error: + title: Op eisem Server ass e Problem opgetrueden + try_later: Bitte versuchen Sie es später nochmal. + not_found: + back_home: Zréck op d'Startsäit + content_doesnt_exist: Dës Adress ass falsch oder gouf geläscht. + title: Déi Säit déi s'du sichs kann net fonnt ginn + events: + amendments: + amendment_accepted: + affected_user: + email_intro: 'Eng Ännerung gouf %{amendable_title} akzeptéiert. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt well s'du en Auteur vum%{amendable_title} bass. + email_subject: Akzeptéiert Ännerung %{amendable_title} vum %{emendation_author_nickname} + notification_title: D' Ännerung erstallt vun %{emendation_author_nickname} fir %{amendable_title} gouf ugeholl. + follower: + email_intro: 'Eng Ännerung gouf %{amendable_title} akzeptéiert. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt, well s'du dem %{amendable_title} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: Akzeptéiert Ännerung fir %{amendable_title} vum %{emendation_author_nickname} + notification_title: D' Ännerung erstallt vun %{emendation_author_nickname} fir %{amendable_title} gouf ugeholl. + amendment_created: + affected_user: + email_intro: 'Eng Ännerung fir %{amendable_title} gouf erstallt. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt well s'du en Auteur vum %{amendable_title} bass. + email_subject: Nei ännerung fir %{amendable_title} + notification_title: Nei Ännerung fir %{amendable_title} gouf erstallt. + follower: + email_intro: 'Eng nei Ännerung fir %{amendable_title} gouf erstallt. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt, well s'du dem %{amendable_title} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: Nei Ännerung fir %{amendable_title} + notification_title: Nei Ännerung fir %{amendable_title}. + amendment_promoted: + affected_user: + email_intro: 'Eng refuséiert Ännerung am %{amendable_title} gouf als eng nei ënner %{amendable_type} verëffentlecht. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt well s'du en Auteur vum %{amendable_title} bass. + email_subject: Eng Ännerung vun %{emendation_author_nickname} gouf als nei /n %{amendable_type} verëffentlecht + notification_title: D' refuséiert Ännerung fir %{amendable_title} gouf als nei verëffentlecht %{amendable_type} duerch %{emendation_author_nickname}. + follower: + email_intro: 'Eng refuséiert Ännerung am %{amendable_title} gouf als eng nei ënner %{amendable_type} verëffentlecht. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt, well s'du dem %{amendable_title} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: Eng Ännerung vun %{emendation_author_nickname} gouf als nei /n %{amendable_type} verëffentlecht + notification_title: D' refuséiert Ännerung fir %{amendable_title} gouf als nei verëffentlecht %{amendable_type} duerch %{emendation_author_nickname}. + amendment_rejected: + affected_user: + email_intro: 'Eng Ännerung fir %{amendable_title} gouf refuséiert. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt well s'du en Auteur vum%{amendable_title} bass. + email_subject: Refuséiert Ännerung fir %{amendable_title} vum %{emendation_author_nickname} + notification_title: D' Ännerung erstallt vun %{emendation_author_nickname} fir %{amendable_title} gouf refuséiert. + follower: + email_intro: 'Eng Ännerung fir %{amendable_title} gouf refuséiert. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt, well s'du dem %{amendable_title} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: Refuséiert Ännerung fir %{amendable_title} vum %{emendation_author_nickname} + notification_title: D' Ännerung erstallt vun %{emendation_author_nickname} fir %{amendable_title} gouf refuséiert. + attachments: + attachment_created: + email_intro: 'En neit Dokument fir %{resource_title} gouf dru gehaange. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt, well s'du dem %{resource_title} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: Eng Aktualiséierung op %{resource_title} + notification_title: En neit Dokument gouf bei %{resource_title}drugehaange + components: + component_published: + email_intro: 'D''Partie %{resource_title} ass elo fir %{participatory_space_title} aktiv. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt, well s'du dem %{participatory_space_title} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: Eng Aktualiséierung op %{participatory_space_title} + notification_title: D'Partie %{resource_title} ass elo fir %{participatory_space_title} aktiv + email_event: + email_greeting: Moien %{user_name} + email_intro: 'Et gouf en Update fir %{resource_title}. Du kanns dat op dëser Säit gesinn:' + email_outro: Du hues dës Noriicht kritt, well s'du "%{resource_title}" nogees. Falls du keng esou Noriichten méi wëlls kréien, géi op den Link uewen. + email_subject: Eng Aktualiséierung op %{resource_title} + gamification: + badge_earned: + email_intro: Gratulatioun! Du hues dir %{badge_name} Ofzeechen (Level %{current_level}) verdéngt. + email_outro: Du hues dës Noriicht kritt well s'du op eiser Websäit aktiv wos. + email_subject: 'Du hues en neit Ofzeechen kritt: %{badge_name}!' + notification_title: Gratulatioun! Du hues dir %{badge_name} Ofzeechen (Level %{current_level}) verdéngt. + level_up: + email_intro: Gratulatioun! Du hues den Level %{current_level} am %{badge_name} Ofzeechen erreecht! + email_outro: Du hues dës Noriicht kritt well s'du op eiser Websäit aktiv wos. + email_subject: Du hues den Level %{current_level} um %{badge_name} Ofzeechen erreecht! + notification_title: Gratulatioun! Du hues den Level %{current_level} am %{badge_name} Ofzeechen erreecht! + groups: + demoted_membership: + email_intro: En Admin vum Grupp %{user_group_name} huet dir d'Rechter fir d'Administratioun vum Grupp entzunn. + email_outro: Du hues dës Noriicht kritt well s'du en Member vum Grupp bass. + email_subject: Du bass keen Admin vum Grupp %{user_group_name} méi! + notification_title: Du bass elo net méi en Admin vum Grupp %{user_group_name}. + invited_to_group: + email_intro: En Admin vum Grupp %{user_group_name} huet dech an de Grupp agelueden. + email_outro: Du hues dës Noriicht kritt well s'du an de Grupp agelueden goufs. Iwwerpréif den Tab "Gruppen" an dengem Profil, fir d'Aluedung unzehuelen. + email_subject: Du goufs agelueden dem Grupp %{user_group_name} bäizetrieden! + notification_title: Du goufs agelueden dem Grupp %{user_group_name} bäizetrieden. Besich d'Gruppe-Säit an dengem Profil fir d'Aluedung unzehuelen! + join_request_accepted: + email_intro: Gléckwonsch! Ein Admin vum Grupp %{user_group_name} huet deng Ufro do bäizetrieden ugeholl. + email_outro: Du hues dës Noriicht kritt, well deng Ufro fir bäizetrieden aktualiséiert gouf. + email_subject: Du goufs am Grupp %{user_group_name} ugeholl! + notification_title: Du goufs an der Grupp %{user_group_name} opgeholl. + join_request_created: + email_intro: Et huet eng Persoun gefrot dem Grupp %{user_group_name} bäizetrieden. Du kanns déi Ufro vun der Säit fir Gruppememberen unhuelen oder refuséieren. + email_outro: Du hues dës Noriicht kritt, well s'du den Grupp %{user_group_name} verwalten kanns. + email_subject: Eng Persoun huet ugefrot dem Grupp %{user_group_name} bäizetrieden! + notification_title: Et huet eng Persoun gefrot dem Grupp %{user_group_name} bäizetrieden. Du kanns déi Ufro vun der Säit fir Gruppememberen unhuelen oder refuséieren. + join_request_rejected: + email_intro: En Admin vum Grupp %{user_group_name} huet deng Ufro bäizetrieden refuséiert. + email_outro: Du hues dës Noriicht kritt, well deng Ufro fir bäizetrieden aktualiséiert gouf. + email_subject: Deng Ufro dem Grupp %{user_group_name} bäizetrieden gouf refuséiert! + notification_title: Deng Ufro dem Grupp %{user_group_name} bäizetrieden gouf refuséiert. + promoted_to_admin: + email_intro: En Admin vum Grupp %{user_group_name} huet dir d'Rechter fir d'Administratioun vum Grupp ginn. + email_outro: Du hues dës Noriicht kritt well s'du en Member vum Grupp bass. + email_subject: Du bass elo en Admin vum Grupp %{user_group_name}! + notification_title: Du bass elo en Admin vum Grupp %{user_group_name}. + removed_from_group: + email_intro: En Admin vum Grupp %{user_group_name} huet dech aus dem Grupp geläscht. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie Mitglied dieser Gruppe waren. + email_subject: Du goufs aus dem Grupp %{user_group_name} geläscht! + notification_title: Du goufs aus dem Grupp %{user_group_name} geläscht. + user_group_created: + email_intro: En neien Benotzer-Grupp mam Numm %{user_group_name} gouf erstallt. Du kanns dat iwwer den Admin-Schaltfläch iwwerpréiwen. + email_outro: Du hues dës Noriicht kritt well s'du en Admin vun der Plattform bass. + email_subject: Eine neue Benutzergruppe wurde erstellt + notification_title: Den Benotzer-Grupp %{user_group_name} gouf erstallt. Du kanns dat iwwer d'Admin-Schaltfläch iwwerpréiwen. + user_group_updated: + email_intro: Den Benotzer-Grupp %{user_group_name} huet säin Profil aktualiséiert, dat muss op en Neits iwwerpréiwt ginn. Du kanns dat iwwert Admin-Schaltfläch iwwerpréiwen. + email_outro: Du hues dës Noriicht kritt well s'du en Admin vun der Plattform bass. + email_subject: En Benotzer-Grupp huet säin Profil aktualiséiert + notification_title: Den Benotzer-Grupp %{user_group_name} huet säin Profil net iwwerpréiwt aktualiséiert. Du kanns dat iwwert Admin-Schaltfläch iwwerpréiwen. + notification_event: + notification_title: Bei %{resource_title} ass eppes geschitt. + reports: + resource_hidden: + email_intro: En aAdmin huet den %{resource_type} geläscht, well en als %{report_reasons} gemellt gouf. + email_outro: Du hues dës Noriicht kritt well s'du en Auteur vum geläschten Inhalt bass. + email_subject: Deng %{resource_type} gouf geläscht + notification_title: |- + En Admin huet däin %{resource_type} geläscht, well en als %{report_reasons}.
    %{resource_content} gemellt gouf + resource_endorsed: + email_intro: '%{endorser_name} %{endorser_nickname}, dem s''du nogees, huet grad "%{resource_title}" ënnerstëtzt an mir mengen dat kéint dech interesséieren. Kuck der et mol un an diskutéier mat:' + email_outro: Du hues dës Noriicht kritt, well s'du dem %{endorser_nickname} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: "%{endorser_nickname} huet eng nei Ënnerstëtzung ausgeschwat" + notification_title: %{resource_title} %{resource_type} gouf vum %{endorser_name} %{endorser_nickname} ënnerstëtzt. + users: + profile_updated: + email_intro: D' Profil-Säit vum %{name} (%{nickname}), där s'du nogees, gouf aktualiséiert. + email_outro: Du hues dës Noriicht kritt, well s'du dem %{nickname} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: "%{nickname} huet säin Profil aktualiséiert" + notification_title: D' Profil-Säit vum %{name} (%{nickname}), där s'du nogees, gouf aktualiséiert. + export_mailer: + data_portability_export: + click_button: 'Klick op den Link, fir den Daten erofzelueden.
    D''Datei steet bis den %{date} zur Verfügung.
    du brauchs 7-Zip (fir Windows), Keka (fir MacOS) oder PeaZip (fir Linux) fir d''Datei opzemaachen. Passwuert: %{password}' + download: Eroflueden + export: + ready: Am Anhang fënns de eng kompriméiert Versioun vun dengem exportéierten Element. + subject: Däin Export- %{name} ass prett + filters: + linked_classes: + all: All + collaborative_draft: Kollaborativen Entworf + dummy_resource: Dummy-Ressourcen + meeting: Versammlung + project: Projeten + proposal: Virschléi + result: Resultater + fingerprint: + check: Fangerofdrock iwwerpréiwen + explanation: Den folgenden Text ass eng verkierzten a markéiert Duerstellung vun dësem Inhalt. Dat ass néideg fir sécherzestellen, dass den Inhalt net manipuléiert gouf, well och kleng Ännerungen doran de Wäert dovun vëlleg veränneren géifen. + online_calculator_name: Online MD5-Rechner + replicate_help: Dësen Fangerofdrock gëtt mat engem SHA256-Hashing-Algorithmus berechent. Fir den selwer ze generéieren, kanns du en %{online_calculator_link} verwennen andeems de d'Quelldaten kopéiers an asetz. + source: Quell + title: Fangerofdrock + value: Wäert + followers: + no_followers: Bis elo keng Follower. + following: + no_followings: Geet bis elo kenger Ressource no. + follows: + create: + button: Nogoen + error: Et gouf e Problem beim Followen vun dëser Ressource. + participatory_space: Du gees der %{resource_name}no + destroy: + button: Net méi nogoen + error: Et gouf e Problem beim Un-Followen vun dëser Ressource. + forms: + current_file: Aktuell Datei + current_image: Aktuellt Bild + default_image: Standard-Bild + errors: + decidim/user: + password: D'Passwuert ass ze kuerz. + password_confirmation: D'Bestätegung vum Passwuert muss mam Passwuert iwwerteneestëmmen. + error: In diesem Feld ist ein Fehler aufgetreten. + file_help: + file: + explanation: 'Uleedung fir dës Datei:' + message_1: Soll eBild oder en Dokument sinn. + message_2: Biller sollen am beschten Landschaftsbiller sinn, den Programm passt d'Bild vum selwen un. Fir CSV-Dateien muss d'Trennung tëscht de Spalten e Komma (",") sinn + image: + explanation: 'Uleedung fir d''Bild:' + message_1: Am beschten queesch Format ouni Text. + message_2: Den Programm passt d'Bild un. + file_validation: + allowed_file_extensions: 'Erlaabten Datei-Endungen %{extensions}' + max_file_size: 'Maximal Datei-Gréisst: %{megabytes}MB' + remove_this_file: Dës Datei läschen + gamification: + all_badges_link: Kuck der all méiglech Ofzeechen un. + badges: + followers: + conditions: + - Aktiv sinn an aneren Persounen nogoen dréit dozou bäi, dass aner Persounen dir och noginn. + description: Dëst Ofzeechen kritt een, wann eng bestëmmten Zuel vun Leit engem noginn. %{organization_name} ass en sozialt politescht Netzwierk. Spann däin Netz, fir dech mat aneren Mënschen op der der Plattform ze kommunizéieren. + description_another: Dësen Benotzer huet %{score} Unhänger. + description_own: "%{score} Benotzer ginn dir no." + name: Unhänger + next_level_in: Kréi méi %{score} Benotzer dozou dir nozegoen, fir den nächsten Level ze erreechen! + unearned_another: Dësen Benotzer huet bis elo nach keng Unhänger. + unearned_own: Du hues bis elo nach keng Follower. + index: + badge_title: "%{name} Ofzeechen" + how: Wéi kanns de der et verdéngen + page_description: Ofzeechen sinn Unerkennungen fir d'Aktiounen an d'Fortschrëtter vun Teilnehmer op der Plattform. Wann se op der Plattform entdecken, matmaachen an interagéieren, verdéngen se verschidden Ofzeechen. Hei ass eng Lëscht vun den Ofzeechen an e puer Méiglechkeeten, wéi een sech déi verdéngen kann. + title: Ofzeechen + invitations: + conditions: + - Benotz den "Frënn alueden" -Link op denger Profil-Säit, fir Frënn anzelueden + - Du kanns, wann s'de dat wëlls, d'Noriicht déi s'de schécke wëlls upassen + - Du verbessers dech andeem s'de Aluedungen erausschécks an registréieren léiss. + description: Dëst Ofzeechen kritt een, wann een e puer Persounen agelueden huet déi sech d'Zäit geholl hunn sech bei %{organization_name} ze registréieren. Merci, dass du hëllefs d'%{organization_name} bekannt ze maachen an dozou bäidréis d'Communautéit ze vergréisseren! + description_another: Dësen Teilnehmer huet %{score} Teilnehmer agelueden. + description_own: Du hues %{score} Teilnehmer agelueden. + name: Aluedungen + next_level_in: Lued %{score} méi Teilnehmer an, fir op den nächsten Level ze kommen! + unearned_another: Dësen Teilnehmer huet nach keen agelueden. + unearned_own: Du hues nach keen Teilnehmer agelueden. + description: Ofzeechen sinn Unerkennungen fir d'Aktiounen an d'Fortschrëtter vun Teilnehmer op der Plattform. Wann se op der Plattform entdecken, matmaachen an interagéieren, verdéngen se verschidden Ofzeechen. + level: Level %{level} + reached_top: Du hues den héchsten Level bei dësem Ofzeechen erreecht. + group_admins: + actions: + are_you_sure: Bass du der sécher? Dëst läscht den Teilnehmer net aus dem Grupp. + demote_admin: Admin läschen + demote: + error: Et gouf e Problem beim Läschen vun engem Teilnehmer aus der Lëscht vun den Administrateuren + success: Den Teilnehmer gouf aus der Lëscht vun den Administrateuren geläscht + index: + current_admins: 'Aktuell Admins:' + manage_admins: Admins verwalten + group_invites: + accept: + error: Et gouf e Problem beim Unhuelen vun dëser Aluedung + success: D'Aluedung gouf ugeholl + accept_invitation: Unhuelen + accept_or_reject_group_invitations: 'Dës Gruppen hunn dech agelueden dech hinnen unzeschléissen. Hir Ufroen unhuelen oder refuséieren:' + index: + invite: Alueden + invite_user: En Teilnehmer alueden + invite: + error: Beim Eroplueden vun dësem Teilnehmer ass e Problem opgetrueden + success: Benotzer gouf agelueden + reject: + error: Et gouf e Problem beim Refuséieren vun dëser Invitatioun + success: Invitatioun gouf refuséiert + reject_invitation: Refuséieren + group_members: + accept: + error: Et gouf e Problem beim Unhuelen vun dëser Ufro bäi ze trieden + success: D'Ufro bäi ze trieden gouf acceptéiert + actions: + are_you_sure: Bass du sécher? + promote_to_admin: Zum Admin maachen + remove_from_group: Teilnehmer läschen + index: + current_members_without_admins: 'Aktuell Memberen (ouni Admins):' + manage_members: Memberen verwalten + promote: + error: Et gouf e Problem beim Fërderen vun dësem Teilnehmer + success: Teilnehmer gouf gefërdert + reject: + error: Et gouf e Problem dës Bäitrëtts-Ufro ze refuséieren + success: Bäitrëtts-Ufro gouf refuséiert + remove: + error: Et gouf e Problem dësen Teilnehmer aus dem Grupp ze läschen + success: Dësen Teilnehmer gouf aus dem Grupp geläscht + groups: + actions: + are_you_sure: Bass de sécher? + create: + error: Et gouf e Problem beim Erstellen vum Grupp + success: De Grupp gouf erstallt + edit: + edit_user_group: Grupp beaarbechten + update_user_group: Grupp aktualiséieren + form: + document_number_help: Verwenn keng Bindestrécher oder Espace-Zeechen + email_help: Email-Adress vun denger Organisatioun, Associatioun, Kollektiv, Grupp, etc. + fill_in_for_verification: 'Fëll dës Felder aus, wann däin Grupp soll iwwerpréift ginn:' + name_help: Numm vun denger Organisatioun, Associatioun, Kollektiv, Grupp, etc. + nickname_help: Benotzer-Numm vun denger Organisatioun, Associatioun, Kollektiv, Grupp, etc. Verwenn weder Espace-Zeechen nach Akzenter. + phone_help: Verwenn keng Bindestrécher oder Espace-Zeechen + join: + error: Et gouf e Problem beim Bäitrieden an de Grupp + success: Bäitrëtts-Ufro gouf erstallt. En Administrateur iwwerpréift deng Ufro, éier s'du an de Grupp ugeholl gëss. + leave: + error: Et gouf e Problem beim Austrieden aus dem Grupp + success: Aus dem Grupp ausgetrueden. + members: + accept_or_reject_join_requests: 'Dës Benotzer hunn ugefrot dësem Grupp bäizetrieden. Hir Ufroen unhuelen oder refuséieren:' + accept_request: Akzeptéieren + reject_request: Refuséieren + new: + create_user_group: Grupp erstellen + new_user_group: Neien Grupp + subtitle: Erstell e Grupp a luet aner Benotzer an, op engem kollektiven Level matzemaachen. + no_user_groups: Gehéiert nach kengem Grupp un. + roles: + admin: Administrateur + creator: Ersteller + member: Member + update: + error: Et gouf e Problem beim Aktualiséieren vum Grupp + success: De Grupp gouf aktualiséiert + help: + main_topic: + default_page: + content: "

    An der %{organization} kanns de, mëttels de Felder aus dem ieweschten Menü déi Themen-Beräicher entscheeden an erauswielen bei deenen s'de wëlls matmaachen: Prozesser, Gremien, Initiativen, Berodungen.

    An all Beräich fënns de verschidden Optiounen fir d'Matmaachen: Virschléi maachen - eleng oder mat aneren -, bei Debatten matmaachen, Prioritéiten setzen fir Projeten ëmzesetzen, un perséinlechen Treffen an aneren Aktiounen deelhuelen.

    \n" + title: Wat kann ech an der %{organization} maachen? + description: Méi liesen iwwer %{organization} + title: Allgemeng Hëllef + last_activities: + activities: + no_activities_warning: Keng Aktivitéit + all: All Zorten vun Aktivitéit + index: + last_activity: Lescht Aktivitéit + resource_type: Zort + log: + base_presenter: + create: "%{user_name} huet %{resource_name} erstallt" + create_with_space: "%{user_name} huet %{resource_name} an %{space_name} erstallt" + delete: "%{user_name} huet %{resource_name} geläscht" + delete_with_space: "%{user_name} huet %{resource_name} an %{space_name} geläscht" + unknown_action: "%{user_name} huet eng Aktion an %{resource_name} ausgeféiert" + unknown_action_with_space: "%{user_name} huet eng Aktion an %{resource_name} an %{space_name} ausgeféiert" + update: "%{user_name} huet %{resource_name} aktualiséiert" + update_with_space: "%{user_name} huet %{resource_name} an %{space_name} aktualiséiert" + value_types: + area_presenter: + not_found: 'Dëse Beräich gouf net an der Date-Bank (ID: %{id}) fonnt' + area_type_presenter: + not_found: 'Dës Zort Beräich gouf net an der Datte-Bank (ID: %{id}) fonnt' + scope_presenter: + not_found: 'Dësen Uwennungs-Beräich gouf net an der Date-Bank (ID: %{id}) fonnt' + scope_type_presenter: + not_found: 'Dës Zort Uwennungs-Beräich gouf net an der Date-Bank (ID: %{id}) fonnt' + managed_users: + expired_session: Déi aktuell Admin-Sessioun ass ofgelaf. + map: + dynamic: + screen_reader_explanation: Dat nächst Element ass eng Kaart, déi d'Artikel op dëser Säit a Form vun Kaarten-Punkten duerstellt. Dëst Element kann mat engem Screen-Reader benotzt ginn, mee kann schwéier verständlech sinn. + skip_button: Kaart iwwersprangen + static: + latlng_text: 'Breedegrad:%{latitude}, Längegrad:%{longitude}' + map_service_brand: Stroosse-Kaart opmaachen + members: + no_members: Dëse Grupp huet nach keng Memberen. + menu: + help: Hëllef + home: Startsäit + messaging: + conversation_mailer: + comanagers_new_conversation: + admin_in_group: Du kriss dat hei, well s'du en Admin am Grupp %{group} bass. + greeting: Moien %{recipient}! + intro: "%{manager} huet eng nei Konversatioun am Numm vum Grupp %{group} ugefaangen. Klick hei fir et ze gesinn:" + outro: Vill Spaass mat decidim! + subject: "%{manager} huet eng Konversatioun mam %{group} ugefaangen" + comanagers_new_message: + admin_in_group: Du kriss dat hei, well s'du en Admin am Grupp %{group} bass. + greeting: Moien %{recipient}! + intro: "%{manager} huet nei Noriichten gepost an der Konversatioun mam Grupp %{group}. Klick hei fir se ze gesinn:" + outro: Vill Spaass mat decidim! + subject: "%{manager} huet eng nei Noriicht an de %{group} geschéckt" + new_conversation: + greeting: Moien %{recipient}! + intro: "%{sender} huet eng nei Konversatioun mat dir ugefaange. Klick hei fir se ze gesinn:" + outro: Vill Spaass mat decidim! + subject: "%{sender} huet eng Konversatioun mat dir ugefaangen" + new_group_conversation: + admin_in_group: Du kriss dat hei, well s'du en Admin am Grupp %{group} bass. + greeting: Moien %{recipient}! + intro: "%{sender} huet eng nei Konversatioun am Grupp ugefaange %{group}. Klick hei fir se ze gesinn:" + outro: Vill Spaass mat decidim! + subject: "%{sender} huet eng Konversatioun mam %{group} ugefaangen" + new_group_message: + admin_in_group: Du kriss dat heiten, well du bass Administrateur am %{group}. + greeting: Moien, %{recipient}! + intro: "%{sender} huet nei Noriichten gepost an der Konversatioun mam Grupp %{group}. Klick hei fir se ze gesinn:" + outro: Vill Spaass mat decidim! + subject: "%{group} hat neue Nachrichten von %{sender}" + new_message: + greeting: Moien, %{recipient}! + intro: "%{sender} huet nei Noriichten an denger Konversatioun gepost. Klick hei fir se ze gesinn:" + outro: Vill Spaass mat decidim! + subject: Du hues nei Noriichten vum %{sender} + conversations: + add_conversation_users: + add_max_users: 'Setz denger Konversatioun nei Benotzer bäi: max. 9 Benotzer' + add_users_placeholder: Sich... + modal_title: Nei Konversatioun + no_results: Keen Resultat + participant_with_disabled_message_reception: Dësen Teilnehmer huet Noriichten desaktivéiert + conversation: + show: Konversatioun mam %{sender} uweisen + create: + error: D'Konversatioun gouf net gestart. Probéier méi spéit nach emol + error_modal: + close: Dialog zou maachen + correct_errors: Korrigéier w. e. g. dëse Feeler a probéier op en Neits. + intro: 'Bei denger Noriicht ass dësen Feeler opgetrueden:' + ok: OK + index: + ago: virun + close: Modal zou maachen + from: Vum + groups: Meng Gruppen + last_message: Lescht Noriicht + new_conversation: Nei Konversatioun + next: Weider + no_conversations: Du hues nach keng Konversatiounen + title: Konversatiounen + reply: + placeholder: Deng Äntwert... + send: Senden + title: Äntweren + show: + back: Zeréck bei all d'Konversatiounen + chat_with: Konversatioun mat + not_allowed: Dësen Teilnehmer refuséiert direkt Noriichten. + title: Konversatioun mam %{usernames} + start: + send: Senden + title: Eng Konversatioun ufänken + update: + error: Wéinst engem Feeler konnt d'Noriicht net geschéckt ginn + metrics: + download: + csv: Daten am (CSV) eroflueden + followers: + description: Zuel vun den Teilnehmer, déi dësem Konversatiouns-Espace nofollegen + object: Follower + title: Follower + participants: + description: Zuel vun den aktiven Teilnehmer an dëser Organisatioun + object: Teilnehmer + title: Teilnehmer + users: + description: Zuel vun den Teilnehmer an dëser Organisatioun + object: Teilnehmer + title: Teilnehmer + newsletter_mailer: + newsletter: + note: Du hues dës email kritt, well s'du den Newsletter vun %{organization_name} abonnéiert hues. Du kanns d'Astellungen op denger Benachrichtigungen Seite änneren. + see_on_website: Dës Email gëtt dir net richteg ugewisen? Klick w. e. g. hei dran website. + unsubscribe: Fir dës Zort Email ofzebestellen, Abbestellen. + newsletter_templates: + basic_only_text: + body_preview: 'Blindtext für Haupttext: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.' + name: Grondlagen (nëmmenText) + basic_only_text_settings_form: + body: Haapt-Text + interpolations_hint: 'Tipp: Sie können „%{name}“ an beliebiger Stelle im Hauptteil oder Betreff verwenden und es wird durch den Namen des Empfängers ersetzt.' + image_text_cta: + body_preview: 'Blindtext für Haupttext: Maecenas ac nisl vitae lectus pretium facilisis. Etiam facilisis sem nibh, sit amet rutrum mi aliquam nec. Sed id urna at nisl pretium mollis eu vel velit. Proin vitae suscipit urna, sed faucibus urna. Pellentesque id libero vulputate ipsum scelerisque suscipit. Nam aliquam sodales mi sit amet cursus. Donec mattis faucibus purus. Aenean tincidunt porta lorem ac commodo. Vestibulum in mollis mi. Morbi eros erat, cursus ut tortor sit amet, imperdiet dapibus arcu. Suspendisse id egestas enim. In eget magna sed enim efficitur elementum sit amet aliquam quam. Donec fermentum metus eget urna luctus pulvinar.' + cta_text_preview: Text Opruff zur Aktioun + introduction_preview: 'Blindtext für Einführung: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.' + name: Bild-, Text- an Opruff zur Aktioun-Schaltfläch + image_text_cta_settings_form: + body: Haapttext + cta_text: Text Schaltfläch-Opruff zur Aktioun + cta_url: URL Schaltfläch- Opruff zur Aktioun + interpolations_hint: 'Tipp: Du kanns „%{name}“ gläich wou an der Aféierung, dem Haaptdeel, dem CTA-Text oder dem Betreff verwennen, et gëtt duerch den Numm vum Empfänger ersat.' + introduction: Aféierung + main_image: Haapt-Bild + newsletters: + unsubscribe: + check_subscription: Du kanns deng Astellungen hei - Konfiguration Seite änneren + error: Et gouf e Problem beim Ofbestellen + success: Du bass ofgemellt. + token_error: De Link ass ofgelaf. + unsubscribe: Ofbestellen + newsletters_opt_in: + unathorized: Pardon, dësen Link ass net méi verfügbar + update: + error: Et ass eppes schif gelaf + success: D'Astellungen fir den Newsletter goufen aktualiséiert + newsletters_opt_in_mailer: + notify: + body_1: D'Verschaffen vun perséinlechen Daten an hire Schutz, ginn fir ons all ëmmer méi wichteg. Mat der neier RGPD Reglementatioun hunn Eenzelpersounen eng besser Kontroll iwwer hir perséinlech Daten. Aus dem Grond brauchen mir däin "OK" fir dir weiderhin relevant Informatiounen vun %{organization_name} zoukommen ze loossen. + body_2: 'Wéi kanns du zoustëmmen? Klick einfach op den Knäppchen hei:' + body_3: Mat denger Zoustëmmung erhëls du weiderhin Informatiounen iwwert Déngschter vun dëser Plattform. Sollten mir, am Géigenzuch, keng Zoustëmmung vun dir erhalen, wäerten mir dir och keng Noriichten méi schécken. Och am Fall vun enger Zoustëmmung, kanns du zu all Moment dës Optioun ofzewielen. + button: Ja, ich möchte weiterhin relevante Informationen erhalten + greetings: Gréiss,
    %{organization_name}
    %{organization_url} + hello: Moien, + subject: Well s'du weiderhin relevant Informatioune zu %{organization_name} zougeschéckt kréien? + notifications: + no_notifications: Nach keng Notifikatiounen. + notifications_settings: + show: + administrators: Administrateuren + allow_public_contact: Allen erlaben, mir Direkt-Noriichten ze schécken, och vun deenen, deenen ech net nofollegen. + direct_messages: Direkt-Noriichten vun jidderengem zougeschéckt kréien + email_on_moderations: Ech well en Email zougeschéckt kréien wann eppes gemellt gouf wat moderéiert soll ginn. + email_on_notification: Ech well all Kéiers enEmail zougeschéckt kréien, wann ech eng Noriicht kritt hunn. + everything_followed: Vun jidderengem dem ech nofollegen + newsletter_notifications: Ech well den Newsletter + newsletters: Newsletter + own_activity: Meng eegen Aktivitéit, sou wann een mäin Virschlag kommentéiert oder mech ernimmt + receive_notifications_about: Ech well Noriichten zu + send_notifications_by_email: Noriichten via Email schécken + update_notifications_settings: Ännerungen späicheren + update: + error: Et gouf e Problem beim Aktualiséieren vun Astellungen fir Noriichten. + success: Deng Astellungen fir Noriichten goufen aktualiséiert. + open_data: + not_available_yet: Open Data-Dateien sinn nach net verfügbar. Probéier w. e. g. an e puer Minutten op en Néits. + own_user_groups: + index: + pending: Ausstoend + rejected: Verworf + verified: Iwwerpréift + pad_iframe: + disclaimer: Den Inhalt vun dësem Pad, gouf vun registréierten Benotzer verfaasst an gëtten Auteuren hir Meenung erëm. D'%{organization} kann net fir den Inhalt verantwortlech gemaach ginn. + explanation: Verwänn dësen Pad, fir iwwert engem Meeting zesummen un Notizzen ze schaffen Pad, dat vereinfacht d'Ofschrëft vum Versammlungs-Bericht herno. + pad: Pad + pages: + home: + extended: + debates: Debatten + debates_explanation: Debattéier an diskutéier, deel deng Usiichten an dro zu den wichtegen Themen bäi. + how_to_participate: Wéi kann ech bei engem Prozess matmaachen? + meetings: Versammlungen + meetings_explanation: Fann eraus wou an wéini ëffentlech Versammlungen sinn an wéi s'du kanns matmaachen. + more_info: Méi Informatiounen zu %{resource_name} + proposals: Virschléi + proposals_explanation: Maach Virschléi, ënnerstëtz Virschléi an fërder Verännerungen déi dir wichteg sinn. + footer_sub_hero: + footer_sub_hero_body: Looss eis un enger méi oppener, transparenter an kollaborativer Gesellschaft schaffen.
    Komm mat, maach mat an entscheet mat. + footer_sub_hero_headline: Wëllkomm %{organization} op der Participatiouns-Plattform. + register: Registréieren + hero: + participate: Matmaachen + welcome: Wëllkomm %{organization}! + metrics: + headline: Statistiken + statistics: + answers_count: Abgeschlossene Umfragen + assemblies_count: Versammlungen + comments_count: Kommentare + conferences_count: Konferenzen + debates_count: Debatten + endorsements_count: Ennerstëtzungen + headline: Aktuellen Stand vun %{organization} + meetings_count: Versammlung + orders_count: Stimmen + pages_count: Säiten + processes_count: Beteiligungsprozesse + projects_count: Projeten + proposals_accepted: Akzeptierte Vorschläge + proposals_count: Virschléi + results_count: Resultater + surveys_count: Umfragen + users_count: Teilnehmer + votes_count: Stimmen + sub_hero: + register: Registréieren + index: + read_more: Weideres liesen + standalone_pages: Säiten + subheading: Duerch d'Hëllefs-Säiten vun %{name} navigéieren + title: Hëllef + topics: Themen + participatory_space: + metrics: + headline: Statistiken + link: All Statistiken uweisen + terms_and_conditions: + accept: + error: Et gouf e Problem beim Unhuelen vun den Konditiounen vum Benotzen. + success: Wonnerbar! Du hues d'Konditiounen vum Benotzen akzeptéiert. + form: + agreement: Ech sinn mat dësen Konditiounen averstane + legend: Akzeptéier d'Konditiounen vum Benotzen + refuse: + modal_body: Wann s'du refuséiers, wàert et dir net méiglech sinn dës Plattform ze benotzen, du kanns lDaten eroflueden an / oder Konto läschen. + modal_btn_continue: Konditiounen akzeptéieren an weiderfueren + modal_btn_exit: Ech iwwerpréiwen dat méi spéit + modal_button: Konditiounen net unhuelen + modal_close: Modal zou maachen + modal_title: Bass du wierklech wëlles d'Konditiounen vum Benotzen net unzehuelen? + required_review: + alert: Mir hunn eis Konditiounen vum Benotzen aktualiséiert, iwwerpréif se w. e. g. + body: Huel dir e Moment Zäit fir d' Konditiounen vum Benotzen ze iwwerpréiwen. Soss kanns du d'Plattform net benotzen. + title: 'Erfuerderlech: Iwwerpréif Aktualiséierungen vun eisen Konditiounen vum Benotzen' + participatory_space_private_users: + not_allowed: Dir ass et net erlaabt dësen Inhalt ze gesinn + profile: + deleted: Teilnehmer geläscht + inaccessible_message: Dësen Profil ass wéinst der Verletzung vun den Konditiounen vum Benotzen net zougänglech! + view: Uweisen + profiles: + default_officialization_text_for_user_groups: Dësen Grupp gouf ëffentlech iwwerpréift, säin Numm stëmmt mat sengem richtegen Numm iwwerteneen + default_officialization_text_for_users: Dësen Teilnehmer gouf ëffentlech iwwerpréift, säin Numm an seng Roll stëmmen mat sengem tatsächlechen Numm an senger Roll iwwerteneen + show: + activity: Aktivitéit + badges: Ofzeechen + conversations: Konversatiounen + followers: Unhänger + following: Geet no + groups: Gruppen + members: Memberen + officialized: Offiziellen Teilnehmer + send_private_message: Privat Noriicht schécken + timeline: Verlaf + view_full_profile: Kuck den vollstännegen Profil + sidebar: + badges: + info: Ofzeechen kann een sech verdéngen, andeems een bestëmmten Aktivitéiten op der Plattform duerchféiert. + title: Ofzeechen + user: + confirmation_instructions_sent: Et gouf en Email mat Instruktiounen geschéckt + create_user_group: Grupp erstellen + edit_profile: Profil beaarbechten + edit_user_group: Profil vum Grupp beaarbechten + fill_in_email_to_confirm_it: Gëff w. e. g. d'Email-Adress vun dengem Grupp an fir se ze bestätegen + invite_user: En Teilnehmer alueden + join_user_group: Ufro engem Grupp bäitrieden ze dierfen + leave_user_group: Grupp verloossen + manage_user_group_admins: Administrateuren verwalten + manage_user_group_users: Memberen verwalten + resend_email_confirmation_instructions: Den Email mat der Confirmatioun vun den Instruktiounen op en Neits schécken + reported_mailer: + hide: + hello: Moien %{name} + manage_moderations: Moderatiounen verwalten + report_html:

    Den folgenden Inhalt Inhalt gouf automatesch ausgeblent.

    + subject: Eng Ressource gouf automatesch ausgeblent + report: + authors: Auteuren + content: Inhalt gouf gemellt + content_original_language: Originalsprooch vum Inhalt + date: Gemellt den + details: Detailer + hello: Moien %{name} + id: ID + participatory_space: Espace fir d'Bedeelegung + reason: Grond + report_html:

    Den folgenden Inhalt Inhalt gouf gemellt.

    + see_report: Den Bericht ukucken + subject: Eng Ressource gouf gemellt + reports: + create: + error: Beim Erstellen vum Bericht ass e Feeler opgetrueden. W. e. g. probéier op en Neits. + success: De Bericht gouf erstallt a gëtt vun engem Admin iwwerpréift. + resource_endorsements: + create: + error: Bei der Fërderung ass e Problem opgetaucht. + scopes: + global: Global Themeberäicher + picker: + cancel: Ofbriechen + change: Ausgewielten Themeberäich änneren + choose: Wiel + currently_selected: Aktuell ausgewielten Themeberäich + title: Wiel %{field} + prompt: Wiel en Themeberäich + scopes: Themeberäicher + scopes_picker_input: + select_scope: 'Wiel en Themeberäich (aktuell: %{current})' + search: + results: Resultater vun der Sich + results_found_for_term: '%{count} Resultater vun der Sich: "%{term}"' + term_input_placeholder: Sich + searches: + filters: + back: Zréck zu den Resultater + jump_to: 'Weidergoen op:' + state: + active: Aktiv + all: Alles + future: Zukunft + past: Vergaangenes + filters_small_view: + close_modal: Modal schließen + filter: Filter + filter_by: Filtern nach + unfold: Opklappen + results: + results: + one: "%{count} Resultat" + other: "%{count} Resultater" + view_all: Alles uweisen (%{count}) + security: + selfxss_warning: + description: Dës Sich-Funktioun ass nëmmen fir Entwéckler geduecht an du solls hei keng Daten asetzen nodeems de dozou opgefuerdert goufs. D'Asetzen vun Inhalter an dëser Fënster kann deng Privatsphäre affektéieren an Hacker den Zougrëff op däin Kont erméiglechen. + title: Stop! + shared: + confirm_modal: + cancel: Ofbriechen + close_modal: Modal zou maachen + ok: Ok + title: Bestätegen + embed_modal: + close_window: Fënster zou maachen + embed: Dëse Code w. e. g. an deng Säit asetzen + embed_link: Abannen + extended_navigation_bar: + more: Méi + unfold: Opklappen + filter_form_help: + help: D'Formular ënnen filtert d'Resultater vun der Sich dynamesch, wann Konditiounen fir d' Sich änneren. + skip: Weider bis bei d'Resultater + flag_modal: + already_reported: Dësen Inhalt gouf scho gemellt an gëtt duerch en Admin nogekuckt. + close: Zoumaachen + description: Ass dësen Inhalt net zoulässeg? + does_not_belong: Enthält illegal Aktivitéit, Selbstmord-Dreeung, perséinlech Informatiounen oder soss Inhalter déi net an Verbindung zu %{organization_name} stinn. + offensive: Enthält Rassismus, Sexismus, Verleumdung, perséinlechen Ugrëff, Doudesdreeung, Opfuerderung zu Selbstmord oder aner Formen vun Haassrieden. + report: Bericht + spam: Enthält Klickbait, Reklamm, Bedruch oder Script-Bots. + title: Inhalt mellen den net zoulässeg ass + flag_user_modal: + already_reported: Dësen Inhalt gouf scho gemellt an gëtt duerch en Admin nogekuckt. + close: Zoumaachen + description: Wat huet dësen Benotzer gemaach, wat net zoulässeg ass? + does_not_belong: Enthält illegal Aktivitéit, Selbstmord-Dreeung, perséinlech Informatiounen oder soss Inhalter déi net an Verbindung zu %{organization_name} stinn. + offensive: Enthält Rassismus, Sexismus, Verleumdung, perséinlechen Ugrëff, Doudesdreeung, Opfuerderung zu Selbstmord oder aner Formen vun Haassrieden. + report: Bericht + spam: Enthält Klickbait, Reklamm, Bedruch oder Script-Bots. + title: Notzer mellen den net zoulässeg ass + floating_help: + close: Den Hëllefs-Tab zoumaachen + help: Hëllef + follow_button: + sign_in_before_follow: Mell dech w. e. g. un, éier s'du dës Aktioun ausféiers + login_modal: + close_modal: Modal zou maachen + please_sign_in: W. e. g. umellen + sign_up: Registréieren + participatory_space_filters: + filters: + areas: Beräicher + select_an_area: Wiel e Beräich + reference: + reference: 'Referenz: %{reference}' + represent_user_group: + represent_user_group: Ech vertrieden e Grupp + select_user_group: Wiel e Grupp + results_per_page: + label: 'Ergebnisser pro Säit:' + title: Anzahl der Ergebnisse pro Seite auswählen + share_modal: + close_window: Fenster schließen + share: Teilen + share_link: Link teilen + tags: + filter_results_for_category: 'Ergebnisse nach Kategorie filtern: %{resource}' + filter_results_for_scope: 'Ergebnisse nach Anwendungsbereich filtern: %{resource}' + translation_bar: + help_text: "Warnung: Inhalt könnte automatisch übersetzt werden und nicht 100% korrekt sein." + show_original: Originaltext anzeigen + show_translated: Automatisch übersetzter Text anzeigen + user_activity: + index: + no_activities_warning: Dieser Benutzer hat noch keine Aktivität gehabt. + user_contact_disabled: Dieser Teilnehmer akzeptiert keine Direktnachrichten. + user_conversations: + create: + error: Die Nachricht konnte nicht erstellt werden. Versuchen Sie es später nochmal + existing_error: Die Nachricht konnte nicht erstellt werden. Die Unterhaltung besteht bereits, versuchen Sie es noch einmal. + success: Unterhaltung erfolgreich gestartet! + index: + add_max_users: 'Fügen Sie der Unterhaltung Benutzer hinzu: max. 9 Benutzer' + add_users_placeholder: Suche... + close: Schließen + conversations_info: Unterhaltungen sind privat, niemand sonst kann sie anzeigen. Eine Unterhaltung kann von jedem auf der Plattform registrierten Teilnehmer oder jeder Gruppe gestartet werden. + from: Von + last_message: Letzte Nachricht + modal_title: Neue Unterhaltung + new_conversation: Neue Unterhaltung + next: Weiter + no_conversations_warning: Es gibt noch keine Unterhaltungen. + no_results: Keine Ergebnisse + participant_with_disabled_message_reception: Dieser Teilnehmer hat Nachrichten deaktiviert + time_ago: "Vor %{time}" + new: + title: Eine Unterhaltung beginnen + reply: + placeholder: Ihre Antwort... + send: Senden + title_reply: Antworten + show: + not_allowed: Dieser Benutzer akzeptiert keine Direktnachrichten mehr. + title: Unterhaltung mit %{usernames} + update: + error: Nachricht wurde nicht gesendet. Versuchen Sie es später noch einmal + user_interests: + show: + my_interests: Meine Interessen + no_scopes: Diese Organisation hat noch keinen Spielraum! + select_your_interests: Wiel Themen, déi dech interesséieren fir entspriechend Evenementer op denger Profil-Timeline ze kréien. + update_my_interests: Interessen aktualiséieren + update: + error: Et gouf e Problem beim Aktualiséieren vun den Interessen. + success: D'Interessen goufen aktualiséiert. + user_report_mailer: + notify: + body_1: Den Benotzer %{user} gouf gemellt vun %{token} + body_2: 'Grond: %{reason}' + greetings: Gréiss,
    %{organization_name}
    + hello: Moien %{admin} + subject: Et gouf en neien Benotzer gemellt bei %{organization_name} + version: + show: + back_to_resource: Zréck goen + changes_at_title: Ännerungen beim %{title} + number_of_versions: Versiounen + show_all_versions: All Versiounen uweisen + version_author: Auteur vun der Versioun + version_created_at: Versioun gouf erstallt + version_number: Versioun Nummer + version_number_out_of_total: "%{current_version} vun %{total_count}" + version_author: + show: + deleted: Teilnehmer geläscht + versions: + resource_version: + of_versions: "(vun %{number})" + see_other_versions: aner Versiounen kucken + version: Versioun Nummer %{number} + versions_list: + show: + back_to_resource: Zurück + changes_at_title: Änderungen an „%{title}“ + number_of_versions: Versionen + title: Versionen + versions_list_item: + show: + version_index: Version %{index} + welcome_notification: + default_body:

    Hallo {{name}}, Dank für die Verbindung {{organization}} und willkommen!

    • Wenn Sie sich schnell ein Bild machen möchten, was Sie hier tun können, sehen Sie sich den Abschnitt Hilfe .
    • Sobald Sie es gelesen haben, erhalten Sie Ihr erstes Abzeichen. Hier ist eine Liste aller Abzeichen Sie erhalten können, wenn Sie an {{organization}}
    • teilnehmen. Schließen Sie sich anderen Personen an, und teilen Sie mit ihnen die Erfahrung, an {{organization}}teilzunehmen. Machen Sie Vorschläge, kommentieren Sie, diskutieren Sie, wie Sie einen Beitrag zum Gemeinwohl leisten können, geben Sie Argumente an, die überzeugen, zuhören und lesen, um überzeugt zu sein, drücken Sie Ihre Ideen konkret und direkt aus, reagieren Sie mit Geduld und Entscheidung, verteidigen Sie Ihre Ideen und halten Sie sie Offenheit, um zusammenzuarbeiten und sich den Ideen anderer anzuschließen.
    + default_subject: Danke, dass du {{organization}}beigetreten {{organization}}! + wizard_step_form: + wizard_aside: + back: Zurück + wizard_header: + see_steps: siehe Schritte + step_of: Schritt %{current_step} von %{total_steps} + devise: + confirmations: + confirmed: Ihre E-Mail-Adresse wurde erfolgreich bestätigt. + new: + resend_confirmation_instructions: Bestätigungsanweisungen erneut senden + send_instructions: Sie erhalten eine E-Mail mit Anweisungen zur Bestätigung Ihrer E-Mail-Adresse in wenigen Minuten. + send_paranoid_instructions: Wenn Ihre E-Mail-Adresse in unserer Datenbank vorhanden ist, erhalten Sie innerhalb weniger Minuten eine E-Mail mit Anweisungen zur Bestätigung Ihrer E-Mail-Adresse. + failure: + already_authenticated: Sie sind bereits angemeldet. + inactive: Dein Benutzerkonto ist noch nicht aktiviert. + invalid: Ungültige %{authentication_keys} oder Passwort. + invited: Sie haben eine ausstehende Einladung, akzeptieren Sie sie, um die Erstellung Ihres Kontos abzuschließen. + last_attempt: Sie haben noch einen Versuch, bevor Ihr Konto gesperrt ist. + locked: Dein Konto ist gesperrt. + not_found_in_database: Ungültige %{authentication_keys} oder Passwort. + timeout: Ihre Sitzung ist abgelaufen. Bitte logge dich erneut ein, um fortzufahren. + unauthenticated: Sie müssen sich anmelden oder registrieren, bevor Sie fortfahren. + invitations: + edit: + header: Beenden Sie die Erstellung Ihres Kontos + nickname_help: Ihre eindeutige Id in %{organization}. + submit_button: Speichern + subtitle: Wenn Sie die Einladung annehmen, geben Sie bitte Ihren Benutzernamen und Ihr Passwort ein. + invitation_removed: Ihre Einladung wurde entfernt. + invitation_token_invalid: Das angegebene Einladungstoken ist nicht gültig! + new: + header: Einladung senden + submit_button: Eine Einladung schicken + no_invitations_remaining: Keine Einladungen übrig + send_instructions: Eine Einladungs-E-Mail wurde an %{email}gesendet. + updated: Ihr Passwort wurde erfolgreich vergeben. Sie sind jetzt angemeldet. + updated_not_active: Ihr Passwort wurde erfolgreich vergeben. + mailer: + confirmation_instructions: + action: Bestätige mein Konto + greeting: Willkommen %{recipient}! + instruction: 'Sie können Ihre Konto-E-Mail über den folgenden Link bestätigen:' + subject: Bestätigungsanweisungen + email_changed: + greeting: Hallo %{recipient}! + message: Wir setzen uns mit Ihnen in Verbindung, um Sie darüber zu informieren, dass Ihre E-Mail-Adresse auf %{email}geändert wird. + subject: E-Mail geändert + invitation_instructions: + accept: Die Einladung annehmen + accept_until: Diese Einladung wird in %{due_date}fällig. + decline: Einladung ablehnen + hello: Hallo %{email}, + ignore: |- + Wenn Sie die Einladung nicht annehmen möchten, ignorieren Sie diese E-Mail.
    + Ihr Konto wird erst erstellt, wenn Sie auf den obigen Link zugreifen und Ihren Benutzernamen und Ihr Passwort festlegen. + invited_you_as_admin: "%{invited_by} hat dich als Admin von %{application}eingeladen. Sie können es über den folgenden Link akzeptieren." + invited_you_as_private_user: "%{invited_by} hat dich als privaten Benutzer von %{application}eingeladen. Sie können es über den folgenden Link akzeptieren." + someone_invited_you: Jemand hat dich zu %{application}eingeladen. Sie können es über den folgenden Link akzeptieren. + someone_invited_you_as_admin: Jemand hat dich als Admin von %{application}eingeladen, du kannst es über den untenstehenden Link akzeptieren. + someone_invited_you_as_private_user: Jemand hat dich als private_user von %{application}eingeladen, du kannst es über den folgenden Link akzeptieren. + subject: Anweisungen zur Einladung + invite_admin: + subject: Du wurdest eingeladen, %{organization} zu verwalten + invite_collaborator: + subject: Du wurdest eingeladen, an %{organization} + invite_private_user: + subject: Du wurdest zu einem privaten Partizipationsprozess auf %{organization} eingeladen + organization_admin_invitation_instructions: + subject: Du wurdest eingeladen, %{organization} zu verwalten + password_change: + greeting: Hallo %{recipient}! + message: Wir kontaktieren Sie, um Sie darüber zu informieren, dass Ihr Passwort geändert wurde. + subject: Passwort geändert + reset_password_instructions: + action: Ändere mein Passwort + greeting: Hallo %{recipient}! + instruction: Jemand hat einen Link angefordert, um Ihr Passwort zu ändern, und Sie können dies über den folgenden Link tun. + instruction_2: Wenn Sie dies nicht angefordert haben, ignorieren Sie diese E-Mail. + instruction_3: Ihr Passwort ändert sich erst, wenn Sie auf den obigen Link zugreifen und einen neuen erstellen. + subject: Passwort-Anweisungen zurücksetzen + unlock_instructions: + action: Entsperren Sie mein Konto + greeting: Hallo %{recipient}! + instruction: 'Klicken Sie auf den folgenden Link, um Ihr Konto zu entsperren:' + message: Ihr Konto wurde aufgrund einer übermäßigen Anzahl fehlgeschlagener Anmeldeversuche gesperrt. + subject: Entsperren Anweisungen + omniauth_callbacks: + failure: 'Sie konnten nicht mit Ihrem %{kind}-Account angemeldet werden. Grund: "%{reason}".' + success: Sie haben sich erfolgreich mit Ihrem %{kind}-Account angemeldet. + passwords: + edit: + change_my_password: Ändere mein Passwort + change_your_password: Ändern Sie Ihr Passwort + confirm_new_password: Bestätige neues Passwort + new_password: Neues Passwort + password_help: "Mindestens %{minimun_characters} Zeichen, nicht zu gewöhnlich (z. B. 123456) und darf nicht Ihr Benutzername oder Ihre E-Mail-Adresse sein." + new: + forgot_your_password: Haben Sie Ihr Passwort vergessen? + send_me_reset_password_instructions: Senden Sie mir das Passwort zurück + no_token: Sie können nicht auf diese Seite zugreifen, ohne von einer E-Mail zum Zurücksetzen des Kennworts zu stammen. Wenn Sie eine E-Mail zum Zurücksetzen des Passworts erhalten, vergewissern Sie sich bitte, dass Sie die vollständige URL verwendet haben. + send_instructions: Sie erhalten eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts in wenigen Minuten. + send_paranoid_instructions: Wenn Ihre E-Mail-Adresse in unserer Datenbank vorhanden ist, erhalten Sie innerhalb weniger Minuten einen Link zur Passwortwiederherstellung unter Ihrer E-Mail-Adresse. + updated: Ihr Passwort wurde erfolgreich geändert. Sie sind jetzt angemeldet. + updated_not_active: Ihr Passwort wurde erfolgreich geändert. + registrations: + destroyed: Däin Kont gouf zou gemaach. Mir hoffen dech geschwënn erëm ze gesinn. + edit: + are_you_sure: Bass de sécher? + cancel_my_account: Kont erstellen ofbriechen + currently_waiting_confirmation_for_email: 'Op Bestätegung waarden fir: %{email}' + leave_blank_if_you_don_t_want_to_change_it: net ausfëllen wann s'de keng Ännerung wëlls + title: Änneren %{resource} + unhappy: Net zefridden? + update: Aktualiséierung + we_need_your_current_password_to_confirm_your_changes: mir brauchen en aktuellt Passwuert fir deng Ännerungen ze bestätegen + new: + sign_up: Registréieren + signed_up: Wëllkomm, du bass elo registréiert. + signed_up_but_inactive: Du bass elo registréiert. Du kanns dech nach net aloggen, well mir hunn däin Kont nach net aktivéiert. + signed_up_but_locked: Du bass elo registréiert. Du kanns dech nach net aloggen, well mir hunn däin Kont nach gespaart. + signed_up_but_unconfirmed: Du krus eng Noriicht op den Email-Adress geschéckt. Klick do op de Link, fir däin Kont ze aktivéieren. + update_needs_confirmation: Du hues däin Kont aktivéiert, mir kontrolléieren deng Email-Adress. W. e. g. iwwerpréif deng Email-Agäng an klick do op de Link fir deng nei Adress ze bestätegen. + updated: Däin Kont gouf aktualiséiert. + sessions: + already_signed_out: Du bass elo ausgeloggt. + new: + sign_in: Aloggen + signed_in: Du bass elo ageloggt. + signed_out: Du bass elo ausgeloggt. + shared: + links: + back: Zréck + didn_t_receive_confirmation_instructions: Du hues keng Instruktiounen kritt fir d'Bestätegung? + didn_t_receive_unlock_instructions: Du hues keng Instruktiounen kritt fir ze entspären? + forgot_your_password: Passwuert vergiess? + sign_in: Umellen + sign_in_with_provider: Registréier dech iwwer %{provider} + sign_up: Registréieren + minimum_password_length: + one: "(%{count} Minimum Zeechen)" + other: "(%{count} Minimum Zeechen)" + unlocks: + new: + resend_unlock_instructions: Instruktiounen fir ze entspären nach eng Kéier schécken + send_instructions: Du kriss bannent e puer Minutten en Email mat den Instruktiounen fir ze entspären. + send_paranoid_instructions: Mat engem valabelen Benotzer-Kont kriss du bannent Minutten en Email mat Instruktiounen fir ze entspären. + unlocked: Däin Kont ass entspärt ginn. Mell dech w. e. g. un fir weider ze fueren. + doorkeeper: + scopes: + public: Deng ëffentlech Informatiounen. + errors: + messages: + already_confirmed: Gouf bestätegt, w.e.g. probéier dech ze registréieren + confirmation_period_expired: muss bannent %{period} bestätegt ginn, fro w. e. g. en neit un + content_type_allowlist_error: Der Dateityp ist nicht gültig + cycle_detected: en iwwergeuerdente Beräich kann net ënnergeuerdent sinn + expired: ass ofgelaf, w. e. g. eng nei Ufro maachen + file_size_is_less_than_or_equal_to: d'Gréisst vun enger Datei muss méi kleng oder gläich %{count} sinn + invalid_time_zone: keng gülteg Zäitzon + long_words: enthält Wieder déi ze laang sinn (méi wéi 35 Zeechen) + must_start_with_caps: muss mat engem Groussbuschtaf ufänken + nesting_too_deep: kann net bannent enger Ënnerkategorie sinn + not_found: net fonnt. Bass du schonn registréiert? + not_locked: war nicht gesperrt + not_saved: + one: 'Bei der Bearbeitung Ihrer Anfrage ist ein Fehler aufgetreten:' + other: 'Bei der Bearbeitung Ihrer Anfrage sind mehrere Fehler aufgetreten:' + too_many_marks: benutzt zu viele aufeinanderfolgende Satzzeichen (zB! und?) + too_much_caps: verwendet zu viele Großbuchstaben (über 25% des Textes) + too_short: ist zu kurz (unter 15 Zeichen) + forms: + correct_errors: Es gibt Fehler auf dem Formular, bitte korrigieren Sie sie, um fortzufahren. + length_validator: + minimum: + one: Op mannst %{count} Zeechen + other: Op mannst %{count} Zeechen + required: Erforderlich + required_explanation: "* Pflichtfelder sind mit einem Stern gekennzeichnet" + invisible_captcha: + sentence_for_humans: Wenn Sie ein Mensch sind, ignorieren Sie dieses Feld + timestamp_error_message: Entschuldigung, das war zu schnell! Bitte erneut einreichen + layouts: + decidim: + cookie_warning: + description_html: Diese Seite verwendet Cookies. Indem Sie die Seite weiter durchsuchen, stimmen Sie der Verwendung von Cookies zu. Erfahren Sie mehr darüber %{link}. + link_label: Hier + ok: Ich stimme zu + edit_link: + edit: Bearbeiten + footer: + cc_by_license: Creative Commons Lizenz + decidim_logo: Decidim-Logo + download_open_data: Open Data Dateien herunterladen + made_with_open_source: Website mit freier Software erstellt. + header: + close_menu: Menü schließen + navigation: Navigation + sign_in: Anmelden + sign_up: Registrieren + impersonation_warning: + close_session: Sitzung schließen + description_html: Sie geben sich als Benutzer %{user_name}. + expire_time_html: Ihre Sitzung wird in %{minutes} Minutenablaufen. + language_chooser: + choose_language: Sprache wählen + notifications_dashboard: + mark_all_as_read: Alles als gelesen markieren + mark_as_read: Als gelesen markieren + social_media_links: + facebook: "%{organization} auf Facebook" + github: "%{organization} auf GitHub" + instagram: "%{organization} auf Instagram" + twitter: "%{organization} bei Twitter" + youtube: "%{organization} auf YouTube" + timeout_modal: + body: Sie sind seit %{minutes} Minuten inaktiv. Wenn Sie weiterhin inaktiv sind, werden Sie aus Sicherheitsgründen automatisch abgemeldet. + continue_session: Sitzung fortsetzen + sign_out: Ausloggen + title: Möchten Sie ihre Sitzung fortsetzen? + user_menu: + account: 'Benutzerkonto: %{name}' + admin_dashboard: Admin-Dashboard + conversations: Gespräche + notifications: Benachrichtigungen + profile: Mein Konto + public_profile: Mein öffentliches Profil + sign_out: Ausloggen + user_profile: + account: Konto + authorizations: Berechtigungen + delete_my_account: Mäin Kont läschen + my_data: Meng Donnéeën + my_interests: Meng Interessen + notifications_settings: Astellung fir Noriichten + title: Astellung fir Teilnehmer + user_groups: Gruppen + widget: + see_more: Méi uweisen + locale: + name: Lëtzebuergesch + name_with_error: Lëtzebuergesch (Fehler!) + password_validator: + domain_included_in_password: ze vill Ähnlechkeet mam Domain-Numm + email_included_in_password: ze vill Ähnlechkeet mat denger Email + fallback: ongülteg + name_included_in_password: ze vill Ähnlechkeet mat dengem Numm + not_enough_unique_characters: huet net genuch eemoleg Zeechen + password_not_allowed: ass net erlaabt + password_too_common: ze allgemeng + password_too_long: ze laang + password_too_short: ze kuerz + social_share_button: + delicious: Lecker + douban: Douban + email: Email + facebook: Facebook + google_bookmark: Google Lieszeechen + google_plus: Google+ + hacker_news: Hacker-Noriichten + linkedin: Linkedin + pinterest: Pinterest + qq: Qzone + reddit: Reddit + share_to: Deelen mat %{name} + telegram: Telegram + tumblr: Tumblr + twitter: Twitter + vkontakte: Vkontakte + wechat: WeChat + wechat_footer: Maach den WeChat op, klick den "Entdecken"-Knäppchen an dann klick an den "Scan QR Code" -Menü. + weibo: Sina Weibo + whatsapp_app: WhatsApp + whatsapp_web: WhatsApp + xing: Xing + time: + formats: + day_of_month: "%b%b" + day_of_week: "%a" + day_of_week_long: "%a%e" + day_of_year: "%d.%m.%y" + decidim_day_of_year: "%d %B %Y" + decidim_short: "%d/%m/%Y %H:%M" + default: "%a, %d %b %Y %H:%M:%S%z" + devise: + mailer: + invitation_instructions: + accept_until_format: "%B, %d %Y %I %M %p" + long: "%B, %d. %Y %H:%M" + long_dashed: "%Y-%m-%d %H:%M:%S" + short: "%d/%m/%Y %H:%M" + time_of_day: "%H:%M" + versions: + directions: + left: Löschungen + right: Ergänzungen + dropdown: + choose_diff_view_html: 'HTML-Ansicht:' + choose_diff_view_mode: 'Vergleichsansicht:' + option_escaped: aus der Seite herausgekommen + option_split: Nebeneinander + option_unescaped: aus der Seite nicht herausgekommen + option_unified: Zusammengefasst + views: + pagination: + first: "« zuerst" + first_title: Verknüpfung zur ersten Seite + last: Letzte » + last_title: Verknüpfung zur letzten Seite + next: Nächste › + next_title: Verknüpfung zur nächsten Seite + pagination: Paginierung + previous: "‹ Zurück" + previous_title: Verknüpfung zur vorherigen Seite + title: 'Seitenzahl:' + truncate: "…" diff --git a/decidim-core/config/locales/pt.yml b/decidim-core/config/locales/pt.yml index c68df15274cf4..719a1a0834279 100644 --- a/decidim-core/config/locales/pt.yml +++ b/decidim-core/config/locales/pt.yml @@ -160,7 +160,7 @@ pt: verify: "%{user_name} verificou o grupo %{resource_name}" verify_via_csv: "%{user_name} verificou o grupo %{resource_name} através de um ficheiro CSV" user_moderation: - unreport: "%{user_name} retirou denuncia a %{resource_type} - %{unreported_user_name}" + unreport: "%{user_name} retirou denuncia a %{resource_type} - %{unreported_user_name}" admin_terms_of_use: default_body: "

    TERMOS DE UTILIZAÇÃO DE ADMINISTRADOR

    Confiamos que recebeu as instruções habituais por parte do Administrador de Sistema local. Normalmente resume-se a estes três fatores:

    1. Respeitar a privacidade dos outros.
    2. Pensar antes de clicar.
    3. Um grande poder acarreta uma grande responsabilidade.
    " alert: @@ -313,7 +313,7 @@ pt: explanation: Para executar esta ação, você precisa ser autorizado com "%{authorization}". title: Autorização necessária ok: - title: Recebeu autorização enquanto nesta página. Por favor carrege a página de novo para executar a sua acção. + title: Recebeu autorização enquanto nesta página. Por favor carregue a página de novo para executar a sua acção. pending: explanation: De forma a executar esta ação, precisa de ser autorizado com "%{authorization}", mas a sua autorização ainda está em progresso resume: Verifique o progresso da sua autorização "%{authorization}" @@ -334,7 +334,7 @@ pt: notify: body_1: A sua conta foi bloqueada. body_2: 'Razão: %{justification}' - greetings: Saudações,
    %{organization_name}
    %{organization_url} + greetings: Saudações,
    %{organization_name}
    %{organization_url} hello: Olá, subject: A sua conta foi bloqueada por %{organization_name} collapsible_list: @@ -373,6 +373,7 @@ pt: enable_pads_creation: Ativar criação de blocos resources_permissions_enabled: Permissões de recursos ativadas scope_id: Âmbito + scopes_enabled: Âmbitos activados step: amendment_creation_enabled: Criação de modificação ativada amendment_promotion_enabled: Promoção de modificação ativada @@ -385,11 +386,11 @@ pt: contact: Contacto content_blocks: cta: - name: Image, texto, botão de convite a acção + name: Imagem, texto, botão de convite a acção cta_settings_form: background_image: Imagem de fundo - button_text: Texto de chamada a acção - button_url: URL de chamada para acção + button_text: Texto da chamada a acção + button_url: URL da chamada a acção description: Descrição footer_sub_hero: name: Faixa sub hero do rodapé @@ -404,6 +405,7 @@ pt: orders: label: 'Ordenar elementos por:' random: Aleatório + recent: Mais recente how_to_participate: name: Como participar html: @@ -428,6 +430,7 @@ pt: ready: Pronto show: download_data: Transferir os dados + download_data_description: Um ficheiro contendo toda a informação associada com a sua conta será enviado a %{user_email}. Este e-mail irá conter um ficheiro .zip e uma password para o abrir.

    Para abrir o ficheiro zip irá precisar do 7-Zip (para Windows) ou Keka (para MacOS). Se utiliza Linux, provavelmente terá a ferramenta instalada por defeito. Se não, pode usar File Roller ou PeaZip). request_data: Solicitar dados datepicker: help_text: 'Formato esperado: %{datepicker_format}' @@ -437,7 +440,7 @@ pt: email_already_exists: Outra conta está usando o mesmo endereço de e-mail new: complete_profile: Complete o seu perfil - nickname_help: A sua alcunha em %{organization}. Só pode conter letras, números, “-” e “_” + nickname_help: A sua alcunha em %{organization}. Só pode conter letras, números, “-”, e “_” sign_up: Por favor, complete o seu perfil subtitle: Por favor, preencha o seguinte formulário para completar a inscrição username_help: Nome público que aparece nas suas publicações. Com o objetivo de garantir o anonimato, pode ser qualquer nome. @@ -446,7 +449,7 @@ pt: already_have_an_account?: Já tem uma conta? newsletter: Receber um boletim informativo ocasional com informações relevantes newsletter_title: Permissão de contacto - nickname_help: A sua alcunha em %{organization}. Só pode conter letras, números, “-” e “_” + nickname_help: A sua alcunha em %{organization}. Só pode conter letras, números, “-”, e “_” password_help: "%{minimun_characters} caracteres no mínimo, não deverá ser muito comum (por ex. 123456) e deverá ser diferente da sua alcunha e do seu e-mail." sign_in: Entrar sign_up: Inscreva-se @@ -464,7 +467,7 @@ pt: sign_in_disabled: Pode aceder com uma conta externa sign_up_disabled: A inscrição está desativada, pode utilizar uma conta existente para aceder user: - timed_out: Esteve inactivo por muito tempo e foi automaticamente desligado do serviço. Se quiser continuar a usar o serviço, por favor faça a ligação de novo. + timed_out: Esteve inactivo por muito tempo e foi automaticamente desligado do serviço. Se quiser continuar a usar o serviço, por favor ligue-se de novo. shared: newsletter_modal: buttons: @@ -498,7 +501,7 @@ pt: wants_to_use_your_account_html: "%{application_name} quer usar a sua conta" endorsable: endorsements: Endossos - endorsements_count: Contagem de endossamentos + endorsements_count: Contagem de apoios endorsement_buttons_cell: already_endorsed: Endossado endorse: Endossar @@ -657,6 +660,7 @@ pt: notification_title: A página de perfil de %{name} (%{nickname}), que você segue, foi atualizada. export_mailer: data_portability_export: + click_button: 'Clique na ligação seguinta para descarregar os seus dados.
    Irá precisar de 7-Zip (para Windows), Keka (para MacOS), ou PeaZip (para Linux) para abrir o ficheiro. Palavra-chave: %{password}' download: Transferir export: ready: Por favor, encontre em anexo uma versão zip da sua exportação. @@ -927,9 +931,10 @@ pt: create: error: Conversa não iniciada. Tente novamente mais tarde error_modal: - close: Fechar o modal + close: Fechar modal correct_errors: Por favor corrija os erros e tente de novo intro: 'Há os seguintes erros com a sua mensagem:' + ok: OK index: ago: atrás close: Fechar modal @@ -953,7 +958,7 @@ pt: send: Enviar title: Iniciar uma conversa update: - error: A mensage não foi enviada devido a um erro + error: A mensagem não foi enviada devido a um erro metrics: download: csv: Descarregar dados (CSV) @@ -1021,7 +1026,7 @@ pt: administrators: Administradores allow_public_contact: Permitir que qualquer pessoa me envie uma mensagem direta, mesmo que não a siga. direct_messages: Receber mensagens diretas de qualquer pessoa - email_on_moderations: Quero receber um email sempre que alguma coisa for denunciada para moderação + email_on_moderations: Quero receber um e-mail sempre que alguma coisa for denunciada para moderação email_on_notification: Quero receber um e-mail sempre que recebo uma notificação. everything_followed: Tudo o que eu sigo newsletter_notifications: Quero receber boletins informativos @@ -1163,7 +1168,7 @@ pt: date: Reportado em details: Detalhes hello: Olá %{name}, - id: IDENTIFICAÇÃO + id: Identificação participatory_space: Espaço participativo reason: Razão report_html:

    O seguinte conteúdo foi reportado.

    @@ -1180,14 +1185,14 @@ pt: global: Âmbito global picker: cancel: Cancelar - change: Alterar o âmbito selecionado + change: Alterar o âmbito seleccionado choose: Selecionar - currently_selected: Âmbito atualmente selecionado + currently_selected: Âmbito actualmente seleccionado title: Selecionar %{field} prompt: Selecionar um âmbito scopes: Âmbitos scopes_picker_input: - select_scope: 'Selecione um âmbito (atualmente: %{current})' + select_scope: 'Seleccione um âmbito (actualmente: %{current})' search: results: Resultados da pesquisa results_found_for_term: '%{count} Resultados para a pesquisa: "%{term}"' @@ -1213,6 +1218,7 @@ pt: view_all: Ver todos (%{count}) security: selfxss_warning: + description: Esta funcionalidade do navegador é destinada a programadores e não deve colar aqui nada se lhe for pedido que o faça. Colar conteúdo nesta janela pode comprometer a sua privacidade e dar acesso à sua conta a hackers. title: Pare! shared: confirm_modal: @@ -1238,7 +1244,7 @@ pt: offensive: Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer tipo de discurso de ódio. report: Reportar spam: Contém clickbait, publicidade, fraudes ou robots de scripts. - title: Reportar um problema + title: Denunciar um problema flag_user_modal: already_reported: Este conteúdo já foi denunciado e será revisto por um administrador. close: Fechar @@ -1247,7 +1253,7 @@ pt: offensive: Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer forma de discurso de ódio. report: Denuncie spam: Contém clickbait, publicidade, golpes ou bots de script. - title: Comunicar utilizador inapropriado + title: Denunciar utilizador inapropriado floating_help: close: Fechar ajuda help: Ajuda @@ -1277,7 +1283,7 @@ pt: filter_results_for_category: 'Resultados do filtro para a categoria: %{resource}' filter_results_for_scope: 'Resultados do filtro para o âmbito: %{resource}' translation_bar: - help_text: "Aviso: O conteúdo pode ser traduzido automaticamanete e não ser 100% fidedigno." + help_text: "Aviso: O conteúdo pode ser traduzido automaticamente e não ser 100% fidedigno." show_original: Mostrar texto original show_translated: Mostrar texto traduzido automaticamente user_activity: @@ -1327,7 +1333,7 @@ pt: notify: body_1: O utilizador %{user} foi denunciado por %{token} body_2: 'Razão: %{razão}' - greetings: Saudações,
    %{organization_name}
    %{organization_url} + greetings: Saudações,
    %{organization_name}
    %{organization_url} hello: Olá %{admin}, subject: Um novo utilizador foi denunciado em %{organization_name} version: @@ -1346,7 +1352,7 @@ pt: versions: resource_version: of_versions: "(de %{number})" - see_other_versions: Ver outras versões + see_other_versions: ver outras versões version: Versão %{number} versions_list: show: @@ -1536,7 +1542,7 @@ pt: length_validator: minimum: one: Pelo menos %{count} caracter - other: Pelo menos %{count} caractéres + other: Pelo menos %{count} caracteres required: Requeridos required_explanation: "* Campos obrigatórios estão marcados com um asterisco" invisible_captcha: @@ -1576,7 +1582,7 @@ pt: twitter: "%{organization} no Twitter" youtube: "%{organization} no YouTube" timeout_modal: - body: Está inactivo há %{minutos}. Se continuar inactivo será automáticamente desligado para a sua própria segurança. + body: Está inactivo há %{minutos}. Se continuar inactivo será automaticamente desligado para a sua própria segurança. continue_session: Continuar sessão sign_out: Desligar title: Gostaria de continuar a sua sessão? diff --git a/decidim-core/config/locales/ro-RO.yml b/decidim-core/config/locales/ro-RO.yml index 1a853e5da8f68..b0b558072817f 100644 --- a/decidim-core/config/locales/ro-RO.yml +++ b/decidim-core/config/locales/ro-RO.yml @@ -724,11 +724,11 @@ ro: file: explanation: 'Orientări pentru fișier:' message_1: Are o imagine sau un document. - message_2: Pentru imagini, utilizați preferabil imagini de peisaj, serviciul decupează imaginea. Pentru fisierele CSV, separatorul dintre coloane trebuie sa fie o virgula (",") + message_2: Pentru imagini, utilizați preferabil formatul landscape, serviciul va decupa imaginea. Pentru fișierele CSV, separatorul de coloane trebuie să fie virgula image: explanation: 'Orientări pentru imagine:' - message_1: Recomandat o imagine peisaj care nu are nici un text. - message_2: Serviciul recoltează imaginea. + message_1: De preferință o imagine landscape care să nu conțină vreun text. + message_2: Serviciul decupează imaginea. file_validation: allowed_file_extensions: 'Extensii de fișiere permise: %{extensions}' max_file_size: 'Dimensiunea maximă a fișierului: %{megabytes}MB' @@ -1082,7 +1082,7 @@ ro: participate: Participă welcome: Bine ai venit la %{organization}! metrics: - headline: Valori + headline: Indicatori statistics: answers_count: Chestionare finalizate assemblies_count: Organizații @@ -1112,7 +1112,7 @@ ro: topics: Subiecte participatory_space: metrics: - headline: Valori + headline: Indicatori link: Arată toate măsurătorile terms_and_conditions: accept: diff --git a/decidim-debates/config/locales/lb.yml b/decidim-debates/config/locales/lb.yml new file mode 100644 index 0000000000000..5f94a54cc73b8 --- /dev/null +++ b/decidim-debates/config/locales/lb.yml @@ -0,0 +1,134 @@ +lb: + activemodel: + attributes: + debate: + category_id: Kategorie + closed_at: Geschlossen am + conclusions: Zusammenfassung + decidim_category_id: Kategorie + description: Beschreibung + end_time: Endet am + information_updates: Informationsaktualisierungen + instructions: Anweisungen zur Teilnahme + start_time: Startet um + title: Titel + user_group_id: Debatte erstellen als + models: + decidim/debates/close_debate_event: Debatte beendet + decidim/debates/create_debate_event: Debatte + decidim/debates/creation_disabled_event: Debatten deaktiviert + decidim/debates/creation_enabled_event: Debatten aktiviert + activerecord: + models: + decidim/debates/debate: + one: Debatte + other: Debatten + decidim: + components: + debates: + actions: + create: Erstellen + endorse: Bestätigen + name: Debatten + settings: + global: + announcement: Ankündigung + comments_enabled: Kommentare aktiviert + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + scope_id: Bereich + scopes_enabled: Bereiche aktiviert + step: + announcement: Ankündigung + comments_blocked: Kommentare blockiert + creation_enabled: Debate-Erstellung durch Benutzer aktiviert + endorsements_blocked: Bestätigungen blockiert + endorsements_enabled: Bestätigungen aktiviert + debates: + admin: + debates: + index: + title: Debatten + debates: + filters: + search: Suche + state: Status + state_values: + closed: Geschlossen + open: Offen + user_groups: Gruppen + filters_small_view: + close_modal: Modal schließen + filter: Filter + filter_by: Filtern nach + unfold: Entfalten + form: + select_a_category: Bitte wählen sie eine Kategorie + index: + new_debate: Neue Debatte + new: + back: Zurück + create: Erstellen + title: Neue Debatte + orders: + commented: Am meisten kommentiert + label: Debatten sortieren nach + random: Zufällige Reihenfolge + recent: Neueste zuerst + updated: Kürzlich aktualisiert + show: + back: Zurück zur Liste + close_debate: Debatte schließen + date: Datum + debate_closed: Geschlossen + debate_conclusions_are: 'Die Debatte wurde am %{date} mit diesen Ergebnissen geschlossen:' + edit_conclusions: Schlussfolgerungen bearbeiten + edit_debate: Debatte bearbeiten + groups_count: Gruppen + last_comment_by: Letzter Kommentar von + no_comments_yet: Noch keine Kommentare + open: Offene Debatte + participants_count: Teilnehmer + update: + invalid: Es gab ein Problem bei der Aktualisierung der Aussprache. + success: Debatte erfolgreich aktualisiert. + versions: + debates: + back_to_resource: Zurück zur Debatte + index: + title: Versionen + versions_list: + back_to_resource: Zurück zur Debatte + last_activity: + debate_updated_at_html: "Debatte aktualisiert unter %{link}" + new_debate_at_html: "Neue Debatte bei %{link}" + models: + debate: + fields: + end_time: Endtermin + official_debate: Offizielle Debatte + start_time: Anfangsdatum + title: Titel + events: + debates: + create_debate_event: + space_followers: + email_intro: |- + Hallo, + Eine neue Debatte "%{resource_title}" wurde in %{space_title} erstellt, sehen Sie es sich an und reden Sie mit: + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neue Debatte "%{resource_title}" in %{space_title} + notification_title: Die Debatte %{resource_title} wurde in %{space_title} erstellt. + user_followers: + email_intro: |- + Hallo, + %{author_name} %{author_nickname}, dem Sie folgen, hat eine neue Debatte "%{resource_title}" erstellt. Sehen Sie es sich an und reden Sie mit: + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{author_nickname} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neue Debatte "%{resource_title}" von %{author_nickname} + notification_title: %{author_name} %{author_nickname} hat die Debatte %{resource_title} erstellt. + gamification: + badges: + commented_debates: + name: Debatten + metrics: + debates: + title: Debatten diff --git a/decidim-debates/config/locales/pt.yml b/decidim-debates/config/locales/pt.yml index 81e0313671b3f..53a9596352516 100644 --- a/decidim-debates/config/locales/pt.yml +++ b/decidim-debates/config/locales/pt.yml @@ -3,6 +3,8 @@ pt: attributes: debate: category_id: Categoria + closed_at: Encerrado às + conclusions: Conclusões decidim_category_id: Categoria description: Descrição end_time: Termina em @@ -12,6 +14,7 @@ pt: title: Título user_group_id: Criar debate como models: + decidim/debates/close_debate_event: Debate fechado decidim/debates/create_debate_event: Debate decidim/debates/creation_disabled_event: Debates desativados decidim/debates/creation_enabled_event: Debates ativados @@ -25,6 +28,7 @@ pt: debates: actions: create: Criar + endorse: Apoiar name: Debates settings: global: @@ -32,10 +36,12 @@ pt: comments_enabled: Comentários ativados comments_max_length: Comprimento máximo dos comentários (Deixar 0 para o valor predefinido) scope_id: Âmbito + scopes_enabled: Âmbitos activados step: announcement: Anúncio comments_blocked: Comentários bloqueados creation_enabled: Criação de debate por participantes ativado + endorsements_blocked: Apoios bloqueados endorsements_enabled: Endossamentos ativados debates: actions: @@ -49,6 +55,7 @@ pt: debate_closes: edit: close: Fechar + title: Fechar debate debates: create: invalid: Ocorreu um problema ao criar o debate. @@ -58,6 +65,10 @@ pt: edit: title: Editar debate update: Atualizar debate + form: + debate_type: Tipo de debate + finite: Finito (com hora de abertura e de fecho) + open: Aberto (sem hora de abertura ou fecho) index: title: Debates new: @@ -73,9 +84,20 @@ pt: name: Debate admin_log: debate: + close: "%{user_name} Fechou o debate %{resource_name} no espaço %{space_name}" create: "%{user_name} criou o debate %{resource_name} no espaço %{space_name}" update: "%{user_name} atualizou o debate %{resource_name} no espaço %{space_name}" + debate_m: + commented_time_ago: Comentou há %{time} debates: + close: + invalid: Ocorreu um problema ao fechar o debate. + success: Debate fechado com êxito + close_debate_modal: + close: Fechar + description: Qual é o sumário ou conclusão para este debate? + send: Fechar debate + closed: Fechado count: debates_count: one: "%{count} debate" @@ -96,6 +118,7 @@ pt: category_prompt: Selecione uma categoria citizens: Cidadãos commented: Comentários + my_debates: Os meus debates official: Oficial origin: Origem scope: Âmbito @@ -119,13 +142,23 @@ pt: create: Criar title: Novo debate orders: + commented: Mais comentado + label: Ordenar debates por random: Ordem aleatória + recent: Mais recente + updated: Actualizado recentemente show: back: Retroceder à lista + close_debate: Fechar debate date: Data debate_closed: Fechar + debate_conclusions_are: 'O debate foi fechado em %{date} com as seguintes conclusões:' + edit_conclusions: Editar conclusões edit_debate: Editar debate groups_count: Grupos + last_comment_by: Último comentário por + no_comments_yet: Não há ainda comentários + open: Abrir debate participants_count: Participantes update: invalid: Ocorreu um problema ao atualizar o debate. diff --git a/decidim-dev/config/locales/lb.yml b/decidim-dev/config/locales/lb.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-dev/config/locales/lb.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-elections/config/locales/cs.yml b/decidim-elections/config/locales/cs.yml index 985f98254307a..5b992cb39a98c 100644 --- a/decidim-elections/config/locales/cs.yml +++ b/decidim-elections/config/locales/cs.yml @@ -261,7 +261,7 @@ cs: title: Výsledky publikovány tally: title: Proces volebního přepočítání - trustees: Volební důvěrníci + trustees: Důvěrníci tally_ended: submit: Publikovat výsledky title: Výsledky spočítány diff --git a/decidim-elections/config/locales/eu.yml b/decidim-elections/config/locales/eu.yml index 566e176fc9f87..e1dbfb0ee60f8 100644 --- a/decidim-elections/config/locales/eu.yml +++ b/decidim-elections/config/locales/eu.yml @@ -1 +1,12 @@ eu: + decidim: + elections: + elections: + filters: + state: Egoera + upcoming: Hurrengoak + filters_small_view: + close_modal: Itxi leihoa + filter: Iragazi + filter_by: Iragazi honen arabera + unfold: Zabaldu diff --git a/decidim-elections/config/locales/fr-CA.yml b/decidim-elections/config/locales/fr-CA.yml index 14f2aa11df5df..370defc3f653e 100644 --- a/decidim-elections/config/locales/fr-CA.yml +++ b/decidim-elections/config/locales/fr-CA.yml @@ -36,6 +36,14 @@ fr-CA: public_key: cant_be_changed: ne peut être modifiée activerecord: + errors: + models: + decidim/votings/polling_officer: + attributes: + presided_polling_station: + president_and_manager: L'agent de vote est déjà président/responsable d'un bureau de vote + voting: + different_organization: Le vote doit être dans le même organization que l'utilisateur models: decidim/elections/answer: one: Réponse @@ -50,6 +58,18 @@ fr-CA: one: Vote other: Votes decidim: + admin: + filters: + officers_assigned_eq: + values: + assigned: Assigné + unassigned: Non affecté + role_eq: + label: Rôle + values: + manager: Responsable + president: Président + unassigned: Non assigné(e) components: elections: actions: diff --git a/decidim-elections/config/locales/fr.yml b/decidim-elections/config/locales/fr.yml index aad9c41f549c8..40550ec338ed4 100644 --- a/decidim-elections/config/locales/fr.yml +++ b/decidim-elections/config/locales/fr.yml @@ -36,6 +36,14 @@ fr: public_key: cant_be_changed: ne peut être modifiée activerecord: + errors: + models: + decidim/votings/polling_officer: + attributes: + presided_polling_station: + president_and_manager: L'agent de vote est déjà président/responsable d'un bureau de vote + voting: + different_organization: Le vote doit être dans le même organization que l'utilisateur models: decidim/elections/answer: one: Réponse @@ -50,6 +58,18 @@ fr: one: Vote other: Votes decidim: + admin: + filters: + officers_assigned_eq: + values: + assigned: Assigné + unassigned: Non affecté + role_eq: + label: Rôle + values: + manager: Responsable + president: Président + unassigned: Non assigné(e) components: elections: actions: diff --git a/decidim-elections/config/locales/it.yml b/decidim-elections/config/locales/it.yml index bef144acf8b1f..9be1939f69bc3 100644 --- a/decidim-elections/config/locales/it.yml +++ b/decidim-elections/config/locales/it.yml @@ -234,7 +234,7 @@ it: trustees: Garanti key_ceremony: title: Cerimonia chiave - trustees: Fiduciari + trustees: Garanti key_ceremony_ended: errors: time_before: La votazione sta per cominciare. Devi aspettare fino a %{hours} ore prima dell'ora di inizio (%{start_time}) per poter votare. diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index 8f305b8922a9d..4e5af54521f86 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -684,10 +684,26 @@ ja: non_user: 新しい参加者を招待 select_user: 名前、メールアドレス、ニックネームで検索 polling_officers: + destroy: + invalid: この投票担当者を削除する際に問題が発生しました + success: 投票委員を削除しました + form: + existing_user: 既存の参加者 + non_user: 新しい参加者を招待 + select_user: 名前、メールアドレス、ニックネームで検索 + user_type: 参加者の種類 index: + role_manager: マネージャー role_president: 投票管理者 + title: 投票委員 + new: + create: 作成 + title: 投票委員を作成 polling_officers_picker: + choose_polling_officers: 投票委員を選択してください close: 閉じる + more_polling_officers: あと %{number} 人の投票委員がいます。検索を絞り込んで探しましょう。 + no_polling_officers: 検索条件に一致する投票委員がいないか、または投票委員が存在しません。 polling_stations: form: polling_station_president_help: '投票管理者:投票所の代表を務める担当者。 投票委員がすでに投票所に設置されていること、および他の投票所に割り当てられていないことを確認してください' diff --git a/decidim-elections/config/locales/lb.yml b/decidim-elections/config/locales/lb.yml new file mode 100644 index 0000000000000..64873c1e94a39 --- /dev/null +++ b/decidim-elections/config/locales/lb.yml @@ -0,0 +1,41 @@ +lb: + decidim: + elections: + elections: + show: + callout: + already-voted: Sie haben bei dieser Wahl bereits abgestimmt. Sie können Ihre Stimme ändern oder sie verifizieren. + vote-rejected: Es war nicht möglich, Ihre Stimme zu verifizieren. Bitte geben Sie ihre Stimme erneut ab. + verify: + already-voted: Bereits abgestimmt? + verify-here: Stimme hier verifizieren. + will-verify: Sie können ihre Stimme nach dem Start der Wahl verifizieren. + feedback: + answer: + invalid: Beim Senden Ihrer Meldung ist ein Fehler aufgetreten. + votes: + confirmed: + error: Leider ist ein Fehler bei der Bestätigung der Abstimmung aufgetreten. Bitte erneut abstimmen. + processing: + header: Stimme wird verarbeitet... + text: Ihre Stimme wurde empfangen und wird verarbeitet. Bitte warten. + update: + error: Beim Aktualisieren dieses Status ist ein Problem aufgetreten + success: Abstimmung erfolgreich aktualisiert + votings: + admin: + menu: + votings_submenu: + monitoring_committee_members: Überwachungskomitee + polling_officer_zone: + polling_officers: + show: + actions: + count_votes: Stimmen in der Wahlurne zählen + identify_person: Eine Person identifizieren und verifizieren + polling_officer_role_description: Ihnen wurde eine Rolle als Wahlhelfer (Präsident oder Manager) in Wahlen dieser Plattform zugewiesen. + polling_stations: + list: + role: Ihre Rolle + voting: Abstimmung + no_polling_stations: Sie sind noch zu keinem Wahllokal zugewiesen. diff --git a/decidim-elections/config/locales/nl.yml b/decidim-elections/config/locales/nl.yml index 58cd79b020360..60d2059338fa2 100644 --- a/decidim-elections/config/locales/nl.yml +++ b/decidim-elections/config/locales/nl.yml @@ -211,6 +211,7 @@ nl: title: Resultaten gepubliceerd tally: title: Turfproces + trustees: Trustees tally_ended: title: Resultaten berekend vote: diff --git a/decidim-elections/config/locales/pt-BR.yml b/decidim-elections/config/locales/pt-BR.yml index fa080d14a9bd4..7b38731480c77 100644 --- a/decidim-elections/config/locales/pt-BR.yml +++ b/decidim-elections/config/locales/pt-BR.yml @@ -234,7 +234,7 @@ pt: trustees: Agentes fiduciários key_ceremony: title: Cerimônia de chave - trustees: Agentes fiduciários + trustees: Curadores key_ceremony_ended: errors: time_before: A eleição está pronta para começar. Você tem que esperar até %{hours} horas antes da hora de início (%{start_time}) para iniciar o período de votação. @@ -249,7 +249,7 @@ pt: title: Resultados publicados tally: title: Processo de registro - trustees: Agentes fiduciários + trustees: Curadores tally_ended: submit: Publicar resultados title: Resultados calculados diff --git a/decidim-elections/config/locales/pt.yml b/decidim-elections/config/locales/pt.yml index 7b63275f9ca08..da7b8fbc87c01 100644 --- a/decidim-elections/config/locales/pt.yml +++ b/decidim-elections/config/locales/pt.yml @@ -25,6 +25,10 @@ pt: attributes: attachment: needs_to_be_reattached: Necessita de ser recolocado + election: + attributes: + attachment: + needs_to_be_reattached: Necessita de ser reanexado trustee: attributes: name: @@ -248,6 +252,7 @@ pt: trustees: Curadores tally_ended: submit: Publicar resultados + title: Resultados recalculados vote: errors: time_after: A eleição ainda está a decorrer. Tem que esperar até à hora de fecho (%{end_time}) para poder fechar o período de votação. @@ -290,7 +295,12 @@ pt: success: Curador %{trustee} actualizado com êxito admin_log: election: + end_vote: "%{user_name} terminou o período de votação para a eleição de %{resource_name} no Eleição no Quadro Informativo" publish: "%{user_name} publicou a eleição %{resource_name}" + setup: "%{user_name} criou a eleição de %{resource_name} no Quadro Informativo" + start_key_ceremony: "%{user_name} iniciou a cerimónia-chave para a eleição de %{resource_name} no Quadro Informativo" + start_tally: "%{user_name} Iniciou o período de contangem para a eleição de %{resource_name} no Eleição no Quadro Informativo" + start_vote: "%{user_name} Iniciou o período de votação para a eleição de %{resource_name} no Eleição no Quadro Informativo" unpublish: "%{user_name} removeu a publicação da eleição %{resource_name}" election_m: badge_name: @@ -314,27 +324,48 @@ pt: filters: active: Activo all: Todos + finished: Terminado search: Pesquisar state: Estado + upcoming: Seguinte filters_small_view: close_modal: Fechar o modal filter: Filtro filter_by: Filtrar por unfold: Desdobrar preview: + available_answers: Respostas disponíveis + description: Estas são as questões que encontrará no processo de votação title: Questões da eleição results: + description: Estes são os resultados da votação, para cada questão selected: Seleccionado title: Resultados da eleição + votes: + one: "%{count} voto" + other: "%{count} votos" + zero: "%{count} votos" show: + action-button: + change-vote: Mudar o seu voto + vote: Começar votação + vote-again: Votar de novo back: Eleições disponíveis + callout: + already-voted: Já votou nesta eleição. Pode alterar o seu voto ou verificá-lo. + vote-rejected: Não foi possível certificar o seu voto. Por favor registe-o de novo. preview: Pré-visualizar + verify: + already-voted: Já votou? + verify-here: Verifique o seu voto aqui. + will-verify: Poderá verificar o seu voto assim que a eleição tenha começado. voting_period_status: finished: A votação começou em %{start_time} e terminou em %{end_time} ongoing: 'Votação ativa até: %{end_time}' upcoming: A votação começa em %{start_time} feedback: answer: + invalid: Houve um problema ao enviar o seu retorno. spam_detected: Houve um problema ao responder ao formulário. Talvez tenha sido rápido demais, pode tentar outra vez? success: Retorno enviado com sucesso. models: @@ -356,6 +387,7 @@ pt: trustees_participatory_space: fields: considered: considerado + email: E-Mail inactive: inactivo name: Nome notification: Notificação enviada às @@ -392,9 +424,18 @@ pt: processing: A processar title: Criar chaves de eleição para %{election} restore_modal: + description: O Quadro Informativo tem informação sua enquanto Curador desta eleição. Para continuar o processo, primeiro transfira ficheiro de segurança gerado durante a sessão anterior. + title: Restaurar as chaves de eleição para %{election} + upload_election_keys: Enviar chaves de eleição upload_icon: Ícone que indica uma acção de descarregar tally_steps: back: Recuar + description: Os resultados desta eleição estão a ser processados no Quadro Informativo. Para completar este processo é necessária a sua participação como curador. + keys: + end_tally: A contagem terminou + tally: + cast: Registar a contagem + share: Partilhar a contagem list: status: Estado task: Tarefa @@ -405,18 +446,52 @@ pt: completed: Completo pending: Pendente processing: A processar + title: Contagem para %{election} + update: + error: O estado da eleição não foi actualizado. + success: 'O estado da eleição é: %{status}' + menu: + trustee_zone: Área de curadores + no_bulletin_board: + body: Um Quadro Informativo configurado é necessário para esta secção. Contacte o Administrador para mais detalhes. + title: Desculpe, o Quadro Informativo não está ainda configurado. trustees: show: elections: list: action_required: 'false': 'Não' + name: Acção requerida? + 'true': Realizar acção bb_status: Estado election: Eleição voting_period: Período de votação + no_elections: Não há eleições onde actue como Curador. title: Eleições identification_keys: cancel: Cancelar + generate: Gerar chaves de identificação + generate_error: Houve um erro ao gerar as chaves de identificação. + generate_legend: Precisa de gerar um par de chaves de identificação para participar em eleições como curador. + generate_legend_1: Depois de carregar no botão deve descarregar o ficheiro com as chaves de identificação geradas. + generate_legend_2: Copie o ficheiro descarregado para um dispositivo USB limpo + generate_legend_3: Verifique se o seu computador não tem uma cópia do ficheiro (por exemplo verifique nas pastas Downloads ou Desktop). + generate_legend_4: Faça uma cópia du ficheiro num dispositivo externo e guarde-o num local seguro. + submit: Submeter + submit_legend: Depois de seguir todos os passos explicados acima, complete o processo enviando a chave de identificação pública para o servidor Decidim. + submit_title: Submeter a chave de identificação pública + title: Chaves de identificação de curador + upload: Enviar as suas chaves de identificação + upload_error: + invalid_format: O ficheiro enviado não contém nenhuma chave de identificação. + invalid_key: As chaves de identificação no ficheiro enviado não puderam ser carregadas. + invalid_public_key: As chaves de identificação no ficheiro enviado não correspondem à chave de identificação pública guardada pelo Decidim. + upload_legend: O Decidim tem as suas chaves de identificação públicas, mas o seu navegador não tem. Precisa de importar o ficheiro com as suas chaves de identificação para o seu computador a partir da cópia de segurança que criou após as gerar. + not_supported_browser_description: Parece que está a utilizar um navegador web que não pode ser utilizado para agir como curador. Certifique-se que está a suar a versão mais recente do seu navegador, ou tente usar um dos navegadores mais populares para que seja possível as suas tarefas de Curador. + not_supported_browser_title: Actualize o seu navegador para poder agir como Curador + trustee_role_description: Foi designado para agir como Curador em algumas eleições celebradas nesta plataforma. + update: + success: A sua chave de identificação pública foi guardada com êxito. votes: confirm: answer: Responder @@ -425,17 +500,24 @@ pt: edit: editar header: Confirmar o seu voto intro: Aqui está um resumo do voto que está prestes a transmitir.
    Por favor, confirme o seu voto ou edite as suas respostas. + nota_option: Em branco question: Questão %{count} confirmed: back: Retroceder às eleições + error: Deculpe, houve um erro ao confirmar o voto. Por favor tente de novo. experience: Como foi a sua experiência? feedback: Dê-nos algum feedback header: Voto confirmado lead: O seu voto já foi transmitido! text: 'Pode verificar que o seu voto foi adicionado corretamente à caixa de voto com o seguinte identificador: %{e_vote_poll_id}' + verify_link: Para verificar, copie o identificador e cole-o na página de verificação de voto encrypting: header: A codificar voto... text: O seu voto está a ser encriptado para garantir que pode transmiti-lo anonimamente. + failed: + header: Votação falhou + lead: O seu voto não foi registado! + text: Algo correu mal, por favor tente de novo. header: confirm: Confirmar o seu voto confirmed: Voto confirmado @@ -446,14 +528,40 @@ pt: close: Fechar proposal_header: 'Propostas:' new: + answer_choices: Pode seleccionar até %{choices} respostas more_information: Mais informações nota_option: Branco / Nenhum dos itens acima preview_alert: Isto é uma pré-visualização da cabina de voto. question_steps: Questão %{current_step} de %{total_steps} selections: "%{selected} de %{max_selections}
    seleções" + processing: + header: A processar o voto... + text: O seu voto foi recebido e está a ser processado. Por favor aguarde. + update: + error: Ocorreu um problema ao actualizar o estado do seu voto + success: Estado do voto actualizado com êxito + verify: + content: + heading: Verificar o seu voto + info: Este verificador verifica que o seu voto, identificado com a cadeia de texto encriptada, foi registado correctamente e está dentro da urna de voto. + error: + header: Voto não encontrado! + info: O código do voto não foi encontrado na urna de voto de %{link}, tente de novo. + form: + back: Retroceder para o Decidim + submit: Verificar + vote_identifier: 'Código de identificação:' + header: + title: Verificar o seu voto + success: + header: Voto localizado! + info: O seu voto encriptado está na urna de voto de %{link} voting_step: back: Retroceder continue: Seguinte + warnings: + no_elections_warning: Nenhuma eleição corresponde aos seus critérios de pesquisa ou não há nenhuma eleição agendada. + no_scheduled_elections_warning: Actualmente, não há eleições agendadas, mas aqui pode encontrar listadas todas as eleições passadas. events: elections: election_published: @@ -461,6 +569,36 @@ pt: email_outro: Recebeu esta notificação porque segue %{participatory_space_title}. Pode parar de receber notificações seguindo a hiperligação anterior. email_subject: A eleição %{resource_title} está agora ativa em %{participatory_space_title}. notification_title: A eleição %{resource_title} está agora ativa em %{participatory_space_title}. + trustees: + new_election: + email_intro: Foi adicionado como curador para a eleição %{resource_title}. + email_outro: Recebeu esta notificação porque foi adicionado como curador para a eleição %{resource_title}. + email_subject: É curador para a eleição %{resource_title}.. + notification_title: É curador para a eleição %{resource_title}. + new_trustee: + email_intro: Um administrador adicionou-o como curador para%{resource_name}. Deve criar a sua chave pública na sua área de curador + email_outro: Recebeu esta notificação porque foi adicionado como curador para a eleição %{resource_name}. + email_subject: É curador para a eleição %{resource_name}. + notification_title: É curador para a eleição %{resource_name}. + votes: + accepted_votes: + email_intro: 'O seu voto foi aceite! Utilizando o seu identificador: %{encrypted_vote_hash}, pode verificar o seu voto aqui.' + email_outro: Recebeu esta notificação porque votou para a eleição %{resource_name}. + email_subject: O seu voto para %{resource_name} foi aceite. + notification_title: 'O seu voto foi aceite. Verifique o seu voto aqui utilizando o seu identificador: %{encrypted_vote_hash}' + votings: + polling_officers: + polling_station_assigned: + email_intro: Foi-lhe atribuído o papel de %{role} na Secção de Voto %{polling_station_name} em %%{resource_title}. Pode gerir a Secção de Voto a partir da Zona do Oficial de Votação dedicada. + email_outro: Recebeu esta notificação porque lhe foi atribuído o papel de %{role} na %{polling_station_name}. + email_subject: É %{role} na Secção de Voto %{polling_station_name}. + notification_title: É %{role} na Secção de Voto %{polling_station_name} na votação %{resource_title}. + help: + participatory_spaces: + votings: + contextual: "

    Uma votação é um espaço que permite perguntar uma questão transparente a todas a pessoas que formam uma organização, fazer uma chamada a participar na votação, espoletar e ordenar o debate a favor ou contra uma resposta. Quando a data duma consultação chega, pode votar e publicar o resultados das votações.

    Exemplos: As votações podem ser sobre praticamente todos os aspectos que afectam uma organização: alguns exemplos são a mudança de nome ou logótipo da organização oferecendo várias alternativas, decidir Sim ou Não ser parte duma organização maior, validar ou rejeitar um plano estratégico novo ou o resultado dum grupo de trabalho, ou definir se os cargos devem durar por um máximo de 1, 2, ou 3 mandatos.

    " + page: "

    Uma votação é um espaço que permite perguntar uma questão transparente a todas a pessoas que formam uma organização, fazer uma chamada a participar na votação, espoletar e ordenar o debate a favor ou contra uma resposta. Quando a data duma consultação chega, pode votar e publicar o resultados das votações.

    Exemplos: As votações podem ser sobre praticamente todos os aspectos que afectam uma organização: alguns exemplos são a mudança de nome ou logótipo da organização oferecendo várias alternativas, decidir Sim ou Não ser parte duma organização maior, validar ou rejeitar um plano estratégico novo ou o resultado dum grupo de trabalho, ou definir se os cargos devem durar por um máximo de 1, 2, ou 3 mandatos.

    " + title: O que são votações? menu: votings: Votações pages: @@ -473,9 +611,34 @@ pt: votings: admin: content_blocks: + highlighted_votings: + max_results: Montante máximo dos projectos a mostrar landing_page: + attachments_and_folders: + name: Anexos e pastas de votação + description: + name: Descrição da votação + elections: + name: Eleições de votação + header: + name: Cabeçalho de votação + html_block_1: + name: Bloco html de votação 1 + html_block_2: + name: Bloco html de votação 2 + html_block_3: + name: Bloco html de votação 3 + metrics: + name: Métricas da votação + polling_stations: + name: Assembleias de voto stats: name: Estatísticas da votação + timeline: + name: Cronologia da votação + index: + not_published: Publicação removida + published: Publicado landing_page: content_blocks: edit: @@ -492,15 +655,20 @@ pt: components: Componentes info: Informação landing_page: Página de entrada + monitoring_committee_members: Comissão de controlo polling_officers: Oficiais de votação polling_stations: Secções de voto models: monitoring_committee_member: fields: + email: E-Mail name: Nome + name: Membro da Comissão de Controlo polling_officer: fields: + email: E-Mail name: Nome + polling_station: Secção de voto (papel) name: Oficiais de votação polling_station: fields: @@ -516,14 +684,33 @@ pt: published: Publicado title: Título monitoring_committee_members: + create: + invalid: Ocorreu um problema ao criar este membro dda comissão de controlo + success: O membro da comissão de controlo foi criado com êxito + destroy: + invalid: Ocorreu um problema ao eliminar este membro da comissão de controlo + success: O membro da comissão de controlo foi eliminado com êxito form: existing_user: Participante existente + non_user: Convidar novo participante + select_user: Procurar por nome, e-mail ou alcunha user_type: Tipo de participante + index: + title: Comissão de controlo new: create: Criar + title: Criar membro da comissão de controlo polling_officers: + create: + invalid: Ocorreu um problema ao criar este oficial de votação + success: Oficial de votação criado com êxito + destroy: + invalid: Ocorreu um problema ao eliminar este oficial de votação + success: Oficial de votação eliminado com êxito form: existing_user: Participante existente + non_user: Convidar novo participante + select_user: Procurar por nome, e-mail ou alcunha user_type: Tipo de participante index: role_manager: Gestor @@ -531,51 +718,108 @@ pt: title: Oficiais de votação new: create: Criar + title: Criar oficial de votação + polling_officers_picker: + choose_polling_officers: Escolher oficiais de votação + close: Fechar + more_polling_officers: Existem mais %{number} oficiais de votação. Refine a sua procura para localizá-los. + no_polling_officers: Não há oficiais de votação que correspondam aos seus critérios de pesquisa ou não há nenhum oficial de votação. polling_stations: + create: + invalid: Ocorreu um problema ao criar esta secção de voto + success: Secção de voto criada com êxito + destroy: + invalid: Ocorreu um problema ao eliminar esta secção de voto + success: Secção de voto eliminada com êxito + edit: + title: Editar secção de voto + update: Actualizar secção de voto + form: + address_help: 'Endereço: utilizado pelo Geocoder para descobrir a localização' + location_help: 'Localização: mensagem dirigida aos eleitores com a localização exacta da secção de voto' + location_hints_help: 'Sugestões de localização: informação adicional. Exemplo: o piso do edifício onde a secção de voto está localizada.' + polling_station_managers_help: 'Gestores da secção de voto: os oficiais de votação que irão agir como gestores da secção de voto. Certifique-se que os oficiais de votação já foram criados na Lista de Oficiais e que não estão já designados para outra secção de voto' + polling_station_president_help: 'Oficial da secção de voto: o oficial de votação que irão agir como presidente da secção de voto. Certifique-se que o oficial de votação já foi criado na Lista de Oficiais e que não está já designado para outra secção de voto' + select_president: Seleccionar um oficial de votação como presidente da secção de voto index: title: Secções de voto new: create: Criar + title: Criar secção de voto + update: + invalid: Ocorreu um problema ao actualizar esta secção de voto + success: Secção de voto actualizada com êxito titles: votings: Votações votings: actions: confirm_destroy: Tem a certeza? destroy: Destruir + new_voting: Novo Espaço de Votação + publish: Publicar unpublish: Remover publicação create: invalid: Houve um problema ao actualizar esta votação + success: Votação criada com êxito + edit: + add_election_component: Não tem nenhuma eleição configurada para esta votação. Por favor adicione-a na secção Componentes + assign_missing_officers: Há Secções de Voto sem Presidente e/ou Gestores. Por favor atribua-os a partir da área de Secções de Voto + update: Actualizar form: + select_a_voting_type: Por favor seleccione um tipo de votação + slug_help: 'Os identificadores URL são utilizados para gerar os URLs que direccionam para esta votação. Apenas aceitam letras, números e traços, devendo começar com uma letra. Exemplo: %{url}' title: Título voting_type: + hybrid: Híbrido + in_person: Presencial online: On-line new: create: Criar + title: Nova Votação publish: success: Publicação da votação retirada com êxito unpublish: success: Publicação da votação retirada com êxito update: invalid: Houve um problema ao actualizar esta votação + success: Votação actualizada com êxito admin_log: voting: create: "%{user_name} publicou a votação%{resource_name}" publish: "%{user_name} publicou a votação%{resource_name}" unpublish: "%{user_name} publicou a votação%{resource_name}" + content_blocks: + highlighted_votings: + name: Votações realçadas monitoring_committee_members: actions: confirm_destroy: Tem a certeza? destroy: Eliminar + new: Novo membro + title: Acções + pages: + home: + highlighted_votings: + active_votings: Votações activas + see_all_votings: Ver todas as votações + votings_button_title: Ligação para a página de Votações que mostra todas as votações polling_officer_zone: menu: polling_officer_zone: Zona do Oficial de Votação polling_officers: show: + actions: + count_votes: Conte os votos na urna de votos + identify_person: Identificar e verificar uma pessoa + polling_officer_role_description: Foi designado para agir como Oficial de Secção de Voto (presidente ou gestor) em algumas eleições celebradas nesta plataforma. polling_stations: list: actions: Ações address: Endereço name: Nome + role: O seu papel + voting: Votação + no_polling_stations: Não está ainda designado a nenhuma Secção de Voto. title: Secções de voto polling_officers: actions: @@ -602,34 +846,47 @@ pt: filters: active: Activo all: Todos + finished: Terminado search: Pesquisar state: Estado + upcoming: Seguinte filters_small_view: close_modal: Fechar o modal filter: Filtro filter_by: Filtrar por unfold: Desdobrar index: + no_votings: Nenhuma votação corresponde aos seus critérios de pesquisa. + only_finished: Actualmente, não há votações agendadas, mas aqui pode encontrar listadas todas as votações passadas. title: Votações orders: + label: 'Ordenar votações por:' + random: Aleatório recent: Mais recente show: dates: Datas votings_m: badge_name: finished: Terminado + ongoing: Em andamento + upcoming: Seguinte footer_button_text: participate: Participantes view: Visualizar vote: Votar unspecified: Não especificado voting_type: + hybrid: Híbrido + in_person: Presencial online: On-line + voting_types_label: Tipo de votação layouts: decidim: election_votes_header: exit: Sair votings: + index: + promoted_votings: Votações realçadas promoted_voting: more_info: Mais informações vote: Votar diff --git a/decidim-elections/config/locales/ro-RO.yml b/decidim-elections/config/locales/ro-RO.yml index f1b1ed7a68c40..81705b871ec2e 100644 --- a/decidim-elections/config/locales/ro-RO.yml +++ b/decidim-elections/config/locales/ro-RO.yml @@ -218,6 +218,10 @@ ro: 'false': nu are o cheie publică 'true': are o cheie publică title: Configurarea alegerilor + key_ceremony: + trustees: Administrator + tally: + trustees: Administrator tally_ended: title: Rezultate calculate vote_ended: diff --git a/decidim-elections/config/locales/tr-TR.yml b/decidim-elections/config/locales/tr-TR.yml index 309bce0031755..aeaa565f547eb 100644 --- a/decidim-elections/config/locales/tr-TR.yml +++ b/decidim-elections/config/locales/tr-TR.yml @@ -156,6 +156,11 @@ tr: update: invalid: Bu soru güncellenirken bir hata oluştu success: Soru başarıyla güncellendi + steps: + key_ceremony: + trustees: Vekiller + tally: + trustees: Vekiller trustees_participatory_spaces: actions: disable: Devre dışı diff --git a/decidim-forms/config/locales/eu.yml b/decidim-forms/config/locales/eu.yml index 81ad2f9faae7b..8a0e817c2a490 100644 --- a/decidim-forms/config/locales/eu.yml +++ b/decidim-forms/config/locales/eu.yml @@ -50,6 +50,8 @@ eu: errors: answer: body: Gorputza ezin da hutsik egon + files: + extension_allowlist: 'Onartutako formatuak:' question_types: long_answer: Erantzun luzea multiple_option: Hainbat aukera diff --git a/decidim-forms/config/locales/lb.yml b/decidim-forms/config/locales/lb.yml new file mode 100644 index 0000000000000..e3832d16c2433 --- /dev/null +++ b/decidim-forms/config/locales/lb.yml @@ -0,0 +1,178 @@ +lb: + activemodel: + attributes: + answer: + body: Äntwert + choices: Choixen + selected_choices: Ausgewählte Auswahl + question: + max_choices: Maximale Anzahl von Auswahlmöglichkeiten + question_type: Zort + questionnaire_question: + mandatory: Verpflichtend + max_characters: Maximale Anzahl Zeichen (0 bedeutet kein Limit) + errors: + models: + answer: + attributes: + add_documents: + needs_to_be_reattached: Muss erneut angehängt werden + body: + too_long: ist zu lang + choices: + missing: sind nicht vollständig + too_many: sind zu viele + questionnaire: + request_invalid: Bei der Bearbeitung der Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es nochmal + decidim: + forms: + admin: + models: + components: + description: Beschreibung + tos: Nutzungsbedingungen + questionnaires: + actions: + back: Zurück zu Fragen + show: Antworten anzeigen + answer_option: + answer_option: Antwortoption + free_text: Freier Text + remove: Löschen + statement: Aussage + answers: + actions: + back: Zurück zu Antworten + export: Exportieren + show: Antworten anzeigen + empty: Noch keine Antworten + export: + answer: + title: 'Antwort #%{number}' + export_response: + title: Umfrage_Benutzer_Antworten_%{token} + index: + title: "%{total} Antworten insgesamt" + show: + title: 'Antwort #%{number}' + display_condition: + answer_option: Antwortoption + condition_question: Frage + condition_type: Bedingung + condition_types: + answered: Beantwortet + equal: Gleich + match: Beinhaltet Text + not_answered: Unbeantwortet + not_equal: Nicht gleich + condition_value: Enthaltener Text + display_condition: Bedingung anzeigen + mandatory: Diese Bedingung muss immer erfüllt werden, unabhängig vom Status anderer Bedingungen + remove: Löschen + save_warning: Vergessen Sie nicht, das Formular zu speichern, bevor Sie die Anzeigebedingungen konfigurieren + select_answer_option: Antwortoption auswählen + select_condition_question: Eine Frage + select_condition_type: Wählen Sie einen Bedingungstyp + edit: + save: Speichern + title: Fragebogen bearbeiten + form: + add_question: Frage hinzufügen + add_separator: Trennzeichen hinzufügen + already_answered_warning: Der Fragebogen wird bereits von einigen Benutzern beantwortet, sodass Sie die Fragen nicht ändern können. + collapse: Alle Fragen einklappen + expand: Alle Fragen ausklappen + preview: Vorschau + title: Formular für %{questionnaire_for} bearbeiten + unpublished_warning: Das Formular ist nicht öffentlich. Sie können die Fragen ändern, dabei werden allerdings die aktuellen Antworten gelöscht. + matrix_row: + matrix_row: Zeile + remove: Löschen + statement: Aussage + question: + add_answer_option: Antwortoption hinzufügen + add_display_condition: Anzeigebedingung hinzufügen + add_display_condition_info: Speichern Sie das Formular, um die Anzeigebedingungen zu konfigurieren + add_matrix_row: Zeile hinzufügen + any: Irgendein + collapse: Zouklappen + description: Beschreiwung + down: Runter + expand: Ausklappen + question: Fro + remove: Löschen + statement: Aussage + up: Hoch + separator: + down: Runter + remove: Löschen + separator: Trennzeichen + up: Hoch + update: + invalid: Beim Speichern des Fragebogens sind Fehler aufgetreten. + success: Formular erfolgreich gespeichert. + errors: + answer: + body: Körper kann nicht leer sein + files: + extension_allowlist: 'Gültige Formate:' + images: + dimensions: "%{width} x %{height} px" + dimensions_info: 'Das Bild wird:' + processors: + resize_and_pad: in der Größe angepasst und gepolstert zu + resize_to_fit: in der Größe verändert, damit es passt + question_types: + files: Dateien + long_answer: Lange Antwort + matrix_multiple: Matrix (Mehrfachoption) + matrix_single: Matrix (Einzelne Option) + multiple_option: Mehrfachoption + short_answer: Kurze Antwort + single_option: Einzelne Option + sorting: Sortierung + questionnaires: + answer: + invalid: Bei der Beantwortung des Fragebogens sind Fehler aufgetreten. + max_choices_alert: Es wurden zu viele Auswahlmöglichkeiten ausgewählt + success: Fragebogen erfolgreich beantwortet. + question: + max_choices: 'Max Auswahlmöglichkeiten: %{n}' + show: + answer_questionnaire: + anonymous_user_message: Melden Sie sich mit Ihrem Konto an oder Melden Sie sich an , um den Fragebogen zu beantworten. + title: Beantworten Sie den Fragebogen + current_step: Schritt %{step} + of_total_steps: von %{total_steps} + questionnaire_answered: + body: Sie haben diesen Fragebogen bereits beantwortet. + title: Schon beantwortet + questionnaire_closed: + body: Der Fragebogen ist geschlossen und kann nicht beantwortet werden. + title: Fragebogen geschlossen + questionnaire_for_private_users: + body: Der Fragebogen ist nur für Privatanwender verfügbar + title: Fragebogen geschlossen + questionnaire_js_disabled: + body: Manche Funktionen des Formulars werden deaktiviert sein. Aktivieren Sie JavaScript in Ihrem Browser für eine bessere Erfahrung. + title: JavaScript ist deaktiviert + questionnaire_not_published: + body: Dieses Formular ist noch nicht veröffentlicht. + tos_agreement: Mit der Teilnahme stimmen Sie den Nutzungsbedingungen zu + step_navigation: + show: + are_you_sure: Diese Aktion kann nicht rückgängig gemacht werden und Sie können Ihre Antworten nicht bearbeiten. Bist du sicher? + back: Zurück + continue: Weiter + submit: einreichen + user_answers_serializer: + body: Antwort + completion: Abschluss + created_at: Beantwortet am + id: ID beantworten + ip_hash: IP-Hash + question: Frage + registered: Registriert + session_token: Benutzerkennung + unregistered: Nicht registriert + user_status: Benutzerstatus diff --git a/decidim-forms/config/locales/pt.yml b/decidim-forms/config/locales/pt.yml index 83e9b53cece35..c64cb0864c2d7 100644 --- a/decidim-forms/config/locales/pt.yml +++ b/decidim-forms/config/locales/pt.yml @@ -10,7 +10,7 @@ pt: question_type: Tipo questionnaire_question: mandatory: Obrigatório - max_characters: Limite de caracteres (deixar para 0 se não houver limite) + max_characters: Limite de caracteres (deixar 0 se não houver limite) errors: models: answer: diff --git a/decidim-initiatives/config/locales/lb.yml b/decidim-initiatives/config/locales/lb.yml new file mode 100644 index 0000000000000..01c6a29536f6b --- /dev/null +++ b/decidim-initiatives/config/locales/lb.yml @@ -0,0 +1,482 @@ +lb: + activemodel: + attributes: + initiative: + decidim_user_group_id: Autor + description: Beschreibung + offline_votes: Face-to-Face-Unterstützung + offline_votes_for_scope: Persönliche Unterschriften für %{scope_name} + scope_id: Umfang + signature_end_date: Ende der Unterschriftensammlung + signature_start_date: Beginn der Unterschriftensammlung + signature_type: Signatursammeltyp + signature_type_values: + any: Gemischt + offline: Angesicht zu Angesicht + online: Online + state: Zustand + title: Titel + initiatives_committee_member: + user: Ausschussmitglied + initiatives_type: + area_enabled: Die Auswahl des Bereichs von Initiativen für Autoren freigeben + attachments_enabled: Anhänge freigeben + banner_image: Banner-Bild + child_scope_threshold_enabled: Unterschriften von Unterbereichen aktivieren + collect_user_extra_fields: Sammeln Sie persönliche Daten des Benutzers bei der Unterschrift + custom_signature_end_date_enabled: Die Auswahl des Enddatums der Unterschriftensammlung für Autoren freigeben + description: Beschreibung + document_number_authorization_handler: Berechtigung zur Überprüfung der Belegnummer bei Abstimmungen + extra_fields_legal_information: Rechtliche Informationen zur Erhebung personenbezogener Daten + minimum_committee_members: Minimum der Ausschussmitglieder + online_signature_enabled: Online-Signatur aktiviert + only_global_scope_enabled: Nur die Erstellung globaler Initiativen zulassen + promoting_committee_enabled: Förderkomitee freigeben + title: Titel + undo_online_signatures_enabled: Ermöglichen Sie Benutzern, ihre Online-Signaturen rückgängig zu machen + validate_sms_code_on_votes: Fügen Sie dem Signaturprozess einen SMS-Validierungsschritt hinzu + initiatives_vote: + date_of_birth: Geburtsdatum + document_number: Dokumentnummer + name_and_surname: Name und Nachname + postal_code: Postleitzahl + organization_data: + address: Adress + id_document: ID-Dokument + name: Vollständiger Name + errors: + models: + initiative: + attributes: + attachment: + file: Datei ist ungültig + needs_to_be_reattached: Der Anhang muss erneut angehängt werden + title: Der Titel sollte nicht leer sein + activerecord: + models: + decidim/initiative: + one: Initativ + other: Initiativen + decidim/initiative_comittee: + one: Komitee + other: Ausschüsse + decidim/initiative_vote: + one: Ënnerschrëft + other: Unterschriften + decidim: + admin: + actions: + new_initiative_type: Neuer Initiativentyp + filters: + initiatives: + decidim_area_id_eq: + label: Gebitt + state_eq: + label: Zustand + values: + accepted: Ausreichend Unterschriften + created: Erstellt + discarded: Verworfen + published: Verëffentlecht + rejected: Zu wenige Unterschriften + validating: Technische Validierung + type_id_eq: + label: Typ + search_placeholder: + title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Suche in %{collection} nach Titel, Beschreibung, ID oder Autoren. + menu: + initiatives: Initiativen + initiatives_types: Arten von Initiativen + models: + initiatives: + fields: + created_at: Erstellt am + id: ID + published_at: Veröffentlicht am + state: Status + supports_count: Unterschriften + title: Initiativen + initiatives_type_scope: + fields: + scope: Ëmfang + supports_required: Unterstützungen erforderlich + name: Typ der Initiative + initiatives_types: + fields: + created_at: Erstallt den + title: Arten von Initiativen + name: Art der Initiative + initiatives_votes: + fields: + date_of_birth: Geburtsdatum + document_number: Nummer vum Dokument + hash: Hash + initiative_end_date: Enddatum + initiative_id: Initiativ-ID + initiative_signatures_count: Anzahl der Unterschriften + initiative_start_date: Ufanksdatum + initiative_title: Initiativentitel + name_and_surname: Name und Nachname + postal_code: Postleitzuel + scope: Ëmfang + time_and_date: Zeit und Datum + timestamp: Zeitstempel + titles: + initiatives: Initiativen + initiatives_types: Arten von Initiativen + events: + initiatives: + admin: + initiative_sent_to_technical_validation: + email_intro: Die Initiative "%{resource_title}" wurde zur technischen Validierung gesendet. Über das Admin-Panel können Sie sie aufrufen + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator der Plattform sind. + email_subject: Die Initiative "%{resource_title}" wurde zur technischen Validierung gesendet. + notification_title: Die Initiative "%{resource_title}" wurde zur technischen Validierung gesendet. Über das Admin-Panel können Sie sie aufrufen + initiative_extended: + email_intro: Das Enddatum der Unterschriftensammlung für die Initiative %{resource_title} wurde verlängert! + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{resource_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Enddatum der Unterschriftensammlung verlängert! + notification_title: Das Enddatum der Unterschriftensammlung für die Initiative %{resource_title} wurde verlängert. + initiative_sent_to_technical_validation: + email_intro: Die Initiative „%{resource_title}“ wurde zur technischen Validierung gesendet. Über das Admin-Panel können Sie sie aufrufen + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator der Plattform sind. + email_subject: Die Initiative "%{resource_title}" wurde zur technischen Validierung gesendet. + notification_title: Die Initiative "%{resource_title}" wurde zur technischen Validierung gesendet. Über das Admin-Panel können Sie sie aufrufen + milestone_completed: + affected_user: + email_intro: Ihre Initiative %{resource_title} hat %{percentage}% der Unterschriften erreicht! + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Autor der Initiative %{resource_title} sind. + email_subject: Neuer Meilenstein abgeschlossen! + notification_title: Ihre Initiative %{resource_title} hat %{percentage}% der Unterschriften erreicht. + follower: + email_intro: Die Initiative %{resource_title} hat %{percentage}% der Unterschriften erreicht! + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{resource_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neuer Meilenstein abgeschlossen! + notification_title: Die Initiative %{resource_title} hat %{percentage}% der Unterschriften erreicht. + support_threshold_reached: + email_intro: Die Initiative %{resource_title} hat die Mindestanzahl an Unterschriften erreicht + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator der Plattform sind. + email_subject: Mindestanzahl an Unterschriften erreicht + notification_title: Die Initiative %{resource_title} hat die Mindestanzahl an Unterschriften erreicht + gamification: + badges: + initiatives: + conditions: + - Gehe zum Teilnehmerbereich von Intiativen + - Befolgen Sie die Schritte, um eine neue Initiative zu erstellen + description: Dieses Abzeichen wird gewährt, wenn Sie neue Initiativen starten und mit anderen zusammenarbeiten, um sie durchzuführen. + description_another: Dieser Benutzer hat %{score} Initiativen veröffentlicht. + description_own: Du hast %{score} Initiativen veröffentlicht. + name: Veröffentlichte Initiativen + next_level_in: Holen Sie sich %{score} weitere Initiativen veröffentlicht, um das nächste Level zu erreichen! + unearned_another: Dieser Benutzer hat noch keine Initiativen veröffentlicht. + unearned_own: Sie haben noch keine Initiativen veröffentlicht. + help: + participatory_spaces: + initiatives: + contextual: "

    Eine Initiative ist ein Vorschlag, der von jedermann aus eigener Initiative (unabhängig von anderen Kanälen oder Beteiligungsräumen) durch die Sammlung von (digitalen) Unterschriften für die Organisation zur Durchführung einer bestimmten Aktion (Änderung einer Verordnung, Initiierung eines Projekts) gefördert werden kann , ändern Sie den Namen einer Abteilung oder einer Straße usw.).

    Die Initiatoren einer Initiative können ihre Ziele festlegen, Unterstützung sammeln, diskutieren, verbreiten und Treffpunkte definieren, an denen Unterschriften der Teilnehmer oder Debatten gesammelt werden können, die für andere Teilnehmer offen sind.

    Beispiele: Eine Initiative kann Unterschriften sammeln, um eine Konsultation unter allen Mitarbeitern einer Organisation einzuberufen, eine Versammlung zu gründen oder einzuberufen oder einen Prozess zur Aufstockung des Budgets für ein Gebiet oder einen Bereich der Organisation einzuleiten. Während des Sammelns von Unterschriften können mehr Personen zu diesem Bedarf beitragen und ihn in der Organisation vorantreiben.

    \n" + page: "

    Eine Initiative ist ein Vorschlag, der von jedermann aus eigener Initiative (unabhängig von anderen Kanälen oder Beteiligungsräumen) durch die Sammlung von (digitalen) Unterschriften für die Organisation zur Durchführung einer bestimmten Aktion (Änderung einer Verordnung, Initiierung eines Projekts) gefördert werden kann , ändern Sie den Namen einer Abteilung oder einer Straße usw.).

    Die Initiatoren einer Initiative können ihre Ziele festlegen, Unterstützung sammeln, diskutieren, verbreiten und Treffpunkte definieren, an denen Unterschriften der Teilnehmer oder Debatten gesammelt werden können, die für andere Teilnehmer offen sind.

    Beispiele: Eine Initiative kann Unterschriften sammeln, um eine Konsultation unter allen Mitarbeitern einer Organisation einzuberufen, eine Versammlung zu gründen oder einzuberufen oder einen Prozess zur Aufstockung des Budgets für ein Gebiet oder einen Bereich der Organisation einzuleiten. Während des Sammelns von Unterschriften können mehr Personen zu diesem Bedarf beitragen und ihn in der Organisation vorantreiben.

    \n" + title: Was sind Initiativen? + initiatives: + actions: + answer: Antworten + admin: + answers: + edit: + answer: Antworten + title: Antwort für %{title} + info_initiative: + created_at: Hergestellt in + description: Beschreibung + initiative_votes_count: Stimmen zählen + initiatives: Initiativen + state: Zustand + committee_requests: + index: + approve: Genehmigen + confirm_revoke: Bist du sicher? + invite_to_committee_help: Teilen Sie diesen Link, um andere Benutzer zum Promotionskomitee einzuladen + no_members_yet: Es gibt keine Mitglieder im Promoter-Ausschuss + initiatives_types: + form: + child_scope_threshold_enabled_help: 'Cette option de configuration ne gère pas les votes hors-ligne, elle permet d''activer des sous-secteurs et fonctionne avec un gestionnaire d''autorisation qui associe un secteur à l''utilisateur. Assurez-vous de sélectionner une telle autorisation dans les paramètres d''autorisation ci-dessous. Pour que cela fonctionne, les secteurs doivent être configurées de manière hiérarchique : 1 Parent - N Enfants. Pour plus d''informations sur le fonctionnement de cette configuration, cliquez ici.' + only_global_scope_enabled_help: Cochez cette case si vous avez activé "Autoriser les signatures par sous-secteur" et configuré la portée globale comme votre portée parente. En activant cette option, la sélection du type d'initiative sera ignorée dans l'assistant de création d'initiative. Pour plus d'informations sur le fonctionnement de cette configuration, voir ce lien. + options: Optionen + title: Allgemeine Information + initiative_type_scopes: + title: Bereiche für den Typ der Initiative + new: + create: Erstellen + title: Neuer Initiativentyp + update: + error: Ein Fehler ist aufgetreten + success: Der Initiativentyp wurde erfolgreich aktualisiert + admin_log: + initiative: + publish: "%{user_name} hat die Initiative %{resource_name} veröffentlicht" + send_to_technical_validation: "%{user_name} hat die Initiative %{resource_name} zur technischen Validierung gesendet" + unpublish: "%{user_name} hat die Initiative %{resource_name} verworfen" + update: "%{user_name} hat die Initiative %{resource_name} aktualisiert" + admin_states: + accepted: Ausreichend Unterschriften + created: Erstellt + discarded: Verworfen + published: Veröffentlicht + rejected: Ungenügend Unterschriften + validating: Technische Validierung + application_helper: + filter_area_values: + all: Alle + filter_scope_values: + all: Alle + filter_state_values: + accepted: Ausreichend Unterschriften + all: Alle + answered: Beantwortet + closed: Geschlossen + open: Öffnen + rejected: Ungenügend Unterschriften + filter_type_values: + all: Alle + committee_requests: + approve: + success: Anfrage wurde bestätigt. + new: + continue: Fortsetzen + help_text: Sie sind dabei, ein Mitglied des Promoter-Komitees dieser Initiative zu werden + revoke: + success: Anfrage wurde zurückgezogen. + spawn: + success: Ihre Anfrage wurde an den Initiativautor gesendet. + content_blocks: + highlighted_initiatives: + name: Hervorgehobene Initiativen + create_initiative: + fill_data: + back: Zurück + continue: Fortsetzen + fill_data_help: "
    • Inhalt Ihrer Initiative überprüfen. Ist Ihr Titel leicht verständlich? Ist das Ziel Ihrer Initiative klar?
    • Sie müssen die Art der Unterschrift wählen. Persönlich, online oder eine Kombination aus beidem
    • Was ist die geografische Reichweite der Initiative? Stadt, Bezirk?
    " + initiative_type: Art der Initiative + more_information: "(Weitere Informationen)" + select_area: Wählen Sie einen Bereich aus + select_scope: Wählen Sie einen Bereich aus + finish: + back: Zurück + back_to_initiatives: Zurück zu den Initiativen + callout_text: Herzlichen Glückwunsch! Ihre Initiative wurde erfolgreich erstellt. + confirm: Sie werden die Initiative an einen Administrator senden, welcher sie zu überprüft und veröffentlicht. Sobald die Initiative veröffentlicht ist, können Sie sie nicht bearbeiten. Sind Sie sicher? + edit_my_initiative: Meine Initiativen bearbeiten + go_to_my_initiatives: Geh zu meinen Initiativen + more_information: "(Weitere Informationen)" + send_my_initiative: Meine Initiative zur technischen Validierung senden + finish_help: + access_reminder: Sie können auf Ihre Initiativen über den Filter %{link} auf der Seite Initiativen zugreifen. + publish_helper_text: Denken Sie daran, dass Sie für die Veröffentlichung Ihrer Initiative die erforderlichen Informationen ausfüllen müssen und diese an die technische Validierung senden müssen, damit ein Administrator sie prüfen kann. + previous_form: + back: Zréck + continue: Weider + help: Woraus besteht die Initiative? Schreiben Sie den Titel und die Beschreibung auf. Wir empfehlen einen kurzen und prägnanten Titel und eine Beschreibung der vorgeschlagenen Lösung. + more_information: "(Weitere Informationen)" + promotal_committee: + back: Zréck + individual_help_text: Diese Art der Bürgerinitiative erfordert einen Ausschuss der Initiatoren, der aus mindestens %{committee_size} Personen (Zeugen) besteht. Sie müssen den folgenden Link mit den anderen Personen teilen, die an dieser Initiative beteiligt sind. Wenn Ihre Kontakte diesen Link erhalten, müssen sie die angegebenen Schritte befolgen. + more_information: "(Weitere Informationen)" + select_initiative_type: + back: Zréck + choose_html: Ich möchte eine %{title} erstellen + more_information: "(Weitere Informationen)" + select: Ich möchte diese Initiative fördern + select_initiative_type_help: Bürgerinitiativen sind ein Mittel, mit dem die Bürger eingreifen können, damit die Organisation Maßnahmen zur Verteidigung des Allgemeininteresses ergreifen kann, die in den Zuständigkeitsbereich der Stadtverwaltung fallen. Welche Initiative möchten Sie starten? + share_committee_link: + continue: Weider + invite_to_committee_help: Link, um Leute einzuladen, die Teil des Promoter-Komitees sein werden + show_similar_initiatives: + back: Zréck + compare_help: Wenn eine der folgenden Initiativen Ihrer ähnelt, empfehlen wir Ihnen, sie zu unterstützen. Ihr Vorschlag wird mehr Möglichkeiten haben, erledigt zu werden. + continue: Meine Initiative ist anders + more_information: "(Weitere Informationen)" + edit: + accept: Initiative akzeptieren + back: Zréck + confirm: Bass du sécher? + discard: Initiative verwerfen + export_pdf_signatures: PDF der Unterschriften exportieren + export_votes: Unterschriften exportieren + reject: Initiative ablehnen + title: Initiativen bearbeiten + update: Aktualiséieren + events: + approve_membership_request: + email_intro: "%{author_nickname} hat Ihre Anfrage fürs Promoter-Komittee der Initiative %{resource_title} akzeptiert." + email_outro: 'Sie haben diese Benachrichtigung erhalten, weil Sie sich bei dieser Initiative beworben haben: %{resource_title}' + email_subject: "%{author_nickname} hat Ihre Anfrage fürs Promoter-Komittee akzeptiert" + notification_title: %{author_nickname} hat Ihre Anfrage fürs Promoter-Komittee der Initiative %{resource_title} akzeptiert. + create_initiative_event: + email_intro: "%{author_name} %{author_nickname}, dem du folgst, hat eine neue Initiative erstellt, sehen Sie es sich an und reden Sie mit:" + email_outro: Du hues dës Noriicht kritt, well s'du dem %{author_nickname} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: Neue Initiative von %{author_nickname} + notification_title: Die Initiative %{resource_title} wurde von %{author_name} %{author_nickname} erstellt. + endorse_initiative_event: + email_intro: "%{author_name} %{author_nickname}, dem Sie folgen, hat die folgende Initiative unterstützt, vielleicht möchten Sie mitreden:" + email_outro: Du hues dës Noriicht kritt, well s'du dem %{author_nickname} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: Initiative wurde von %{author_nickname} unterstützt + notification_title: Die Initiative %{resource_title} wurde von %{author_name} %{author_nickname} unterstützt. + revoke_membership_request: + email_intro: "%{author_nickname} hat Ihre Anfrage fürs Promoter-Komittee der Initiative %{resource_title} abgelehnt." + email_outro: 'Sie haben diese Benachrichtigung erhalten, weil Sie sich bei dieser Initiative beworben haben: %{resource_title}.' + email_subject: "%{author_nickname} hat Ihre Anfrage fürs Promoter-Komittee abgelehnt" + notification_title: %{author_nickname} hat Ihre Anfrage für das Promoter-Komittee der Initiative %{resource_title} abgelehnt. + spawn_committee_request_event: + email_intro: "%{applicant_nickname} hat sich fürs Promoter-Komittee Ihrer Initiative %{resource_title} beworben. Um die Anfrage zu akzeptieren oder abzulehnen, besuchen Sie das Bearbeitungsformular Ihrer Initiative." + email_outro: 'Sie haben diese Benachrichtigung erhalten, weil Sie der Autor der Initiative %{resource_title} sind' + email_subject: "%{applicant_nickname} möchte Ihrer Initiative beitreten" + notification_title: %{applicant_nickname} hat sich für das Promoter-Komittee Ihrer Initiative %{resource_title} beworben. Um anzunehmen oder abzulehnen, klicken Sie hier. + form: + add_attachments: Dokumente + attachment_legend: "(Optional) Anhang hinzufügen" + delete_attachment: Löschen + index: + title: Initiativen + initiative_signatures: + fill_personal_data: + continue: Fortsetzen + date_select: + day: Tag + month: Monat + year: Jahr + help: Bitte füllen Sie die folgenden Felder mit Ihren persönlichen Daten aus, um die Initiative zu unterzeichnen + finish: + back_to_initiative: Zurück zur Initiative + sms_code: + continue: Code überprüfen und fortfahren + help: Überprüfen Sie die an Ihrem Telefon empfangene SMS + sms_phone_number: + continue: Senden Sie mir eine SMS + help: Füllen Sie das Formular mit Ihrer bestätigten Telefonnummer aus, um Ihren Bestätigungscode anzufordern + initiative_votes: + create: + error: Beim Signieren der Initiative sind Fehler aufgetreten. + invalid: Die zur Unterzeichnung der Initiative bereitgestellten Daten sind nicht gültig + success_html: Herzliche Glückwünsche! Die %{title} -Initiative wurde korrekt unterzeichnet + personal_data: + invalid: Persönliche Daten stimmen nicht mit den zur Autorisierung angegebenen Daten überein. + sms_code: + invalid: Ihr Bestätigungscode stimmt nicht mit unserem überein. Bitte überprüfen Sie noch einmal die SMS, die wir Ihnen gesendet haben. + sms_phone: + invalid: Die Telefonnummer ist ungültig oder muss noch autorisiert werden. Bitte überprüfen Sie Ihre Berechtigungen. + initiatives: + author: + deleted: Gelöscht + author_list: + hidden_authors_count: + one: und 1 weitere Person + other: und %{count} weitere Leute + committee_members: + approve: Genehmigen + confirm_revoke: Bist du dir sicher? + invite_to_committee_help: Teilen Sie diesen Link, um andere Benutzer zum Promotionskomitee einzuladen + no_members_yet: Es gibt keine Mitglieder im Promoter-Ausschuss + revoke: Widerrufen + title: Ausschussmitglieder + count: + title: + one: "%{count} Initiative" + other: "%{count} Initiativen" + filters: + any: Irgendein + area: Bereich + author: Autor + myself: Meine Initiativen + scope: Umfang + search: Suche + state: Zustand + type: Art + filters_small_view: + close_modal: Fenster schließen + filter: Filter + filter_by: Filtern nach + unfold: Entfalten + index_header: + new_initiative: Neue Initiative + not_authorized: + authorizations_page: Autorisierungen anzeigen + close: Schließen + explanation: Sie müssen überprüft werden, um eine neue Initiative zu schaffen. + title: Autorisierung erforderlich + initiatives: + closed_initiatives_warning: Derzeit gibt es keine offenen Initiativen, aber hier finden Sie alle abgeschlossenen Initiativen aufgelistet. + no_initiatives_warning: Keine Initiativen entsprechen Ihren Suchkriterien. + interactions: + comments_count: + count: + one: Kommentar + other: Bemerkungen + orders: + label: 'Initiativen sortieren nach:' + last_activity: + new_initiative: Neue Initiative + pages: + home: + highlighted_initiatives: + active_initiatives: Aktive Initiativen + see_all_initiatives: Sehen Sie alle Initiativen + show: + badge_name: + accepted: Ausreichend Unterschriften + created: Erstellt + discarded: Verworfen + published: Veröffentlicht + rejected: Ungenügend Unterschriften + validating: Technische Validierung + states: + accepted: Akzeptiert + expired: Abgelaufen + unavailable_scope: Nicht verfügbarer Umfang + update: + error: Ein Fehler ist aufgetreten + success: Die Initiative wurde erfolgreich aktualisiert + versions: + shared: + back_to_resource: Zurück zur Initiative + menu: + initiatives: Initiativen + resources: + initiatives_type: + actions: + title: Aktionen + vote: Abstimmung + layouts: + decidim: + admin: + initiative: + components: Komponenten + information: Information + initiative_creation_header: + back: Zurück + fill_data: Erstellen + finish: Fertig + previous_form: Anfang + promotal_committee: Promoter-Komitee + select_initiative_type: Wählen + show_similar_initiatives: Vergleichen + step: Schritt %{current} von %{total} + title: Neue Initiative schaffen + initiative_header: + initiative_menu_item: Initiative + initiative_signature_creation_header: + back: Zurück + fill_personal_data: Ergänzen Sie Ihre Daten + finish: Fertig + finished: Initiativsignatur erstellt + see_steps: siehe Schritte + select_identity: Identität auswählen + sms_code: SMS-Code-Bestätigung + sms_phone_number: Handynummer + step: Schritt %{current} von %{total} + title: Zeichen %{initiative_title} + initiatives: + initiative: + check: Hör zu + check_and_support: Überprüfe es und unterschreibe es + no_initiatives_yet: + no_initiatives_yet: Keine Initiativen bisher! diff --git a/decidim-initiatives/config/locales/pt.yml b/decidim-initiatives/config/locales/pt.yml index ad44cdcb5a60a..3b03b4c62ac23 100644 --- a/decidim-initiatives/config/locales/pt.yml +++ b/decidim-initiatives/config/locales/pt.yml @@ -5,6 +5,7 @@ pt: decidim_user_group_id: Autor description: Descrição offline_votes: Assinaturas presenciais + offline_votes_for_scope: Assinaturas presenciais para %{scope_name} scope_id: Âmbito signature_end_date: Fim do período de coleta de assinaturas signature_start_date: Início do período de coleta de assinaturas @@ -21,6 +22,7 @@ pt: area_enabled: Permitir que os autores escolham a área da sua iniciativa attachments_enabled: Permitir anexos banner_image: Imagem da faixa + child_scope_threshold_enabled: Activar âmbito descendente de assinaturas collect_user_extra_fields: Coletar dados pessoais do participante na assinatura custom_signature_end_date_enabled: Permitir que os autores escolham o fim do período de recolha de assinaturas description: Descrição @@ -28,6 +30,7 @@ pt: extra_fields_legal_information: Informação legal sobre a coleta de dados pessoais minimum_committee_members: Mínimo de membros do comité online_signature_enabled: Assinatura on-line ativada + only_global_scope_enabled: Só permitir a âmbito global para a criação de iniciativas promoting_committee_enabled: Permitir comité promotor title: Título undo_online_signatures_enabled: Permitir que os participantes anulem as suas assinaturas on-line @@ -73,8 +76,10 @@ pt: values: accepted: Assinaturas suficientes created: Criado + discarded: Abandonado published: Publicado rejected: Assinaturas insuficientes + validating: Validação técnica type_id_eq: label: Tipo search_placeholder: @@ -149,7 +154,10 @@ pt: email_subject: Novo marco concluído! notification_title: A iniciativa %{resource_title} alcançou os %{percentage}% de assinaturas. support_threshold_reached: + email_intro: A iniciativa %{resource_title} atingiu o limiar de assinaturas email_outro: Recebeu esta notificação porque é administrador da plataforma. + email_subject: Limiar de assinaturas atingido + notification_title: A iniciativa ligação.' + only_global_scope_enabled_help: Active este sinalizador se activou a “assinatura de âmbito descendente” e configurou o âmbito global como sendo o seu âmbito ascendente. Ao activá-lo, a selecção do tipo de iniciativa será ignorada no assistente de criação de iniciativa. Para mais informação no funcionamento desta configuração, ver ligação. + options: Opções title: Informação geral initiative_type_scopes: title: Âmbitos para o tipo de iniciativa @@ -292,9 +309,13 @@ pt: filter_type_values: all: Todos committee_requests: + approve: + success: O pedido foi aprovado new: continue: Continuar help_text: Está prestes a pedir para se tornar membro do comité promotor desta iniciativa + revoke: + success: O pedido foi revogado spawn: success: O seu pedido foi enviado ao autor da iniciativa. content_blocks: @@ -304,6 +325,7 @@ pt: fill_data: back: Retroceder continue: Continuar + fill_data_help: "
    • Reveja o conteúdo da sua iniciativa. O título é fácil de entender? O objectivo da sua iniciativa é claro?
    • Tem que escolher o tipo de assinatura. Presencialmente, on-line, ou uma combinação de ambos
    • Qual é o âmbito geográfico da sua iniciativa?
    " initiative_type: Tipo de iniciativa more_information: "(Mais informações)" select_area: Selecionar uma área @@ -311,8 +333,15 @@ pt: finish: back: Retroceder back_to_initiatives: Retroceder para as iniciativas + callout_text: Parabéns! A sua iniciativa foi criada com êxito. + confirm: Vai enviar esta iniciativa para que um administrador a possa rever e publicar. Assim que esteja publicada não a poderá editar. Tem a certeza? + edit_my_initiative: Editar a minha iniciativa go_to_my_initiatives: Ir para as minhas iniciativas more_information: "(Mais informações)" + send_my_initiative: Enviar a minha iniciativa para validação técnica + finish_help: + access_reminder: Pode aceder às suas iniciativas através do filtro %{link} na página Iniciativas. + publish_helper_text: Lembre-se que para que a sua iniciativa seja publicada deve completar a informação requerida e enviá-la para validação técnica para que um administrador a possa rever. previous_form: back: Retroceder continue: Continuar @@ -320,12 +349,14 @@ pt: more_information: "(Mais informações)" promotal_committee: back: Retroceder + individual_help_text: Este tipo de iniciativa requer uma Comissão Promotora constituída por pelo menos %{committee_size} pessoas (certificadores). Precisa de partilhar a ligação seguinte com outras pessoas que são parte de iniciativa. Quando os seus contactos receberem esta ligação irão ter que seguir os passos indicados. more_information: "(Mais informações)" select_initiative_type: back: Retroceder choose_html: Eu quero criar um %{title} more_information: "(Mais informações)" select: Eu quero promover essa iniciativa + select_initiative_type_help: Iniciativas são meios pelos quais os participantes podem intervir no sentido de levar a organização a levar a cabo determinadas acções em defesa do interesse geral. Qual é a iniciativa que quer lançar? share_committee_link: continue: Continuar invite_to_committee_help: Hiperligação para convidar pessoas que farão parte do comité promotor @@ -335,12 +366,21 @@ pt: continue: A minha iniciativa é diferente more_information: "(Mais informações)" edit: + accept: Aceitar a iniciativa + back: Retroceder confirm: Tem a certeza? discard: Descartar a iniciativa export_pdf_signatures: Exportar PDF de assinaturas export_votes: Exportar assinaturas reject: Rejeitar iniciativa + title: Editar a iniciativa + update: Actualizar events: + approve_membership_request: + email_intro: "%{author_nickname} aceitou a sua candidatura para ser parte da comissão promotora da iniciativa %{resource_title}." + email_outro: 'Recebeu esta notificação porque se candidatou esta iniciativa: %{resource_title}' + email_subject: "%{author_nickname} aceitou a sua candidatura para a comissão promotora" + notification_title: %{author_nickname} aceitou a sua candidatura para ser parte da comissão promotora para a iniciativa seguinte %{resource_title}. create_initiative_event: email_intro: "%{author_name} %{author_nickname}, que você segue, criou uma nova iniciativa, confira e contribua:" email_outro: Recebeu esta notificação porque segue %{author_nickname}. Pode parar de receber notificações seguindo a hiperligação anterior. @@ -351,8 +391,19 @@ pt: email_outro: Recebeu esta notificação porque segue %{author_nickname}. Pode parar de receber notificações seguindo a hiperligação anterior. email_subject: Iniciativa endossada por %{author_nickname} notification_title: A iniciativa %{resource_title} foi endossada por %{author_name} %{author_nickname}. + revoke_membership_request: + email_intro: "%{author_nickname} aceitou a sua candidatura para fazer parte da comissão promotora da iniciativa %{resource_title}." + email_outro: 'Recebeu esta notificação porque se candidatou esta iniciativa: %{resource_title}' + email_subject: "%{author_nickname} aceitou a sua candidatura para a comissão promotora" + notification_title: %{author_nickname} rejeitou a sua candidatura para fazer parte da comissão promotora da iniciativa seguinte %{resource_title}. + spawn_committee_request_event: + email_intro: "%{applicant_nickname} Candidatou-se para a comissão promotora da sua iniciativa %{resource_title}. Para aceitar ou rejeitar a aplicação vá ao formulário de edição da iniciativa." + email_outro: 'Recebeu esta notificação porque é o autor desta iniciativa: %{resource_title}' + email_subject: "%{applicant_nickname} quer juntar-se à sua iniciativa" + notification_title: %{applicant_nickname} candidatou-se para a comissão promotora da sua iniciativa %{resource_title}. Para aceitar ou rejeitar clique aqui. form: add_attachments: Documentos + attachment_legend: "(Opcional) Adicionar Anexos" delete_attachment: Eliminar index: title: Iniciativas @@ -422,6 +473,9 @@ pt: close: FECHAR explanation: Você precisa ser verificado para criar uma nova iniciativa. title: Autorização necessária + initiatives: + closed_initiatives_warning: Actualmente, não há iniciativas abertas, mas aqui pode encontrar listadas todas as iniciativas fechadas. + no_initiatives_warning: Nenhuma iniciativa corresponde aos seus critérios de pesquisa. interactions: comments_count: count: @@ -436,16 +490,35 @@ pt: recently_published: Publicado mais recentemente print: address: Endereço + author_title: Autor da iniciativa city: Cidade + email: E-Mail + full_name: Nome completo + general_title: Candidatura para admissão duma iniciativa + id_number: Número de identificação initiative: + attachments: Documentação anexa (por favor escreva abaixo o nome de cada documento) description: 'Descrição' title: 'Título' + type: Tipo de iniciativa + legal_text: Os dados pessoais recolhidos serão incorporados e tratados com confidencialidade pela organização, em acordo com a legislação actual. + phone_number: Número de telefone + place_date: Local, data + postal_code: Código postal print: Impressão + province: Província/Estado + section: 'Se for requerido pela organização, por favor imprima e preencha este formulário a submeter onde indicado:' + signature: Assinatura result: + answer_title: Há resposta(s) a esta iniciativa initiative_rejected_reason: Esta iniciativa foi rejeitada devido à falta de assinaturas. show: + any_vote_method: Esta iniciativa recolhe assinaturas on-line e presencialmente. + confirm: Vai enviar esta iniciativa para que um administrador a possa rever e publicar. Assim que esteja publicada não a poderá editar. Tem a certeza? edit: Editar follow_description: Receber uma notificação quando houverem notícias nesta iniciativa + offline_method: Esta iniciativa só recolhe assinaturas presencialmente. + print: Imprimir iniciativa send_to_technical_validation: Enviar para validação técnica signatures_count: one: " assinatura" diff --git a/decidim-meetings/config/locales/gl.yml b/decidim-meetings/config/locales/gl.yml index 1838cef953957..828bfbc0780ba 100644 --- a/decidim-meetings/config/locales/gl.yml +++ b/decidim-meetings/config/locales/gl.yml @@ -29,7 +29,9 @@ gl: title: Título transparent: Transparente minutes: + audio_url: URL de son description: Descrición + video_url: URL do vídeo visible: É visible errors: models: @@ -255,6 +257,7 @@ gl: invalid: Produciuse un problema ao crear estes minutos success: Minutos creados con éxito edit: + title: Editar minutos update: Actualización new: create: Crear diff --git a/decidim-meetings/config/locales/lb.yml b/decidim-meetings/config/locales/lb.yml new file mode 100644 index 0000000000000..ac9ab2700ccaf --- /dev/null +++ b/decidim-meetings/config/locales/lb.yml @@ -0,0 +1,388 @@ +lb: + activemodel: + attributes: + agenda: + description: Beschreibung + duration: Dauer + title: Titel + close_meeting: + attendees_count: Anzahl der Teilnehmer + attending_organizations: Liste der Organisationen, die teilgenommen haben + closing_report: Bericht + contributions_count: Anzahl der Beiträge + proposal_ids: An der Sitzung entstandene Vorschläge + meeting: + address: Adresse + available_slots: Verfügbare Slots für dieses Meeting + decidim_category_id: Kategorie + decidim_scope_id: Ëmfang + decidim_user_group_id: Benutzergruppe + description: Beschreiwung + end_time: Endzeit + location: Standuert + location_hints: Standorthinweise + online_meeting_url: Online Meeting URL + organizer_gid: Erstellt als + organizer_id: Veranstalter + private_meeting: Private Sitzung + registration_form_enabled: Anmeldeformular aktiviert + registration_terms: Registrierungsbedingungen + registration_url: Registrierungs-URL + registrations_enabled: Registrierungen aktiviert + start_time: Startzeit + title: Titel + transparent: Transparent + type_of_meeting: Zort + minutes: + audio_url: Audio-URL + description: Beschreibung + video_url: Video-URL + visible: Ist sichtbar + errors: + models: + meeting_agenda: + attributes: + base: + too_many_minutes: Die Dauer der Elemente überschreitet die Besprechungsdauer um %{count} Minuten + too_many_minutes_child: Die Dauer der Item-Childs überschreitet den Tagesordnungspunkt "%{parent_title}" Elternzeit um %{count} Minute + meeting_registration_invite: + attributes: + email: + already_invited: Diese E-Mail wurde bereits eingeladen + models: + decidim/meetings/close_meeting_event: Sitzung geschlossen + decidim/meetings/create_meeting_event: Versammlung + decidim/meetings/meeting_registrations_enabled_event: Registrierungen aktiviert + decidim/meetings/meeting_registrations_over_percentage_event: Anmeldungen über Limit + decidim/meetings/upcoming_meeting_event: Kommende Sitzung + decidim/meetings/update_meeting_event: Besprechung aktualisiert + activerecord: + models: + decidim/meetings/meeting: + one: Versammlung + other: Versammlungen + decidim/meetings/minutes: + one: Rapport + other: Rapporten + decidim/meetings/registration: + one: Registréierung + other: Anmeldungen + decidim: + admin: + meeting_copies: + create: + error: Es gab einen Fehler beim Duplizieren dieses Meetings. + success: Dupliziertes Meeting erfolgreich + new: + copy: Kopieren + select: Wählen Sie die Daten aus, die Sie duplizieren möchten + title: Doppelte Besprechung + components: + meetings: + actions: + join: Beitreten + name: Meetings + settings: + global: + announcement: Ankündigung + comments_enabled: Kommentare aktiviert + comments_max_length: Maximale Länge der Kommentare (0 für Standardwert) + creation_enabled_for_participants: Teilnehmer können Besprechungen erstellen + default_registration_terms: Standard-Registrierungsbedingungen + enable_pads_creation: Aktivieren Sie die Pads-Erstellung + registration_code_enabled: Registrierungscode aktiviert + resources_permissions_enabled: Aktionsberechtigungen können für jedes Meeting festgelegt werden + scope_id: Bereich + scopes_enabled: Bereiche aktiviert + terms_and_conditions_url_for_meeting_creators: Nutzungsbedingungen URL für Meeting-Ersteller + step: + announcement: Ankündigung + comments_blocked: Kommentare blockiert + creation_enabled_for_participants: Besprechung-Erstellung durch Teilnehmer aktiviert + creation_enabled_for_user_groups: Besprechung-Erstellung durch Benutzergruppen aktiviert + events: + meetings: + meeting_closed: + affected_user: + email_intro: 'Ihre Sitzung "%{resource_title}" wurde geschlossen. Sie können die Ergebnisse auf dieser Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie die Sitzung "%{resource_title}" organisiert haben. + email_subject: Die Sitzung "%{resource_title}" wurde geschlossen + notification_title: Die Sitzung %{resource_title} wurde geschlossen. + follower: + email_intro: 'Die Sitzung "%{resource_title}" wurde geschlossen. Sie können die Ergebnisse auf dieser Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Sitzung "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Die Sitzung "%{resource_title}" wurde geschlossen + notification_title: Die Sitzung %{resource_title} wurde geschlossen. + meeting_created: + email_intro: Die Sitzung "%{resource_title}" wurde zu "%{participatory_space_title}" hinzugefügt, welchem Sie folgen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{participatory_space_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Neue Sitzung zu %{participatory_space_title} hinzugefügt + notification_title: Die Sitzung %{resource_title} wurde zu %{participatory_space_title} hinzugefügt + meeting_registration_confirmed: + notification_title: Ihre Anmeldung zur Sitzung %{resource_title} wurde bestätigt. Ihr Registrierungscode ist %{registration_code}. + meeting_registrations_over_percentage: + email_intro: Die Slots der Sitzung "%{resource_title}" sind zu über %{percentage}% belegt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator des Teilnahmebereichs der Besprechung sind. + email_subject: Slots der Sitzung "%{resource_title}" über %{percentage}% belegt + notification_title: Die Slots der Sitzung %{resource_title} sind zu über %{percentage}% belegt. + meeting_updated: + email_intro: 'Die Sitzung "%{resource_title}" wurde aktualisiert. Sie können die neue Version auf der Sitzungs-Seite lesen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Sitzung "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Die Sitzung "%{resource_title}" wurde aktualisiert + notification_title: Die Sitzung %{resource_title} wurde aktualisiert. + registration_code_validated: + email_intro: Ihr Registrierungscode "%{registration_code}" für die Sitzung "%{resource_title}" wurde bestätigt. + meetings: + actions: + minutes: Protokoll + admin: + agenda: + edit: + title: Agenda bearbeiten + update: Aktualiséieren + form: + add_agenda_item: Tagesordnungspunkt hinzufügen + agenda_items: Tagesordnungspunkte + end_date: Enddatum + start_date: Startdatum + new: + create: Erstellen + title: Neue Agenda + update: + invalid: Beim Aktualisieren dieser Agenda ist ein Problem aufgetreten + success: Agenda erfolgreich aktualisiert + exports: + meeting_comments: Kommentare + meetings: Treffen + registrations: Anmeldungen + invite_join_meeting_mailer: + invite: + decline: Einladung ablehnen + invited_you_to_join_a_meeting: "%{invited_by} hat Sie eingeladen, an einem Meeting um %{application}. Sie können dies über die unten stehenden Links ablehnen oder akzeptieren." + join: Trete dem Meeting '%{meeting_title}' bei + invites: + create: + error: Beim Einladen des Nutzers in das Meeting ist ein Problem aufgetreten. + success: Der Benutzer wurde erfolgreich zum Meeting eingeladen. + form: + attendee_type: Teilnehmertyp + existing_user: Existierender Benutzer + invite: Einladen + invite_explanation: Der Benutzer wird eingeladen, dem Meeting und der Organisation beizutreten. + non_user: Nicht existierender Benutzer + select_user: Nutzer wählen + index: + filter: + accepted: Akzeptiert + all: Alle + rejected: Abgelehnt + sent: Geschickt + filter_by: Filtern nach + invite_attendee: Teilnehmer einladen + invites: Lädt ein + registrations_disabled: Sie können keinen Teilnehmer einladen, da die Registrierungen deaktiviert sind. + search: Suche + meeting_closes: + edit: + close: Schließen + title: Sitzung beenden + meetings: + close: + invalid: Beim Schließen dieses Meetings ist ein Problem aufgetreten + success: Sitzung erfolgreich abgeschlossen + create: + invalid: Beim Erstellen dieses Meetings ist ein Problem aufgetreten + success: Besprechung erfolgreich erstellt + destroy: + invalid: + proposals_count: + one: Die Besprechung kann nicht gelöscht werden, da %{count} Vorschlag mit dieser verbunden ist + other: Die Besprechung kann nicht gelöscht werden, da %{count} Vorschläge mit dieser verbunden sind + success: Das Meeting wurde erfolgreich gelöscht + edit: + title: Meeting bearbeiten + update: Aktualisieren + form: + address_help: 'Adresse: wird von Geocoder zur Lokalisierung verwendet' + available_slots_help: Belassen Sie es auf 0, wenn Sie unbegrenzte Plätze zur Verfügung haben + disclaimer: 'Haftungsausschluss: Durch Verwendung eines externen Registrierungssystems wissen Sie, dass die Organisatoren von %{organization} nicht für die Daten verantwortlich sind, welche die Benutzer dem externen Dienst zur Verfügung stellen.' + location_help: 'Ort: an die Benutzer gerichtete Nachricht mit dem Treffpunkt' + location_hints_help: 'Hinweise zum Standort: Zusätzliche Informationen. Beispiel: das Stockwerk im Gebäude wenn es eine Sitzung vor Ort ist, oder das Passwort wenn es eine Online-Sitzung mit eingeschränktem Zugriff ist.' + online_meeting_url_help: 'Link: Erlaubt Teilnehmern, sich direkt mit Ihrem Meeting zu verbinden' + registration_url_help: 'Link: Erlaubt den Teilnehmern den externen Service zu nutzen, den Sie für die Registrierung verwenden' + select_a_meeting_type: Bitte eine Meeting-Typ auswählen + select_a_registration_type: Bitte wählen Sie eine Registrierungsart aus + index: + title: Versammlungen + new: + create: Erstellen + title: Versammlung erstellen + service: + description: Beschreibung + down: Nieder + remove: Löschen + service: Bedienung + title: Titel + up: Hoch + services: + add_service: Service dobäisetzen + services: Dienstleistungen + update: + invalid: Beim Aktualisieren dieses Meetings ist ein Problem aufgetreten + success: Sitzung erfolgreich aktualisiert + minutes: + create: + invalid: Beim Erstellen dieser Minuten ist ein Problem aufgetreten + success: Minuten erfolgreich erstellt + edit: + title: Minuten bearbeiten + update: Aktualiséieren + new: + create: Erstellen + title: Erstellen Sie Minuten + update: + invalid: Beim Aktualisieren dieser Minuten ist ein Problem aufgetreten + success: Minuten erfolgreich aktualisiert + models: + meeting: + name: Versammlung + registrations: + edit: + save: Späicheren + validate: Bestätigen + validate_registration_code: Validiere den Registrierungscode + form: + available_slots_help: Belassen Sie es auf 0, wenn Sie unbegrenzte Plätze zur Verfügung haben. + invites: Aluedungen + recommendation_message: Aus Datenschutzgründen empfehlen wir, dass Sie dieses Einschreibeformular löschen, wenn es nicht länger benötigt wird. Standardmäßig ist das 3 Monate nachdem die Besprechung durchgeführt wurde. + registration_form: Anmeldeformular + registrations_count: + one: Es wurde %{count} registriert. + other: Es gab %{count} Registrierungen. + reserved_slots_help: Belassen Sie es auf 0, wenn Sie keine reservierten Slots haben + reserved_slots_less_than: Muss kleiner oder gleich %{count} + title: Anmeldungen + update: + invalid: Beim Speichern der Registrierungseinstellungen ist ein Problem aufgetreten. + success: Die Registrierungseinstellungen wurden erfolgreich gespeichert. + validate_registration_code: + invalid: Dieser Registrierungscode ist ungültig. + success: Registrierungscode erfolgreich validiert. + admin_log: + invite: + create: "%{user_name} hat %{attendee_name} eingeladen, an der Sitzung %{resource_name} in %{space_name} teilzunehmen" + deleted: "%{user_name} hat die Einladung von %{attendee_name} zur Sitzung %{resource_name} in %{space_name} entfernt" + update: "%{user_name} hat %{attendee_name} eingeladen, an der Sitzung %{resource_name} in %{space_name} teilzunehmen" + meeting: + close: "%{user_name} hat die Sitzung %{resource_name} in %{space_name} geschlossen" + create: "%{user_name} hat die Sitzung %{resource_name} in %{space_name} erstellt" + delete: "%{user_name} hat die Sitzung %{resource_name} aus %{space_name} gelöscht" + export_registrations: "%{user_name} hat die Anmeldungen der Sitzung %{resource_name} in %{space_name} exportiert" + update: "%{user_name} hat die Sitzung %{resource_name} in %{space_name} aktualisiert" + minutes: + create: "%{user_name} hat das Protokoll der Sitzung %{resource_name} in %{space_name} erstellt" + update: "%{user_name} hat das Protokoll der Sitzung %{resource_name} in %{space_name} aktualisiert" + calendar_modal: + calendar_url: Kalender-URL + close_window: Fenster schließen + export_calendar: Kalender exportieren + conference_venues: Tagungsstätten + content_blocks: + upcoming_events: + name: Kommende Veranstaltungen + upcoming_events: Bevorstehende Treffen + view_all_events: Alle ansehen + directory: + meetings: + index: + all: Alle + date: Datum + meetings: Meetings + past: Vergangenheit + search: Suche + space_type: Partizipativer Raum + upcoming: Bevorstehende + last_activity: + meeting_updated_at_html: "Besprechung aktualisiert unter %{link}" + new_meeting_at_html: "Neues Treffen um %{link}" + mailer: + invite_join_meeting_mailer: + invite: + subject: Einladung, an einem Meeting teilzunehmen + registration_mailer: + confirmation: + subject: Die Registrierung Ihrer Konferenz wurde bestätigt + meeting: + not_allowed: Sie dürfen dieses Meeting nicht sehen + meeting_closes: + edit: + back: Zurück + close: Sitzung beenden + title: Sitzung beenden + meetings: + form: + select_a_registration_type: Bitte wählen Sie eine Registrierungsart aus + index: + new_meeting: Nei Versammlung + meeting_minutes: + meeting_minutes: Sitzungsprotokolle + related_information: Zugehörige Informationen + meetings: + no_meetings_warning: Keine Besprechung entspricht Ihren Suchkriterien oder es ist keine Besprechung geplant. + upcoming_meetings_warning: Momentan gibt es keine geplanten Besprechungen, aber hier finden Sie alle aufgelisteten Besprechungen. + new: + back: Zréck + create: Erstellen + title: Ihre Besprechung erstellen + registration_confirm: + cancel: Stornieren + confirm: Bestätegen + show: + attendees: Teilnehmer zählen + back: Zurück zur Liste + close_meeting: Meeting beenden + contributions: Beiträge zählen + date: Datum + edit_meeting: Versammlung bearbeiten + going: Gehen + join: Tritt dem Treffen bei + meeting_report: Gesprächsprotokoll + no_slots_available: Keine Steckplätze verfügbar + organizations: Teilnahme an Organisationen + registration_code_help_text: Ihr Registrierungscode + registration_state: + validated: GÜLTIG + validation_pending: Validierung ausstehend + view: Uweisen + update: + invalid: Beim Aktualisieren der Besprechung ist ein Fehler aufgetreten. + success: Sie haben die Sitzung erfolgreich aktualisiert. + meetings_map: + view_meeting: Besprechung anzeigen + models: + invite: + fields: + email: Email + name: Numm + sent_at: Gesendet um + status: Status + status: + accepted: Akzeptiert (%{at}) + rejected: Zurückgewiesen (%{at}) + sent: Geschéckt + meeting: + fields: + closed: Geschlossen + end_time: Schlussdatum + map: Kaart + official_meeting: Offizielle Besprechung + start_time: Ufanksdatum + title: Titel + resource_links: + proposals_from_meeting: + meeting_proposal: 'Ähnliche Vorschläge:' + proposal_meeting: 'Ähnlech Versammlungen:' + devise: + mailer: + join_meeting: + subject: Einladung, an einem Meeting teilzunehmen diff --git a/decidim-meetings/config/locales/pt.yml b/decidim-meetings/config/locales/pt.yml index 38b63130f95b8..fa4f49428fd49 100644 --- a/decidim-meetings/config/locales/pt.yml +++ b/decidim-meetings/config/locales/pt.yml @@ -21,18 +21,22 @@ pt: end_time: Hora de fim location: Localização location_hints: Dicas de localização + online_meeting_url: URL de reunião on-line organizer_gid: Criar como organizer_id: Organizador private_meeting: Reunião privada registration_form_enabled: Formulário de registo ativado registration_terms: Termos de registo + registration_url: URL de registo registrations_enabled: Registos ativados start_time: Hora de início title: Título transparent: Transparente type_of_meeting: Tipo minutes: + audio_url: URL do áudio description: Descrição + video_url: URL do vídeo visible: Está visível errors: models: @@ -86,8 +90,11 @@ pt: creation_enabled_for_participants: Os participantes podem criar reuniões default_registration_terms: Termos de registo predefinidos enable_pads_creation: Ativar criação de blocos + registration_code_enabled: Código de registo activado resources_permissions_enabled: As permissões de ações podem ser definidas para cada reunião scope_id: Âmbito + scopes_enabled: Âmbitos activados + terms_and_conditions_url_for_meeting_creators: URL dos termos e condições para criadores de reuniões step: announcement: Anúncio comments_blocked: Comentários bloqueados @@ -252,7 +259,14 @@ pt: update: Atualizar form: address_help: 'Endereço: utilizado por Geocoder para encontrar a localização' + available_slots_help: Deixar em 0 se tiver número ilimitado de intervalos de tempo disponíveis + disclaimer: 'Declinação de responsabilidade: Ao usar um registo externo ao sistema fica ao corrente que os organizadores de %{organization} não são responsáveis pelos dados fornecidos pelo utilizador ao serviço externo.' location_help: 'Localização: mensagem direcionada para os utilizadores indicando o local de encontro' + location_hints_help: 'Sugestões de localização: informação adicional. Exemplo: o piso do edifício se for uma reunião presencial, ou a palavra-chave se for uma reunião on-line de acesso restrito.' + online_meeting_url_help: 'Ligação: permitir aos participantes ligarem-se directamente à sua reunião' + registration_url_help: 'Ligação: permitir aos participantes dirigirem-se ao serviço externo que está a usar para os registos' + select_a_meeting_type: Por favor seleccione um tipo de reunião + select_a_registration_type: Por favor seleccione um tipo de registo index: title: Reuniões new: @@ -276,6 +290,7 @@ pt: invalid: Ocorreu um problema ao criar esta ata success: Ata criada corretamente edit: + title: Editar acta update: Atualizar new: create: Criar @@ -383,6 +398,7 @@ pt: all: Todos past: Passado upcoming: Próximas + my_meetings: As minhas reuniões origin: Origem origin_values: all: Todos @@ -394,6 +410,7 @@ pt: type: Tipo type_values: all: Todos + hybrid: Ambos in_person: Presencial online: On-line filters_small_view: @@ -403,9 +420,16 @@ pt: unfold: Desdobrar form: address_help: 'Endereço: utilizado pelo Geocoder para encontrar a localização' + available_slots_help: Deixar em 0 se tiver número ilimitado de intervalos de tempo disponíveis create_as: Criar reunião como + disclaimer: 'Declinação de responsabilidade: Ao usar um registo externo ao sistema fica ao corrente que os organizadores de %{organization} não são responsáveis pelos dados fornecidos pelo utilizador ao serviço externo.' location_help: 'Localização: mensagem direcionada aos utilizadores sugerindo o local onde se encontrarem' + location_hints_help: 'Sugestões de localização: informação adicional. Exemplo: o piso do edifício se for uma reunião presencial, ou a palavra-chave se for uma reunião on-line de acesso restrito.' + online_meeting_url_help: 'Ligação: permitir aos participantes ligarem-se directamente à sua reunião' + registration_url_help: 'Ligação: permitir aos participantes dirigirem-se ao serviço externo que está a usar para os registos' select_a_category: Por favor selecione uma categoria + select_a_meeting_type: Por favor seleccione um tipo de reunião + select_a_registration_type: Por favor seleccione um tipo de registo index: new_meeting: Nova reunião meeting_minutes: @@ -471,6 +495,10 @@ pt: confirmed_html: O seu registo para a reunião %{title} foi confirmado. details: Encontrará os detalhes da reunião no anexo. registration_code: O seu código de registo é %{code}. + registration_type: + on_different_platform: Numa plataforma diferente + on_this_platform: Nesta plataforma + registration_disabled: Registo desactivado registrations: create: invalid: Ocorreu um problema ao aderir a esta reunião. @@ -482,6 +510,8 @@ pt: invalid: Ocorreu um problema ao sair desta reunião. success: Saiu da reunião corretamente. type_of_meeting: + hybrid: Ambos + in_person: Presencial online: On-line types: private_meeting: Reunião privada diff --git a/decidim-pages/config/locales/lb.yml b/decidim-pages/config/locales/lb.yml new file mode 100644 index 0000000000000..fb03b5346d7fe --- /dev/null +++ b/decidim-pages/config/locales/lb.yml @@ -0,0 +1,30 @@ +lb: + activerecord: + models: + decidim/pages/page: + one: Seite + other: Seiten + decidim: + admin_log: + page: + update: "%{user_name} hat die Seite %{resource_name} in %{space_name} aktualisiert" + components: + pages: + name: Seite + settings: + global: + announcement: Ankündigung + step: + announcement: Ankündigung + pages: + admin: + models: + components: + body: Haupttext + pages: + edit: + save: Aktualisieren + title: Seite bearbeiten + update: + invalid: Beim Speichern der Seite sind Fehler aufgetreten. + success: Seite erfolgreich gespeichert diff --git a/decidim-pages/config/locales/pt.yml b/decidim-pages/config/locales/pt.yml index a42f5ac4d54f2..ed6a6b1e1621f 100644 --- a/decidim-pages/config/locales/pt.yml +++ b/decidim-pages/config/locales/pt.yml @@ -7,7 +7,7 @@ pt: decidim: admin_log: page: - update: "%{user_name} atualizou a página %{resource_name} em %{space_name}" + update: "%{user_name} actualizou a página %{resource_name} em %{space_name}" components: pages: name: Página @@ -27,4 +27,4 @@ pt: title: Editar página update: invalid: Ocorreu um problema ao guardar a página. - success: Página guardada corretamente. + success: Pagina guardada com êxito. diff --git a/decidim-participatory_processes/config/locales/lb.yml b/decidim-participatory_processes/config/locales/lb.yml new file mode 100644 index 0000000000000..25ec59dcac5f0 --- /dev/null +++ b/decidim-participatory_processes/config/locales/lb.yml @@ -0,0 +1,324 @@ +lb: + activemodel: + attributes: + participatory_process: + announcement: Ukënnegung + area_id: Bereich + banner_image: Banner-Bild + copy_categories: Kategorien kopieren + copy_components: Komponenten kopieren + copy_steps: Phasen kopieren + decidim_area_id: Bereich + description: Beschreibung + developer_group: Promoter-Gruppe + domain: Domäne + end_date: Enddatum + hashtag: Hashtag + hero_image: Hauptbild + local_area: Organisationsbereich + meta_scope: Bereichs-Metadaten + participatory_process_group_id: Prozessgruppe + participatory_scope: Was wird entschieden + participatory_structure: Wie wird es entschieden + promoted: Hervorgehoben + published_at: Veröffentlicht unter + related_process_ids: Ähnliche Beteiligungsprozesse + scope_id: Themenbereich + scope_type_max_depth_id: Umfang-Filtertiefe + scopes_enabled: Themenbereiche aktiviert + short_description: Kurzbeschreibung + show_metrics: Metriken anzeigen + show_statistics: Statistiken anzeigen + slug: URL-Slug + start_date: Ufanksdatum + subtitle: Ënnertitel + target: Wer nimmt teil + title: Titel + weight: Gewicht + participatory_process_group: + description: Beschreibung + developer_group: Gruppe der Unterstützer + group_url: Website + hashtag: Hashtag + hero_image: Bild + local_area: Organisationsbereich + meta_scope: Informationen zum Bereich + participatory_process_ids: Ähnliche Beteiligungsprozesse + participatory_scope: Was wird entschieden + participatory_structure: Wie wird es entschieden + target: Wer nimmt teil + title: Titel + participatory_process_step: + cta_path: '"Call to Action"-Pfad' + cta_text: Call to Action-Text + description: Beschreibung + end_date: Enddatum + short_description: Kurzbeschreibung + start_date: Ufanksdatum + title: Titel + participatory_process_user_role: + email: Email + name: Numm + role: Rolle + errors: + models: + participatory_process: + attributes: + document: + invalid_document_type: 'Ungültiger Dokumenttyp. Zulässige Formate sind: %{valid_mime_types}' + models: + decidim/participatory_process_step_activated_event: Phase aktiviert + decidim/participatory_process_step_changed_event: Phase geändert + activerecord: + models: + decidim/participatory_process: + one: Bedeelegungsprozess + other: Bedeelegungsprozesser + decidim/participatory_process_group: + one: Prozessgruppe + other: Prozessgruppen + decidim: + admin: + actions: + activate: Aktivieren + configure: Konfigurieren + confirm_destroy: Läsche bestätegen + destroy: Läschen + duplicate: Duplizieren + edit: Editéieren + filter: + all_processes: Alle Beteiligungsprozesse anzeigen + process_groups: Prozessgruppen + import_process: Import + new_process: Neuer Beteiligungsprozess + new_process_group: Neue Prozessgruppe + new_process_step: Neue Phase + new_process_user_role: Neuer Prozess-Administrator + preview: Virausbléck + publish: Verëffentlechen + resend_invitation: Einladung erneut senden + unpublish: Veröffentlichung rückgängig machen + menu: + participatory_process_groups: Prozessgruppen + participatory_process_groups_submenu: + info: Info + landing_page: Startseite + participatory_processes: Beteiligungsprozesse + participatory_processes_submenu: + attachment_collections: Dossieren + attachment_files: Dateien + attachments: Unhäng + categories: Kategorien + components: Komponenten + info: Informatioun + moderations: Moderationen + private_users: Private Benutzer + process_admins: Benutzer verarbeiten + steps: Phasen + models: + participatory_process: + fields: + created_at: Erstallt den + private: Privat + promoted: Highlighted + published: Verëffentlecht + title: Titel + name: Bedeelegungsprozess + participatory_process_group: + fields: + title: Titel + name: Prozessgruppe + participatory_process_step: + fields: + end_date: Enddatum + start_date: Ufanksdatum + title: Titel + name: Beteiligungsprozess Phase + participatory_process_user_role: + fields: + email: E-Mail + name: Numm + role: Rolle + name: Partizipativer Prozessbenutzer + roles: + admin: Administrator + collaborator: Mitarbeiter + moderator: Moderator + valuator: Schätzer + user: + fields: + invitation_accepted_at: Einladung akzeptiert am + invitation_sent_at: Einladung gesendet am + participatory_process_copies: + new: + copy: Kopieren + select: Wählen Sie aus, welche Daten Sie duplizieren möchten + title: Beteiligungsprozess duplizieren + participatory_process_group_landing_page: + edit: + active_content_blocks: Aktive Inhaltsblöcke + inactive_content_blocks: Inaktive Inhaltsblöcke + participatory_process_group_landing_page_content_blocks: + edit: + update: Aktualisieren + participatory_process_groups: + destroy: + error: Beim Löschen der Beteiligungsprozessgruppe ist ein Fehler aufgetreten. + success: Beteiligungsprozess erfolgreich gelöscht. + edit: + title: Prozessgruppe bearbeiten + update: Aktualisieren + new: + create: Erstellen + title: Neue Prozessgruppe + update: + error: Beim Aktualisieren dieser partizipativen Prozessgruppe ist ein Fehler aufgetreten. + success: Partizipative Prozessgruppe wurde erfolgreich aktualisiert. + titles: + participatory_process_groups: Prozessgruppen + participatory_processes: Bedeelegungsprozesser + users: + resend_invitation: + error: Beim erneuten Senden der Einladung ist ein Fehler aufgetreten. + success: Einladung wird erfolgreich erneut gesendet. + admin_log: + participatory_process: + create: "%{user_name} hat den Partizipationsprozess %{resource_name} erstellt" + publish: "%{user_name} hat den Partizipationsprozess %{resource_name} veröffentlicht" + unpublish: "%{user_name} hat den Partizipationsprozess %{resource_name} auf \"unveröffentlicht\" gesetzt" + update: "%{user_name} hat den Partizipationsprozess %{resource_name} aktualisiert" + participatory_process_group: + create: "%{user_name} hat die Partizipationsprozess-Gruppe %{resource_name} erstellt" + update: "%{user_name} hat die Partizipationsprozess-Gruppe %{resource_name} aktualisiert" + participatory_process_step: + activate: "%{user_name} hat den Schritt %{resource_name} in %{space_name} aktiviert" + create: "%{user_name} hat den Schritt %{resource_name} in %{space_name} erstellt" + delete: "%{user_name} hat den Schritt %{resource_name} aus %{space_name} gelöscht" + update: "%{user_name} hat den Schritt %{resource_name} in %{space_name} aktualisiert" + participatory_process_user_role: + create: "%{user_name} lud den Benutzer %{resource_name} zu dem %{space_name} Partizipationsprozess ein" + delete: "%{user_name} entfernte den Benutzer %{resource_name} aus dem %{space_name} Partizipationsprozess" + update: "%{user_name} änderte die Rolle des Benutzers %{resource_name} im %{space_name} Partizipationsprozess" + events: + participatory_process: + role_assigned: + email_intro: Sie wurden als %{role} für den Beteiligungsprozess "%{resource_title}" ausgewählt. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{role} im Beteiligungsprozess "%{resource_title}" sind. + email_subject: Sie wurden als %{role} für "%{resource_title}" ausgewählt. + notification_title: Sie wurden als %{role} für den Beteiligungsprozess %{resource_title} ausgewählt. + step_activated: + email_intro: 'Der Prozessschritt %{resource_title} ist jetzt aktiv in %{participatory_space_title}. Sie können das auf dieser Seite sehen:' + email_outro: Du hues dës Noriicht kritt, well s'du dem %{participatory_space_title} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: Eng Aktualiséierung op %{participatory_space_title} + notification_title: Der Prozessschritt %{resource_title} ist jetzt aktiv in %{participatory_space_title} + step_changed: + email_intro: 'Die Daten für den Schritt %{resource_title} bei %{participatory_space_title} wurden aktualisiert. Sie können das auf dieser Seite sehen:' + email_outro: Du hues dës Noriicht kritt, well s'du dem %{participatory_space_title} nogees. Falls du esou Noriichten net méi wëlls kréien, géi op den Link uewen. + email_subject: Eng Aktualiséierung op %{participatory_space_title} + notification_title: Die Daten für den Prozessschritt %{resource_title} in %{participatory_space_title} wurden aktualisiert. + help: + participatory_spaces: + participatory_processes: + contextual: "

    Ein Partizipationsprozess ist eine Folge von Partizipations-Aktivitäten (z.B. zuerst eine Umfrage ausfüllen, dann Vorschläge machen, diese face-to-face oder an virtuellen Sitzungen diskutieren, und sie schließlich zu priorisieren) mit dem Ziel, ein bestimmtes Thema zu definieren und Entscheidungen dazu zu treffen.

    Beispiele für partizipatorische Prozesse sind: ein Verfahren zur Wahl von Ausschussmitgliedern (bei dem die Kandidaturen zuerst präsentiert und anschließend debattiert werden, und schließlich eine Kandidatur ausgewählt wird), die partizipative Budgets (bei denen Vorschläge gemacht und wirtschaftlich bewertet werden und über das verfügbare Geld abgestimmt wird), ein strategischer Planungsprozess, die gemeinschaftliche Ausarbeitung einer Vorschrift oder Norm, die Gestaltung eines städtischen Raums oder die Erstellung einer öffentlichen Strategie.

    \n" + page: "

    Ein Partizipationsprozess ist eine Folge von Partizipations-Aktivitäten (z.B. zuerst eine Umfrage ausfüllen, dann Vorschläge machen, diese face-to-face oder an virtuellen Sitzungen diskutieren, und sie schließlich zu priorisieren) mit dem Ziel, ein bestimmtes Thema zu definieren und Entscheidungen dazu zu treffen.

    Beispiele für partizipatorische Prozesse sind: ein Verfahren zur Wahl von Ausschussmitgliedern (bei dem die Kandidaturen zuerst präsentiert und anschließend debattiert werden, und schließlich eine Kandidatur ausgewählt wird), die partizipative Budgets (bei denen Vorschläge gemacht und wirtschaftlich bewertet werden und über das verfügbare Geld abgestimmt wird), ein strategischer Planungsprozess, die gemeinschaftliche Ausarbeitung einer Vorschrift oder Norm, die Gestaltung eines städtischen Raums oder die Erstellung einer öffentlichen Strategie.

    \n" + title: Was ist ein partizipativer Prozess? + menu: + processes: Bedeelegungsprozesser + metrics: + participatory_processes: + description: Anzahl der Beteiligungsprozesse in dieser Organisation + object: Bedeelegungsprozesser + title: Bedeelegungsprozesser + participatory_process: + show: + related_assemblies: Ähnliche Versammlungen + participatory_process_groups: + content_blocks: + html_1: + name: Erster HTML-Block + html_2: + name: Zweiter HTML-Block + html_3: + name: Dritter HTML-Block + metadata: + developer_group: Unterstützt von + name: Metadaten + participatory_scope: Was wird entschieden + participatory_structure: Wie wird es entschieden + target: Wer nimmt teil + participatory_processes: + name: Bedeelegungsprozesser + stats: + name: Aktivität + title: + meta_scope: Ëmfang + name: Titel, Beschreibung und Hashtag + show: + title: Prozessgruppen + participatory_processes: + show: + belongs_to_group: Dieser Prozess gehört zu + dates: Daten + developer_group: Promoter-Gruppe + end_date: Endtermin + local_area: Organisationsbereich + participatory_scope: Was wird entschieden + participatory_structure: Wie wird es entschieden + private_space: Dies ist ein privater Prozess + related_processes: Ähnliche Beteiligungsprozesse + scope: Ëmfang + start_date: Ufanksdatum + target: Wer nimmt teil + unspecified: Keine Angabe + statistics: + answers_count: Antworten + comments_count: Bemerkungen + debates_count: Debatten + endorsements_count: Empfehlungen + followers_count: Follower + headline: Aktivität + meetings_count: Meetings + no_stats: Es gibt noch keine Statistiken. + orders_count: Votten + pages_count: Säiten + participants_count: Benotzer + processes_count: Beteiligungsprozesse + projects_count: Projeten + proposals_count: Virschléi + results_count: Resultater + supports_count: Votten + surveys_count: Emfroen + users_count: Benotzer + layouts: + decidim: + participatory_process_groups: + participatory_process_group: + browse: Durchsuchen + browse_resource: Prozessgruppe %{resource_name} durchsuchen + processes_count: 'Bedeelegungsprozesser:' + participatory_process_widgets: + show: + active_step: Aktiv Etapp + take_part: Deelhuelen + participatory_processes: + index: + promoted_processes: Hervorgehobene Beteiligungsprozesse + participatory_process: + active_step: 'Aktuell Etapp' + more_info: Méi Informatiounen + more_info_about: Méi Informatiounen iwert den Prozess %{resource_name} + take_part: Deelhuelen + take_part_in: Deelhuelen um Prozess %{resource_name} + promoted_process: + active_step: 'Aktuell Etapp:' + more_info: Méi Informatiounen + more_info_about: Méi Informatiounen iwert den Prozess %{resource_name} + take_part: Deelhuelen + take_part_in: Deelhuelen um Prozess %{resource_name} + promoted_process_group: + more_info: Méi Informatiounen + process_header_steps: + step: Etapp %{current} vun %{total} + view_steps: Prozessetappen + process_navigation: + process_menu_item: De Prozess diff --git a/decidim-participatory_processes/config/locales/pt.yml b/decidim-participatory_processes/config/locales/pt.yml index 74e1812f11179..c62d5701dcce3 100644 --- a/decidim-participatory_processes/config/locales/pt.yml +++ b/decidim-participatory_processes/config/locales/pt.yml @@ -34,11 +34,15 @@ pt: subtitle: Subtítulo target: Quem participa title: Título + weight: Peso participatory_process_group: description: Descrição - group_url: Sítio Web + developer_group: Grupo promotor + group_url: Sítio web + hashtag: Hashtag hero_image: Imagem local_area: Área de organização + meta_scope: Meta dados do âmbito participatory_process_ids: Processos relacionados participatory_scope: O que é decidido participatory_structure: Como é decidido @@ -157,6 +161,9 @@ pt: edit: active_content_blocks: Blocos de conteúdo activos inactive_content_blocks: Blocos de conteúdo inactivos + participatory_process_group_landing_page_content_blocks: + edit: + update: Actualizar participatory_process_groups: destroy: error: Ocorreu um erro ao destruir o grupo do processo Participativo. @@ -322,7 +329,7 @@ pt: name: Terceiro bloco HTML metadata: developer_group: Promovido por - name: Metadados + name: Meta dados participatory_scope: O que é decidido participatory_structure: Como é decidido target: Quem participa @@ -333,6 +340,9 @@ pt: title: meta_scope: Âmbito name: Título, descrição e hashtag + participatory_processes: + one: 1 processo + other: "%{count} processos" show: title: Grupos do processo participativo participatory_process_steps: @@ -344,13 +354,16 @@ pt: content_blocks: highlighted_processes: max_results: Quantidade máxima de elementos a mostrar + new_import: + accepted_types: + json: JSON participatory_process_copies: form: slug_help: 'Os campos de dados dinâmicos de URL são utilizados para gerar os URL que direcionam para este processo. Apenas aceitam letras, números e traços, devendo começar com uma letra. Exemplo: %{url}' participatory_process_groups: form: - metadata: Metadados - title: Informações gerais + metadata: Meta dados + title: Informação geral visibility: Visibilidade participatory_process_imports: form: diff --git a/decidim-participatory_processes/config/locales/ro-RO.yml b/decidim-participatory_processes/config/locales/ro-RO.yml index 4fa45da6531a2..0d6e143cdb86b 100644 --- a/decidim-participatory_processes/config/locales/ro-RO.yml +++ b/decidim-participatory_processes/config/locales/ro-RO.yml @@ -27,7 +27,7 @@ ro: scope_type_max_depth_id: Adâncimea filtrului de aplicare scopes_enabled: Domeniu de aplicare activat short_description: Descriere scurtă - show_metrics: Arată măsurători + show_metrics: Arată indicatori show_statistics: Arată statistici slug: URL slug start_date: Data de început @@ -68,7 +68,7 @@ ro: invalid_document_type: 'Tip de document invalid. Formatele acceptate sunt: %{valid_mime_types}' models: decidim/participatory_process_step_activated_event: Faza activată - decidim/participatory_process_step_changed_event: Faza schimbată + decidim/participatory_process_step_changed_event: Etapă modificată activerecord: models: decidim/participatory_process: @@ -80,7 +80,7 @@ ro: few: Grupuri participante other: Grupuri participante decidim/participatory_process_step: - one: Faza + one: Etapă few: Faze other: Faze decidim: @@ -98,7 +98,7 @@ ro: import_process: Importă new_process: Proces nou new_process_group: Proces nou de grup - new_process_step: Faza nouă + new_process_step: Etapă nouă new_process_user_role: Administrator nou al procesului preview: Previzualizare publish: Publică @@ -120,7 +120,7 @@ ro: moderations: Moderări private_users: Participanți privați process_admins: Procesează administratori - steps: Faze + steps: Etape models: participatory_process: fields: diff --git a/decidim-proposals/config/locales/fr-CA.yml b/decidim-proposals/config/locales/fr-CA.yml index d59614efe970c..4e63a8d6dec09 100644 --- a/decidim-proposals/config/locales/fr-CA.yml +++ b/decidim-proposals/config/locales/fr-CA.yml @@ -140,7 +140,9 @@ fr-CA: participatory_texts_enabled_readonly: Impossible d'interagir avec ce paramètre s'il y a des propositions existantes. Veuillez créer une nouvelle fonctionnalité `Propositions` si vous voulez activer cette fonctionnalité ou supprimer toutes les propositions importées dans 'Textes participatifs` si vous voulez la désactiver. proposal_answering_enabled: Autoriser la réponse officielle aux propositions proposal_edit_before_minutes: Délai (en minutes) après lequel les auteurs ne peuvent plus modifier leurs propositions + proposal_edit_time: Durée d'édition des propositions proposal_edit_time_choices: + infinite: Autoriser l'édition des propositions pour une durée infinie limited: Autoriser l'édition des propositions durant un délai spécifique proposal_length: Nombre maximum de caractères du corps de la proposition proposal_limit: Limite de proposition par utilisateur diff --git a/decidim-proposals/config/locales/fr.yml b/decidim-proposals/config/locales/fr.yml index 32191bb9bae69..823ec46a1b3a6 100644 --- a/decidim-proposals/config/locales/fr.yml +++ b/decidim-proposals/config/locales/fr.yml @@ -140,7 +140,9 @@ fr: participatory_texts_enabled_readonly: Impossible d'interagir avec ce paramètre s'il y a des propositions existantes. Veuillez créer une nouvelle fonctionnalité `Propositions` si vous voulez activer cette fonctionnalité ou supprimer toutes les propositions importées dans 'Textes participatifs` si vous voulez la désactiver. proposal_answering_enabled: Autoriser la réponse officielle aux propositions proposal_edit_before_minutes: Délai (en minutes) après lequel les auteurs ne peuvent plus modifier leurs propositions + proposal_edit_time: Durée d'édition des propositions proposal_edit_time_choices: + infinite: Autoriser l'édition des propositions pour une durée infinie limited: Autoriser l'édition des propositions durant un délai spécifique proposal_length: Nombre maximum de caractères du corps de la proposition proposal_limit: Limite de proposition par utilisateur diff --git a/decidim-proposals/config/locales/lb.yml b/decidim-proposals/config/locales/lb.yml new file mode 100644 index 0000000000000..18a1b2be6f3c3 --- /dev/null +++ b/decidim-proposals/config/locales/lb.yml @@ -0,0 +1,43 @@ +lb: + activerecord: + models: + decidim/proposals/proposal: + one: Virschlag + other: Virschléi + decidim: + admin: + filters: + proposals: + is_emendation_true: + values: + 'false': Virschléi + components: + proposals: + name: Virschléi + gamification: + badges: + proposals: + name: Virschléi + metrics: + proposals: + title: Virschléi + proposals: + admin: + exports: + proposals: Virschléi + proposals: + index: + title: Virschléi + show: + proposals: Virschléi + application_helper: + filter_type_values: + proposals: Virschléi + content_blocks: + highlighted_proposals: + proposals: Virschléi + proposals: + dynamic_map_instructions: + instructions:

    Sie können den Punkt auf der Karte verschieben.

    Vergessen Sie nicht, vor der Veröffentlichung Ihres Vorschlags auf die Schaltfläche "Position aktualisieren" zu klicken.

    + preview: + update_position: Position aktualisieren diff --git a/decidim-proposals/config/locales/pt.yml b/decidim-proposals/config/locales/pt.yml index f70c3d9e39379..e2de870590a8c 100644 --- a/decidim-proposals/config/locales/pt.yml +++ b/decidim-proposals/config/locales/pt.yml @@ -142,8 +142,8 @@ pt: proposal_edit_before_minutes: As propostas podem ser editadas pelos autores antes que estes minutos passem proposal_edit_time: Edição de proposta proposal_edit_time_choices: - infinite: Permitir editar propostas por um limite de tempo infinito - limited: Permitir edição de propostas dentro dum horizonte temporal + infinite: Permitir editar propostas por um limite de tempo indeterminado + limited: Permitir edição de propostas dentro dum espaço de tempo proposal_length: Comprimento máximo do corpo da proposta proposal_limit: Limite de propostas por utilizador proposal_wizard_step_1_help_text: Texto de ajuda do passo "Criar" do Assistente de Propostas @@ -152,6 +152,7 @@ pt: proposal_wizard_step_4_help_text: Texto de ajuda do passo "Publicar" do Assistente de Propostas resources_permissions_enabled: As permissões de ações podem ser definidas para cada proposta scope_id: Âmbito + scopes_enabled: Âmbitos activados threshold_per_proposal: Limiar por proposta vote_limit: Limite de voto por participante step: @@ -382,8 +383,9 @@ pt: new_import: accepted_mime_types: md: Anotação + odt: ODT bottom_hint: "(Será capaz de pré-visualizar e classificar as secções do documento)" - document_legend: 'Adicionar um documento menor que 2MB, cada secção até 3 níveis de profundidade será introduzida nas propostas. Os formatos suportados são: %{valid_mime_types}' + document_legend: 'Adicionar um documento com menos de 2MB, cada secção até 3 níveis de profundidade será introduzida nas propostas. Os formatos suportados são: %{valid_mime_types}' title: ADICIONAR DOCUMENTO upload_document: Enviar documento publish: @@ -708,6 +710,8 @@ pt: proposals_count: one: "%{count} proposta" other: "%{count} propostas" + dynamic_map_instructions: + instructions:

    Pode mover o ponto no mapa.

    Não se esquece de clicar no botão “Actualizar Posição” antes de publicar a sua proposta.

    edit: add_documents: Documentos add_images: Ficheiro @@ -768,15 +772,18 @@ pt: document_index: Índice de documentos view_index: see_index: Ver o índice + placeholder: + address: 37 Homewood Drive Brownsburg, IN 46112 preview: - announcement_body: A sua porposta foi guardada como rascunho. Precisa de ser publicada para aparecer no site. - announcement_title: A sua proposta ainda não foi publicada + announcement_body: A sua proposta foi guardada como rascunho. Precisa de ser publicada para aparecer no site. + announcement_title: A sua proposta não foi ainda publicada modify: Modificar a proposta proposal_edit_before_minutes: one: Poderá editar esta proposta durante o primeiro minuto após a publicação da mesma. Assim que esta janela de tempo passe, não poderá editar a proposta. other: "Poderá editar esta proposta durante os primeiros %{count} \n minutos após a publicação da mesma. Assim que esta janela de tempo passe, não poderá editar a proposta." publish: Publicar title: Publicar a sua proposta + update_position: Actualizar posição proposal: creation_date: 'Criação: %{date}' view_proposal: Ver proposta diff --git a/decidim-sortitions/config/locales/lb.yml b/decidim-sortitions/config/locales/lb.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-sortitions/config/locales/lb.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-surveys/config/locales/lb.yml b/decidim-surveys/config/locales/lb.yml new file mode 100644 index 0000000000000..89a693854e854 --- /dev/null +++ b/decidim-surveys/config/locales/lb.yml @@ -0,0 +1,66 @@ +lb: + activemodel: + models: + decidim/surveys/closed_survey_event: Umfrage beendet + decidim/surveys/opened_survey_event: Umfrage gestartet + activerecord: + models: + decidim/surveys/survey: + one: Emfro + other: Emfroen + decidim/surveys/survey_answer: + one: Äntwerten + other: Äntwerten + decidim: + components: + surveys: + actions: + answer: Äntwert + name: Emfro + settings: + global: + announcement: Ukënnegung + clean_after_publish: Antworten bei Veröffentlichung des Fragebogens löschen + ends_at: Antworten akzeptiert bis + ends_at_help: Leer lassen für kein bestimmtes Datum + scope_id: Beräich + scopes_enabled: Beräicher aktivéiert + starts_at: Äntwerten akzeptéiert vun + starts_at_help: Leer lassen für kein bestimmtes Datum + step: + allow_answers: Äntwerten erlaben + allow_unregistered: Nicht registrierten Benutzern die Beantwortung des Fragebogens erlauben + allow_unregistered_help: Wenn diese Option aktiviert ist, muss man nicht angemeldet sein, um den Fragebogen zu beantworten. Das kann zu schlechten oder unzuverlässigen Daten führen und ist mehr anfällig für automatisierte Angriffe. Verwenden Sie dies mit Bedacht! + announcement: Ukënnegung + events: + surveys: + survey_closed: + email_intro: Die Umfrage %{resource_title} in %{participatory_space_title} wurde geschlossen. + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Eine Umfrage ist in %{participatory_space_title} + notification_title: Die Umfrage %{resource_title} in %{participatory_space_title} ist beendet. + survey_opened: + email_intro: 'Die Umfrage %{resource_title} in %{participatory_space_title} ist jetzt geöffnet. Sie können auf dieser Seite teilnehmen:' + email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link. + email_subject: Eine neue Umfrage in %{participatory_space_title} + notification_title: Die Umfrage %{resource_title} in %{participatory_space_title} ist jetzt geöffnet. + metrics: + survey_answers: + description: Anzahl der Umfragen, die von den Benutzern beantwortet wurden + object: Antworten auf Umfragen + title: Antworten zu Umfragen + surveys: + admin: + exports: + survey_user_answers: Umfrage Benutzer Antworten + surveys: + update: + invalid: Beim Speichern der Umfrage sind Fehler aufgetreten. + success: Umfrage wurde erfolgreich gespeichert. + last_activity: + new_survey_at_html: "Neue Umfrage bei %{link}" + surveys: + answer: + invalid: Bei der Beantwortung der Umfrage sind Fehler aufgetreten. + spam_detected: Bei der Beantwortung des Fragebogens sind Fehler aufgetreten. Möglicherweise waren Sie zu schnell. Versuchen Sie es vielleicht erneut. + success: Umfrage erfolgreich beantwortet. diff --git a/decidim-surveys/config/locales/pt.yml b/decidim-surveys/config/locales/pt.yml index f91465eefb4bb..dbe55cc063326 100644 --- a/decidim-surveys/config/locales/pt.yml +++ b/decidim-surveys/config/locales/pt.yml @@ -24,6 +24,7 @@ pt: ends_at: Respostas aceites até ends_at_help: Deixar em branco se sem data específica scope_id: Âmbito + scopes_enabled: Âmbitos activados starts_at: Respostas aceites a partir de starts_at_help: Deixar em branco se sem data específica step: diff --git a/decidim-system/config/locales/lb.yml b/decidim-system/config/locales/lb.yml new file mode 100644 index 0000000000000..b1413e8cd3576 --- /dev/null +++ b/decidim-system/config/locales/lb.yml @@ -0,0 +1,8 @@ +lb: + activemodel: + attributes: + oauth_application: + name: Name OAuth-Anwendung + organization_logo: Organisatiounslogo (quadratesch) + organization_name: Organisatioun + organization_url: URL der Organisatioun diff --git a/decidim-system/config/locales/pt.yml b/decidim-system/config/locales/pt.yml index 5c21751f23eb0..4e97991b03ca6 100644 --- a/decidim-system/config/locales/pt.yml +++ b/decidim-system/config/locales/pt.yml @@ -2,9 +2,35 @@ pt: activemodel: attributes: oauth_application: + name: Nome de Aplicativo OAuth + organization_logo: Logótipo da organização (quadrado) organization_name: Organização + organization_url: URL da organização + redirect_uri: URI de redireccionamento organization: + address: SMTP hostname from_email: Endereço de e-mail + from_label: Rótulo + password: Palavra-chave + port: Porta + user_name: Nome de utilizador + organization_file_uploads: + allowed_content_types: + admin: Tipos MIME de administrador + default: Tipos MIME por defeito + allowed_file_extensions: + admin: Extensões de ficheiros de administrador + default: Extensões de ficheiros por defeito + image: Extensões de ficheiros de imagem + maximum_file_size: + avatar: Dimensão de ficheiro de avatar + default: Dimensão de ficheiro por defeito + errors: + models: + oauth_application: + attributes: + redirect_uri: + must_be_ssl: O URI de redireccionamento deve ser um URI SSL decidim: system: actions: @@ -38,6 +64,7 @@ pt: menu: admins: Administradores dashboard: Painel de controlo + oauth_applications: Aplicativos OAuth organizations: Organizações models: admin: @@ -50,12 +77,15 @@ pt: oauth_application: fields: created_at: Criado em + name: Nome do aplicativo OAuth organization_name: Organização + name: Aplicativo OAuth organization: actions: save_and_invite: Criar organização e convidar administrador fields: created_at: Criado em + file_upload_settings: Definições para envio de ficheiro name: Nome omniauth_settings: Configurações Omniauth smtp_settings: Configurações SMTP @@ -63,16 +93,47 @@ pt: oauth_applications: create: error: Houve um problema ao criar este modelo. + success: Aplicativo criado com êxito. + destroy: + error: Houve um problema ao destruir este aplicativo + success: Aplicativo destruído com êxito. + edit: + save: Guardar + title: Editar aplicativo + form: + select_organization: Seleccionar uma organização index: confirm_delete: Tem a certeza que quer eliminar este identificador? + title: Aplicativos OAuth + new: + save: Guardar + title: Nova aplicativo update: error: Houve um problema ao actualizar esta votação + success: Aplicativo actualizado com êxito. organizations: create: error: Ocorreu um problema ao criar uma nova organização. success: Organização criada corretamente. edit: secondary_hosts_hint: Insira cada um deles em uma nova linha + file_upload_settings: + content_types: + admin_hint: Estes tipos MIME são autorizados para a secção de envio dos administradores. Os utilizadores administradores devem estar ao corrente dos riscos ao enviarem alguns formatos de documentos, por isso pode esperar deles serem mais cautelosos com o envio de ficheiros. + default_hint: Estes tipos MIME estão atribuidos a todos os utilizadores por defeito. + intro_html: Adicionou asteriscos como caracteres polivalentes para os tipos MIME, exemplo image/* + title: Tipos MIME permitidos + file_extensions: + admin_hint: Estas extensões de ficheiros não são autorizadas para a secção de envio dos administradores. Os utilizadores administradores devem estar ao corrente dos riscos ao enviarem alguns formatos de documentos, por isso pode esperar deles serem mais cautelosos com o envio de ficheiros. + default_hint: Estas extensões de ficheiro são permitidas a todos os utilizadores por defeito. + image_hint: Estas extensões de ficheiros são permitiras para todo o tipo de envio de imagens + title: Extensões de ficheiros de imagem permitidas + file_sizes: + avatar_hint: Megabytes (MB). Este limite de dimensão é utilizado para o envio de imagens de avatares. + default_hint: Megabytes (MB). Este limite de dimensão é o utilizado por defeito para todos os ficheiros enviados a menos que outro seja especificado. + title: Dimensão máxima de ficheiros + intro: | + Por favor seja especialmente cuidadoso quando considerar alterar estas definições. Quanto menos permitir, melhor. Permitir extensões de ficheiro ou tipos MIME pode expor o sistemas utilizadores a riscos de segurança e também pode afectar a acessibilidade deste sítio web. index: title: Organizações new: @@ -98,7 +159,12 @@ pt: api_key: Chave de API api_secret: Segredo de API smtp_settings: + fieldsets: + sender: Remetente + instructions: + from_label: 'O remetente do email será “nome-sua-organizacao ”. Deixe em branco para usar ‘Endereço de e-mail’ como rótulo' placeholder: + from_email: sua-organizacao@exemplo.org from_label: nome-da-sua-organização update: error: Ocorreu um problema ao atualizar esta organização. diff --git a/decidim-templates/config/locales/lb.yml b/decidim-templates/config/locales/lb.yml new file mode 100644 index 0000000000000..823df018114f4 --- /dev/null +++ b/decidim-templates/config/locales/lb.yml @@ -0,0 +1 @@ +lb: diff --git a/decidim-templates/config/locales/pt.yml b/decidim-templates/config/locales/pt.yml index 988edea189013..7096822bc452b 100644 --- a/decidim-templates/config/locales/pt.yml +++ b/decidim-templates/config/locales/pt.yml @@ -61,7 +61,7 @@ pt: title: Modelos de questionário preview: current_step: Passo %{step} - of_total_steps: De %{total_steps} + of_total_steps: de %{total_steps} tos_agreement: Ao participar aceita as Condições de Serviço template_types: questionnaires: Questionários diff --git a/decidim-verifications/config/locales/lb.yml b/decidim-verifications/config/locales/lb.yml new file mode 100644 index 0000000000000..a86128179c188 --- /dev/null +++ b/decidim-verifications/config/locales/lb.yml @@ -0,0 +1,5 @@ +lb: + activemodel: + attributes: + config: + available_methods: Verfügbar Methoden diff --git a/decidim-verifications/config/locales/pt.yml b/decidim-verifications/config/locales/pt.yml index 7988c4d982948..d05633f919c1d 100644 --- a/decidim-verifications/config/locales/pt.yml +++ b/decidim-verifications/config/locales/pt.yml @@ -48,7 +48,7 @@ pt: admin: csv_census: help: - - Administradores enviam um CSV com os e-mails dos participantes aceites + - Os administradores enviam um CSV com os e-mails dos participantes aceites - Apenas participantes com um e-mail nesse ficheiro CSV podem ser verificados id_documents: help: @@ -86,11 +86,11 @@ pt: no_data_stored: Não há dados armazenados. create: error: Ocorreu um problema ao criar a autorização. - success: Foi autorizado corretamente. + success: Foi autorizado com êxito. unconfirmed: Precisa de confirmar o seu e-mail para se poder autorizar. destroy: error: Ocorreu um problema ao eliminar a autorização. - success: Eliminou a autorização corretamente. + success: Eliminou a autorização com êxito. first_login: actions: another_dummy_authorization_handler: Verificar contra outro exemplo de manipulador de autorização @@ -114,7 +114,7 @@ pt: cancel: Cancelar close: fechar continue: Continuar - info_renew: Caso pretenda atualizar os dados, prossiga com a renovação + info_renew: Caso pretenda actualize os dados, prossiga com a renovaçãoo title: Renovar Verificação skip_verification: Pode ignorar isto por agora e %{link} start_exploring: comece a explorar @@ -123,7 +123,7 @@ pt: census: create: error: Ocorreu um erro ao importar o censo. - success: '%{count} Itens (%{errors} erros) importados corretamente' + success: '%{count} Itens (%{errors} erros) importados com êxito' destroy_all: success: Todos os dados do censo foram eliminados destroy: @@ -144,7 +144,7 @@ pt: authorizations: new: error: Não foi possível verificar a sua conta ou não está no censo da organização. - success: A sua conta foi verificada corretamente. + success: A sua conta foi verificada com êxito. dummy_authorization: extra_explanation: postal_codes: @@ -160,14 +160,14 @@ pt: config: edit: title: Configuração de documentos de identidade - update: Atualizar + update: Actualizar update: error: Ocorreu um problema ao atualizar a configuração. - success: Configuração atualizada corretamente + success: Configuração actualizada com êxito confirmations: create: error: A verificação não corresponde. Por favor tente novamente ou rejeite a verificação para que o participante possa corrigi-la - success: Participante verificado corretamente + success: Participante verificado com êxito new: introduce_user_data: Introduza os dados na fotografia reject: Rejeitar @@ -175,10 +175,10 @@ pt: offline_confirmations: create: error: A verificação não corresponde. Por favor tente novamente ou diga ao participante para alterá-lo - success: Participante verificado corretamente + success: Participante verificado com êxito new: cancel: Cancelar - introduce_user_data: Introduzir o email do participante e os dados do documento + introduce_user_data: Introduzir o e-mail do participante e os dados do documento verify: Verificar pending_authorizations: index: @@ -197,7 +197,7 @@ pt: title: Verifique-se a si próprio utilizando o seu documento de identidade create: error: Ocorreu um problema ao enviar o seu documento - success: Documento enviado corretamente + success: Documento enviado com êxito edit: being_reviewed: Estamos a rever os seus documentos. Será verificado em breve offline: Use a verificação off-line @@ -211,7 +211,7 @@ pt: title: Envie o seu documento de identidade update: error: Ocorreu um problema ao reenviar o seu documento - success: Documento reenviado corretamente + success: Documento reenviado com êxito dni: DNI nie: NIE passport: Passaporte @@ -229,7 +229,7 @@ pt: postages: create: error: Erro ao marcar carta como enviada - success: Carta marcada como enviada corretamente + success: Carta marcada como enviada com êxito authorizations: create: error: Ocorreu um problema com o seu pedido @@ -243,7 +243,7 @@ pt: title: Solicitar o seu código de verificação update: error: O seu código de verificação não corresponde ao nosso. Por favor, verifique novamente a carta que lhe enviámos - success: Parabéns. Foi verificado corretamente + success: Parabéns. Foi verificado com êxito sms: authorizations: create: @@ -262,7 +262,7 @@ pt: title: Solicite o seu código de verificação update: error: O seu código de verificação não corresponde ao nosso. Por favor, verifique novamente o SMS que lhe enviámos. - success: Parabéns. Foi verificado corretamente. + success: Parabéns. Foi verificado com êxito. errors: messages: uppercase_only_letters_numbers: devem ser todas maiúsculas e conter apenas letras e / ou números From a610ad4fe4c4a821e0dc66188bdd6c7fe2998c34 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Mon, 27 Sep 2021 15:49:03 +0200 Subject: [PATCH 59/71] New Crowdin updates (#8348) * New translations en.yml (Turkish) * New translations en.yml (French, Canada) * New translations en.yml (Czech) * New translations en.yml (German) * New translations en.yml (French) * New translations en.yml (Luxembourgish) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Polish) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (French) * New translations en.yml (Basque) * New translations en.yml (French, Canada) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Luxembourgish) * New translations en.yml (Luxembourgish) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) --- decidim-admin/config/locales/eu.yml | 237 ++++++++++++ decidim-assemblies/config/locales/eu.yml | 77 ++++ decidim-blogs/config/locales/eu.yml | 6 + decidim-budgets/config/locales/eu.yml | 149 +++++++ decidim-comments/config/locales/eu.yml | 29 ++ decidim-conferences/config/locales/eu.yml | 2 + decidim-core/config/locales/lb.yml | 362 +++++++++--------- decidim-elections/config/locales/eu.yml | 184 +++++++++ decidim-elections/config/locales/fr-CA.yml | 18 + decidim-elections/config/locales/fr.yml | 18 + decidim-initiatives/config/locales/lb.yml | 2 + decidim-pages/config/locales/pl.yml | 2 +- .../config/locales/cs.yml | 4 +- .../config/locales/de.yml | 4 +- .../config/locales/fr-CA.yml | 4 +- .../config/locales/fr.yml | 4 +- .../config/locales/tr-TR.yml | 4 +- 17 files changed, 914 insertions(+), 192 deletions(-) diff --git a/decidim-admin/config/locales/eu.yml b/decidim-admin/config/locales/eu.yml index 14d4063a82a50..49b9e687baa05 100644 --- a/decidim-admin/config/locales/eu.yml +++ b/decidim-admin/config/locales/eu.yml @@ -177,6 +177,12 @@ eu: success: Ederto! Onartu dituzu Administrazioaren Gaiak eta Baldintzak. actions: accept: Ados nago ondoko gai hauekin + refuse: Ez onartu Administrazio-irizpideak eta baldintzak + title: Onartzen ditut Administrazio-irizpideak eta baldintzak + required_review: + alert: 'Eskatuta: berrikusi gure Administrazio-irizpideak eta baldintzak' + cta: Berrikusi orain. + title: Administrazioaren Irizpideak eta Baldintzak area_types: create: error: Errorea eremu mota berri bat sortzean. @@ -246,6 +252,11 @@ eu: autocomplete: no_results: Ez da emaitzarik aurkitu search_prompt: Idatzi bilaketak gutxienez hiru karaktere + block_user: + new: + action: Blokeatu kontua eta bidali justifikazioa + justification: Justifikazioa + title: Blokeatu erabiltzaile hau %{name} categories: create: error: Errorea gertatu da kategoria hau sortzean. @@ -267,6 +278,7 @@ eu: success: Kategoria zuzen eguneratu da. component_permissions: update: + error: Arazo bat izan da osagai honen baimenak eguneratzean. success: Baimenak behar bezala eguneratu dira. components: create: @@ -287,6 +299,7 @@ eu: headers: actions: Ekintzak name: Osagaiaren izena + scope: Osagaiaren eremua type: Osagai mota new: add: Gehitu osagaia @@ -299,22 +312,68 @@ eu: update: error: Errore bat gertatu da osagaia eguneratzean. success: Osagaia behar bezala eguneratu da. + conflicts: + attempts: Saiakerak + 'false': 'Ez' + managed_user_name: Erabiltzaile kudeatua + solved: Ebatzita + transfer: + email: Helbide elektronikoa + error: Errore bat gertatu da egungo parte-hartzailea transferitzean parte-hartzaile kudeatu bati. + name: Izena + reason: Arrazoia + success: Egungo transferentzia zuzen egin da. + title: Transferentzia + 'true': 'Bai' + user_name: Erabiltzailea dashboard: show: view_more_logs: Ikusi gehiago erregistroak welcome: Ongi etorri Decidim Admin Panelera. exports: export_as: "%{name} honako hau gisa: %{export_format}" + formats: + CSV: CSV + Excel: Excel + FormPDF: PDF + JSON: JSON notice: Zure esportazioa bidean da. Mezu elektroniko bat jasoko duzu bukatutakoan. filters: category_id_eq: label: Kategoria + filter_label: Iragazkia + moderations: + reportable_type_string_eq: + label: Mota officialized_at_null: label: Egoera values: 'false': Officialized 'true': Ez ofiziala + private_space_eq: + label: Pribatua + values: + 'false': Publikoa + 'true': Pribatua + published_at_null: + label: Argitaratu da + values: + 'false': Argitaratu da + 'true': Ez da argitaratu + scope_id_eq: + label: Eremua search_label: Search + search_placeholder: + name_or_nickname_or_email_cont: Bilatu %{collection} helbide elektroniko, izen edo ezizenaren arabera. + reported_id_string_or_reported_content_cont: Bilatu %{collection} eduki edo Id erreportablearen arabera. + title_cont: Bilatu %{collection} tituluaren arabera. + state_eq: + label: Egoera + forms: + file_help: + import: + explanation: 'Jarraibideak artxiborako:' + message_2: CSV artxiboetarako, zutabeen arteko banatzailea puntu eta koma (";") izan behar da help_sections: error: Errore bat gertatu da laguntza-atalak eguneratuz form: @@ -353,6 +412,23 @@ eu: impersonate_existing_managed_user: Ordezkatu "%{name}" erabiltzaile kudeatua impersonate_existing_user: '"%{name}" erabiltzailea ordezkatzen du' impersonate_new_managed_user: Ordezkatu erabiltzaile kudeatu berria + imports: + creators: + proposalcreator: Proposamen-sortzailea + error: Errorea gertatu da inportatzean + help: + proposalcreator: Fitxategiak title/en eta body/en (edo zuk nahiago duzun beste hizkuntza bat, adibidez, title/es eta body/es) zutabe-izenak izan behar ditu. Scope/id eta category/id zutabeak ere onartzen dira. + import_from_file: Inportatu artxibo batetik + invalid_lines: Errorea aurkitu da %{invalid_lines} errekurtso zenbakian + new: + accepted_mime_types: + csv: csv + json: json + actions: + back: Atzera + file_legend: Gehitu prozesatuko den inportazio-artxibo bat. + import: Inportatu + notice: "%{number} %{resource_name} zuzen inportatu da" logs: logs_list: no_logs_yet: Ez dago oraindik erregistroik @@ -376,14 +452,19 @@ eu: help_sections: Laguntza atalak homepage: Hasiera impersonations: impersonations + moderation: Moderazio globalak newsletters: Buletinak participants: Parte-hartzaileak + reported_users: Erabiltzaile erreportatuak scope_types: Esparru motak scopes: Esparruak settings: Ezarpenak static_pages: Orriak user_groups: Erabiltzaile-taldeak users: Erabiltzaileak + metrics: + metrics: + see_more_metrics: Ikusi metrika gehiago models: area: fields: @@ -417,6 +498,7 @@ eu: created_at: Sortze-data progress: ' Aurrerapena ' sent_at: ' Bidalketa-data: ' + sent_to: Hona bidalia subject: Gaia name: Buletina participatory_space_private_user: @@ -429,6 +511,14 @@ eu: fields: name: Izena plural: Anitza + share_token: + fields: + created_at: Noiz sortua + expires_at: Noiz iraungia + last_used_at: Noiz erabilia azkenik + times_used: Erabilitako denbora + token: Sinboloak + user: Nork sortua static_page: fields: created_at: Tan sortua @@ -453,6 +543,26 @@ eu: phone: Telefonoa state: Egoera users_count: Erabiltzaile kopurua + moderated_users: + index: + actions: + block: Blokeatutako erabiltzailea + title: Ekintzak + unblock: Desblokeatu erabiltzailea + unreport: Desegin salaketa + name: Izena + nickname: Ezizena + reason: Arrazoia + reports: Salaketa kopurua + title: Erreportatutako erabiltzaileen zerrenda + report: + reasons: + does_not_belong: Ez da bidezkoa + offensive: Iraingarria + spam: Spam + tabs: + blocked: Blokeatuta + unblocked: Ez blokeatuta moderations: index: title: ' Salaketak' @@ -461,9 +571,29 @@ eu: does_not_belong: Ez du zer ikusirik offensive: Iraingarria spam: Spam + reports: + index: + author: Egilea(k) + callout_html: Eduki bat moderazio-panelean agertzen da erabiltzaile batek (erregistratutako kontu bat duen edozein pertsona izan daiteke) txostena bidaltzen duenean, edukiaren ondoan dagoen %{icon} ikonoan klik eginez. + content_original_language: Jatorrizko edukiaren hizkuntza + participatory_space: Parte hartzeko esparrua + reported_content: Erreportatutako edukia + see_current: Ikusi egungoa + see_original: Ikusi jatorrizkoa + title: Moderazio-txostenak + show: + report_details: Arrazoiaren xehetasunak + report_language: Txostenaren hizkuntza + report_reason: Arrazoia + title: Txostenaren xehetasunak newsletter_templates: index: preview_template: Aurreikusi + title: Buletinerako txantiloiak + use_template: Erabili txantiloi hau + show: + preview: 'Aurrebistaratu txantiloia: %{template_name}' + use_template: Erabili txantiloi hau newsletters: create: error: ' Errorea gertatu da buletin hau sortzean.' @@ -478,21 +608,52 @@ eu: save_and_preview: Gorde eta aurreikusi title: Editatu buletina index: + all: denak + all_users: 'Erabiltzaile guztiak ' + and: 'eta ' confirm_delete: Ziur zaude buletin hau deuseztatu nahi duzula? + followers: 'jarraitzaileak ' + has_been_sent_to: 'Honi bidalia: ' + no_scopes: Eremurik gabe + not_sent: Ez bidalita + participants: 'parte-hartzaileak ' + segmented_to: 'Honentzat zatitua %{subject}: ' + subscribed_count: 'Harpidetuak:' title: Buletinak new: save: Gorde title: Buletin berria select_recipients_to_deliver: + all_spaces: Denak + all_users_help: Bidali albisteen buletina baieztatu duten parte-hartzaile guztiei. confirm_deliver: Ziur zaude buletin hau bidali nahi duzula? Ekintza hau ezin da desegin. deliver: Bidali buletina + followers_help: Bidali albisteen buletina baieztatu duten eta zerrendan aukeratutako edozein eremu jarraitzen duten parte-hartzaile guztiei. + none: Bat ere ez + participants_help: Bidali albisteen buletina baieztatu duten eta zerrendan aukeratutako edozein eremu parte-hartzailetan esku hartu duten parte-hartzaile guztiei. + recipients_count: 'Buletin hau erabiltzaile hauei bidaliko zaie: %{count}.' + scopes_help: Bidali albisteen buletina "Nire interesekoak" konfigurazioan edozein eremu aktibatuta duten parte-hartzaileei. + select_scopes: Iragazi "Nire interesekoak" konfigurazioan edozein eremu aktibatu duten parte-hartzaileentzat. + select_spaces: Hautatu espazioak buletina zatitzeko + select_users: Hautatu zein erabiltzaileri bidali nahi diezun buletina + send_to_all_users: Bidali erabiltzaile guztiei + send_to_followers: Bidali jarraitzaileei + send_to_participants: Bidali parte-hartzaileei + title: Hautatu hartzaileak + warning: "Adi: Jakinarazpen-doikuntzetan “Albiste-buletinak jaso nahi ditut” aktibatu duten parte-hartzaileei baino ez zaie bidaliko buletin hau." + send: + no_recipients: Ez dago hartzailerik hautaketa honetarako show: preview: Aurreikusi + select_recipients_to_deliver: Hautatu hartzaileak subject: Gaia update: error: Errorea gertatu da buletin hau eguneratzean. success: Buletina zuzen eguneratu da. Mesedez, berrikusi bidali baino lehen. officializations: + block: + error: Errorea gertatu da parte-hartzailea blokeatzean + success: Parte-hartzailea zuzen blokeatu da create: success: Erabiltzailea arrakastatsua izan da destroy: @@ -500,6 +661,7 @@ eu: index: actions: Ekintzak badge: Badge + block: Blokeatu Erabiltzailea created_at: Sortua name: izena nickname: Ezizena @@ -507,12 +669,24 @@ eu: officialize: Officialize officialized: Officialized reofficialize: Reofficialize + reports: Txostenak + show_email: Erakutsi korreo elektronikoaren helbidea status: Egoera + unblock: Desblokeatu erabiltzailea unofficialize: Unofficialize new: badge: Ofizializazio xafla officialize: Officialize title: Erabiltzaile ofiziala "%{name}" + show_email_modal: + close_modal: Itxi leihoa + email_address: Korreo elektronikoaren helbidea + full_name: Izen osoa + hidden: ezkutua + show: Erakutsi + unblock: + error: Errorea gertatu da parte-hartzailea desblokeatzean + success: Parte-hartzailea zuzen desblokeatu da organization: edit: title: Editatu erakundea @@ -521,8 +695,10 @@ eu: facebook: Facebook github: GitHub instagram: Instagram + rich_text_editor_in_public_views_help: Testu-eremu batzuetan, parte-hartzaileek HTML etiketa batzuk txertatu ahal izango dituzte testu-editore aberastua erabiliz. social_handlers: Gizarte twitter: Twitter + url: URL youtube: YouTube update: error: Errorea gertatu da erakunde hau eguneratzean. @@ -540,6 +716,7 @@ eu: homepage_highlighted_content_banner_title: Highligted edukien banner images: layout_appearance_title: Editatu itxura diseinua + preview: Aurrebistaratu omnipresent_banner_appearance_title: Editatu omnipresent banner organization_homepage: edit: @@ -556,16 +733,29 @@ eu: error: Errore bat gertatu da erabiltzaile pribatu bat ezabatzen parte hartzaileentzako. success: Partekatze espazioa erabiltzaileen sarbide pribatuan arrakastaz suntsitu da. index: + import_via_csv: Inportatu CSV bidetik title: Partaidetza espazioa erabiltzaile pribatua new: create: Sortu title: Erabiltzaile pribatuaren parte hartzailea. + participatory_space_private_users_csv_imports: + create: + invalid: Errorea gertatu da CSV artxiboa irakurtzean. + success: CSV fitxategia zuzen igo da, eta parte-hartzaileei gonbidapen-mezu elektroniko bat bidaltzen ari gara. Horrek denbora behar du. + new: + explanation: 'Igo zure CSV fitxategia. Bi zutabe izan behar ditu, artxiboaren lehen zutabean eremu parte-hartzailera gehitu nahi dituzun erabiltzaileen posta elektronikoa, eta izena azken zutabean (posta elektronikoa, izena), goibururik gabe. Ez erabili balio ez duten karaktererik erabiltzaile-izenean, hala nola: `<>?%&^*#@()[]=+:;"{}\|`.' + title: Igo zure CSV artxiboa + upload: Kargatu resource_permissions: edit: submit: Bidali title: Editatu baimenak update: success: Baimenak behar bezala eguneratu dira. + resources: + index: + headers: + scope: Eremua scope_types: create: error: Errore bat gertatu da esparru mota berri bat sortzean. @@ -597,6 +787,23 @@ eu: update: error: Errorea gertatu da esparru hau eguneratzean. success: Esparrua zuzen eguneratu da + share_tokens: + actions: + confirm_destroy: Ziur zaude identifikatzaile hau ezabatu nahi duzula? + destroy: Ezabatu + share: Partekatu + destroy: + error: Errore bat gertatu da identifikatzailea ezabatzean. + success: Identifikatzailea zuzen ezabatu da. + share_tokens: + empty: Ez dago identifikatzaile aktiborik + help: Identifikatzaile hauek argitaratu gabeko baliabide hori edozein erabiltzaileri publikoki partekatzeko erabiltzen dira. Errekurtsoa argitaratzean ezkutatuko dira. Egin klik identifikatzailea partekatzeko ikonoan, URL partekagarria bisitatzeko. + title: Partekatu identifikatzaileak + shared: + gallery: + add_images: Gehiru irudiak + delete_image: Ezabatu irudia + gallery_legend: Gehitu irudi-galeria bat (aukerakoa) static_page_topics: create: error: Errore bat gertatu da gai berri bat sortzean. @@ -626,6 +833,7 @@ eu: update: Eguneratu form: none: Bat ere ez + slug_help: 'Erabili ibilbide partzialak, ez URL helbide osoak hemen. Letrak, zenbakiak, gidoiak eta barra diagonalak onartzen ditu, eta letra batez hasi behar du. Adibidea: %{url}' index: last_notable_change: Azken aldaketa nabaria new: @@ -647,10 +855,13 @@ eu: dashboard: Kontrol-panela impersonatable_users: Erabiltzaile erabilgarriak impersonations: Erabiltzaileen kudeaketa + metrics: Metrikak + panel: Administratzailea participants: erabiltzaileak scope_types: Esparru motak scopes: Esparruak static_pages: Orriak + statistics: Jarduera user_groups: Erabiltzaile-taldeak users: Erabiltzaileak user_group: @@ -699,14 +910,29 @@ eu: users_statistics: users_count: admins: Administratzaileak + last_day: Azken eguna + last_month: Azken hila + last_week: Azken astea + no_users_count_statistics_yet: Oraindik ez dago erabiltzaileen zenbaketa-estatistikarik participants: Parte-hartzaileak view_public_page: Ikusi orri publikoa forms: errors: impersonate_user: reason: Arrazoi bat eman behar duzu erabiltzaile ez kudeatzaile bat ordezkatuz + metrics: + blocked_users: + object: erabiltzaileak blokeatuta + title: Erabiltzaileak blokeatuta + reported_users: + object: erabiltzaile erreportatuak + title: Erabiltzaile erreportatuak + user_reports: + object: erabiltzailearen txostenak + title: Erabiltzailearen txostenak moderations: actions: + expand: Zabaldu hidden: ' Ezkutatuta' hide: Ezkutatu not_hidden: Ezkutatu gabe @@ -727,17 +953,28 @@ eu: models: moderation: fields: + created_at: Sortze-data hidden_at: Ezkutatze-data + participatory_space: Parte hartzeko esparrua report_count: Zenbaketa + reportable_id: Id + reportable_type: Mota reported_content_url: Emandako edukiaren URLa reports: Salaketak visit_url: Bisitatu URLa + report: + fields: + details: Arrazoiaren xehetasunak + locale: Hizkuntza + reason: Arrazoia errors: messages: invalid_json: JSON baliogabea layouts: decidim: admin: + global_moderations: + title: Moderazio globalak newsletters: title: Buletinak settings: diff --git a/decidim-assemblies/config/locales/eu.yml b/decidim-assemblies/config/locales/eu.yml index 2949d1f72b401..d233762584d0f 100644 --- a/decidim-assemblies/config/locales/eu.yml +++ b/decidim-assemblies/config/locales/eu.yml @@ -1,6 +1,8 @@ eu: activemodel: attributes: + assemblies_setting: + enable_organization_chart: Gaitu organigrama assembly: area_id: Area assembly_type: Muntatze-mota @@ -64,6 +66,12 @@ eu: email: Emaila name: izena role: Role + errors: + models: + assembly: + attributes: + document: + invalid_document_type: 'Dokumentu-mota baliogabea da. Formatu hauek onartzen dira: %{valid_mime_types}' activerecord: models: decidim/assembly: @@ -78,7 +86,9 @@ eu: decidim: admin: actions: + import_assembly: Inportatu new_assembly: Batzar berria + new_assembly_type: Batzar mota berria assemblies: create: error: Errorea gertatu da batzar berri bat sortzean. @@ -100,14 +110,35 @@ eu: create: error: Errorea gertatu da batzar hau kopiatzean. success: Batzarra zuzen bikoiztu da. + assemblies_settings: + update: + error: Arazo bat gertatu da konfigurazioa eguneratzean. + success: Konfigurazioa zuzen eguneratu da. assemblies_types: + create: + error: Errorea gertatu da batzar mota berri bat sortzean. + success: Batzar mota zuzen sortu da. + destroy: + success: Batzar mota zuzen ezabatu da. new: create: Sortu + title: Batzar mota berria + update: + error: Errore bat gertatu da batzar mota hau eguneratzean. + success: Batzar mota zuzen eguneratu da. assembly_copies: new: copy: Kopiatu select: Aukeratu itzazu kopiatu nahi dituzun datuak title: Kopiatu batzarra + assembly_imports: + create: + error: Errorea gertatu da batzar hau inportatzean. + success: Batzarra zuzen inportatu da. + new: + import: Inportatu + select: Hautatu zein datu inportatu nahi dituzun + title: Inportatu batzarra assembly_members: create: error: Errore bat gertatu da kide bat gehitzea muntaia honetarako. @@ -151,6 +182,7 @@ eu: success: Erabiltzaileari behar bezala eguneratu da muntaia honetarako. menu: assemblies: Biltzarrak + assemblies_settings: Ezarpenak assemblies_submenu: assembly_admins: Batzar erabiltzaileak assembly_members: Bazkideek @@ -162,6 +194,7 @@ eu: info: Informazioa moderations: Moderazioak private_users: Erabiltzaile pribatuak + assemblies_types: Batzar motak models: assemblies_types: fields: @@ -197,8 +230,10 @@ eu: admin: Administrator collaborator: Kolaboratzaile moderator: Moderatzaile + valuator: Ebaluatzailea titles: assemblies: Biltzarrak + assemblies_types: Batzar mota admin_log: assembly: create: "%{user_name} %{resource_name} muntaia sortu zuen" @@ -209,6 +244,14 @@ eu: create: "%{user_name} sortutako %{resource_name} kidea ere %{space_name} muntaia" delete: "%{user_name} kendu %{resource_name} kideetako %{space_name} muntaia" update: "%{user_name} eguneratu %{resource_name} kide %{space_name} muntaia" + assembly_setting: + update: "%{user_name} k batzarren konfigurazioa eguneratu du" + assembly_type: + create: "%{user_name} k %{resource_name} batzar mota sortu zuen" + delete: "%{user_name} k %{resource_name} batzar mota ezabatu zuen" + publish: "%{user_name} k %{resource_name} batzar mota argitaratu zuen" + unpublish: "%{user_name} k %{resource_name} batzar mota desargitaratu zuen" + update: "%{user_name} k %{resource_name} batzar mota eguneratu zuen" assembly_user_role: create: "%{user_name} %{resource_name} gonbidatu %{space_name} muntaira" delete: "%{user_name} erabiltzaileak %{resource_name} %{space_name} muntaia ezabatu du" @@ -232,12 +275,21 @@ eu: social_handlers: Gizarte title: Informazio orokorra visbility: ikusgarritasuna + assemblies_settings: + edit: + update: Eguneratu + form: + title: Batzarren konfigurazioa assemblies_types: form: title: Prozesu partizipatiboen multzoak assembly_copies: form: slug_help: 'URL slugs erabiltzen dira muntatze hau adierazten duten URLak sortzeko. Letrak, zenbakiak eta marratxoak soilik onartzen ditu eta letra batekin hasi behar duzu. Adibidea: %{url}' + assembly_imports: + form: + document_legend: Gehitu dokumentu bat + slug_help: 'URL testu laburrak erabiltzen dira batzar hau aipatzen duten URLak sortzeko. Hizkiak, zenbakiak eta gidoiak onartzen ditu soilik eta hizki batez hasi behar da. Adibidea: %{url}' assembly_members: form: existing_user: Erabiltzaile existentea @@ -255,6 +307,9 @@ eu: content_blocks: highlighted_assemblies: max_results: Erakusteko elementu gehienen kopurua + new_import: + accepted_types: + json: JSON assembly_members: index: members: Bazkideek @@ -274,6 +329,7 @@ eu: others: Beste batzuk public: Publiko filter: + all: Mota guztiak commission: Batzorde consultative_advisory: Aholku / Aholku executive: exekutiboa @@ -290,6 +346,7 @@ eu: home: highlighted_assemblies: active_assemblies: Batzar aktiboak + assemblies_button_title: Lotura batzar guztiak erakusten dituen Batzarren orrialdera see_all_assemblies: Ikusi muntaia guztiak user_profile: member_of: @@ -320,6 +377,7 @@ eu: related_participatory_processes: Partaidetza prozesu erlazionatuak scope: Esparrua social_networks: Sare sozialak + social_networks_title: Partekatu batzar hau hemen target: Nor parte hartzen du statistics: answers_count: Erantzunak @@ -343,6 +401,19 @@ eu: designated_on: Izendatuta index: title: Bazkideek + events: + assemblies: + create_assembly_member: + email_intro: %{resource_name} batzarraren administratzaile batek bere kide bezala gehitu zaitu. + email_outro: Jakinarazpen hau jaso duzu batzar batera gonbidatu zaituztelako. Sartu hemen assembly page laguntza emateko! + email_subject: Gonbidatu zaituzte %{resource_name} batzarraren kidea izatera! + notification_title: Erregistratu zaituzte %{resource_name} batzarraren kide bezala. Sartu hemen batzarraren orrian laguntza emateko! + assembly: + role_assigned: + email_intro: '%{role} rola esleitu dizute "%{resource_title}" batzarrean.' + email_outro: Jakinarazpen hau jaso duzu %{role} rola esleitu dizutelako "%{resource_title}" batzarrean. + email_subject: '%{role} rola esleitu dizute "%{resource_title}" batzarrean.' + notification_title: '%{role} rola esleitu zaizu %{resource_title} batzarrean.' help: participatory_spaces: assemblies: @@ -353,6 +424,8 @@ eu: value_types: assembly_presenter: not_found: 'Ez da muntaia aurkitu datu-basean (ID: %{id})' + assembly_type_presenter: + not_found: 'Batzar mota ez zen aurkitu (ID: %{id}) datu-basean' menu: assemblies: Biltzarrak metrics: @@ -360,6 +433,9 @@ eu: description: Sortutako multzo kopurua object: batzarrak title: Batzar + participatory_processes: + show: + related_assemblies: Erlazionatutako batzarrak errors: messages: cannot_be_blank: ezin da hutsik egon @@ -370,6 +446,7 @@ eu: more_info: Informazio gehiago take_part: Parte hartu index: + children: 'Batzarrak: ' organizational_chart: Organigrama promoted_assemblies: Batzar nabarmenduak reset_chart: Berrezarri diff --git a/decidim-blogs/config/locales/eu.yml b/decidim-blogs/config/locales/eu.yml index 2eb52d90e3db5..94fb8cb936f88 100644 --- a/decidim-blogs/config/locales/eu.yml +++ b/decidim-blogs/config/locales/eu.yml @@ -29,6 +29,7 @@ eu: success: Mezua ondo ezabatu da edit: save: eguneratzearen + title: Editatu argitalpena index: title: Mezuak new: @@ -48,6 +49,8 @@ eu: title: Izenburua posts: show: + back: Itzuli zerrendara + comments: Iruzkinak view: ikusi sidebar_blog: comments: iruzkinak @@ -60,9 +63,12 @@ eu: global: announcement: Anuntzio comments_enabled: Iruzkinak gaituta + comments_max_length: Iruzkinen gehieneko luzera (utzi 0 defektuz konfigurazioa mantendu nahi baduzu) step: announcement: Anuntzio comments_blocked: Iruzkinak blokeatuta + endorsements_blocked: Atxikimenduak blokeatuta + endorsements_enabled: Atxikimenduak gaituta events: blogs: post_created: diff --git a/decidim-budgets/config/locales/eu.yml b/decidim-budgets/config/locales/eu.yml index a7a8a35151d0c..b3b8bb41f03a4 100644 --- a/decidim-budgets/config/locales/eu.yml +++ b/decidim-budgets/config/locales/eu.yml @@ -2,12 +2,17 @@ eu: activemodel: attributes: budget: + decidim_scope_id: Eremua description: Deskribapena + title: Izenburua + total_budget: Aurrekontua guztira project: + budget_amount: Aurrekontuaren zenbatekoa decidim_category_id: Kategoria decidim_scope_id: Esparrua description: Descripción proposal_ids: Honekin lotutako proposamenak + selected: Hautatua inplementatzeko title: Titulua activerecord: models: @@ -22,11 +27,39 @@ eu: confirm_destroy: Ziur zaude proiektu hau ezabatu nahi duzula? destroy: Ezabatu edit: Editatu + edit_projects: Kudeatu proiektuak import: Inportatu proposamenak proiektuetarako + new: '%{name} berria' preview: Aurreikusi title: Ekintzak admin: + budgets: + create: + invalid: Errorea gertatu da proiektu hau sortzean + success: Aurrekontua zuzen sortu da + destroy: + invalid: Errorea gertatu da aurrekontu hau ezabatzean + success: Aurrekontua zuzen ezabatu da + edit: + title: Editatu aurrekontua + update: Eguneratu aurrekontua + index: + finished_orders: Emandako botoak + pending_orders: Emateke dauden botoak + title: Aurrekontuak + users_with_finished_orders: Erabiltzaile hauek botoak emanda + users_with_pending_orders: Erabiltzaile hauek botoak emateke + new: + create: Sortu aurrekontua + title: Aurrekontu berri bat + update: + invalid: Arazoa gertatu da aurrekontu hau eguneratzean + success: Aurrekontua zuzen eguneratu da + exports: + projects: Proiektuak models: + budget: + name: Aurrekontua project: name: Proiektua projects: @@ -41,6 +74,7 @@ eu: index: finished_orders: Bukatutako botoak pending_orders: Zain dauden botoei + selected: Hautatua title: Proiektuak new: create: Sortu @@ -56,26 +90,67 @@ eu: create: Inportatu proposamenak proiektuetarako no_components: Proposamenak proiektuetan inportatzeko espazio parte hartzaile honetan ez dago proposamenrik. select_component: Hautatu osagaia + title: Inportatu proposamenak admin_log: + budget: + create: "%{user_name} k sortu zuen %{resource_name} aurrekontua %{space_name} esparruan" + delete: "%{user_name} k ezabatu zuen %{resource_name} aurrekontua %{space_name} esparruan" + update: "%{user_name} k eguneratu zuen %{resource_name} aurrekontua %{space_name} esparruan" project: create: "%{user_name} %{resource_name} proiektua %{space_name} espazioan sortu zen" delete: "%{user_name} %{resource_name} proiektua %{space_name} espazioan ezabatu da" update: "%{user_name} %{resource_name} proiektuaren %{space_name} espazio eguneratu du" + budget: + view: Ikusi aurrekontuaren proiektu guztiak + budget_information_modal: + back_to: Itzuli hona %{component_name} + close_modal: Itxi modala + continue: Jarraitu + more_information: Informazio gehiago + budgets_list: + cancel_order: + more_than_one: ezabatu zure botoa hemen %{name} eta hasi berriro + only_one: ezabatu zure botoa eta hasi berriro. + finished_message: Amaitu duzu bozkatzeko prozesua. Eskerrik asko parte hartzeagatik! + highlighted_cta: Botoa eman hemen %{name} + if_change_opinion: Iritzia aldatu baduzu, ahal duzu + my_budgets: Nire aurrekontuak + voted_on: Botoa eman duzu hemen %{links} + limit_announcement: + cant_vote: Ezin duzu botoa eman aurrekontu honetan. Saiatu beste aurrekontu batekin. + limit_reached: Badituzu botoak aktibo hemen %{links}. Aurrekontu honetan botoa emateko ezabatu behar duzu zure botoa eta berriro hasi. models: + budget: + fields: + name: Izena + projects_count: Proiektu kopurua + total_budget: Aurrekontua guztira project: fields: title: Titulua + order_summary_mailer: + order_summary: + selected_projects: 'Hautatu dituzun proiektuak hauek dira:' + subject: Botoa eman duzu parte hartzeko esparru honetan %{space_name} + voted_on_space: Botoa eman duzu %{budget_name} aurrekontuan %{space_name} parte hartzeko esparrurako. + voted_on_space_with_scope: Botoa eman duzu %{budget_name} aurrekontuan %{space_name} de %{scope_name} (%{scope_type}) parte hartzeko esparruan. projects: budget_confirm: + are_you_sure: Iritzia aldatzen baduzu, zure botoa alda dezakezu geroago. cancel: Utzi confirm: Baieztatu description: Proiektu hauek hautatu dituzu aurrekontuan sartzeko. title: Baieztatu botoa budget_excess: budget_excess: + description: Proiektu honek gehieneko aurrekontua gainditzen du, eta ezin da gehitu. Nahi baduzu, jada hautatua duzun proiektu bat ezaba dezakezu edo botoa eman zure lehenespenekin bat. title: Aurrekontua gainditu da close: Itxi + description: Proiektu honek gehieneko aurrekontua gainditzen du, eta ezin da gehitu. Nahi baduzu, jada hautatua duzun proiektu bat ezaba dezakezu edo botoa eman zure lehenespenekin bat. ok: Ados + projects_excess: + description: Proiektu honek gehieneko aurrekontua gainditzen du, eta ezin da gehitu. Nahi baduzu, jada hautatua duzun proiektu bat ezaba dezakezu edo botoa eman zure lehenespenekin bat. + title: Gehieneko proiektu kopurua gainditu egin da budget_summary: are_you_sure: Ziur zaude zure botoa ezeztatu nahi duzula? assigned: 'Esleituta:' @@ -83,7 +158,23 @@ eu: checked_out: description: 'Jada bozkatu duzu aurrekonturako. Iritziz aldatu baduzu, ezeztatu hemen: %{cancel_link}.' title: Botoa zuzen bidali da + minimum_projects_rule: + description: Zure aburuz, proiektuetako zeinei esleitu behar diegu aurrekontua? Hautatu gutxienez %{minimum_number} eta bozkatu zure lehentasunen arabera proiektua zehazteko. + instruction: "
  • Hautatu gutxienez nahi dituzun %{minimum_number} proiektu eta bozkatu zure lehentasunen arabera
  • proiektua zehazteko" + projects_rule: + description: Zure ustez, zein proiekturi esleitu beharko genieke aurrekontua? Hautatu %{minimum_number} eta %{maximum_number} arteko proiektuak, eta eman botoa zure lehentasunen arabera aurrekontua zehazteko. + instruction: "
  • Hautatu gutxienez nahi dituzun %{minimum_number} eta %{maximum_number} arteko proiektu eta bozkatu zure lehentasunen arabera
  • proiektua zehazteko" + projects_rule_maximum_only: + description: Zure ustez, zein proiekturi eman beharko genieke aurrekontua? Hautatu %{maximum_number} arte eta eman botoa zure lehentasunen arabera aurrekontua zehazteko. + instruction: "
  • Hautatu %{maximum_number} arte nahi beste proiektu eta eman botoa zure lehentasunen arabera aurrekontua zehazteko
  • " + rules: + title: Aurrekontuaren arauak title: Zure esku dago aurrekontua erabakitzea + total_budget: Aurrekontua guztira + total_projects: Botoak guztira + vote_threshold_percent_rule: + description: Zure ustez, zein proiekturi eman beharko genieke aurrekontua? Hautatu %{minimum_budget} arte eta eman botoa zure lehentasunen arabera aurrekontua zehazteko. + instruction: "
  • Hautatu %{minimum_budget} arte nahi beste proiektu eta eman botoa zure lehentasunen arabera aurrekontua zehazteko
  • " count: projects_count: one: Proiektu bat @@ -92,6 +183,11 @@ eu: category: Kategoria scope: Esparrua search: Bilatu + status: Egoera + status_values: + all: Denak + not_selected: Ez hautatua + selected: Hautatua filters_small_view: close_modal: Itxi leihoa filter: Iragazi @@ -105,8 +201,25 @@ eu: one: hautatutako proiektua other: hautatutako proiektuak view: Ikusi + orders: + highest_cost: Kostu handiena + label: Antolatu proiektuak honen arabera + lowest_cost: Kostu txikiena + most_voted: Bozkatuenak + random: Ausazko ordena + selected: Hautatua project: + add: Gehitu %{resource_name} proiektua zure botoari + remove: Ezabatu %{resource_name} proiektua zure bototik + selected: Hautatua view: ikusi + you_voted: Hau bozkatu duzu + project_budget_button: + add: Gehitu zure botoari + add_descriptive: Gehitu %{resource_name} proiektua zure botoari + added: Gehituta zure botoari + added_descriptive: '%{resource_name} proiektua zure botoari gehitu zaio' + projects_for: '%{name} ren prozesuak' show: budget: Aurrekontua view_all_projects: Ikusi proiektu guztiak @@ -119,15 +232,51 @@ eu: global: announcement: Anuntzio comments_enabled: Iruzkinak gaituta + comments_max_length: Iruzkinen gehieneko luzera (uzti 0 defektuz konfigurazioa mantendu nahi baduzu) + form: + errors: + budget_voting_rule_only_one: Gutxienez arau bat aktibatu behar da bozketarako + budget_voting_rule_required: Arau bat behar da bozketarako + landing_page_content: Aurrekontuen hasierako orria + more_information_modal: '"Informazio gehiago"ren modala' projects_per_page: Orrialde bakoitzeko proiektuak + resources_permissions_enabled: Ekintza-baimenak ezarri ahal dira proiektu bakoitzerako + scope_id: Eremua + scopes_enabled: Eremuak gaituta + title: Izenburua total_budget: Aurrekontu osoa + vote_minimum_budget_projects_number: Bozkatzeko gutxieneko proiektu kopurua + vote_rule_minimum_budget_projects_enabled: 'Aktibatu araua: Bozkatzeko gutxieneko proiektu kopurua' + vote_rule_selected_projects_enabled: 'Gaitu araua: hautatutako proiektuak gutxieneko eta gehieneko proiektu kopurua bozkatzeko' + vote_rule_threshold_percent_enabled: 'Aktibatu araua: aurrekontuaren gutxieneko ehunekoa' + vote_selected_projects_maximum: Gehieneko proiektu kopurua hautatzeko + vote_selected_projects_minimum: Gutxieneko proiektu kopurua hautatzeko vote_threshold_percent: Votuen ehuneko atalasea + workflow: Lan-fluxua + workflow_choices: + all: 'Bozkatu guztietan: utzi parte-hartzaileei aurrekontu guztietan botoa ematen.' + one: 'Bozkatu batean: utzi parte-hartzaileei edozein aurrekontutan botoa ematen, baina batean baino ez.' step: announcement: Anuntzio comments_blocked: Iruzkinak blokeatuta + highlighted_heading: Goiburu nabarmendua + landing_page_content: Aurrekontuen hasierako orrialdea + list_heading: Zerrendaren izenburua + more_information_modal: '"Informazio gehiago"ren modala' show_votes: Erakutsi botoak + title: Izenburua + votes: Bozketa votes_choices: + disabled: Bozketa desgaituta enabled: Botoak gaituta + finished: Bozketa amaituta + events: + budgets: + budget_published: + email_intro: '%{resource_title} urratsa aktibo dago %{participatory_space_title} rako. Orrialde honetatik ikus dezakezu:' + email_outro: Jakinarazpen hau jaso duzu %{participatory_space_title} jarraitzen ari zarelako. Jakinarazpenak jasotzeari utzi ahal diozu aurreko lotura jarraituz. + email_subject: '%{resource_title} osagaia orain aktibo dago %{participatory_space_title} rentzat.' + notification_title: %{resource_title} aurrekontua aktibo dago hemen %{participatory_space_title}. orders: checkout: error: Errorea gertatu da zure botoa prozesatzean diff --git a/decidim-comments/config/locales/eu.yml b/decidim-comments/config/locales/eu.yml index 62569d36e7ead..8a628963079b1 100644 --- a/decidim-comments/config/locales/eu.yml +++ b/decidim-comments/config/locales/eu.yml @@ -16,8 +16,14 @@ eu: other: Botoak decidim: comments: + comments: + create: + error: Arazoa gertatu da iruzkina sortzean. + comments_count: Iruzkin kopurua + comments_title: Iruzkinak last_activity: new_comment_at_html: "Iruzkin berria %{link}" + view: Bistaratu votes: create: error: Erroreak gertatu dira iruzkina bozkatzean. @@ -42,6 +48,7 @@ eu: against: Aurka in_favor: Alde deleted_user: Erabiltzaile ezabatua + hide_replies: Ezkutatu erantzunak reply: Erantzuna report: action: Salatu @@ -53,6 +60,8 @@ eu: does_not_belong: Bertan badago legez kontrako jardunik, suizidio-mehatxurik, informazio pertsonalik edo beste zernahi, zure ustez %{organization_name}-ri ez dagokionik. offensive: Ertan badago arrazakeriarik, sexismorik, irainik, eraso pertsonalik, heriotza-mehatxurik, suizidio-eskaerarik edo beste edozein eratako gorroto-diskurtsorik. spam: Bertan badago clickbait-ik, publizitaterik edo iruzurrik. + title: Jakinarazi eduki desegokia + show_replies: Erakutsi %{replies_count} erantzun comment_order_selector: order: best_rated: Balorazio hoberenak @@ -65,7 +74,13 @@ eu: comments: blocked_comments_for_user_warning: Oraindik ez duzu iruzkinik egin, baina aurrekoak irakurri ditzakezu. blocked_comments_warning: Iruzkinak desgaituta daude une honetan, baina aurrekoak irakur ditzakezu. + comment_details_title: Iruzkinaren xehetasunak loading: Iruzkinak kargatzen... + single_comment_warning_title: Iruzkin bakar bat ikusten ari zara + down_vote_button: + text: Ez nago ados iruzkin honekin + up_vote_button: + text: Ados nago iruzkin honekin events: comments: comment_by_followed_user: @@ -74,6 +89,8 @@ eu: email_subject: '%{author_name} %{resource_title} iruzkin berri bat dago' notification_title: %{author_name} %{author_nickname} %{resource_title} iruzkin berri bat dago. comment_by_followed_user_group: + email_intro: '%{author_name} k iruzkin bat utzi du hemen %{resource_title}. Orrialde honetan irakur dezakezu:' + email_outro: Jakinarazpena jaso duzu "%{author_name}" jarraitzen ari zarelako. Jarraitzeari utzi ahal diozu bere perfileko orrialdetik. email_subject: '%{author_name} %{resource_title} iruzkin berri bat dago' notification_title: %{author_name} %{author_nickname} %{resource_title} iruzkin berri bat dago. comment_created: @@ -81,11 +98,23 @@ eu: email_outro: Jakinarazpen hau jaso duzu "%{resource_title}" edo bere egilea jarraitzen duzulako. Aurreko esteka estekan jarrai dezakezu. email_subject: '%{author_name} (r) en %{resource_title} iruzkin berri bat dago' notification_title: %{author_name} %{author_nickname} %{resource_title} iruzkin berri bat dago + comment_downvoted: + email_intro: Zure iruzkina hemen "%{resource_title}" negatiboki bozkatu da. Orain %{upvotes} boto positibo eta %{downvotes} boto negatibo dituzu guztira. + email_outro: Jakinarazpen hau jaso duzu iruzkin honen egilea zarelako. + email_subject: Zure iruzkina hemen "%{resource_title}" negatiboki bozkatu da. + notification_title: Zure iruzkina comentario hemen "%{resource_title}" negatiboki bozkatu da. Orain guztira %{upvotes} boto positibo eta %{downvotes} boto negatibo dituzu. + comment_upvoted: + email_intro: Zure iruzkina hemen "%{resource_title}" positiboki bozkatu da. Orain guztira %{upvotes} boto positibo eta %{downvotes} boto negatibo dituzu. + email_outro: Jakinarazpen hau jaso duzu iruzkin honen egilea zarelako. + email_subject: Zure iruzkina hemen "%{resource_title}" positiboki bozkatu da. + notification_title: Zure iruzkina hemen comentario en "%{resource_title}" positiboki bozkatu da. Orain guztira %{upvotes} botos positibo eta %{downvotes} boto negatibo dituzu. reply_created: email_intro: "%{author_name} zure iruzkina erantzun du %{resource_title}zenbakian. Orri honetan irakur dezakezu:" email_outro: Jakinarazpen hau jaso duzu zure iruzkina erantzun delako. email_subject: "%{author_name} zure iruzkina erantzun du %{resource_title} zenbakian" notification_title: %{author_name} %{author_nickname} -k zure iruzkinari erantzun dio %{resource_title} + user_group_mentioned: + email_intro: Zu barne zauden talde bat aipatu da user_mentioned: email_intro: Esan zaizu email_outro: Jakinarazpena jaso duzu %{resource_title} delakoan aipatu duzulako. diff --git a/decidim-conferences/config/locales/eu.yml b/decidim-conferences/config/locales/eu.yml index 357f0c7a652eb..a3c1fb3b9bce5 100644 --- a/decidim-conferences/config/locales/eu.yml +++ b/decidim-conferences/config/locales/eu.yml @@ -23,10 +23,12 @@ eu: slug: URL slug title: Izenburua conference_media_link: + title: Izenburua weight: pisu conference_partner: weight: pisu conference_registration_type: + title: Izenburua weight: pisu conference_speaker: full_name: Izen osoa diff --git a/decidim-core/config/locales/lb.yml b/decidim-core/config/locales/lb.yml index ba4aad5a7380b..da98bfaf16f3e 100644 --- a/decidim-core/config/locales/lb.yml +++ b/decidim-core/config/locales/lb.yml @@ -1271,56 +1271,56 @@ lb: select_user_group: Wiel e Grupp results_per_page: label: 'Ergebnisser pro Säit:' - title: Anzahl der Ergebnisse pro Seite auswählen + title: Wiel d'Unzuel vun de Resultater pro Säit share_modal: close_window: Fenster schließen - share: Teilen - share_link: Link teilen + share: Deelen + share_link: Link deelen tags: - filter_results_for_category: 'Ergebnisse nach Kategorie filtern: %{resource}' - filter_results_for_scope: 'Ergebnisse nach Anwendungsbereich filtern: %{resource}' + filter_results_for_category: 'Resultater no Kategorie filteren: %{resource}' + filter_results_for_scope: 'Resultater no Uwendungsberäich filteren: %{resource}' translation_bar: - help_text: "Warnung: Inhalt könnte automatisch übersetzt werden und nicht 100% korrekt sein." - show_original: Originaltext anzeigen - show_translated: Automatisch übersetzter Text anzeigen + help_text: "Warnung: Inhalt kéint automatesch iwwersetzt sinn an net 100% korrekt sinn." + show_original: Originaltext weisen + show_translated: Automatesch iwwersaten Text uweisen user_activity: index: - no_activities_warning: Dieser Benutzer hat noch keine Aktivität gehabt. - user_contact_disabled: Dieser Teilnehmer akzeptiert keine Direktnachrichten. + no_activities_warning: Dësen Benotzer huet bis elo nach keng Aktivitéit. + user_contact_disabled: Dësen Teilnehmer refuséiert direkt Noriichten. user_conversations: create: - error: Die Nachricht konnte nicht erstellt werden. Versuchen Sie es später nochmal - existing_error: Die Nachricht konnte nicht erstellt werden. Die Unterhaltung besteht bereits, versuchen Sie es noch einmal. - success: Unterhaltung erfolgreich gestartet! + error: Dës Noriicht konnt net erstallt ginn. Probéier mi spéit nach eng Kéier + existing_error: Dës Noriicht konnt net erstallt ginn. D'Konversatioun besteet schon, probéier elo nach eng Kéier. + success: Konversatioun gestart! index: - add_max_users: 'Fügen Sie der Unterhaltung Benutzer hinzu: max. 9 Benutzer' - add_users_placeholder: Suche... - close: Schließen - conversations_info: Unterhaltungen sind privat, niemand sonst kann sie anzeigen. Eine Unterhaltung kann von jedem auf der Plattform registrierten Teilnehmer oder jeder Gruppe gestartet werden. - from: Von - last_message: Letzte Nachricht - modal_title: Neue Unterhaltung - new_conversation: Neue Unterhaltung - next: Weiter - no_conversations_warning: Es gibt noch keine Unterhaltungen. - no_results: Keine Ergebnisse - participant_with_disabled_message_reception: Dieser Teilnehmer hat Nachrichten deaktiviert - time_ago: "Vor %{time}" + add_max_users: 'Setz denger Konversatioun nei Teilnehmer bäi: max. 9 Teilnehmer' + add_users_placeholder: Sich... + close: Zoumaachen + conversations_info: Konversatiounen sinn privat, keen aneren kann se gesinn. Eng Konversatioun kann vun all registréierten Benotzer op der Plattform oder all Grupp ugefaange ginn. + from: Vum + last_message: Lescht Noriicht + modal_title: Nei Konversatioun + new_conversation: Nei Konversatioun + next: Weider + no_conversations_warning: Et gëtt nach keng Konversatiounen. + no_results: Keng Resultater + participant_with_disabled_message_reception: Dësen Teilnehmer huet Noriichten desaktivéiert + time_ago: "Virun %{time}" new: - title: Eine Unterhaltung beginnen + title: Eng Konversatioun ufänken reply: - placeholder: Ihre Antwort... + placeholder: Deng Äntwert... send: Senden - title_reply: Antworten + title_reply: Äntweren show: - not_allowed: Dieser Benutzer akzeptiert keine Direktnachrichten mehr. - title: Unterhaltung mit %{usernames} + not_allowed: Dësen Benotzer akzeptéiert keng direkt Noriichten méi. + title: Konversatioun mat %{usernames} update: - error: Nachricht wurde nicht gesendet. Versuchen Sie es später noch einmal + error: Noriicht gouf net geschéckt. Probéier méi spéit nach eng Kéier user_interests: show: - my_interests: Meine Interessen - no_scopes: Diese Organisation hat noch keinen Spielraum! + my_interests: Meng Interessen + no_scopes: Dës Organisatioun huet nach keen Beräich! select_your_interests: Wiel Themen, déi dech interesséieren fir entspriechend Evenementer op denger Profil-Timeline ze kréien. update_my_interests: Interessen aktualiséieren update: @@ -1353,121 +1353,121 @@ lb: version: Versioun Nummer %{number} versions_list: show: - back_to_resource: Zurück - changes_at_title: Änderungen an „%{title}“ - number_of_versions: Versionen - title: Versionen + back_to_resource: Zréck goen + changes_at_title: Ännerungen beim %{title} + number_of_versions: Versiounen + title: Versiounen versions_list_item: show: - version_index: Version %{index} + version_index: Versioun %{index} welcome_notification: - default_body:

    Hallo {{name}}, Dank für die Verbindung {{organization}} und willkommen!

    • Wenn Sie sich schnell ein Bild machen möchten, was Sie hier tun können, sehen Sie sich den Abschnitt Hilfe .
    • Sobald Sie es gelesen haben, erhalten Sie Ihr erstes Abzeichen. Hier ist eine Liste aller Abzeichen Sie erhalten können, wenn Sie an {{organization}}
    • teilnehmen. Schließen Sie sich anderen Personen an, und teilen Sie mit ihnen die Erfahrung, an {{organization}}teilzunehmen. Machen Sie Vorschläge, kommentieren Sie, diskutieren Sie, wie Sie einen Beitrag zum Gemeinwohl leisten können, geben Sie Argumente an, die überzeugen, zuhören und lesen, um überzeugt zu sein, drücken Sie Ihre Ideen konkret und direkt aus, reagieren Sie mit Geduld und Entscheidung, verteidigen Sie Ihre Ideen und halten Sie sie Offenheit, um zusammenzuarbeiten und sich den Ideen anderer anzuschließen.
    - default_subject: Danke, dass du {{organization}}beigetreten {{organization}}! + default_body:

    Moien {{name}}, Merci fir d'Bäitrieden {{organization}} wëllkomm!

    • Fir der séier en Androck ze verschafen wat mir hei maachen, kuck den Abschnitt Hilfe.
    • Wann s'de dat gelies hues, kriss de däin 1. Ofzeechen. Hei ass eng Lëscht vun all den OfzeechenListe aller Abzeichen déi s'du beim Matmaachen bei {{organization}}
    • kanns kréien. Schléiss dech den aneren Persounen un, an deel mat hinnen deng Erfahrung, wéi et ass bei {{organization}} mat ze maachen. Maach Virschléi, kommentéier, diskutéier, wéi een en Beitrag zum Wuel vun en All kann leeschten. Gëff Argumenter un, déi iwwerzeegen, lauschter no an lies, fir der eng Iwwerzeegung ze ginn, dréck deng Iddien konkret an direkt aus, reagéier mat Gedold an Determinatioun, verdeedeg deng Iddien an bleif oppen, fir Zesummenaarbecht an den Zesummeschloss mat den anren an hiren Iddien vun aneren.
    + default_subject: Merci, dass du {{organization}} bäigetrueden bass {{organization}}! wizard_step_form: wizard_aside: - back: Zurück + back: Zréck wizard_header: - see_steps: siehe Schritte - step_of: Schritt %{current_step} von %{total_steps} + see_steps: Schrëtter ukucken + step_of: Schrëtt %{current_step} vun %{total_steps} devise: confirmations: - confirmed: Ihre E-Mail-Adresse wurde erfolgreich bestätigt. + confirmed: Deng Email-Adress gouf confirméiert. new: - resend_confirmation_instructions: Bestätigungsanweisungen erneut senden - send_instructions: Sie erhalten eine E-Mail mit Anweisungen zur Bestätigung Ihrer E-Mail-Adresse in wenigen Minuten. - send_paranoid_instructions: Wenn Ihre E-Mail-Adresse in unserer Datenbank vorhanden ist, erhalten Sie innerhalb weniger Minuten eine E-Mail mit Anweisungen zur Bestätigung Ihrer E-Mail-Adresse. + resend_confirmation_instructions: Instruktiounen fir d'Bestätegung op en Neits ufroen + send_instructions: Du kriss bannent e puer Minutten en Email mat den Instruktiounen fir deng Email-Adress ze confirméieren. + send_paranoid_instructions: Wann deng Email-Adresse an eisen Donnéeën gespäichert ass, kriss du bannent e puer Minutten en Email mat Instruktiounen fir deng Email-Adress ze confirméieren. failure: - already_authenticated: Sie sind bereits angemeldet. - inactive: Dein Benutzerkonto ist noch nicht aktiviert. - invalid: Ungültige %{authentication_keys} oder Passwort. - invited: Sie haben eine ausstehende Einladung, akzeptieren Sie sie, um die Erstellung Ihres Kontos abzuschließen. - last_attempt: Sie haben noch einen Versuch, bevor Ihr Konto gesperrt ist. - locked: Dein Konto ist gesperrt. - not_found_in_database: Ungültige %{authentication_keys} oder Passwort. - timeout: Ihre Sitzung ist abgelaufen. Bitte logge dich erneut ein, um fortzufahren. - unauthenticated: Sie müssen sich anmelden oder registrieren, bevor Sie fortfahren. + already_authenticated: Du bass schonn ageloggt. + inactive: Däin Konto ass nach net aktivéiert. + invalid: Ongülteg %{authentication_keys} oder Passwuert. + invited: Du hues eng Invitatioun ustoen, huel déi un fir d'Erstellen vun deng Kont ofzeschléissen. + last_attempt: Du hues nach een Essai, éier däin Kont gespaart gëtt. + locked: Däin Kont ass gespaart. + not_found_in_database: Ongülteg %{authentication_keys} oder Passwuert. + timeout: Deng Sëtzung ass ofgelaf. Mell dech w. e. g. op en Neits un, fir weider ze maachen. + unauthenticated: Du muss dech umellen oder registréieren, éier s'de weider kanns maachen. invitations: edit: - header: Beenden Sie die Erstellung Ihres Kontos - nickname_help: Ihre eindeutige Id in %{organization}. - submit_button: Speichern - subtitle: Wenn Sie die Einladung annehmen, geben Sie bitte Ihren Benutzernamen und Ihr Passwort ein. - invitation_removed: Ihre Einladung wurde entfernt. - invitation_token_invalid: Das angegebene Einladungstoken ist nicht gültig! + header: D'Erstellen vun dengem Kont ass fäerdeg + nickname_help: Däin Pseudonym %{organization}. + submit_button: Späicheren + subtitle: Gëff w. e. g. däin Pseudonym an däin Passwuert an, fir dës Invitatioun unzehuelen. + invitation_removed: Deng Invitatioun gouf geläscht. + invitation_token_invalid: Den Token fir Invitatioun ass ongülteg! new: - header: Einladung senden - submit_button: Eine Einladung schicken - no_invitations_remaining: Keine Einladungen übrig - send_instructions: Eine Einladungs-E-Mail wurde an %{email}gesendet. - updated: Ihr Passwort wurde erfolgreich vergeben. Sie sind jetzt angemeldet. - updated_not_active: Ihr Passwort wurde erfolgreich vergeben. + header: Invitatioun verschécken + submit_button: Eng Invitatioun verschécken + no_invitations_remaining: Keng Invitatiounen iwwreg + send_instructions: Eng Invitatiouns-Email gouf un %{email} geschéckt. + updated: Däin Passwuert gouf dir attribuéiert. Du bass elo registréiert. + updated_not_active: Däin Passwuert gouf dir attribuéiert. mailer: confirmation_instructions: - action: Bestätige mein Konto - greeting: Willkommen %{recipient}! - instruction: 'Sie können Ihre Konto-E-Mail über den folgenden Link bestätigen:' - subject: Bestätigungsanweisungen + action: Kont bestätegen + greeting: Wëllkomm %{recipient}! + instruction: 'Du kanns deng Mail-Adress iwwer dëse Link bestätegen:' + subject: Instruktiounen fir d'Bestätegung ufroen email_changed: - greeting: Hallo %{recipient}! - message: Wir setzen uns mit Ihnen in Verbindung, um Sie darüber zu informieren, dass Ihre E-Mail-Adresse auf %{email}geändert wird. - subject: E-Mail geändert + greeting: Moien %{recipient}! + message: Mir soen der heimat Bescheed, dass deng Email-Adress op %{email} geännert gëtt. + subject: Email geännert invitation_instructions: - accept: Die Einladung annehmen - accept_until: Diese Einladung wird in %{due_date}fällig. - decline: Einladung ablehnen - hello: Hallo %{email}, + accept: Invitatioun unhuelen + accept_until: Dës Invitatioun gëtt %{due_date} fälleg. + decline: Invitatioun refuséieren + hello: Moien %{email}, ignore: |- - Wenn Sie die Einladung nicht annehmen möchten, ignorieren Sie diese E-Mail.
    - Ihr Konto wird erst erstellt, wenn Sie auf den obigen Link zugreifen und Ihren Benutzernamen und Ihr Passwort festlegen. - invited_you_as_admin: "%{invited_by} hat dich als Admin von %{application}eingeladen. Sie können es über den folgenden Link akzeptieren." - invited_you_as_private_user: "%{invited_by} hat dich als privaten Benutzer von %{application}eingeladen. Sie können es über den folgenden Link akzeptieren." - someone_invited_you: Jemand hat dich zu %{application}eingeladen. Sie können es über den folgenden Link akzeptieren. - someone_invited_you_as_admin: Jemand hat dich als Admin von %{application}eingeladen, du kannst es über den untenstehenden Link akzeptieren. + Ignoréier dësen Email, wann s'du d'Invitatioun net unhuelen wëlls.
    + De Kont gëtt réischt erstallt, wann s'du op de Link uewen gees an en Pseudonym an Passwuert festgeluecht hues. + invited_you_as_admin: "%{invited_by} huet dech als Admin vun %{application} aglueden. Du kanns se unhuelen andeems op den Link ënnen gees." + invited_you_as_private_user: "%{invited_by} huet dech als privaten Teilnehmer vun %{application} agelueden. Du déi kanns iwwer den folgenden Link unhuelen." + someone_invited_you: Et huet een dech fir d' %{application} agelueden. Du kanns dat unhuelen andeems du op op den Link ënnen gees. + someone_invited_you_as_admin: Et huet een dech als Admin op %{application} agelueden, du kanns dat iwwer den Link ënnen unhuelen. someone_invited_you_as_private_user: Jemand hat dich als private_user von %{application}eingeladen, du kannst es über den folgenden Link akzeptieren. - subject: Anweisungen zur Einladung + subject: Instruktiounen fir d'Invitatioun invite_admin: - subject: Du wurdest eingeladen, %{organization} zu verwalten + subject: Du gouf s'agelueden, %{organization} ze verwalten invite_collaborator: - subject: Du wurdest eingeladen, an %{organization} + subject: Du goufs agelueden, bei %{organization} matzeschaffen invite_private_user: - subject: Du wurdest zu einem privaten Partizipationsprozess auf %{organization} eingeladen + subject: Du goufs agelueden un engem privaten Participatiouns-Prozess op %{organization} deelzehuelen organization_admin_invitation_instructions: - subject: Du wurdest eingeladen, %{organization} zu verwalten + subject: Du goufs agelueden, %{organization} ze verwalten password_change: - greeting: Hallo %{recipient}! - message: Wir kontaktieren Sie, um Sie darüber zu informieren, dass Ihr Passwort geändert wurde. - subject: Passwort geändert + greeting: Moien %{recipient}! + message: Mir soen der heimat Bescheed, dass dPasswuert geännert gouf. + subject: Passwuert geännert reset_password_instructions: - action: Ändere mein Passwort - greeting: Hallo %{recipient}! - instruction: Jemand hat einen Link angefordert, um Ihr Passwort zu ändern, und Sie können dies über den folgenden Link tun. - instruction_2: Wenn Sie dies nicht angefordert haben, ignorieren Sie diese E-Mail. - instruction_3: Ihr Passwort ändert sich erst, wenn Sie auf den obigen Link zugreifen und einen neuen erstellen. - subject: Passwort-Anweisungen zurücksetzen + action: Mäin Passwuert änneren + greeting: Moien %{recipient}! + instruction: Et huet een e Link ugefrot fir däin Passwuert ze änneren, du kanns dat iwwer den Link ënnen maachen. + instruction_2: Ignoréier dësen Mail, wann s'du dëst net ugefrot hues. + instruction_3: Däin Passwuert ännert eréischt, wann s'du op den Link uewen gees fir en neit ze erstellen. + subject: Passwuert-Instruktiounen zeréck setzen unlock_instructions: - action: Entsperren Sie mein Konto - greeting: Hallo %{recipient}! - instruction: 'Klicken Sie auf den folgenden Link, um Ihr Konto zu entsperren:' - message: Ihr Konto wurde aufgrund einer übermäßigen Anzahl fehlgeschlagener Anmeldeversuche gesperrt. - subject: Entsperren Anweisungen + action: Entspäert mäin Kont + greeting: Moien %{recipient}! + instruction: 'Klickt op de Link hei ënnen fir Äre Kont z''entspären:' + message: Däin Kont gouf gespaart wéinst enger exzessiver Zuel vun net erfollegräichen Versich dech unzemellen. + subject: Instruktiounen fir ze entspären omniauth_callbacks: - failure: 'Sie konnten nicht mit Ihrem %{kind}-Account angemeldet werden. Grund: "%{reason}".' - success: Sie haben sich erfolgreich mit Ihrem %{kind}-Account angemeldet. + failure: 'Du konnts net mam %{kind}-Account ugemellt ginn. Grond: "%{reason}".' + success: Du hues dech richteg mam %{kind}-Account ugemellt. passwords: edit: - change_my_password: Ändere mein Passwort - change_your_password: Ändern Sie Ihr Passwort - confirm_new_password: Bestätige neues Passwort - new_password: Neues Passwort - password_help: "Mindestens %{minimun_characters} Zeichen, nicht zu gewöhnlich (z. B. 123456) und darf nicht Ihr Benutzername oder Ihre E-Mail-Adresse sein." + change_my_password: Mäin Passwuert änneren + change_your_password: Ännert Äert Passwuert + confirm_new_password: Neit Passwuert bestätegen + new_password: Neit Passwuert + password_help: "Muss op mannst aus %{minimun_characters} Zeechen bestoen, keng ze banal Zeechen (z.B. 123456) an et dierf weder däin Pseudonym nach deng Email-Adress enthalen." new: - forgot_your_password: Haben Sie Ihr Passwort vergessen? - send_me_reset_password_instructions: Senden Sie mir das Passwort zurück - no_token: Sie können nicht auf diese Seite zugreifen, ohne von einer E-Mail zum Zurücksetzen des Kennworts zu stammen. Wenn Sie eine E-Mail zum Zurücksetzen des Passworts erhalten, vergewissern Sie sich bitte, dass Sie die vollständige URL verwendet haben. - send_instructions: Sie erhalten eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts in wenigen Minuten. - send_paranoid_instructions: Wenn Ihre E-Mail-Adresse in unserer Datenbank vorhanden ist, erhalten Sie innerhalb weniger Minuten einen Link zur Passwortwiederherstellung unter Ihrer E-Mail-Adresse. - updated: Ihr Passwort wurde erfolgreich geändert. Sie sind jetzt angemeldet. - updated_not_active: Ihr Passwort wurde erfolgreich geändert. + forgot_your_password: Passwuert vergiess? + send_me_reset_password_instructions: Schéckt mir d'Instruktiounen fir d'Passwuert ze ersetzen + no_token: Du kenns net op dës Säit, ausser vun enger Reset-E-Mail. Am Fall wou s'du vun enger Passwuert-Reset-E-Mail aus kenns, versécher dech, dass du den vollstännegen URL aus der Mail benotzt hues. + send_instructions: Du kriss bannent e puer Minutten en Email mat den Instruktiounen fir däin Passwuert zréck ze setzen. + send_paranoid_instructions: Wann deng Email-Adress an eisen Donnéeën ass, kriss du bannent e puer Minutten e Passwuert Link fir deng Email-Adress nees hierzestellen. + updated: Däin Passwuert gouf gewiesselt. Du bass elo ugemellt. + updated_not_active: Däin Passwuert ass geännert. registrations: destroyed: Däin Kont gouf zou gemaach. Mir hoffen dech geschwënn erëm ze gesinn. edit: @@ -1518,7 +1518,7 @@ lb: messages: already_confirmed: Gouf bestätegt, w.e.g. probéier dech ze registréieren confirmation_period_expired: muss bannent %{period} bestätegt ginn, fro w. e. g. en neit un - content_type_allowlist_error: Der Dateityp ist nicht gültig + content_type_allowlist_error: dësen Typ Datei ass net gülteg cycle_detected: en iwwergeuerdente Beräich kann net ënnergeuerdent sinn expired: ass ofgelaf, w. e. g. eng nei Ufro maachen file_size_is_less_than_or_equal_to: d'Gréisst vun enger Datei muss méi kleng oder gläich %{count} sinn @@ -1527,78 +1527,78 @@ lb: must_start_with_caps: muss mat engem Groussbuschtaf ufänken nesting_too_deep: kann net bannent enger Ënnerkategorie sinn not_found: net fonnt. Bass du schonn registréiert? - not_locked: war nicht gesperrt + not_locked: wo net gespaart not_saved: - one: 'Bei der Bearbeitung Ihrer Anfrage ist ein Fehler aufgetreten:' - other: 'Bei der Bearbeitung Ihrer Anfrage sind mehrere Fehler aufgetreten:' - too_many_marks: benutzt zu viele aufeinanderfolgende Satzzeichen (zB! und?) - too_much_caps: verwendet zu viele Großbuchstaben (über 25% des Textes) - too_short: ist zu kurz (unter 15 Zeichen) + one: 'Bei denger Ufro ass en Feeler opgetrueden:' + other: 'Bei denger Ufro sin e puer Feeler opgetrueden:' + too_many_marks: benotzt ze vill Sazzeechen (zB! und?) + too_much_caps: benotzt ze vill Groussbuschtawen (über 25% des Textes) + too_short: ze kuerz (ënner 15 Zeechen) forms: - correct_errors: Es gibt Fehler auf dem Formular, bitte korrigieren Sie sie, um fortzufahren. + correct_errors: Et sinn Feeler um Formular, w. e. g. virum weiderfueren verbesseren. length_validator: minimum: one: Op mannst %{count} Zeechen other: Op mannst %{count} Zeechen - required: Erforderlich - required_explanation: "* Pflichtfelder sind mit einem Stern gekennzeichnet" + required: Feld ausfëllen + required_explanation: "* Pflicht-Felder sinn mat engem Stär gezeechent" invisible_captcha: - sentence_for_humans: Wenn Sie ein Mensch sind, ignorieren Sie dieses Feld - timestamp_error_message: Entschuldigung, das war zu schnell! Bitte erneut einreichen + sentence_for_humans: Wann s'du e Mënsch bass, kanns du dëst Feld ausloossen + timestamp_error_message: Pardon dat wo ze séier! W. e. g. op en Neits areechen. layouts: decidim: cookie_warning: - description_html: Diese Seite verwendet Cookies. Indem Sie die Seite weiter durchsuchen, stimmen Sie der Verwendung von Cookies zu. Erfahren Sie mehr darüber %{link}. - link_label: Hier - ok: Ich stimme zu + description_html: Dës Säit benotzt Cookies. Wann s'du hei weider sichs, stëmms du dem Benotzen vun Cookies zou. Méi heiriwwer %{link}. + link_label: Gëff méi gewuer iwwer Cookies + ok: Ech sinn averstanen edit_link: - edit: Bearbeiten + edit: Editéieren footer: cc_by_license: Creative Commons Lizenz decidim_logo: Decidim-Logo - download_open_data: Open Data Dateien herunterladen - made_with_open_source: Website mit freier Software erstellt. + download_open_data: Open Data Dateien eroflueden + made_with_open_source: Website mat fräi Software erstallt. header: - close_menu: Menü schließen + close_menu: Menü zoumaachen navigation: Navigation - sign_in: Anmelden - sign_up: Registrieren + sign_in: Umellen + sign_up: Registréieren impersonation_warning: - close_session: Sitzung schließen - description_html: Sie geben sich als Benutzer %{user_name}. - expire_time_html: Ihre Sitzung wird in %{minutes} Minutenablaufen. + close_session: Sëtzung zoumaachen + description_html: Du verwalts den Benotzer %{user_name}. + expire_time_html: Deng Sëtzung wäert an %{minutes} Minutenoflafen. language_chooser: - choose_language: Sprache wählen + choose_language: Sprooch wielen notifications_dashboard: - mark_all_as_read: Alles als gelesen markieren - mark_as_read: Als gelesen markieren + mark_all_as_read: Alles als gelies markéieren + mark_as_read: Als gelies markéieren social_media_links: - facebook: "%{organization} auf Facebook" - github: "%{organization} auf GitHub" - instagram: "%{organization} auf Instagram" - twitter: "%{organization} bei Twitter" - youtube: "%{organization} auf YouTube" + facebook: "%{organization} op Facebook" + github: "%{organization} op GitHub" + instagram: "%{organization} op Instagram" + twitter: "%{organization} opTwitter" + youtube: "%{organization} op YouTube" timeout_modal: - body: Sie sind seit %{minutes} Minuten inaktiv. Wenn Sie weiterhin inaktiv sind, werden Sie aus Sicherheitsgründen automatisch abgemeldet. - continue_session: Sitzung fortsetzen - sign_out: Ausloggen - title: Möchten Sie ihre Sitzung fortsetzen? + body: Du wos säit %{minutes} Minutten inaktiv. Wann s'du weider inaktiv bleifs, gëss de aus Sécherheetsgrënn ofgemellt. + continue_session: Sëtzung fortsetzen + sign_out: Ofmellen + title: Wëlls du deng Sëtzung weiderféieren? user_menu: - account: 'Benutzerkonto: %{name}' + account: 'Benotzer-Kont: %{name}' admin_dashboard: Admin-Dashboard - conversations: Gespräche - notifications: Benachrichtigungen - profile: Mein Konto - public_profile: Mein öffentliches Profil - sign_out: Ausloggen + conversations: Konversatiounen + notifications: Noriichten + profile: Mäin Kont + public_profile: Mäin ëffentlechen Profil + sign_out: Ofmellen user_profile: - account: Konto - authorizations: Berechtigungen + account: Kont + authorizations: Berechtegungen delete_my_account: Mäin Kont läschen my_data: Meng Donnéeën my_interests: Meng Interessen notifications_settings: Astellung fir Noriichten - title: Astellung fir Teilnehmer + title: Astellung fir Benotzer user_groups: Gruppen widget: see_more: Méi uweisen @@ -1657,25 +1657,25 @@ lb: time_of_day: "%H:%M" versions: directions: - left: Löschungen + left: Wat geläscht gouf right: Ergänzungen dropdown: - choose_diff_view_html: 'HTML-Ansicht:' - choose_diff_view_mode: 'Vergleichsansicht:' - option_escaped: aus der Seite herausgekommen - option_split: Nebeneinander - option_unescaped: aus der Seite nicht herausgekommen - option_unified: Zusammengefasst + choose_diff_view_html: 'HTML-Vue:' + choose_diff_view_mode: 'Vergläichs-Vue:' + option_escaped: Aus der Säit eraus + option_split: Niewenteneen + option_unescaped: Net aus der Säit erauskomm + option_unified: Eenheetlech views: pagination: - first: "« zuerst" - first_title: Verknüpfung zur ersten Seite - last: Letzte » - last_title: Verknüpfung zur letzten Seite - next: Nächste › - next_title: Verknüpfung zur nächsten Seite - pagination: Paginierung - previous: "‹ Zurück" - previous_title: Verknüpfung zur vorherigen Seite - title: 'Seitenzahl:' + first: "« fir d'éischt" + first_title: Link op d'éischt Säit + last: Lescht » + last_title: Link op di lescht Säit + next: Nächst › + next_title: Link op déi nächst Säit + pagination: Säitenzuelen + previous: "‹ virdrun" + previous_title: Link op déi nächst Säit + title: 'Säit Nummer: ' truncate: "…" diff --git a/decidim-elections/config/locales/eu.yml b/decidim-elections/config/locales/eu.yml index e1dbfb0ee60f8..d66f1c3c82c2f 100644 --- a/decidim-elections/config/locales/eu.yml +++ b/decidim-elections/config/locales/eu.yml @@ -1,6 +1,170 @@ eu: + activemodel: + attributes: + answer: + description: Deskribapena + image: Irudia + proposals: Lotutako proposamenak + title: Izenburua + election: + description: Deskribapena + end_time: Bozketaren amaiera-data + start_time: Bozketaren hasiera-data + title: Izenburua + question: + description: Deskribapena + max_selections: Gehieneko aukera kopurua + min_selections: Aurreko bat ere ez + title: Izenburua + voting: + end_time: Bozketaren amaiera-data + start_time: Bozketaren hasiera-data + errors: + models: + answer: + attributes: + attachment: + needs_to_be_reattached: Artxiboa berriro erantsi behar da + election: + attributes: + attachment: + needs_to_be_reattached: Artxiboa berriro erantsi behar da + trustee: + attributes: + name: + cant_be_changed: ezin da aldatu + public_key: + cant_be_changed: ezin da aldatu + activerecord: + errors: + models: + decidim/votings/polling_officer: + attributes: + presided_polling_station: + president_and_manager: Hauteskunde-kudeatzailea dagoeneko bozketa-puntuaren presidentea/kudeatzailea da + voting: + different_organization: Bozketak erabiltzailearen antolaketa berean egon behar du + decidim/votings/polling_station: + attributes: + polling_station_president: + different_voting: Mahaiko kudeatzaileak bozketa-puntuaren bozketa berean egon behar du + models: + decidim/votings/polling_officer: + one: Mahaiko kudeatzailea + other: Mahaiko kudeatzailea(k) + decidim/votings/polling_station: + one: Bozketa-gunea + other: Bozketa gunea(k) + decidim/votings/voting: + one: Bozketa + other: Bozketa(k) decidim: + admin: + filters: + officers_assigned_eq: + label: Arduradunak + values: + assigned: Esleituta + unassigned: Ez esleituta + role_eq: + label: Rola + values: + manager: Kudeatzailea + president: Presidentea + unassigned: Esleitu gabe + search_placeholder: + name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Bilatu %{collection} izena/posta elektronikoa/goitizena edo bozketa-puntuaren arabera. + ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont + : Bilatu %{collection} izenburuaren, helbidearen edo arduradunaren izen/email/goitizenaren arabera. + components: + elections: + actions: + vote: Eman botoa + name: Bozketak + settings: + global: + announcement: Iragarpena + step: + announcement: Iragarpena elections: + actions: + confirm_destroy: Ziur zaude? + destroy: Suntsitu + edit: Editatu + feedback: Boto-emailearen feedback-a + import: Sartu proposamenak erantzun gisa + manage_answers: Kudeatu erantzunak + manage_questions: Kudeatu galderak + manage_steps: Kudeatu urratsak + new: '%{name} berria' + preview: Aurrebistaratu + publish: Argitaratu + title: Ekintzak + unpublish: Desargitaratu + admin: + answers: + create: + invalid: Arazo bat izan da erantzun hau sortzean. + success: Erantzuna ongi sortu da + destroy: + invalid: Errorea izan da erantzun hau ezabatzean + success: Erantzuna ondo ezabatu da + edit: + title: Editatu erantzuna + update: Eguneratu erantzuna + index: + invalid_max_selections: "%{missing_answers} erantzun gehiago behar duzu gehieneko hautapenarekin bat etortzeko\n" + title: Erantzunak + new: + create: Sortu erantzuna + title: Erantzun berria + select: + disable: Desautatu erantzuna + enable: Markatu erantzuna hautatu gisa + invalid: Errorea izan da erantzun hau hautatzean + success: Erantzuna ondo aukeratu da + unselect: + invalid: Errorea izan da erantzun hau desautatzean + success: Erantzuna ondo desautatu da + update: + invalid: Arazo bat izan da erantzun hau eguneratzean + success: Erantzuna ongi eguneratu da + elections: + create: + invalid: Errore bat izan da aukera hau sortzean + success: Aukera ongi sortu da + destroy: + invalid: Errorea izan da aukera hau ezabatzean + success: Aukera ongi ezabatu da + edit: + title: Editatu aukera + update: Eguneratu aukera + index: + no_bulletin_board: Ez dago Bulletin Board zerbitzari konfiguraturik, modulu hau erabiltzeko beharrezkoa dena. Ataza hori sistemaren administratzaileak egin behar du. + title: Aukerak + new: + create: Sortu aukera + title: Aukera berria + publish: + success: Aukera zuzen argitaratu da. + unpublish: + success: Aukera zuzen desargitaratu da. + update: + invalid: Errorea izan da aukera hau eguneratzean + success: Aukera ondo eguneratu da + steps: + vote: + title: Bozketa-aldia + vote_ended: + title: Bozketa-aldia amaituta + vote_stats: + no_vote_statistics_yet: Oraindik ez dago boto-estatistikarik + title: Boto-estatistikak + voters: Boto-emaileak + votes: Botoak + election_m: + footer: + vote: Eman botoa elections: filters: state: Egoera @@ -10,3 +174,23 @@ eu: filter: Iragazi filter_by: Iragazi honen arabera unfold: Zabaldu + votes: + confirm: + header: Baieztatu botoa + intro: Hemen duzu emango duzun botoaren laburpena. < br> Mesedez, berretsi zure botoa edo editatu zure erantzunak. + confirmed: + header: Baieztatutako botoa + pages: + home: + statistics: + elections_count: Bozketak + participatory_processes: + statistics: + elections_count: Bozketak + votings: + polling_officer_zone: + polling_officers: + show: + polling_stations: + list: + actions: Ekintzak diff --git a/decidim-elections/config/locales/fr-CA.yml b/decidim-elections/config/locales/fr-CA.yml index 370defc3f653e..d29a82d81a0ce 100644 --- a/decidim-elections/config/locales/fr-CA.yml +++ b/decidim-elections/config/locales/fr-CA.yml @@ -44,6 +44,10 @@ fr-CA: president_and_manager: L'agent de vote est déjà président/responsable d'un bureau de vote voting: different_organization: Le vote doit être dans le même organization que l'utilisateur + decidim/votings/polling_station: + attributes: + polling_station_president: + different_voting: L'agent de vote doit être dans la même votation que le bureau de vote models: decidim/elections/answer: one: Réponse @@ -54,6 +58,9 @@ fr-CA: decidim/elections/question: one: Question other: Questions + decidim/votings/polling_station: + one: Bureau de vote + other: Bureaux de vote decidim/votings/voting: one: Vote other: Votes @@ -61,6 +68,7 @@ fr-CA: admin: filters: officers_assigned_eq: + label: Officier values: assigned: Assigné unassigned: Non affecté @@ -70,6 +78,10 @@ fr-CA: manager: Responsable president: Président unassigned: Non assigné(e) + search_placeholder: + name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Rechercher %{collection} par nom/email/pseudo ou par bureau de vote. + ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont + : Recherchez %{collection} par titre, adresse ou nom d'officier/email/pseudo de l'officier. components: elections: actions: @@ -214,6 +226,7 @@ fr-CA: created: invalid: Il y a eu un problème lors du démarrage de la cérémonie des clés submit: Démarrer la cérémonie des clés + success: La demande de lancement de cérémonie des clés a bien été envoyée au Panneau d'Affichage title: Élection créée trustees: Garants key_ceremony: @@ -226,11 +239,13 @@ fr-CA: requirements: time_before: L'élection va bientôt commencer. Vous pouvez démarrer la période de vote manuellement, ou elle sera démarrée automatiquement avant l'heure de départ, à %{start_time}. submit: Commencer la période de vote + success: La demande de lancement de la période de vote a bien été envoyée au Panneau d'Affichage title: Prêt à commencer processing: Traitement en cours... results_published: title: Résultats publiés tally: + title: Dépouillement trustees: Garants tally_ended: submit: Publier les résultats @@ -245,6 +260,9 @@ fr-CA: success: La demande de fin de la période de vote a été envoyée avec succès au Panneau d'Affichage title: Période de vote vote_ended: + invalid: Une erreur s'est produite au lancement du dépouillement + submit: Démarrer le dépouillement + success: La demande de lancement du dépouillement a bien été envoyée au Panneau d'Affichage title: Période de vote terminée vote_stats: no_vote_statistics_yet: Pas encore de statistiques sur le vote diff --git a/decidim-elections/config/locales/fr.yml b/decidim-elections/config/locales/fr.yml index 40550ec338ed4..7b6e885910f06 100644 --- a/decidim-elections/config/locales/fr.yml +++ b/decidim-elections/config/locales/fr.yml @@ -44,6 +44,10 @@ fr: president_and_manager: L'agent de vote est déjà président/responsable d'un bureau de vote voting: different_organization: Le vote doit être dans le même organization que l'utilisateur + decidim/votings/polling_station: + attributes: + polling_station_president: + different_voting: L'agent de vote doit être dans la même votation que le bureau de vote models: decidim/elections/answer: one: Réponse @@ -54,6 +58,9 @@ fr: decidim/elections/question: one: Question other: Questions + decidim/votings/polling_station: + one: Bureau de vote + other: Bureaux de vote decidim/votings/voting: one: Vote other: Votes @@ -61,6 +68,7 @@ fr: admin: filters: officers_assigned_eq: + label: Officier values: assigned: Assigné unassigned: Non affecté @@ -70,6 +78,10 @@ fr: manager: Responsable president: Président unassigned: Non assigné(e) + search_placeholder: + name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Rechercher %{collection} par nom/email/pseudo ou par bureau de vote. + ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont + : Recherchez %{collection} par titre, adresse ou nom d'officier/email/pseudo de l'officier. components: elections: actions: @@ -214,6 +226,7 @@ fr: created: invalid: Il y a eu un problème lors du démarrage de la cérémonie des clés submit: Démarrer la cérémonie des clés + success: La demande de lancement de cérémonie des clés a bien été envoyée au Panneau d'Affichage title: Élection créée trustees: Garants key_ceremony: @@ -226,11 +239,13 @@ fr: requirements: time_before: L'élection va bientôt commencer. Vous pouvez démarrer la période de vote manuellement, ou elle sera démarrée automatiquement avant l'heure de départ, à %{start_time}. submit: Commencer la période de vote + success: La demande de lancement de la période de vote a bien été envoyée au Panneau d'Affichage title: Prêt à commencer processing: Traitement en cours... results_published: title: Résultats publiés tally: + title: Dépouillement trustees: Garants tally_ended: submit: Publier les résultats @@ -245,6 +260,9 @@ fr: success: La demande de fin de la période de vote a été envoyée avec succès au Panneau d'Affichage title: Période de vote vote_ended: + invalid: Une erreur s'est produite au lancement du dépouillement + submit: Démarrer le dépouillement + success: La demande de lancement du dépouillement a bien été envoyée au Panneau d'Affichage title: Période de vote terminée vote_stats: no_vote_statistics_yet: Pas encore de statistiques sur le vote diff --git a/decidim-initiatives/config/locales/lb.yml b/decidim-initiatives/config/locales/lb.yml index 01c6a29536f6b..8ceaf5c298f3d 100644 --- a/decidim-initiatives/config/locales/lb.yml +++ b/decidim-initiatives/config/locales/lb.yml @@ -413,6 +413,8 @@ lb: other: Bemerkungen orders: label: 'Initiativen sortieren nach:' + print: + city: Uertschaft last_activity: new_initiative: Neue Initiative pages: diff --git a/decidim-pages/config/locales/pl.yml b/decidim-pages/config/locales/pl.yml index 205caa906c520..356a577a3ddc9 100644 --- a/decidim-pages/config/locales/pl.yml +++ b/decidim-pages/config/locales/pl.yml @@ -5,7 +5,7 @@ pl: one: Strona few: Strony many: Stron - other: Stron + other: Strony decidim: admin_log: page: diff --git a/decidim-participatory_processes/config/locales/cs.yml b/decidim-participatory_processes/config/locales/cs.yml index 71fe50812e5a6..ffdad4e47b83c 100644 --- a/decidim-participatory_processes/config/locales/cs.yml +++ b/decidim-participatory_processes/config/locales/cs.yml @@ -342,7 +342,7 @@ cs: participatory_processes: name: Participativní procesy stats: - name: Aktivita + name: Statistiky title: meta_scope: Oblast působnosti name: Název, popis a hashtag @@ -471,7 +471,7 @@ cs: debates_count: Debaty endorsements_count: Schválení followers_count: Sledující - headline: Aktivita + headline: Statistiky meetings_count: Setkání no_stats: Zatím nejsou žádné statistiky. orders_count: Hlasy diff --git a/decidim-participatory_processes/config/locales/de.yml b/decidim-participatory_processes/config/locales/de.yml index 6d4b624efb87e..7b7cf0e0b46b2 100644 --- a/decidim-participatory_processes/config/locales/de.yml +++ b/decidim-participatory_processes/config/locales/de.yml @@ -336,7 +336,7 @@ de: participatory_processes: name: Beteiligungsprozesse stats: - name: Aktivität + name: Statistiken title: meta_scope: Umfang name: Titel, Beschreibung und Hashtag @@ -455,7 +455,7 @@ de: debates_count: Debatten endorsements_count: Empfehlungen followers_count: Follower - headline: Aktivität + headline: Statistiken meetings_count: Meetings no_stats: Es gibt noch keine Statistiken. orders_count: Stimmen diff --git a/decidim-participatory_processes/config/locales/fr-CA.yml b/decidim-participatory_processes/config/locales/fr-CA.yml index 4cf0d2bbd2168..64350bcccb14c 100644 --- a/decidim-participatory_processes/config/locales/fr-CA.yml +++ b/decidim-participatory_processes/config/locales/fr-CA.yml @@ -336,7 +336,7 @@ fr-CA: participatory_processes: name: Concertations stats: - name: Activité + name: Statistiques title: meta_scope: Secteur name: Titre, description et hashtag @@ -455,7 +455,7 @@ fr-CA: debates_count: Débats endorsements_count: Soutiens followers_count: Abonnés - headline: Activité + headline: Statistiques meetings_count: Rencontres no_stats: Il n'y a pas encore de statistiques. orders_count: Votes diff --git a/decidim-participatory_processes/config/locales/fr.yml b/decidim-participatory_processes/config/locales/fr.yml index 438a5c9bf7dd9..6c100cfc72ce3 100644 --- a/decidim-participatory_processes/config/locales/fr.yml +++ b/decidim-participatory_processes/config/locales/fr.yml @@ -336,7 +336,7 @@ fr: participatory_processes: name: Concertations stats: - name: Activité + name: Statistiques title: meta_scope: Secteur name: Titre, description et hashtag @@ -455,7 +455,7 @@ fr: debates_count: Débats endorsements_count: Soutiens followers_count: Abonnés - headline: Activité + headline: Statistiques meetings_count: Rencontres no_stats: Il n'y a pas encore de statistiques. orders_count: Votes diff --git a/decidim-participatory_processes/config/locales/tr-TR.yml b/decidim-participatory_processes/config/locales/tr-TR.yml index b13aa5314786b..518045217bccf 100644 --- a/decidim-participatory_processes/config/locales/tr-TR.yml +++ b/decidim-participatory_processes/config/locales/tr-TR.yml @@ -335,7 +335,7 @@ tr: participatory_processes: name: Katılımcı süreçleri stats: - name: Aktivite + name: İstatistikler title: meta_scope: Kapsam name: Başlık, açıklama ve etiket @@ -454,7 +454,7 @@ tr: debates_count: Tartışmalar endorsements_count: Cirolar followers_count: Takipçiler - headline: Aktivite + headline: İstatistikler meetings_count: Toplantılar no_stats: Henüz canlı istatistikler yok. orders_count: oy From 999ce75b740b2d7ef5adadab9b162767c461cbc8 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Mon, 4 Oct 2021 13:44:37 +0200 Subject: [PATCH 60/71] New Crowdin updates (#8356) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (French) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Portuguese) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) --- decidim-assemblies/config/locales/eu.yml | 2 +- decidim-blogs/config/locales/eu.yml | 6 +- decidim-budgets/config/locales/eu.yml | 3 + decidim-comments/config/locales/eu.yml | 3 + decidim-conferences/config/locales/eu.yml | 63 ++- decidim-consultations/config/locales/eu.yml | 82 ++++ decidim-core/config/locales/eu.yml | 429 +++++++++++++++++- decidim-core/config/locales/fr.yml | 2 +- decidim-core/config/locales/pt.yml | 2 +- decidim-debates/config/locales/eu.yml | 85 ++++ decidim-dev/config/locales/eu.yml | 16 + decidim-elections/config/locales/eu.yml | 100 ++++ decidim-forms/config/locales/eu.yml | 91 +++- decidim-initiatives/config/locales/eu.yml | 222 ++++++++- decidim-meetings/config/locales/eu.yml | 116 ++++- .../config/locales/eu.yml | 97 ++++ decidim-proposals/config/locales/eu.yml | 188 +++++++- decidim-sortitions/config/locales/eu.yml | 2 + decidim-surveys/config/locales/eu.yml | 10 + decidim-system/config/locales/eu.yml | 113 ++++- decidim-verifications/config/locales/eu.yml | 44 ++ 21 files changed, 1621 insertions(+), 55 deletions(-) diff --git a/decidim-assemblies/config/locales/eu.yml b/decidim-assemblies/config/locales/eu.yml index d233762584d0f..0b13cfb26b632 100644 --- a/decidim-assemblies/config/locales/eu.yml +++ b/decidim-assemblies/config/locales/eu.yml @@ -458,7 +458,7 @@ eu: more_info: Informazio gehiago take_part: Parte hartu assembly_navigation: - assembly_member_menu_item: Bazkideek + assembly_member_menu_item: Bazkideak assembly_menu_item: Biltzarra assembly_widgets: show: diff --git a/decidim-blogs/config/locales/eu.yml b/decidim-blogs/config/locales/eu.yml index 94fb8cb936f88..3ab8f329c5091 100644 --- a/decidim-blogs/config/locales/eu.yml +++ b/decidim-blogs/config/locales/eu.yml @@ -73,9 +73,9 @@ eu: blogs: post_created: email_intro: '"%{resource_title}" mezua "%{participatory_space_title}" argitaratzen ari zarela jarraitzen ari zara.' - email_outro: Jakinarazpena jaso duzu "%{participatory_space_title}" jarraitzen ari zarenagatik. Aurreko esteka estekan jarrai dezakezu. - email_subject: '%{participatory_space_title} urtean argitaratutako mezu berria' - notification_title: %{resource_title} post %{participatory_space_title} argitaratu da + email_outro: Jakinarazpena jaso duzu "%{participatory_space_title}" jarraitzen ari zarelako. Aurreko estekan utzi ahal diozu jarraitzeari. + email_subject: '%{participatory_space_title} argitaratutako mezu berria' + notification_title: %{resource_title} posta %{participatory_space_title} argitaratu da pages: home: statistics: diff --git a/decidim-budgets/config/locales/eu.yml b/decidim-budgets/config/locales/eu.yml index b3b8bb41f03a4..51b4a94c3cec4 100644 --- a/decidim-budgets/config/locales/eu.yml +++ b/decidim-budgets/config/locales/eu.yml @@ -213,6 +213,9 @@ eu: remove: Ezabatu %{resource_name} proiektua zure bototik selected: Hautatua view: ikusi + votes: + one: Botoa + other: botoak you_voted: Hau bozkatu duzu project_budget_button: add: Gehitu zure botoari diff --git a/decidim-comments/config/locales/eu.yml b/decidim-comments/config/locales/eu.yml index 8a628963079b1..5967931b6754d 100644 --- a/decidim-comments/config/locales/eu.yml +++ b/decidim-comments/config/locales/eu.yml @@ -115,6 +115,9 @@ eu: notification_title: %{author_name} %{author_nickname} -k zure iruzkinari erantzun dio %{resource_title} user_group_mentioned: email_intro: Zu barne zauden talde bat aipatu da + email_outro: Jakinarazpen hau jaso duzu hemen %{resource_title} aipatu den %{group_name} taldearen kidea zarelako. + email_subject: Hemen %{resource_title} aipatu zaituzte %{group_name} taldearen kide gisa + notification_title: %{author_name} %{author_nickname} k aipatu zaitu hemen %{resource_title} %{group_name} %{group_nickname} taldearen kide gisa user_mentioned: email_intro: Esan zaizu email_outro: Jakinarazpena jaso duzu %{resource_title} delakoan aipatu duzulako. diff --git a/decidim-conferences/config/locales/eu.yml b/decidim-conferences/config/locales/eu.yml index a3c1fb3b9bce5..6020155350ade 100644 --- a/decidim-conferences/config/locales/eu.yml +++ b/decidim-conferences/config/locales/eu.yml @@ -3,6 +3,7 @@ eu: attributes: conference: assemblies_ids: Lotutako Batzarrak + available_slots: Leku libreak banner_image: Banner irudia consultations_ids: Lotutako kontsultak copy_categories: Kopiatu kategoriak @@ -10,28 +11,59 @@ eu: copy_features: Kopiatu ezaugarriak decidim_scope_id: esparrua description: deskribapena + end_date: Amaiera-data hashtag: hashtag hero_image: Hasiera irudia + location: Kokapena + main_logo: Logo nagusia + objectives: Helburuak participatory_processes_ids: Parte hartutako prozesu erlazionatuak promoted: sustatuta published_at: Argitaratu at + registration_terms: Izen-ematearen irizpideak eta baldintzak + registrations_enabled: Gaitu izen-emateak scope_id: esparrua scopes_enabled: Scopes gaituta short_description: Deskribapen laburra show_statistics: Erakutsi estatistikak - slogan: leloa - slug: URL slug + sign_date: Sinatze-data + signature: Sinadura + signature_name: sinaduraren izena + slogan: Leloa + slug: URL laburra + start_date: Hasiera-data title: Izenburua conference_media_link: + date: Data + link: Lotura title: Izenburua weight: pisu conference_partner: + link: Lotura + logo: Logoa + name: Izena + partner_type: Lankidetza mota weight: pisu + conference_registration_invite: + email: Helbide elektronikoa + name: Izena + registration_type_id: Erregistro mota + user_id: Erabiltzailea conference_registration_type: + description: Deskribapena + price: Prezioa title: Izenburua weight: pisu conference_speaker: + affiliation: Kidetza + avatar: Avatarra + conference_meeting_ids: Honekin lotutako topaketak full_name: Izen osoa + personal_url: URL pertsonala + position: Kokapena + short_bio: Biografia laburra + twitter_handle: Twitter kontua + user_id: Erabiltzailea conference_user_role: email: Emaila name: izena @@ -114,7 +146,7 @@ eu: error: Errore bat gertatu da konferentzia berri bat sortzean. success: Konferentzia ondo sortu da. edit: - update: eguneratzearen + update: Eguneratu exports: registrations: Izen-emateak form: @@ -191,6 +223,7 @@ eu: admin: Administrator collaborator: Kolaboratzaile moderator: Moderatzaile + valuator: Ebaluatzailea media_link: fields: date: data @@ -273,6 +306,10 @@ eu: conferences: conference_registration: confirm: "%{user_name} Kongresuko matrikula bat baieztatu da %{resource_name} Kongresuan" + partner: + create: "%{user_name} k sortu zuen %{resource_name} aurrekontua %{space_name} esparruan" + delete: "%{user_name} k ezabatu zuen %{resource_name} erabiltzailea %{space_name} batzarrean" + update: "%{user_name} k eguneratu zuen %{resource_name} erabiltzailea %{space_name} batzarrean" registration_type: create: "%{user_name} sortutako %{resource_name} matrikula mota %{space_name} konferentzia" publish: "%{user_name} argitaratutako %{resource_name} izen-emate mota %{space_name} biltzarrean" @@ -405,6 +442,7 @@ eu: personal_website: Webgune pertsonala show: more_info: informazio gehiago + speaking_at: Hartzen du parte hemen conference_speaker_cell: personal_url: personal_website: Webgune pertsonala @@ -465,9 +503,12 @@ eu: active_conferences: Jardunaldi aktiboak see_all_conferences: Ikusi hitzaldi guztiak photo: + image: + attributes: + alt: Multimedia-irudia show: - close_modal: Itxi modal - photo: photo + close_modal: Itxi leihoa + photo: Irudia photos_list: show: related_photos: Argazkiak @@ -475,6 +516,7 @@ eu: index: choose_an_option: 'Aukeratu zure erregistro-aukera:' login_as: '%{name} <%{email}> gisa erregistratuta zaude' + no_registrations: Ez dago izen-ematerik register: Eman izena title: Izen-emate motak shared: @@ -528,11 +570,22 @@ eu: email_outro: Jakinarazpen hau jaso duzu delako "%{resource_title}" konferentzia jarraituz. Aurreko esteka estekan jarrai dezakezu. email_subject: Kongresuaren "%{resource_title}" erregistroak gaitu ditu. notification_title: %{resource_title} bilkurak erregistroak gaitu ditu. + role_assigned: + email_intro: '%{role} rola esleitu zaizu batzarrean.' + email_outro: Jakinarazpen hau jaso duzu %{role} rola esleitu dizutelako "%{resource_title}" batzarrean. + email_subject: '%{role} rola esleitu zaizu batzarrean.' + notification_title: '%{role} rola esleitu zaizu %{resource_title} batzarrean.' upcoming_conference: email_intro: '"%{resource_title}" konferentzia egiten ari da 2 egunetan. Bere orrialdearen azalpena irakur dezakezu:' email_outro: Jakinarazpen hau jaso duzu delako "%{resource_title}" konferentzia jarraituz. Aurreko esteka estekan jarrai dezakezu. email_subject: Biltzarra "%{resource_title}" dator! notification_title: %{resource_title} konferentzia 2 egunetan egongo da. + help: + participatory_spaces: + conferences: + contextual: "

    Programa batean antolatutako bileren bilduma bat da. Bertan, hizlari gisa gonbidatutako pertsonak daude, baita biltzar handietako edo gizarte-ekitaldietako ohiko informazio-eremuak ere (erregistroa, ekitaldia babesten edo laguntzen duten erakundeen zerrenda, etab.).

    Adibideak: Hitzaldi bat garrantzitsua izan daiteke erakunde batentzat eta haren kideentzat, edo parte hartzeko prozesu baten zati gisa edo kontsulta baten ondoren egin daiteke.

    \n" + page: "

    Programa batean antolatutako bileren bilduma bat da. Bertan, hizlari gisa gonbidatutako pertsonak daude, baita biltzar handietako edo gizarte-ekitaldietako ohiko informazio-eremuak ere (erregistroa, ekitaldia babesten edo laguntzen duten erakundeen zerrenda, etab.).

    Adibideak: Hitzaldi bat garrantzitsua izan daiteke erakunde batentzat eta haren kideentzat, edo parte hartzeko prozesu baten zati gisa edo kontsulta baten ondoren egin daiteke.

    \n" + title: Zer dira hitzaldiak? log: value_types: conference_presenter: diff --git a/decidim-consultations/config/locales/eu.yml b/decidim-consultations/config/locales/eu.yml index 77ea7f250a7dc..f24819ff1837c 100644 --- a/decidim-consultations/config/locales/eu.yml +++ b/decidim-consultations/config/locales/eu.yml @@ -19,6 +19,9 @@ eu: hashtag: hashtag hero_image: Hasiera irudia i_frame_url: Kanpoko boto-sistemaren URLa + instructions: Jarraibide osagarriak botoa emateko + max_votes: Gehieneko boto kopurua + min_votes: Gutxieneko boto kopurua origin_scope: esparrua origin_title: Origin origin_url: Jatorria URLa @@ -31,11 +34,24 @@ eu: subtitle: azpititulua vote: Kanpoko boto sistema what_is_decided: Zer erabaki + response: + decidim_consultations_response_group_id: Taldea errors: + models: + question: + attributes: + max_votes: + lower_than_min: Gehieneko boto kopurua gutxienekoa baino handiagoa edo berdina izan behar da. vote: decidim_consultations_response_id: not_found: Erantzuna ez da aurkitu. activerecord: + errors: + models: + decidim/consultations/vote: + attributes: + question: + invalid_num_votes: Boto kopurua ez da baliozkoa models: decidim/consultation: one: Consulta @@ -52,10 +68,13 @@ eu: decidim: admin: actions: + back_to_responses: Itzuli erantzunetara new_consultation: Kontsulta berria new_question: Galdera berria new_response: Erantzun berria + new_response_group: Talde berri bat publish_results: Argitaratu emaitzak + response_groups: Kudeatu erantzun-multzoak unpublish_results: Argitaratu emaitzak consultation_publications: create: @@ -75,6 +94,7 @@ eu: create: error: Errore bat gertatu da kontsulta berri bat sortzean. success: Kontsulta sortu da. + deprecation_warning: Kontsulten modulua laster zaharkituta egongo da. Lantzen ari gara kriptografikoki segurua izango den hurrengo bertsioa, Bozketak izenekoa. edit: update: eguneratzearen form: @@ -86,6 +106,10 @@ eu: new: create: Sortu title: Kontsulta berria + results: + not_visible: Emaitzak eskuragai egongo dira inkesta ixten denean + participants: "%{count} parte-hartzaile" + total_votes: 'Guztira: %{count} boto' update: error: Errore bat gertatu da kontsulta hau eguneratzean. success: Kontsultak eguneratu egin du. @@ -94,8 +118,10 @@ eu: consultations_submenu: info: informazioa questions: Galderak + results: Emaitzak questions_submenu: components: Osagaiak + configuration: Konfigurazioa consultation: Consulta info: informazioa responses: Erantzunak @@ -119,10 +145,16 @@ eu: response: fields: created_at: Sortutako at + response_group: Taldea title: Izenburua name: one: Erantzun other: Erantzunak + question_configuration: + disable_external_voting: Mesedez, desaktibatu kanpoko bozketa konfigurazio aurreratuetarako + form: + help: Erantzun anitzeko aukerak dituzten galderak konfiguratzen ditu, parte-hartzaile batek aukera ditzakeen erantzun kopurua handituz. Aurrez zehaztutako gehieneko balioa 1 da, eta horrek esan nahi du erantzun bakarra aukera daitekeela. + title: Konfigurazio aurreratua question_publications: create: error: Errore bat gertatu da galdera hau argitaratzean. @@ -149,6 +181,24 @@ eu: update: error: Errore bat gertatu da galdera hau eguneratzean. success: Galdera ondo eguneratu da. + response_groups: + create: + error: Errore bat gertatu da erantzun-multzo berri bat sortzean. + success: Erantzun-multzoa zuzen sortu da. + destroy: + error: Arazo bat gertatu da erantzun-multzoa ezabatzean. Egiaztatu ez dagoela erantzunik horren menpe. + success: Erantzun-multzoa zuzen ezabatu da. + edit: + update: Eguneratu + form: + title: Informazio orokorra + help: Erabili multzoak aukera anitzeko galderak paketetan antolatzeko. + new: + create: Sortu + title: Erantzun-multzo berria + update: + error: Arazoa gertatu da erantzun hau eguneratzean. + success: Erantzuna zuzen eguneratu da. responses: create: error: Errore bat gertatu da erantzun berri bat sortzean. @@ -169,6 +219,7 @@ eu: titles: consultations: kontsultak questions: Galderak + response_groups: Erantzun-multzoak responses: Erantzunak consultations: admin: @@ -185,6 +236,8 @@ eu: label: 'Ordenatu kontsultak honela:' random: Random recent: Berrienak + show: + dates: Datak content_blocks: highlighted_consultations: name: Nabarmendutako kontsultak @@ -226,9 +279,28 @@ eu: votes_out_of: one: bozkatu other: botoetatik kanpo + question_multiple_votes: + results_rules: + minimum_votes_per_user: + description: Parte-hartzaileek gutxienez %{votes} banatu ahal dituzte hainbat aukeraren artean. + title: Galdera honetan, aukera anitzeko erantzunak egon daitezke + total_participants: Kontsultan, guztira %{count} pertsonak hartu dute parte. + vote_limit: + description: Parte-hartzaileek gehienez %{limit} aukera bozkatu ahal dituzte. + voting_rules: + minimum_votes_per_user: + description: Gutxienez %{votes} boto banatu behar dituzu proposamen desberdinen artean. + title: 'Bozketa indarrean dagoen araudiaren araberakoa da:' + vote_limit: + description: Gehienez, %{limit} aukera bozkatu ahal duzu. + left: Gainontzekoak + votes: Botoak question_votes: create: error: Arazoak izan dira galdera hautapenean + success: Kontsultaren amaiera arte alda dezakezu. Azken botoa baino ez da onartuko. + title_error: Boto-akatsa! + title_success: Botoa zuzen erregistratu da regular_questions: title: Kontsulta honi buruzko galderak show: @@ -254,6 +326,8 @@ eu: statistics: consultations_count: kontsultak questions: + next_button: Hurrengo galdera + previous_button: Aurreko galdera results: title: Emaitzak show: @@ -269,15 +343,22 @@ eu: already_voted: Bozkatu already_voted_hover: Ezeztatu laguntza starting_from: '%{date}tik hasita' + verification_required: Egiaztatu zure kontua bozkatzeko vote: Bozkatu vote_modal: + close_modal: Itxi leihoa contextual_help: Aukeratu aukera bat. title: 'Kontsulta: galdera-laguntza' vote_modal_confirm: change: Aldaketa + close_modal: Itxi leihoa confirm: Berretsi contextual_help: Berretsi hautatutako aukera. title: 'Kontsulta: berretsi laguntza' + resources: + consultations: + actions: + vote: Eman botoa layouts: decidim: admin: @@ -291,3 +372,4 @@ eu: unfold: Zabaldu question_header: back_to_consultation: Ikusi kontsulta guztiak + back_to_question: Itzuli galderara diff --git a/decidim-core/config/locales/eu.yml b/decidim-core/config/locales/eu.yml index 21083300dcd40..94ad91f9eb7d7 100644 --- a/decidim-core/config/locales/eu.yml +++ b/decidim-core/config/locales/eu.yml @@ -3,6 +3,16 @@ eu: attributes: account: delete_reason: Zure kontua ezabatzeko arrazoia + common: + created_at: Sortze-data + group: + about: Honi buruz + avatar: Avatar + document_number: Dokumentuaren zenbakia + email: E-maila + name: Izena + nickname: Goitizena + phone: Telefonoa report: details: Iruzkin gehigarriak user: @@ -25,6 +35,7 @@ eu: decidim/profile_updated_event: Profila eguneratu da decidim/promote_to_admin: Talde kudeatzaileari sustatua decidim/removed_from_group: Taldea kendu da + decidim/resource_endorsed_event: Baliabideari atxiki zaio activerecord: attributes: decidim/user: @@ -50,6 +61,7 @@ eu: carrierwave: errors: image_too_big: Irudia pisuegia da + not_inside_organization: Artxiboa ez dago antolatzaile batekin erlazionatuta date: formats: decidim_short: "%d/%m/%Y" @@ -58,11 +70,17 @@ eu: decidim_with_month_name: "%d %B %Y" decidim_with_month_name_short: "%d %b" decidim: + accessibility: + external_link: Kanpoko lotura + logo: "%{organization} aren logo ofiziala" + skip_button: Joan eduki nagusira account: + blocked: Kontu hau blokeatu da erabilera-irizpideak eta baldintzak urratzeagatik data_portability_export: file_no_exists: Fitxategia ez dago notice: Zure datuak une honetan egiten ari dira. Mezu elektroniko bat jasoko duzu beteta dagoenean. delete: + alert: Ekintza hori ezin da desegin. Zure kontua ezabatzen baduzu, ezin izango duzu saioa hasi zure kredentzialekin. Zure kontua ezabatzeak zure ekarpenen anonimotasuna ekarriko du. Oraindik kontu berri bat sortu ahal izango duzu, baina ekarpen horiek ez dira kontu horrekin lotuko. confirm: close: Itxi leihoa ok: Bai, nire kontua ezabatu nahi dut @@ -92,6 +110,8 @@ eu: delete: "%{user_name} %{resource_name} osagai %{space_name} espaziotik kendu da" publish: "%{user_name} %{resource_name} osagaia %{space_name} espazioan argitaratu zen" unpublish: "%{user_name} %{resource_name} osagaia %{space_name} espaziotik argitaratu gabe" + impersonation_log: + manage: "%{user_name} k %{resource_name} kudeatu du arrazoi honengatik %{reason}" moderation: hide: "%{user_name} ezkutatu motako baliabide bat %{resource_type} en %{space_name} espazioa" unreport: "%{user_name} %{resource_type} motako baliabide bat ez da %{space_name} espazioan" @@ -108,6 +128,7 @@ eu: update: "%{user_name} Eguneratu antolazioaren ezarpenak" participatory_space_private_user: create: "%{user_name} gonbidatu %{resource_name} erabiltzaileari pribatua izateko" + create_via_csv: "%{user_name} k %{resource_name} gonbidatu du CSV bidez parte-hartzaile pribatua izatera" delete: "%{user_name} erabiltzaileari erabiltzaile pribatu gisa kendu %{resource_name}" scope: create: "%{user_name} %{resource_name} esparrua sortu zen" @@ -121,14 +142,21 @@ eu: delete: "%{user_name} ezabatu %{resource_name} orri estatikoa" update: "%{user_name} eguneratu %{resource_name} orri estatikoa" user: + block: "%{user_name} k %{resource_name} erabiltzailea blokeatu du" invite: "%{user_name} erabiltzaileak %{resource_name} erabiltzaile gonbidatu rola: %{role}" officialize: "%{user_name} Erabiltzaile ofiziala %{resource_name}" + promote: "%{user_name} k %{resource_name} sustatu du" remove_from_admin: "%{user_name} erabiltzaileak kendu %{resource_name} rolarekin: %{role}" + show_email: "%{user_name} k %{resource_name} parte-hartzailearen korreo elektronikoa berreskuratu du" + transfer: "%{user_name} k %{resource_name} parte-hartzailea transferitu du" + unblock: "%{user_name} k desofizializatu zuen %{resource_name} erabiltzailea" unofficialize: "%{user_name} erabiltzaile ez ofiziala %{resource_name}" user_group: reject: "%{user_name} baztertu %{resource_name} erabiltzaile taldeen egiaztapena" verify: "%{user_name} egiaztatu %{resource_name} erabiltzaile taldea" verify_via_csv: "%{user_name} egiaztatu du %{resource_name} erabiltzaile talde CSV fitxategi baten bidez" + alert: + dismiss: Baztertu jakinarazpena amendments: accepted: error: Errore bat gertatu da aldaketa onartuz. @@ -142,6 +170,21 @@ eu: promote_confirm_text: Ziur al zaude zuzenketa hau sustatu nahi duzula? promote_help_text: Aldaketa hori sustatzeko eta argitaratzeko %{model_name}independente gisa section_heading: Aldaketak (%{count}) + compare_draft: + continue: Jarraitu + no_similars_found: Ez da aurkitu antzeko zuzenketarik. + title: Antzeko zuzenketak + created: + error: Arazoa gertatu da zuzenketa-zirriborroa sortzean. + success: Zuzenketa-zirriborroa zuzen sortu da. + destroy_draft: + error: Arazoa gertatu da zuzenketa-zirriborroa ezabatzean. + success: Zuzenketa-zirriborroa zuzen ezabatu da. + edit_draft: + discard: Baztertu zirriborro hau + discard_confirmation: Ziur zaude zuzenketa-zirriborro hau baztertu nahi duzula? + send: Aurrebista + title: Editatu zuzenketa-zirriborroa emendation: actions: button_accept: Onartu @@ -154,15 +197,25 @@ eu: evaluating: |- For the Aldaketa hori %{amendable_type} %{amendable_link} ebaluatu dago. + promoted: Sustatu hau %{amendable_type}. rejected: "%{amendable_type} %{amendable_link}\naldatze hau %{announcement_date}baztertu egin zen." withdrawn: |- %{amendable_type} %{amendable_link} ren aldaketa hori egilearen arabera kendu da. new: amendment_author: Egile aldaketa + send: Sortu + title: Sortu zuzenketa-zirriborroa + preview_draft: + modify: Aldatu + publish: Argitaratu + title: Argitaratu zuzenketa-zirriborroa promoted: error: Akatsak izan dira emendifikazioa sustatzen denean success: Emendazioa arrakastaz sustatu da + publish_draft: + error: Arazoa gertatu da zuzenketa argitaratzean. + success: Zuzenketa zuzen argitaratu da. rejected: error: Errore bat gertatu da aldaketa hori arbuiatzearekin. Saiatu berriro geroago success: Aldaketa ongi baztertu da @@ -171,26 +224,38 @@ eu: heading: Aldaketa berrikustea help_text: '%{model_name}zuzenketa bat berrikusten ari zara' send: Onartu aldaketa + update_draft: + error: Arazoa gertatu da zuzenketa-zirriborroa eguneratzean. + success: Zuzenketa-zirriborroa zuzen eguneratu da. + withdraw: + error: Arazoa gertatu da zuzenketa kentzean + success: Zuzenketa zuzen kendu da wizard_step_form: steps: '1': Sortu zure aldaketa - '2': Compare your amendment - '3': Complete your amendment - '4': Publish your amendment + '2': Alderatu zure zuzenketa + '3': Osatu zure zuzenketa + '4': Argitaratu zure zuzenketa anonymous_user: Anonimoa application: collection: documents: one: Dokumentuaren other: Dokumentuak + document: + download: Deskargatu fitxategia documents: related_documents: Honekin lotutako agiriak photos: related_photos: Honekin lotutako argazkiak author: + avatar: Avatar comments: one: iruzkin other: iruzkinak + endorsements: + one: atxikimendua + other: atxikimenduak authorization_handlers: another_dummy_authorization_handler: explanation: Egiaztatu pasaportearen zenbakia "A" @@ -201,11 +266,16 @@ eu: dummy_authorization_handler: explanation: Egiaztatu "X" ren bukaerako dokumentu-zenbaki batekin sartuz. fields: + allowed_postal_codes: Onartutako posta-kodeak (komaz bereizita) + allowed_scope_id: Onartutako eremua document_number: Dokumentuaren zenbakia postal_code: Posta kodea + scope_id: Eremua name: Adibidez baimena dummy_authorization_workflow: name: Dummy baimena eragiketa + errors: + duplicate_authorization: Badago datu berak dituen parte-hartzaile baimendu bat. Administratzaile bat zurekin harremanetan jarriko da zure datuak egiaztatzeko. expired_at: '%{timestamp} iraungita dago' expires_at: '%{timestamp} iraungitzen da' foo_authorization: @@ -214,6 +284,7 @@ eu: foo: foo name: foo baimena granted_at: Onartua %{timestamp} + renew: Berritu egiaztapena sms: explanation: Bidali zure telefono mugikorraren zenbakia zure identitatea egiaztatzeko. name: Kodea SMS bidez @@ -234,6 +305,8 @@ eu: authorize: 'Baimena eskuratu honen bidez: "%{authorization}"' explanation: 'Ekintza hau egiteko, baimen hau behar duzu: "%{authorization}".' title: Baimena behar da + ok: + title: Baimena duzu orrialde honetan zauden bitartean. Mesedez, kargatu berriro orrialdea zure ekintza egiteko pending: explanation: Ekintza hau burutzeko, "%{authorization}" baimena eduki behar duzu, baina zure baimena oraindik ere badago resume: Egiaztatu "%{authorization}" baimenaren aurrerapena @@ -248,6 +321,15 @@ eu: explanation_html: Ekintza hau burutzeko baimena behar da, egiten zure email berretsi behar duzula aurretik behar duzu %{email}. request_confirmation_instructions: Eska ezazu berrespen-argibideak title: Berretsi zure posta elektronikoa + show: + close_modal: Itxi leihoa + block_user_mailer: + notify: + body_1: Zure kontua blokeatu egin da. + body_2: 'Arrazoia: %{justification}' + greetings: Agur,
    %{organization_name}
    %{organization_url} + hello: Kaixo, + subject: Zure kontua %{organization_name} k blokeatu du collapsible_list: hidden_elements_count: one: eta %{count} gehiago @@ -255,6 +337,19 @@ eu: see_less: "(ikusi gutxiago)" see_more: "(gehiago ikusi)" components: + component_order_selector: + no_content: Ez dugu aurkitu edukirik irizpide horrekin + order: + all_types: Mota guztiak + collaborative_draft: Zirriborro kolaboratiboa + comment: Iruzkina + debate: Eztabaida + initiative: Ekimena + meeting: Topaketa + post: Argitaratu + proposal: Proposamena + question: Galdera + title: 'Erakutsi:' dummy: actions: bar: Bar @@ -264,22 +359,46 @@ eu: global: amendments_enabled: Emendakinak gaituta comments_enabled: Iruzkinak gaituta + comments_max_length: Iruzkinen gehieneko luzera dummy_global_attribute_1: Dummy Atributua 1 dummy_global_attribute_2: Dummy Attribute 2 + dummy_global_translatable_text: Itzul daitekeen adibidearen testua enable_pads_creation: Gaitu pads sortzea resources_permissions_enabled: Baliabideen baimenak gaituta + scope_id: Eremua + scopes_enabled: Eremuak gaituta step: + amendment_creation_enabled: Zuzenketa sortzea aktibatuta + amendment_promotion_enabled: Zuzenketa sustatzea aktibatuta + amendment_reaction_enabled: Zuzenketaren erreakzioa aktibatuta + amendments_visibility: Zuzenketaren ikusgarritasuna comments_blocked: Iruzkinak blokeatuta dummy_step_attribute_1: Dummy Step Attribute 1 dummy_step_attribute_2: Dummy Step Attribute 2 + dummy_step_translatable_text: Itzul daitekeen adibidearen fasea contact: Harremanetarako content_blocks: + cta: + name: Irudia, testua eta ekintzaren botoia + cta_settings_form: + background_image: Atzeko planoko irudia + button_text: Ekintzaren botoiaren testua + button_url: Ekintzaren botoiaren URLa + description: Deskribapena footer_sub_hero: name: Oinaren azpi-heroiaren pankarta hero: name: Heroi irudia + hero_settings_form: + background_image: Atzeko planoko irudia + welcome_text: Ongietorri-testua highlighted_content_banner: name: Nabarmendutako edukia banner + highlighted_elements_settings_form: + orders: + label: 'Ordenatu elementuak honen arabera:' + random: Ausazkoa + recent: Azkenak how_to_participate: name: Nola parte hartu html: @@ -297,6 +416,7 @@ eu: name: Sub heroi banner core: actions: + login_before_access: Mesedez, sartu baino lehen hasi saioa zure kontuarekin unauthorized: Ez duzu baimenik ekintza honi heltzeko. data_portability: export: @@ -340,6 +460,7 @@ eu: buttons: check: Egiaztatu eta jarraitu close_modal: Itxi modal + uncheck: Mantendu markatu gabe notice: |-

    Hola, ziur zaude buletin bat jaso nahi duzula?
    Berriro begiratu berriro buletina kontrol-laukia markatuta.
    @@ -367,6 +488,14 @@ eu: wants_to_use_your_account_html: "%{application_name} zure kontua erabili nahi du" endorsable: endorsements: Oniritziak + endorsements_count: Atxikimendu kopurua + endorsement_buttons_cell: + already_endorsed: Atxikita + endorse: Atxiki + endorsements: + identities: + done: Eginda + select_identity: Hautatu identitatea errors: internal_server_error: title: Arazo bat izan da gure zerbitzariarekin @@ -485,8 +614,31 @@ eu: email_outro: Jakinarazpen hori jaso duzu talde horretako kide zarelako. email_subject: '%{user_group_name} taldetik kendu duzu!' notification_title: %{user_group_name} taldetik kendu zaituzte. + user_group_created: + email_intro: Talde berri bat sortu da izen honekin %{user_group_name}. Orain egiaztatu ahal duzu, hala badagokio, hemen panel de administración. + email_outro: Jakinarazpen hau jaso duzu plataformaren administratzaileetako bat zarelako. + email_subject: Talde berri bat sortu da + notification_title: Talde hau sortu da %{user_group_name}. Orain egiaztatu ahal duzu hemen panel de administración. + user_group_updated: + email_intro: '%{user_group_name} taldeak bere profila eguneratu du egiaztapena galduz. Berriro egiaztatu ahal duzu honen bidez panel de administración.' + email_outro: Jakinarazpen hau jaso duzu plataformaren administratzaileetako bat zarelako. + email_subject: Talde batek bere profila eguneratu du + notification_title: '%{user_group_name} taldeak bere profila eguneratu du egiaztapena galduz. Berriro egiaztatu ahal duzu honen bidez panel de administración.' notification_event: notification_title: 'Gertaera bat gertatu da hemen: %{resource_title}.' + reports: + resource_hidden: + email_intro: Administratzaile batek bere %{resource_type} ezabatu du erreportatua izan delako arrazoi honengatik %{report_reasons}. + email_outro: Jakinarazpen hau jaso duzu ezabatutako edukiaren egileetako bat zarelako. + email_subject: Zure %{resource_type} ezabatu egin da + notification_title: |- + Administratzaile batek zure %{resource_type} erreportatua izan delako arrazoi honengatik honela %{report_reasons}.
    + %{resource_content} + resource_endorsed: + email_intro: 'Jarraitzen duzun hau %{endorser_name} %{endorser_nickname} honi atxiki zaio "%{resource_title}" zure interesekoa izan daiteke, egiaztatu eta lagundu:' + email_outro: Jakinarazpen hau jaso duzu % “ endorser_nickname”ri jarraitzen diozulako. Jakinarazpenak jasotzeari utzi ahal diozu, esteka hau jarraituz %{endorser_nickname}. + email_subject: "%{endorser_nickname} proposamen bati atxiki zaio" + notification_title: %{endorser_name} %{endorser_nickname} atxiki zaio honako proposamen honi %{resource_title} (%{resource_type}). users: profile_updated: email_intro: profile orriaren 1233_4_1_321 %{name} (%{nickname}) jarraitzen ari zarenean, eguneratu egin da. @@ -495,6 +647,7 @@ eu: notification_title: profile orriaren 1233_4_1_321 %{name} (%{nickname}) jarraitzen ari zarenean, eguneratu egin da. export_mailer: data_portability_export: + click_button: 'Egin klik hurrengo loturan zure datuak deskargatzeko.
    Artxiboa eskuragai egongo da data honetara arte %{date}.
    Irekitzeko beharko duzu
    7-Zip (Windowserako), Keka (para MacOS) o PeaZip (Linuxerako). Pasahitza: %{password}' download: Deskarga export: ready: Atxikita aurkituko duzu zure esportazioaren bertsio trinkotua. @@ -524,6 +677,7 @@ eu: create: button: Jarraitu error: Errorea gertatu da baliabide hau jarraitzeari uztean. + participatory_space: Jarraitzen %{resource_name} destroy: button: Jarraitzeari utzi error: Errorea gertatu da baliabide hau jarraitzeari uztean. @@ -532,7 +686,22 @@ eu: current_image: Oraingo irudia default_image: Irudi lehenetsia errors: + decidim/user: + password: Pasahitza laburregia da. + password_confirmation: Pasahitzaren egiaztapena zure pasahitzarekin bat etorri behar da. error: Errorea bat dago eremu honetan. + file_help: + file: + explanation: 'Jarraibideak artxiborako:' + message_1: Irudi bat edo dokumentu bat izan behar da. + message_2: Irudietarako, ahal izanez gero, erabili irudi etzanak, zerbitzuak irudia moztu egiten baitu. CSV artxiboetarako zutabeen arteko banatzailea koma bat izan behar da (",") + image: + explanation: 'Jarraibideak irudirako:' + message_1: Ahal izanez gero, irudi etzana eta testurik gabekoa. + message_2: Zerbitzuak irudia moztu egiten du. + file_validation: + allowed_file_extensions: 'Onartutako artxiboen formatua: %{extensions}' + max_file_size: 'Artxiboaren gehieneko tamaina: %{megabytes}MB' remove_this_file: Ezabatu artxibo hau gamification: all_badges_link: Ikusi eskuragarri dauden txapak. @@ -686,6 +855,13 @@ eu: not_found: 'Eremu mota ez da aurkitu datu-baseko (ID: %{id})' managed_users: expired_session: Ordezte-saio hau iraungi da. + map: + dynamic: + screen_reader_explanation: Hurrengo elementua orri honetako osagaiak mapan puntu gisa erakusten dituen mapa da. Elementua pantaila-irakurgailu batez erabil daiteke, baina ulergaitza izan daiteke. + skip_button: Saltatu mapa + static: + latlng_text: 'latitudea: %{latitude}, longitudea: %{longitude}' + map_service_brand: OpenStreetMap members: no_members: Erabiltzaile talde honek ez du kideik oraindik. menu: @@ -693,33 +869,83 @@ eu: home: Hasiera messaging: conversation_mailer: + comanagers_new_conversation: + admin_in_group: Jakinarazpen hau jaso duzu %{group} taldearen administratzailea zarelako. + greeting: Kaixo, %{recipient}! + intro: "%{manager} k elkarrizketa berri bat hasi du %{group} taldearekin. Egin klik hemen ikusteko:" + outro: Disfrutatu Decidimez! + subject: "%{manager} k elkarrizketa berri bat hasi du %{group} taldearekin" + comanagers_new_message: + admin_in_group: Jakinarazpen hau jaso duzu %{group} taldearen administratzailea zarelako. + greeting: Kaixo, %{recipient}! + intro: "%{manager} k mezu berriak argitaratu ditu %{group} taldearen elkarrizketa batean. Egin klik hemen ikusteko:" + outro: Disfrutatu Decidimez! + subject: "%{manager} k mezu berriak bidali ditu %{group} gisa" new_conversation: greeting: Kaixo, %{recipient}! intro: "%{sender} elkarrizketa berria hasi duzu zurekin. Egin klik hemen ikusteko:" outro: Gozatu erabaki! subject: "%{sender} elkarrizketa bat hasi da zurekin" + new_group_conversation: + admin_in_group: Jakinarazpen hau jaso duzu %{group} taldearen administratzailea zarelako. + greeting: Kaixo, %{recipient}! + intro: "%{sender} k elkarrizketa berri bat hasi du %{group} taldearekin. Egin klik hemen ikusteko:" + outro: Disfrutatu Decidimez! + subject: "%{sender} k elkarrizketa berri bat hasi du %{group} taldearekin" + new_group_message: + admin_in_group: Jakinarazpen hau jaso duzu %{group} taldearen administratzailea zarelako. + greeting: Kaixo, %{recipient}! + intro: "%{sender} k elkarrizketa berri bat hasi du %{group} taldearekin. Egin klik hemen ikusteko:" + outro: Disfrutatu Decidimez! + subject: "%{group} k %{sender} ren mezu berriak ditu" new_message: greeting: Kaixo, %{recipient}! - intro: "%{sender} elkarrizketan mezu berriak argitaratu ditu. Egin klik hemen ikusteko:" - outro: Gozatu erabaki! + intro: "%{sender} k elkarrizketan mezu berriak argitaratu ditu. Egin klik hemen ikusteko:" + outro: Disfrutatu Decidimez! subject: '%{sender}-tik mezu berriak dituzu' conversations: + add_conversation_users: + add_max_users: 'Gehitu erabiltzaileak elkarrizketara: gehienez 9 erabiltzaile' + add_users_placeholder: Bilatu... + modal_title: Elkarrizketa berria + no_results: Emaitzarik ez + participant_with_disabled_message_reception: Erabiltzaile honek mezuak jasotzea desaktibatu du + conversation: + show: Erakutsi elkarrizketa honekin %{sender} create: error: Ez da elkarrizketa hasi. Saiatu berriro geroago + error_modal: + close: Itxi leihoa + correct_errors: Mesedez, zuzendu akatsak eta saiatu berriro. + intro: 'Zure mezuan honako akats hauek gertatu dira:' + ok: Ados index: - close: Itxi modal - from: Nork + ago: orain dela + close: Itxi leihoa + from: Nondik + groups: Nire taldeak + last_message: Azken mezua + new_conversation: Elkarrizketa berria + next: Hurrengoa no_conversations: Oraindik ez duzu elkarrizketarik title: Elkarrizketak reply: + placeholder: Zure erantzuna... send: Bidali title: Erantzun show: - title: Solasean %{usernames} + back: Itzuli elkarrizketa guztietara + chat_with: Elkarrizketa honekin + not_allowed: Parte-hartzaile honek ez du mezu zuzenik onartzen. + title: Elkarrizketa honekin %{usernames} start: send: Bidali title: Hasi elkarrizketa bat + update: + error: Mezua ez da bidali akats batengatik metrics: + download: + csv: Deskargatu datuak (CSV) followers: description: Parte hartze espazio hau jarraitzen duten erabiltzaile kopurua object: jarraitzaile @@ -737,6 +963,25 @@ eu: note: 'Mezu hau jaso duzu albiste-buletinean harpidetuta zaudelako hemen: %{organization_name}. Ezarpenak aldatu ditzakezu zure jakinarazpen-orrian.' see_on_website: Ezin da mezu hau zuzenean ikusi? Ikusi website orrian. unsubscribe: Mezu mota hau jasotzeko ez onartzeko, Harpidetu. + newsletter_templates: + basic_only_text: + body_preview: 'Alegiazko testua gorputzerako: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu".' + name: Oinarrizkoa (testua soilik) + basic_only_text_settings_form: + body: Gorputza + interpolations_hint: 'Iradokizuna: "%{name}" erabil dezakezu gaiaren edo testuaren edozein tokitan, eta horren ordez hartzailearen izena agertuko da.' + image_text_cta: + body_preview: 'Alegiazko testua gorputzerako: Maecenas ac nisl vitae lectus pretium facilisis. Etiam facilisis sem nibh, sit amet rutrum mi aliquam nec. Sed id urna at nisl pretium mollis eu vel velit. Proin vitae suscipit urna, sed faucibus urna. Pellentesque id libero vulputate ipsum scelerisque suscipit. Nam aliquam sodales mi sit amet cursus. Donec mattis faucibus purus. Aenean tincidunt porta lorem ac commodo. Vestibulum in mollis mi. Morbi eros erat, cursus ut tortor sit amet, imperdiet dapibus arcu. Suspendisse id egestas enim. In eget magna sed enim efficitur elementum sit amet aliquam quam. Donec fermentum metus eget urna luctus pulvinar.' + cta_text_preview: Ekintza-botoiaren testua + introduction_preview: 'Alegiazko testua sarrerarako: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu".' + name: Irudia, testua eta ekintza-botoia + image_text_cta_settings_form: + body: Gorputza + cta_text: Ekintza-botoiaren testua + cta_url: Ekintza-botoiaren URLa + interpolations_hint: 'Iradokizuna: "%{name}" erabil dezakezu sarreraren, gorputzaren, ekintza-botoiaren testuaren edo gaiaren edozein lekutan, eta horren ordez erabiltzailearen izena agertuko da.' + introduction: Sarrera + main_image: Irudi nagusia newsletters: unsubscribe: check_subscription: Zure hobespenak aldatu nahi badituzu, configurazio orriko 1233_4_1_321 orrian egin dezakezu. @@ -762,6 +1007,10 @@ eu: no_notifications: Oraindik ez dago jakinarazpenik. notifications_settings: show: + administrators: Administratzaileak + allow_public_contact: Baimentzea edonork bidali diezadala mezu zuzena, nahiz eta nik jarraitu ez. + direct_messages: Edonoren mezu zuzenak jasotzea + email_on_moderations: Mezu elektroniko bat jaso nahi dut zerbait neurriz erreportatzen den bakoitzean. email_on_notification: Mezu elektroniko bat jaso nahi dut jakinarazpen bat jasotzen dudan bakoitzean. everything_followed: Jarraitzen dudan guztia newsletter_notifications: Buletinak jaso nahi ditut @@ -840,6 +1089,7 @@ eu: error: Errore bat gertatu da terminoak eta baldintzak onartzen dituzunean. success: Great! Baldintzak eta baldintzak onartu dituzu. form: + agreement: Ados nago irizpide hauekin legend: Erabiltzeko baldintzak eta baldintzak onartzen dituzu refuse: modal_body: Uko egiten baduzu, ezin izango duzu plataforman erabiltzeko gai, ezin duzu deskargatu zure datu edo / zure kontua ezabatu. @@ -856,17 +1106,21 @@ eu: not_allowed: Ez duzu edukia ikusteko baimenik profile: deleted: Erabiltzailea ezabatua - view: ikusi + inaccessible_message: Profil hau eskuraezina da Erabilera-irizpideak eta baldintzak urratzeagatik! + view: Bistaratu profiles: default_officialization_text_for_user_groups: Erabiltzaile talde hau publikoki egiaztatua dago, bere izena benetako izenarekin lotzeko egiaztatu da default_officialization_text_for_users: Partehartzaile hau publikoki egiaztatua dago, bere izena edo rol egiaztatua dago bere benetako izena eta rolarekin bat etorriz show: activity: Jarduera badges: Badges + conversations: Elkarrizketak followers: Jarraitzaileak following: honako hau groups: Taldeak members: Bazkideek + officialized: Parte-hartzaile ofiziala + send_private_message: Bidali mezu pribatua timeline: Timeline view_full_profile: Ikusi profil osoa sidebar: @@ -892,22 +1146,39 @@ eu: report_html:

    Hurrengo edukiaautomatikoki ezkutatu da

    subject: Eduki bat automatikoki ezkutatu da report: + authors: Egileak + content: Erreportatutako edukia + content_original_language: Jatorrizko edukiaren hizkuntza + date: Noiz erreportatua + details: Xehetasunak hello: Kaixo, %{name}, + id: ID + participatory_space: Parte hartzeko espazioa + reason: Arrazoia report_html:

    Hurrengo edukiazalatua izan da.

    + see_report: Ikusi erreportea subject: Eduki bat salatua izan da reports: create: error: Errorea gertatu da edukia salatzean. Mesedez, saiatu berriro. success: Salaketa zuzen sortu da, eta administratzaile batek aztertuko du. + resource_endorsements: + create: + error: Arazo bat gertatu da atxikimendu-ekintzan zehar. scopes: global: Esparru orokorra picker: cancel: Utzi + change: Aldatu hautatutako esparrua choose: Aukeratu + currently_selected: Esparrua zuzen hautatu da title: Hautatu %{field} prompt: Aukeratu esparrua scopes: esparru + scopes_picker_input: + select_scope: 'Hautatu esparru bat (gaur egun: %{current})' search: + results: Bilaketaren emaitzak results_found_for_term: '%{count} Bilaketaren emaitzak: "%{term}"' term_input_placeholder: Search searches: @@ -929,7 +1200,16 @@ eu: one: "%{count} emaitza" other: "%{count} emaitzak" view_all: Ikusi dena (%{count}) + security: + selfxss_warning: + description: Nabigatzaile-funtzio hau garatzaileentzat pentsatuta dago, eta ez zenuke ezer itsatsi behar hemen egiteko eskatu badizute. Leiho honetan edukia itsasteak zure pribatutasuna arriskuan jar dezake, eta hackerrak zure kontura sar daitezke. + title: Gelditu! shared: + confirm_modal: + cancel: Utzi + close_modal: Itxi leihoa + ok: Ados + title: Baieztatu embed_modal: close_window: Itxi leihoa embed: Mesedez, erantsi kode hau zure orrian @@ -937,6 +1217,9 @@ eu: extended_navigation_bar: more: gehiago unfold: Zabaldu + filter_form_help: + help: Bilaketa-baldintzak aldatzen direnean, hurrengo formularioak dinamikoki iragazten ditu bilaketa-emaitzak. + skip: Saltatu emaitzetara flag_modal: already_reported: Eduki hau jada salatuta dago, eta administratzaile batek berrikusiko du. close: Itxi @@ -946,11 +1229,22 @@ eu: report: Txostena spam: Bertan badago clickbait-ik, publizitaterik edo iruzurrik. title: Salatu arazo bat + flag_user_modal: + already_reported: Eduki hau jada salatuta dago, eta administratzaile batek berrikusiko du. + close: Itxi + description: Erabiltzailearen zer da desegokia? + does_not_belong: Bertan badago legez kontrako jardunik, suizidio-mehatxurik, informazio pertsonalik edo beste zernahi, zure ustez %{organization_name}-ri ez dagokionik. + offensive: Bertan badago arrazakeriarik, sexismorik, irainik, eraso pertsonalik, heriotza-mehatxurik, suizidio-eskaerarik edo beste edozein eratako gorroto-diskurtsorik. + report: Jakinarazi + spam: Bertan badago clickbait-ik, publizitaterik edo gidoi-robotik. + title: Jakinarazi erabiltzaile desegokia floating_help: + close: Itxi laguntza help: Laguntza follow_button: sign_in_before_follow: Hasi saioa ekintza hau burutu baino lehen login_modal: + close_modal: Itxi leihoa please_sign_in: Mesedez, erregistratu sign_up: Erregistratu participatory_space_filters: @@ -964,16 +1258,50 @@ eu: select_user_group: Aukeratu talde bat results_per_page: label: 'Emaitzak, orrialdeko:' + title: Hautatu emaitza kopurua orrialde bakoitzeko share_modal: close_window: Itxi leihoa share: Partekatu share_link: Partekatu esteka + tags: + filter_results_for_category: 'Emaitzak kategoriaren arabera iragaztean: %{resource}' + filter_results_for_scope: 'Emaitzak %{resource} esparruaren arabera iragaztean' + translation_bar: + help_text: "Oharra: Edukia automatikoki itzul daiteke eta ez izan zuzena %100ean." + show_original: Erakutsi jatorrizko testua + show_translated: Erakutsi automatikoki itzulitako testua user_activity: index: no_activities_warning: Erabiltzaile honek ez du oraindik jarduera izan. + user_contact_disabled: Parte-hartzaile honek ez du mezu zuzenik onartzen. user_conversations: + create: + error: Mezua ezin izan da sortu. Saiatu berriro geroago + existing_error: Mezua ezin izan da sortu. Elkarrizketa bada, mesedez, saiatu berriro orain. + success: Elkarrizketa zuzen hasi da! index: + add_max_users: 'Gehitu erabiltzaileak elkarrizketara: gehienez 9 erabiltzaile' + add_users_placeholder: Bilatu... + close: Itxi + conversations_info: Elkarrizketak pribatuak dira. Beste inork ezin ditu ikusi. Elkarrizketa has daiteke plataforman erregistratutako edozein parte-hartzaile edo talderekin. from: Nork + last_message: Azken mezua + modal_title: Elkarrizketa berria + new_conversation: Elkarrizketa berria + next: Hurrengoa + no_conversations_warning: Oraindik ez dago elkarrizketarik. + no_results: Emaitzarik ez + participant_with_disabled_message_reception: Erabiltzaile honek mezuak jasotzea desaktibatu du + time_ago: "duela %{time}" + new: + title: Hasi elkarrizketa + reply: + placeholder: Zure erantzuna... + send: Bidali + title_reply: Erantzun + show: + not_allowed: Erabiltzaile honek ez du mezu zuzenik onartzen. + title: Elkarrizketa honekin %{usernames} update: error: Mezua ez da bidali. Saiatu berriro geroago user_interests: @@ -985,12 +1313,49 @@ eu: update: error: Errore bat gertatu da zure interesak eguneratzean. success: Zure interesak ondo eguneratu dira. + user_report_mailer: + notify: + body_1: '%{user} erabiltzailea %{token} k erreportatu du' + body_2: 'Arrazoia: %{reason}' + greetings: Agur,
    %{organization_name}
    %{organization_url} + hello: Kaixo, %{admin}, + subject: Beste erabiltzaile bat erreportatu dute hemen %{organization_name} + version: + show: + back_to_resource: Joan atzera + changes_at_title: Aldaketak hemen "%{title}" + number_of_versions: Bertsioak + show_all_versions: Erakutsi bertsio guztiak + version_author: Bertsioaren egilea + version_created_at: Bertsioaren data + version_number: Bertsioaren zenbakia + version_number_out_of_total: "%{total_count} etik %{current_version}" version_author: show: deleted: Erabiltzailea ezabatua + versions: + resource_version: + of_versions: "(%{number} etik)" + see_other_versions: ikusi beste bertsio batzuk + version: '%{number} bertsio zenbakia' + versions_list: + show: + back_to_resource: Joan atzera + changes_at_title: Aldaketak hemen "%{title}" + number_of_versions: Bertsioak + title: Bertsioak + versions_list_item: + show: + version_index: '%{index} bertsioa' welcome_notification: default_body:

    Hi {{name}}, eskerrak emateko {{organization}} eta ongi etorria!

    • Hemen zer egin dezakezuen ideia azkar bat nahi baduzu, begiratu Laguntza atalean.
    • Behin irakurri ondoren, zure lehen txapela jasoko duzu. Hemen da txapak guztiak zerrenda parte bezala zuk ere lor dezakezu {{organization}}
    • Azkenik, beste pertsona batu, share haiekin ari arduratzen eta parte hartzen duten esperientzia {{organization}}. Egin proposamenak, iruzkinak, eztabaidak, ohiko onura nola laguntzen jakitea, konbentzitu, entzun eta irakurri argudioak ematea, zure ideiak modu zehatz eta zehatz batean adieraztea, pazientzia eta erabakia erantzutea, zure ideiak defendatzea eta mantentzea adimen irekia, beste pertsonen ideiak lankidetzan aritzeko.
    default_subject: Eskerrik asko sartzeko {{organization}}! + wizard_step_form: + wizard_aside: + back: Atzera + wizard_header: + see_steps: ikusi urratsak + step_of: '%{total_steps} etik %{current_step} urratsa' devise: confirmations: confirmed: Zure helbide elektronikoa ondo egiaztatu da. @@ -1143,9 +1508,11 @@ eu: cycle_detected: Esparruko guraso bat ezin da bere ondorengoetako bat izan expired: iraungi egin da, eskatu beste bat file_size_is_less_than_or_equal_to: fitxategiaren pisuak %{count} izan behar du, edo gutxiago + invalid_time_zone: ordu-zona ez da baliozkoa long_words: luzeegia daukaten hitzak (35 karaktere baino gehiago) must_start_with_caps: letra maiuskulaz hasi behar da nesting_too_deep: ezin da egon azpikategoria batean + not_found: ezin izan da aurkitu. Aldez aurretik erregistratu zara? not_locked: ez zen blokeatuta not_saved: one: 'Errorea gertatu da zure eskaera prozesatzean:' @@ -1154,7 +1521,9 @@ eu: too_much_caps: maiuskulaz gehiegi erabiltzen ditu (testuaren% 25 baino gehiago) too_short: laburra da (15 karaktere baino gutxiago) forms: + correct_errors: Akatsak daude galdetegian, mesedez, zuzendu jarraitu ahal izateko. required: Nahitaezkoa da + required_explanation: "Derrigorrezko eremuak * batez daude markatuta" invisible_captcha: sentence_for_humans: Gizaki bat bazara, ez egin kasu eremu honi timestamp_error_message: Barkatu, baina azkarregi aritu zara! Mesedez, bidali. @@ -1167,6 +1536,8 @@ eu: edit_link: edit: Editatu footer: + cc_by_license: Creative Commons lizentziaduna + decidim_logo: Decidimen logoa download_open_data: Deskargatu Open Data fitxategiak made_with_open_source: Gune hau egiteko, software libre erabili da. header: @@ -1178,9 +1549,24 @@ eu: close_session: Itxi saioa description_html: 'Honako erabiltzaile honen plantak egiten ari zara: %{user_name}.' expire_time_html: Zure saioa iraungiko da %{minutes}minutu barru. + language_chooser: + choose_language: Aukeratu hizkuntza notifications_dashboard: mark_all_as_read: Markatu dena irakurritako gisa + mark_as_read: Markatu irakurrita bezala + social_media_links: + facebook: "%{organization} Facebooken" + github: "%{organization} GitHuben" + instagram: "%{organization} Instagramen" + twitter: "%{organization} Twitterren" + youtube: "%{organization} YouTuben" + timeout_modal: + body: Jarduerarik gabe egon zara %{minutes} minututan. Aktibatu gabe jarraitzen baduzu, deskonektatuko zaitugu zure segurtasunerako. + continue_session: Jarraitu saioa + sign_out: Itxi saioa + title: Saioan jarraitu nahi duzu? user_menu: + account: '%{name} erabiltzailearen kontua' admin_dashboard: Administrazioko aginte-mahaia conversations: Elkarrizketak notifications: jakinarazpenak @@ -1200,6 +1586,7 @@ eu: see_more: Ikusi gehiago locale: name: Euskera + name_with_error: Ingelesa (akatsa!) password_validator: domain_included_in_password: domeinu izen honen antzekoa da email_included_in_password: zure posta elektronikoaren antzekoa da @@ -1223,12 +1610,15 @@ eu: qq: Qzone reddit: Reddit share_to: 'Partekatu honekin: %{name}' + telegram: Telegram tumblr: Tumblr twitter: Twitter vkontakte: Vkontakte wechat: WeChat wechat_footer: Ireki zure WeChat, egin klik "Discover" botoian, eta gero, egin klik berriro "Eskaneatu QR kodea” menuan. weibo: Sina Weibo + whatsapp_app: WhatsApp + whatsapp_web: WhatsApp xing: Xing time: formats: @@ -1238,15 +1628,36 @@ eu: day_of_year: "%d.%m.%y" decidim_day_of_year: "%d %B %Y" decidim_short: "%d/%m/%Y %H:%M" + default: "%a, %d %b %Y %H:%M:%S %z" devise: mailer: invitation_instructions: accept_until_format: "%B %d, %Y %I:%M %p" + long: "%B, %d %Y %H:%M" + long_dashed: "%Y-%m-%d, %H:%M:%S" + short: "%d/%m/%Y, %H:%M" time_of_day: "%H:%M" + versions: + directions: + left: Ezabapenak + right: Gehikuntza + dropdown: + choose_diff_view_html: 'HTML ikusteko modua:' + choose_diff_view_mode: 'Alderatu bistaratzeko modua:' + option_escaped: Ihes eginda + option_split: Paraleloan + option_unescaped: Ez ihes eginda + option_unified: Bateratua views: pagination: first: "« Lehena" + first_title: Lotura lehen orrialdearekin last: Azkena » + last_title: Lotura azken orrialdearekin next: Hurrengoa › + next_title: Lotura hurrengo orrialdearekin + pagination: Orri-zenbaketa previous: "‹ Aurrekoa" + previous_title: Lotura aurreko orrialdearekin + title: 'Orrialde zenbakia: ' truncate: "…" diff --git a/decidim-core/config/locales/fr.yml b/decidim-core/config/locales/fr.yml index 22c4db145f0ad..dd305396234a1 100644 --- a/decidim-core/config/locales/fr.yml +++ b/decidim-core/config/locales/fr.yml @@ -1360,7 +1360,7 @@ fr: show: version_index: Version %{index} welcome_notification: - default_body:

    Bonjour {{name}}, merci d'avoir rejoins {{organization}} et bienvenue!

    • Si vous souhaitez avoir une idée rapide de ce que vous pouvez faire ici, consultez la section Aide .
    • Une fois que vous l'avez lu, vous recevrez votre premier badge. Voici une liste de tous les badges vous pouvez obtenir vous participez à {{organization}}
    • En somme, rejoignez d'autres personnes, partagez avec eux l'expérience d'être engagés et participer à {{organization}}. Faites des propositions, des commentaires, lancez des débats, réfléchissez à la manière de contribuer au bien commun, fournissez des arguments pour convaincre, écoutez et lisez pour être convaincu, exprimez vos idées de manière concrète et directe, répondez avec patience et décision, défendez vos idées un esprit ouvert pour collaborer et rejoindre les idées des autres.
    + default_body:

    Bonjour {{name}}, merci d'avoir rejoint {{organization}} et bienvenue!

    • Si vous souhaitez avoir une idée rapide de ce que vous pouvez faire ici, consultez la section Aide .
    • En somme, rejoignez d'autres personnes, partagez avec eux l'expérience d'être engagés et participer à {{organization}}. Faites des propositions, des commentaires, lancez des débats, réfléchissez à la manière de contribuer au bien commun, fournissez des arguments pour convaincre, écoutez et lisez pour être convaincu, exprimez vos idées de manière concrète et directe, répondez avec patience et décision, défendez vos idées dans un esprit ouvert pour collaborer et enrichir les idées des autres.
    default_subject: Merci d'avoir rejoint {{organization}}! wizard_step_form: wizard_aside: diff --git a/decidim-core/config/locales/pt.yml b/decidim-core/config/locales/pt.yml index 719a1a0834279..a47226fadb346 100644 --- a/decidim-core/config/locales/pt.yml +++ b/decidim-core/config/locales/pt.yml @@ -1582,7 +1582,7 @@ pt: twitter: "%{organization} no Twitter" youtube: "%{organization} no YouTube" timeout_modal: - body: Está inactivo há %{minutos}. Se continuar inactivo será automaticamente desligado para a sua própria segurança. + body: Está inactivo há %{minutes}. Se continuar inactivo será automaticamente desligado para a sua própria segurança. continue_session: Continuar sessão sign_out: Desligar title: Gostaria de continuar a sua sessão? diff --git a/decidim-debates/config/locales/eu.yml b/decidim-debates/config/locales/eu.yml index e28b49b89d0ff..b30c42333102c 100644 --- a/decidim-debates/config/locales/eu.yml +++ b/decidim-debates/config/locales/eu.yml @@ -3,6 +3,8 @@ eu: attributes: debate: category_id: Kategoria + closed_at: Amaiera-data + conclusions: Ondorioak decidim_category_id: Kategoria description: deskribapena end_time: Amaitzen du @@ -12,6 +14,7 @@ eu: title: Izenburua user_group_id: Sortu eztabaida gisa models: + decidim/debates/close_debate_event: Eztabaida itxita decidim/debates/create_debate_event: Debate decidim/debates/creation_disabled_event: Debateak desgaituta daude decidim/debates/creation_enabled_event: Debateak gaituta @@ -25,23 +28,34 @@ eu: debates: actions: create: Sortu + endorse: Atxiki name: eztabaidak settings: global: announcement: Anuntzio comments_enabled: Iruzkinak gaituta + comments_max_length: Iruzkinen gehieneko luzera (utzi 0 defektuz) + scope_id: Eremua + scopes_enabled: Esparruak gaituta step: announcement: Anuntzio comments_blocked: Iruzkinak blokeatuta creation_enabled: Erabiltzaileek gaitutako eztabaida sortzea + endorsements_blocked: Atxikimenduak blokeatuta + endorsements_enabled: Atxikimenduak gaituta debates: actions: + close: Itxi confirm_destroy: Ziur zaude? destroy: ezabatu edit: Editatu new: '%{name} berria' title: Ekintzak admin: + debate_closes: + edit: + close: Itxi + title: Itxi eztabaida debates: create: invalid: Arazo bat izan da eztabaida sortzen ari den bitartean. @@ -51,6 +65,10 @@ eu: edit: title: Editatu eztabaida update: Eguneratu eztabaida + form: + debate_type: Eztabaida mota + finite: Amaiera (hasiera- eta amaiera-ordua) + open: Zabalik (ez dago hasiera- edo amaiera-ordurik) index: title: eztabaidak new: @@ -59,14 +77,27 @@ eu: update: invalid: Arazo bat izan da eztabaida hau eguneratzean. success: Debate arrakastaz eguneratu da. + exports: + comments: Iruzkinak models: debate: name: Debate admin_log: debate: + close: "%{user_name} erabiltzaileak %{resource_name} eztabaida sortu du %{space_name} esparruan" create: "%{user_name} %{resource_name} eztabaida sortu zen %{space_name} espazioan" update: "%{user_name} %{resource_name} eztabaida eguneratu zen %{space_name} espazioan" + debate_m: + commented_time_ago: Iruzkina eginda orain dela %{time} debates: + close: + invalid: Arazo bat izan da eztabaida ixtean. + success: Eztabaida zuzen itxi da. + close_debate_modal: + close: Itxi + description: Zein da eztabaida honen laburpena edo ondorioa? + send: Itxi eztabaida + closed: Itxita count: debates_count: one: "%{count} eztabaida" @@ -76,14 +107,27 @@ eu: success: Debate sortu da behar bezala. debate: participate: Parte hartu + edit: + back: Atzera + save: Gorde aldaketak + title: Editatu eztabaida filters: + activity: Nire jarduera all: guztiak category: Kategoria category_prompt: Aukeratu kategoria bat citizens: Hiritarrak + commented: Iruzkina eginda + my_debates: Nire eztabaidak official: Ofiziala origin: Origin + scope: Eremua search: Search + state: Egoera + state_values: + closed: Itxita + open: Ireki + user_groups: Taldeak filters_small_view: close_modal: Itxi modal filter: Filter @@ -97,7 +141,37 @@ eu: back: Back create: Sortu title: Berri eztabaida + orders: + commented: Iruzkin gehien dituztenak + label: Ordenatu eztabaidak honen arabera + random: Ausazko ordena + recent: Azkenak + updated: Orain dela gutxi eguneratuak + show: + back: Itzuli zerrendara + close_debate: Itxi eztabaida + date: Data + debate_closed: Itxita + debate_conclusions_are: 'Eztabaida %{date} egunean itxi zen ondorio hauekin:' + edit_conclusions: Editatu ondorioak + edit_debate: Editatu eztabaida + groups_count: Taldeak + last_comment_by: Honen azken iruzkina + no_comments_yet: Oraindik ez dago iruzkinik + open: Eztabaida irekita + participants_count: Parte-hartzaileak + update: + invalid: Arazo bat izan da eztabaida hau eguneratzean. + success: Eztabaida zuzen eguneratu da. + versions: + debates: + back_to_resource: Itzuli eztabaidara + index: + title: Bertsioak + versions_list: + back_to_resource: Itzuli eztabaidara last_activity: + debate_updated_at_html: "eztabaida ordu honetan %{link} eguneratuta" new_debate_at_html: " %{link}eztabaida berria" models: debate: @@ -133,6 +207,17 @@ eu: email_outro: Jakinarazpena jaso duzu %{participatory_space_title}jarraituz gero. Aurreko esteka jarraituz jakinarazpenak jasotzeari uztea erabaki dezakezu. email_subject: Debates orain eskuragarri %{participatory_space_title} notification_title: Orain eztabaida berriak hasi ditzakezu %{participatory_space_title} + debate_closed: + affected_user: + email_intro: '"%{resource_title}" eztabaida itrxi egin da. Ondorioak bere orrialdean irakur ditzakezu:' + email_outro: Jakinarazpen hau jaso duzu "%{resource_title}" eztabaida jarraitzen ari zarelako. Aurreko loturan utzi ahal diozu jarraitzeari . + email_subject: '"%{resource_title}" eztabaida itxi egin da' + notification_title: %{resource_title} eztabaida itxi egin da. + follower: + email_intro: '"%{resource_title}" eztabaida itxi egin da. Ondorioak bere orrialdean irakur ditzakezu:' + email_outro: Jakinarazpen hau jaso duzu "%{resource_title}" eztabaida jarraitzen ari zarelako. Aurreko loturan utzi ahal diozu jarraitzeari . + email_subject: '"%{resource_title}" eztabaida itxi egin da' + notification_title: %{resource_title} eztabaida itxi egin da. gamification: badges: commented_debates: diff --git a/decidim-dev/config/locales/eu.yml b/decidim-dev/config/locales/eu.yml index 30a54e51b5468..616b927abc65a 100644 --- a/decidim-dev/config/locales/eu.yml +++ b/decidim-dev/config/locales/eu.yml @@ -3,11 +3,27 @@ eu: attributes: dummy_resource: created_at: Sortutako at + decidim_scope_id: Eremua field: Nire eremua start_date: Hasiera data title: Izenburua + translatable_text: Itzul daitekeen testua updated_at: Eguneratuta decidim: + components: + dummy: + settings: + global: + readonly_attribute: Soilik irakurtzeko atributua + test: Test bat + test_choices: + a: A aukera + b: B aukera + c: C aukera + step: + endorsements_blocked: Atxikimenduak blokeatuta + endorsements_enabled: Atxikimenduak gaituta + readonly_step_attribute: Soilik irakurtzeko atributua dummy: admin: exports: diff --git a/decidim-elections/config/locales/eu.yml b/decidim-elections/config/locales/eu.yml index d66f1c3c82c2f..370c4e33e9e66 100644 --- a/decidim-elections/config/locales/eu.yml +++ b/decidim-elections/config/locales/eu.yml @@ -49,6 +49,15 @@ eu: polling_station_president: different_voting: Mahaiko kudeatzaileak bozketa-puntuaren bozketa berean egon behar du models: + decidim/elections/answer: + one: Erantzuna + other: Erantzunak + decidim/elections/election: + one: Bozketa + other: Bozketak + decidim/elections/question: + one: Galdera + other: Galderak decidim/votings/polling_officer: one: Mahaiko kudeatzailea other: Mahaiko kudeatzailea(k) @@ -152,7 +161,41 @@ eu: update: invalid: Errorea izan da aukera hau eguneratzean success: Aukera ondo eguneratu da + exports: + elections: Bozketak + feedback_form_answers: Erantzunen feedbacka + models: + answer: + name: Erantzuna + election: + name: Bozketa + question: + name: Galdera + trustee: + name: Bermatzailea + proposals_imports: + create: + invalid: Arazo bat izan da proposamenak erantzun gisa inportatzean + success: "%{number} proposamen erantzunetara zuzen inportatuta" + new: + create: Inportatu proposamenak erantzun gisa + no_components: Ez dago beste proposamen-osagairik espazio honetan. + select_component: Mesedez, hautatu osagai bat + title: Inportatu proposamenak + questions: + edit: + update: Eguneratu galdera + index: + title: Galderak steps: + key_ceremony: + title: Gakoen zeremonia + results_published: + title: Argitaratutako emaitzak + tally: + title: Zenbatzeko prozesua + tally_ended: + title: Kalkulatutako emaitzak vote: title: Bozketa-aldia vote_ended: @@ -162,6 +205,15 @@ eu: title: Boto-estatistikak voters: Boto-emaileak votes: Botoak + admin_log: + election: + end_vote: "%{user_name} amaitu zen hautatzeko bozketa-aldia %{resource_name} Board Bulletin-ean" + publish: "%{user_name}-k argitaratu du %{resource_name} bozketa" + setup: "%{user_name} -k sortu zuen %{resource_name} aukera Bulletin Board-en" + start_key_ceremony: "%{user_name} -k hasi zuen gakoen zeremonia %{resource_name} aukeretarako Bulletin Board-en" + start_tally: "%{user_name} -k hasi zuen kontaketa %{resource_name} aukerarako Bulletin Board-en" + start_vote: "%{user_name} -k hasi zuen bozketa-aldia %{resource_name} aukerarako Bulletin Board-en" + unpublish: "%{user_name} -k desargitaratu zuen %{resource_name} bozketa" election_m: footer: vote: Eman botoa @@ -174,12 +226,49 @@ eu: filter: Iragazi filter_by: Iragazi honen arabera unfold: Zabaldu + preview: + available_answers: Erantzun eskuragarriak + description: Hauek dira bozketa-prozesuan aurkituko dituzun galderak + results: + description: Hauek dira bozketaren emaitzak, galdera bakoitzerako + votes: + one: "%{count} boto" + other: "%{count} boto" + zero: "%{count} boto" + show: + action-button: + change-vote: Aldatu zure botoa + vote: Botoa ematen hasi + vote-again: Berriro eman botoa + callout: + already-voted: Jada botoa eman duzu aukera honetan. Zure botoa alda dezakezu edo egiaztatu. + vote-rejected: Ezin izan da zure botoa egiaztatu. Mesedez, egizu berriro. + verify: + already-voted: Bozkatu duzu? + verify-here: Egiaztatu zure botoa hemen. + will-verify: Zure botoa egiaztatu ahal izango duzu hautaketa hasten denean. + feedback: + answer: + invalid: Errore bat izan da zure feedbacka bidaltzean. votes: confirm: header: Baieztatu botoa intro: Hemen duzu emango duzun botoaren laburpena. < br> Mesedez, berretsi zure botoa edo editatu zure erantzunak. confirmed: + error: Sentitzen dugu, akats bat egon da botoa berrestean. Mesedez, bozkatu berriro. header: Baieztatutako botoa + lead: Eman duzu botoa! + encrypting: + header: Botoa kodifikatzen... + text: Zure botoa zifratzen ari da modu anonimoan emititzen dela ziurtatzeko. + header: + encrypting: Baieztatu botoa + processing: + header: Botoa prozesatzen... + text: Zure botoa jaso da eta prozesatzen ari dira. Itxaron, mesedez. + update: + error: Arazo bat izan da botoaren egoera eguneratzean + success: Botoaren egoera ongi eguneratu da pages: home: statistics: @@ -188,9 +277,20 @@ eu: statistics: elections_count: Bozketak votings: + admin: + menu: + votings_submenu: + monitoring_committee_members: Jarraipen-batzordea polling_officer_zone: polling_officers: show: + actions: + count_votes: Botoak hautestontzietan zenbatzea + identify_person: Pertsona bat identifikatzea eta egiaztatzea + polling_officer_role_description: Plataforma honetan egindako aukeraketa batzuetan mahaiko kudeatzaile gisa (Presidentea edo Administratzailea) jarduteko izendatu zaituzte. polling_stations: list: actions: Ekintzak + role: Zure rola + voting: Bozketa + no_polling_stations: Oraindik ez zaizu esleitu bozkatzeko lekurik. diff --git a/decidim-forms/config/locales/eu.yml b/decidim-forms/config/locales/eu.yml index 8a0e817c2a490..4739da9fc8908 100644 --- a/decidim-forms/config/locales/eu.yml +++ b/decidim-forms/config/locales/eu.yml @@ -3,18 +3,27 @@ eu: attributes: answer: body: Erantzuna + choices: Aukerak + selected_choices: Hautatutako aukerak question: max_choices: Gehienezko aukera kopurua question_type: Mota questionnaire_question: mandatory: derrigorrezko + max_characters: Karaktereen muga (utzi 0 mugarik ez badago) errors: models: answer: attributes: + add_documents: + needs_to_be_reattached: Fitxategia berriro erantsi behar da + body: + too_long: luzeegia da choices: missing: ez dira osatu too_many: gehiegi dira + questionnaire: + request_invalid: Arazo bat izan da zure eskaera bidaltzean. Saiatu berriro decidim: forms: admin: @@ -23,37 +32,101 @@ eu: description: deskribapena tos: Zerbitzu-baldintzak questionnaires: + actions: + back: Itzuli galderetara + show: Erakutsi erantzunak answer_option: answer_option: Erantzun aukera free_text: Testu librea remove: Kendu statement: adierazpena + answers: + actions: + back: Itzuli erantzunetara + export: Esportatu + show: Erakutsi erantzunak + empty: Oraindik ez dago erantzunik + export: + answer: + title: '#%{number} erantzuna' + export_response: + title: survey_user_answers_%{token} + index: + title: "Guztira %{total} erantzun" + show: + title: '#%{number} erantzuna' + display_condition: + answer_option: Erantzuteko aukera + condition_question: Galdera + condition_type: Baldintza + condition_types: + answered: Erantzunda + equal: Honen berdina + match: Testua barne + not_answered: Erantzun gabe + not_equal: Ez da berdina + condition_value: Testua barne + display_condition: Bistaratzeko baldintza + mandatory: Baldintza hau beti bete behar da, beste baldintza batzuen egoera edozein dela ere + remove: Kendu + save_warning: Gogoratu formularioa gorde behar duzula, bistaratze-baldintzak konfiguratu aurretik + select_answer_option: Hautatu erantzun-aukera + select_condition_question: Hautatu galdera bat + select_condition_type: Hautatu baldintza mota bat edit: save: Save + title: Editatu galdetegia form: - add_question: Galdera gehitu + add_question: Gehitu galdera + add_separator: Gehitu banatzailea already_answered_warning: Galdetegia dagoeneko erantzun dio erabiltzaile batzuek, beraz, ezin dituzu bere galderak aldatu. + collapse: Bildu galdera guztiak + expand: Zabaldu galdera guztiak + preview: Aurreikusi + title: Editatu galdetegia honetarako %{questionnaire_for} + unpublished_warning: Galdetegia ez dago argitaratuta. Bere galderak aldatu ahal dituzu, baina egitean oraingo erantzunak ezabatuko dira. matrix_row: + matrix_row: Errenkada remove: Kendu statement: adierazpena question: add_answer_option: Gehitu erantzun aukera + add_display_condition: Gehitu bistaratzeko baldintza + add_display_condition_info: Gorde galdetegia bistaratzeko baldintzak konfiguratzeko + add_matrix_row: Gehitu errenkada any: Edozein + collapse: Bildu description: deskribapena down: Down + expand: Zabaldu question: Galdera remove: Kendu statement: adierazpena up: up + separator: + down: Jaitsi + remove: Kendu + separator: Bereizlea + up: Igo update: invalid: Akatsik egon da galdeketa gordetzean. + success: Galdetegia zuzen gorde da. errors: answer: body: Gorputza ezin da hutsik egon files: extension_allowlist: 'Onartutako formatuak:' + images: + dimensions: "%{width} x %{height} px" + dimensions_info: 'Irudi honek neurtuko du:' + processors: + resize_and_pad: Birdimentsionatua eta honi egokitua + resize_to_fit: Birdimentsionatua egokitzeko question_types: + files: Fitxategiak long_answer: Erantzun luzea + matrix_multiple: Matrizea (aukera anitzekoa) + matrix_single: Matrizea (aukera bakarrekoa) multiple_option: Hainbat aukera short_answer: Erantzun laburra single_option: Aukera bakarra @@ -61,6 +134,7 @@ eu: questionnaires: answer: invalid: Akatsik egon da galdeketa erantzutean. + max_choices_alert: Aukera gehiegi daude hautatuta success: Galdesortaz erantzun ona. question: max_choices: 'Gehienezko aukerak: %{n}' @@ -68,6 +142,8 @@ eu: answer_questionnaire: anonymous_user_message: Hasi saioa zure kontuarekin edo saioa hasi galdetegiari erantzuteko. title: Erantzun galdetegia + current_step: '%{step} urratsa' + of_total_steps: '%{total_steps} etik' questionnaire_answered: body: Galdeketa honi erantzun dio. title: Dagoeneko erantzun @@ -77,11 +153,24 @@ eu: questionnaire_for_private_users: body: Galdetegia erabiltzaile pribatuentzat soilik dago erabilgarri title: Galdeketa itxia + questionnaire_js_disabled: + body: Galdetegi honen ezaugarri batzuk desaktibatu egingo dira. Zure esperientzia hobetzeko, gaitu JavaScript zure nabigatzailean. + title: Javascript desaktibatuta dago tos_agreement: Zerbitzu-baldintzak onartzen dituzunean parte hartuz step_navigation: show: are_you_sure: Ekintza hau ezin da desegin eta ezin izango dituzu zure erantzunak editatu. Ziur zaude? + back: Atzera + continue: Jarraitu submit: Bidali user_answers_serializer: + body: Erantzuna + completion: Amaiera created_at: Erantzuna id: Erantzun IDa + ip_hash: IP Helbidearen Hash + question: Galdera + registered: Erregistratuta + session_token: Erabiltzailearen identifikatzailea + unregistered: Erregistratu gabe + user_status: Erabiltzailearen egoera diff --git a/decidim-initiatives/config/locales/eu.yml b/decidim-initiatives/config/locales/eu.yml index 31ca53723af1e..e38acc6a4722c 100644 --- a/decidim-initiatives/config/locales/eu.yml +++ b/decidim-initiatives/config/locales/eu.yml @@ -4,27 +4,34 @@ eu: initiative: decidim_user_group_id: Egilea description: deskribapena - offline_votes: Face-to-face euskarriak - scope_id: esparrua - signature_end_date: Sinadura bildumaren epea amaituta - signature_start_date: Sinadura bildumaren aldiaren hasiera + offline_votes: Aurrez aurreko sinadurak + offline_votes_for_scope: Aurrez aurreko sinadurak %{scope_name} rentzat + scope_id: Esparrua + signature_end_date: Sinadurak biltzeko epearen amaiera + signature_start_date: Sinadurak biltzeko epearen hasiera signature_type: Sinadura bilketa mota signature_type_values: - any: mistoa - offline: Aurrez aurre - online: OnLine - state: Estatu + any: Mistoa + offline: Aurrez aurrekoa + online: Digitala + state: Egoera title: Izenburua initiatives_committee_member: user: Batzordeko kidea initiatives_type: + area_enabled: Egileei baimena eman beren ekimenerako eremua aukeratzeko + attachments_enabled: Gaitu erantsitako artxiboak banner_image: Banner irudia - collect_user_extra_fields: Bildu sinadura pertsonalaren datu pertsonalak - description: deskribapena - document_number_authorization_handler: Botoen dokumentu zenbakia egiaztatzeko baimena + child_scope_threshold_enabled: Sinadurak aktibatzea azpieremuaren arabera + collect_user_extra_fields: Bildu parte-hartzailearen datu pertsonalak sinaduraz + custom_signature_end_date_enabled: Egileei sinadurak biltzeko aldiaren amaiera aukeratzen uztea + description: Deskribapena + document_number_authorization_handler: Sinaduretan dokumentu zenbakia egiaztatzeko baimena extra_fields_legal_information: Datu pertsonalen bilketari buruzko informazio juridikoa - minimum_committee_members: Batzorde kideen gutxienekoak + minimum_committee_members: Batzorde kideen gutxienekoa online_signature_enabled: Sinadura elektronikoa gaituta dago + only_global_scope_enabled: Eremu globaleko ekimenak soilik sortzeko aukera ematea + promoting_committee_enabled: Batzorde sustatzailea gaitzea title: Izenburua undo_online_signatures_enabled: Gaitu erabiltzaileek beren sinadurak desegin ditzaten validate_sms_code_on_votes: Gehitu SMS kodea baliozkotzeko urratsa sinadura prozesura @@ -37,13 +44,21 @@ eu: address: Helbidea id_document: ID dokumentua name: Izen osoa + errors: + models: + initiative: + attributes: + attachment: + file: Fitxategi hau ez da baliozkoa + needs_to_be_reattached: Artxiboa berriro erantsi behar da + title: Izenburua ezin da hutsik egon activerecord: models: decidim/initiative: - one: Initative + one: Ekimena other: Initatives decidim/initiative_comittee: - one: batzordea + one: Batzordea other: Comittees decidim/initiative_vote: one: Sinadura @@ -52,20 +67,38 @@ eu: admin: actions: new_initiative_type: Ekimen mota berria + filters: + initiatives: + decidim_area_id_eq: + label: Area + state_eq: + label: Egoera + values: + accepted: Beharrezko sinadurekin + created: Sortua + discarded: Baztertua + published: Argitaratua + rejected: Beharrezko sinadurarik gabe + validating: Baliozkotze teknikoa + type_id_eq: + label: Mota + search_placeholder: + title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Bilatu %{collection} izenburuaren, deskribapenaren, IDaren edo egiletzaren arabera. menu: initiatives: Ekimenak initiatives_types: Ekimen motak models: initiatives: fields: - created_at: Sortutako at + created_at: Sortze-data id: NAN + published_at: Argitaratze-data state: Estatu - supports_count: sinadurak + supports_count: Sinadurak title: Ekimenak initiatives_type_scope: fields: - scope: esparrua + scope: Esparrua supports_required: Beharrezko euskarriak name: Initiative type scope initiatives_types: @@ -85,18 +118,30 @@ eu: initiative_title: Ekimenaren izenburua name_and_surname: Izena eta abizena postal_code: Posta kodea + scope: Esparrua time_and_date: Denbora eta data - timestamp: timestamp + timestamp: Denbora-marka titles: initiatives: Ekimenak initiatives_types: Ekimen motak events: initiatives: + admin: + initiative_sent_to_technical_validation: + email_intro: '"%{resource_title}" ekimena balidazio teknikora bidali da. Egiaztatu honen bitartez: administrazio-panela' + email_outro: Jakinarazpen hau jaso duzu plataformaren administratzaileetako bat zarelako. + email_subject: '%{resource_title} ekimenak baliozkotze teknikoa eskatu du.' + notification_title: '" %{resource_title}" ekimena baliozkotze teknikora bidali da. Egiaztatu honen bidez: administrazio-panela' initiative_extended: - email_intro: Sinatutako ekimenaren amaiera data %{resource_title} luzatu egin da! + email_intro: Ekimenaren amaiera-data %{resource_title} luzatu egin da! email_outro: Jakinarazpen hau jaso duzu %{resource_title}jarraitzen duzulako. Aurreko esteka jarraituz jakinarazpenak jasotzeari uztea erabaki dezakezu. - email_subject: Ekimenaren sinadurak amaiera data luzatu da! + email_subject: Ekimen honetarako sinadurak jasotzeko amaiera data luzatu da! notification_title: %{resource_title} ekimenaren amaierako data luzatu egin da. + initiative_sent_to_technical_validation: + email_intro: '"%{resource_title}" ekimena balidazio teknikora bidali da. Egiaztatu honen bitartez: administrazio-panela' + email_outro: Jakinarazpen hau jaso duzu plataformaren administratzaileetako bat zarelako. + email_subject: '%{resource_title} ekimena baliozkotze teknikora bidali da.' + notification_title: '" %{resource_title}" ekimena baliozkotze teknikora bidali da. Egiaztatu honen bidez: administrazio-panela' milestone_completed: affected_user: email_intro: Zure ekimena %{resource_title} sinadurak% %{percentage}lortu ditu! @@ -108,6 +153,11 @@ eu: email_outro: Jakinarazpen hau jaso duzu %{resource_title}jarraitzen duzulako. Aurreko esteka jarraituz jakinarazpenak jasotzeari uztea erabaki dezakezu. email_subject: Mugarri berria osatu da! notification_title: %{resource_title} ekimenek sinadurak% %{percentage}lortu dituzte. + support_threshold_reached: + email_intro: '%{resource_title} ekimena sinadura-atarira heldu da' + email_outro: Jakinarazpen hau jaso duzu plataformaren administratzaileetako bat zarelako. + email_subject: Sinadura-atarira helduta + notification_title: %{resource_title} ekimena sinadura-atarira heldu da gamification: badges: initiatives: @@ -152,10 +202,17 @@ eu: content_blocks: highlighted_initiatives: max_results: Erakusteko elementu gehienen kopurua + order: + default: Lehenespenez (zaharragoak) + label: 'Ordenatu elementua honen arabera:' + most_recent: Azkenak + exports: + initiatives: Ekimenak initiatives: edit: accept: Onartu ekimena confirm: Ziur zaude? + confirm_send_to_technical_validation: Ziur zaude? discard: Ekimena baztertu export_pdf_signatures: Esportatu sinadurak PDF export_votes: Esportatu euskarriak @@ -164,11 +221,18 @@ eu: success: Ekimena balioztatze teknikora bidali da update: eguneratzearen form: + attachments: Erantsitako artxiboak + settings: Ezarpenak title: Informazio orokorra index: actions_title: Ekintza preview: Aurreikusi print: Inprimatu + initiative_attachments: + documents: Dokumentuak + edit: Editatu + new: Berria + photos: Argazkiak show: print: Inprimatu update: @@ -204,6 +268,8 @@ eu: destroy: ezabatu update: eguneratzearen form: + authorizations: Baimen-doikuntzak + options: Aukerak title: Informazio orokorra initiative_type_scopes: title: Ekimen motako esparruak @@ -220,18 +286,34 @@ eu: unpublish: "%{user_name} %{resource_name} ekimena baztertu du" update: "%{user_name} %{resource_name} ekimena eguneratu du" admin_states: + accepted: Beharrezko sinadurak lortu ditu created: Sortu discarded: baztertutako published: Argitaratutako + rejected: Ez ditu lortu beharrezko sinadurak validating: Balidazio teknikoa application_helper: + filter_area_values: + all: Guztiak + filter_scope_values: + all: Guztiak filter_state_values: + accepted: Sinadurak lortu ditu + all: Guztiak + answered: Erantzunda closed: itxita open: Open + rejected: Ez ditu lortu beharrezko sinadurak + filter_type_values: + all: Guztiak committee_requests: + approve: + success: Eskaera onartu egin da. new: continue: Jarraitu help_text: Ekimen honen sustatzaile batzordeko kidea bihurtu nahi duzu + revoke: + success: Eskaera baliogabetu egin da. spawn: success: Zure eskaera ekimenaren egilea da. content_blocks: @@ -241,14 +323,23 @@ eu: fill_data: back: Back continue: Jarraitu + fill_data_help: "
    • Berrikusi zure ekimenaren edukia. Zure izenburua ulertzen erraza da? Zure ekimenaren helburua argi dago?
    • Sinadura mota aukeratu behar duzu.
    • aurrez aurre, linean edo biak konbinatuta. Zein da ekimenaren eremu geografikoa?
    " initiative_type: Ekimen mota more_information: "(Informazio gehiago)" + select_area: Hautatu eremu bat select_scope: Aukeratu esparrua finish: back: Back back_to_initiatives: Ekimenetara itzuli + callout_text: Zorionak! Zure ekimena zuzen sortu da. + confirm: Ekimena bidaliko duzu administratzaile batek berrikus eta argitara dezan. Argitaratu ondoren, ezin izango duzu editatu. Ziur zaude? + edit_my_initiative: Editatu nire ekimena go_to_my_initiatives: Joan nire ekimenei more_information: "(Informazio gehiago)" + send_my_initiative: Bidali nire ekimena baliozkotze eknikora + finish_help: + access_reminder: Zure ekimenetara sartu ahal zara iragazki honen bidez %{link} Ekimenen orrialdean. + publish_helper_text: Gogoratu zure ekimena argitaratu ahal izateko eskatzen zaizun informazioa bete behar duzula, eta baliozkotze teknikora bidali, administratzaile batek berrikus dezan. previous_form: back: Back continue: Jarraitu @@ -262,6 +353,7 @@ eu: choose_html: %{title}bat sortu nahi dut more_information: "(Informazio gehiago)" select: Ekimen hau sustatu nahi dut + select_initiative_type_help: Ekimenen bidez, parte-hartzaileek esku har dezakete erakundeak interes orokorraren aldeko ekintzak egin ditzan. Zein ekimen abiarazi nahi duzu? share_committee_link: continue: Jarraitu invite_to_committee_help: Sustapen batzordearen parte izango duten pertsonei gonbidatzeko esteka @@ -270,7 +362,22 @@ eu: compare_help: Honako ekimen hauetako bat zurea bezalako antzeko baldin baduzu, onartzen duzu. Zure proposamenak aukera gehiago izango ditu. continue: Nire ekimena desberdina da more_information: "(Informazio gehiago)" + edit: + accept: Onartu ekimena + back: Atzera + confirm: Ziur zaude? + discard: Kendu ekimena + export_pdf_signatures: Esportatu sinaduren PDF + export_votes: Esportatu sinadurak + reject: Baztertu ekimena + title: Editatu ekimena + update: Eguneratu events: + approve_membership_request: + email_intro: "%{author_nickname} k onartu du zure eskaera %{resource_title} ekimenaren batzorde bultzatzailean parte hartzeko." + email_outro: 'Jakinarazpen hau jaso duzu eskatu duzulako parte hartzea %{resource_title} ekimenean' + email_subject: "%{author_nickname} k onartu du zure eskaera batzorde bultzatzailean parte hartzeko" + notification_title: %{author_nickname} k onartu du zure eskaera %{resource_title} ekimenaren batzorde bultzatzailean parte hartzeko. create_initiative_event: email_intro: "%{author_name} %{author_nickname}, jarraitzen ari zarenak, ekimen berri bat sortu du, egiaztatu eta lagundu:" email_outro: Jakinarazpena jaso duzu %{author_nickname}jarraituz gero. Aurreko esteka jarraituz jakinarazpenak jasotzeari uztea erabaki dezakezu. @@ -281,6 +388,20 @@ eu: email_outro: Jakinarazpena jaso duzu %{author_nickname}jarraituz gero. Aurreko esteka jarraituz jakinarazpenak jasotzeari uztea erabaki dezakezu. email_subject: '%{author_nickname} babestutako ekimena' notification_title: %{resource_title} ekimena %{author_name} %{author_nickname} babesten du. + revoke_membership_request: + email_intro: "%{author_nickname} k ez du onartu zure eskaera %{resource_title} ekimenaren batzorde bultzatzailean parte hartzeko." + email_outro: 'Jakinarazpen hau jaso duzu eskatu duzulako parte hartzea %{resource_title} ekimenean.' + email_subject: "%{author_nickname} k ez du onartu zure eskaera batzorde bultzatzailean parte hartzeko" + notification_title: %{author_nickname} k ez du onartu zure eskaera %{resource_title} ekimenaren batzorde bultzatzailean parte hartzeko. + spawn_committee_request_event: + email_intro: "%{applicant_nickname} k eskatu du %{resource_title} zure ekimenaren batzorde bultzatzailean parte hartzeko. Onartzeko edo ez onartzeko eskaera, zoaz zure ekimenaren edizio-galdetegira." + email_outro: 'Jakinarazpen hau jaso duzu %{resource_title} ekimenaren egilea zarelako' + email_subject: "%{applicant_nickname} k zure ekimenarekin bat egin nahi du" + notification_title: %{applicant_nickname} k eskatu du %{resource_title} zure ekimenaren batzorde bultzatzailearekin bat egitea. eskaera onartzeko edo ez onartzeko, egin klik hemen aquí. + form: + add_attachments: Dokumentuak + attachment_legend: "(Aukerakoa) Gehitu eranskinak" + delete_attachment: Ezabatu index: title: Ekimenak initiative_signatures: @@ -317,14 +438,23 @@ eu: hidden_authors_count: one: eta beste 1 pertsona other: eta beste %{count} pertsona + committee_members: + approve: Onartu + confirm_revoke: Ziur zaude? + invite_to_committee_help: Partekatu lotura hau beste parte-hartzaile batzuk batzorde bultzatzailera gonbidatzeko + no_members_yet: Ez dago kiderik batzorde bultzatzailean + revoke: Baliogabetu + title: Batzorde-kideak count: title: one: "%{count} ekimena" other: "%{count} ekimenak" filters: any: Edozein + area: Area author: Egilea myself: Nire ekimenak + scope: Eremua search: Search state: Estatu type: Mota @@ -335,6 +465,14 @@ eu: unfold: Zabaldu index_header: new_initiative: Ekimen berria + not_authorized: + authorizations_page: Ikusi baimenak + close: Itxi + explanation: Egiaztatuta egon behar zara ekimen berri bat sortzeko. + title: Baimena behar da + initiatives: + closed_initiatives_warning: Gaur egun ez dago ekimen irekirik, baina hemen aurki ditzakezu ekimen itxi guztiak zerrendatuta. + no_initiatives_warning: Ez dago bilaketa-irizpideekin bat datorren ekimenik. interactions: comments_count: count: @@ -346,12 +484,39 @@ eu: most_voted: Gehien sinatuta random: Random recent: Berrienak + recently_published: Oraintsu argitaratutakoa print: - city: hiria + address: Helbidea + author_title: Ekimenaren egilea + city: Hiria + email: E-maila + full_name: Izen osoa + general_title: Ekimen batean onartzeko eskaera + id_number: ID zenbakia + initiative: + attachments: Erantsitako dokumentazioa (mesedez, idatzi dokumentu bakoitzaren izena behean) + description: 'Deskribapena:' + title: 'Izenburua:' + type: Ekimen mota + legal_text: Bildutako datu pertsonalak isilpean sartu eta tratatuko ditu erakundeak, indarrean dagoen legeriaren arabera. + phone_number: Telefono zenbakia + place_date: Lekua, data + postal_code: Posta-kodea/ZIP + print: Inprimatu + province: Probintzia/Estatua + section: 'Antolakuntzak eskatzen badu, mesedez, inprimatu eta bete formulario hau, adierazten den tokira bidaltzeko:' + signature: Sinadura result: + answer_title: Ekimen hau erantzun egin da initiative_rejected_reason: Ekimen hau baztertu egin da laguntza faltagatik. show: + any_vote_method: Ekimen honek lineako eta aurrez aurreko sinadurak biltzen ditu. + confirm: Ekimena bidaliko duzu administratzaile batek berrikus eta argitara dezan. Argitaratu ondoren, ezin izango duzu editatu. Ziur zaude? + edit: Editatu follow_description: Jakinarazpen bat jasotzen denean ekimen honetako berriak daude + offline_method: Ekimen honek aurrez aurreko sinadurak baino ez ditu biltzen. + print: Inprimatu ekimena + send_to_technical_validation: Bidali baliozkotze teknikora signatures_count: one: " sinadura" other: " sinadurak" @@ -385,10 +550,24 @@ eu: highlighted_initiatives: active_initiatives: Ekimen aktiboak see_all_initiatives: Ikusi ekimen guztiak + show: + badge_name: + accepted: Beharrezko sinadurekin + created: Sortua + discarded: Baztertua + published: Argitaratua + rejected: Beharrezko sinadurarik gabe + validating: Baliozkotze teknikoa states: accepted: Onartu expired: iraungi unavailable_scope: Ez dago erabilgarri + update: + error: Akats bat gertatu da + success: Ekimena zuzen eguneratu da + versions: + shared: + back_to_resource: Itzuli ekimenera menu: initiatives: Ekimenak resources: @@ -400,6 +579,7 @@ eu: decidim: admin: initiative: + attachments: Erantsitako artxiboak committee_members: Batzorde kideak components: Osagaiak information: informazioa diff --git a/decidim-meetings/config/locales/eu.yml b/decidim-meetings/config/locales/eu.yml index b21da26b82eff..03a908dc68e7b 100644 --- a/decidim-meetings/config/locales/eu.yml +++ b/decidim-meetings/config/locales/eu.yml @@ -16,20 +16,27 @@ eu: available_slots: Bilera honetarako zirrikitu erabilgarriak decidim_category_id: Kategoria decidim_scope_id: Esparrua + decidim_user_group_id: Erabiltzaile-taldea description: Deskribapena end_time: Amaiera-ordua location: Kokapena location_hints: Kokapen-argibideak + online_meeting_url: Lineako topaketaren URLa + organizer_gid: Honela sortua organizer_id: Antolatzailea private_meeting: Bilera pribatua registration_form_enabled: Izena emateko inprimakia gaituta registration_terms: Izen-emateak + registration_url: Izena ematearen URLa registrations_enabled: Erregistroak gaituta start_time: Hasiera-ordua title: Titulua transparent: gardena + type_of_meeting: Mota minutes: + audio_url: Audioaren URLa description: deskribapena + video_url: Bideoaren URLa visible: Ikusgai dago errors: models: @@ -79,12 +86,20 @@ eu: global: announcement: Anuntzio comments_enabled: Iruzkinak gaituta + comments_max_length: Iruzkinen gehieneko luzera (utzi 0 lehenetsita konfigurazioa mantendu nahi baduzu) + creation_enabled_for_participants: Parte-hartzaileek topaketak sortu ahal dituzte default_registration_terms: Izen-emate baldintzak lehenetsiak enable_pads_creation: Gaitu pads sortzea + registration_code_enabled: Izena emateko kodea aktibatuta resources_permissions_enabled: Akzioen baimenak bilera bakoitzerako ezarri daitezke + scope_id: Eremua + scopes_enabled: Eremuak gaituta + terms_and_conditions_url_for_meeting_creators: Irizpide eta baldintzen URLa topaketen egileentzat step: announcement: Anuntzio comments_blocked: Iruzkinak blokeatuta + creation_enabled_for_participants: Gaitu topaketak parte-hartzaileek sortzea + creation_enabled_for_user_groups: Gaitu topaketak taldeek sortzea events: meetings: meeting_closed: @@ -151,7 +166,11 @@ eu: confirm_destroy: Ziur zaude topaketa hau ezabatu nahi duzula? destroy: Ezabatu edit: Editatu - minutes: Minutu + invalid_destroy: + proposals_count: + one: 'Topaketa ezin da ezabatu lotutako %{count} proposamen dituelako:' + other: 'Topaketa ezin da ezabatu lotutako %{count} proposamen dituelako:' + minutes: Aktak new: Bilera berria preview: Aurreikusi registrations: Izen-emateak @@ -188,6 +207,7 @@ eu: invalid: Arazo bat izan da agenda hau eguneratzean success: Agenda ondo eguneratu da exports: + meeting_comments: Iruzkinak meetings: Bilerak registrations: Izen-emateak invite_join_meeting_mailer: @@ -229,9 +249,21 @@ eu: invalid: Arazo bat izan da topaketa hau sortzean. success: Topaketa ongi sortu da destroy: + invalid: + proposals_count: + one: Topaketa ezin da ezabatu lotutako %{count} proposamen dituelako + other: Topaketa ezin da ezabatu lotutako %{count} proposamen dituelako success: Topaketa zuzen ezabatu da. edit: + title: Editatu topaketa update: Eguneratu + form: + address_help: 'Helbidea: Geocoderrek erabilia kokapena aurkitzeko' + available_slots_help: Uzti 0an erabiltzeko espazio mugatua baduzu + location_help: 'Kokapena: mezua part-hartzaileei zuzendua biltzeko lekua adieraziz' + online_meeting_url_help: 'Lotura: Utzi parte-hartzaileei zuzenean konektatzen zure topaketara' + select_a_meeting_type: Mesedez, hautatu topaketa mota bat + select_a_registration_type: Mesedez, hautatu erregistro mota bat index: title: Topaketa-zerrenda new: @@ -255,12 +287,13 @@ eu: invalid: Arazo bat izan da minutu hau sortzeko success: Akta ongi sortu da edit: + title: Editatu aktak update: eguneratzearen new: create: Sortu - title: Sortu minutu + title: Sortu akta update: - invalid: Arazo bat izan da minutu hau eguneratzean + invalid: Arazo bat izan da akta hau eguneratzean success: Akta ongi eguneratu da models: meeting: @@ -279,6 +312,7 @@ eu: other: Dena den, %{count} matrikulazioak. reserved_slots_help: Utzi 0 aukerarik ez baduzu erreserbatutako slotarik reserved_slots_less_than: '%{count} baino gutxiago izan behar du' + title: Erregistroak update: invalid: Arazo bat izan da izen-ematearen konfigurazioa gordetzean. success: Topaketen izen-emateen konfigurazioak zuzen gorde dira. @@ -300,8 +334,8 @@ eu: organizer_presenter: not_found: 'Antolatzailea ez da aurkitu datu-basean (ID: %{id})' minutes: - create: "%{user_name} %{resource_name} topaketak %{space_name} espazioan sortu zituen" - update: "%{user_name} %{resource_name} topaketaren minutuak %{space_name} espazioan eguneratzen ditu" + create: "%{user_name} %{resource_name} topaketako akta %{space_name} espazioan sortu du" + update: "%{user_name} %{resource_name} topaketaren akta %{space_name} espazioan eguneratu du" calendar_modal: calendar_url: Egutegiaren URLa close_window: Itxi leihoa @@ -323,6 +357,7 @@ eu: space_type: Partaidetza espazioa upcoming: Datozen last_activity: + meeting_updated_at_html: "eztabaida ordu honetan %{link} eguneratuta" new_meeting_at_html: "Bilera berria %{link}" mailer: invite_join_meeting_mailer: @@ -333,28 +368,83 @@ eu: subject: Zure topaketarako izen-ematea baieztatua izan da meeting: not_allowed: Ez zaude bilera hau ikusteko baimenik + meeting_closes: + edit: + back: Atzera + close: Itxi topaketa + title: Itxi topaketa meetings: + count: + meetings_count: + one: "%{count} topaketa" + other: "%{count} topaketak" + create: + invalid: Arazo bat izan da topaketa hau sortzean. + success: Topaketa zuzen sortu duzu. + edit: + back: Atzera + title: Editatu topaketa + update: Eguneratu filters: + activity: Nire jarduera + all: Denak category: Kategoria date: Data + date_values: + all: Denak + past: Aurrekoak + upcoming: Hurrengoak + my_meetings: Nire topaketak + origin: Jatorria + origin_values: + all: Denak + citizens: Hiritarrak + official: Ofiziala + user_groups: Taldeak + scope: Eremua search: Bilatu + type: Mota + type_values: + all: Denak + hybrid: Biok + in_person: Aurrez aurre + online: Lineakoa filters_small_view: close_modal: Itxi leihoa filter: Iragazi filter_by: 'Iragazi honen arabera:' unfold: Zabaldu + form: + address_help: 'Helbidea: Geocoderrek erabilia kokapena aurkitzeko' + available_slots_help: Uzti 0an erabiltzeko espazio mugatua baduzu + create_as: Sortu topaketa honela + location_help: 'Kokapena: mezua part-hartzaileei zuzendua biltzeko lekua adieraziz' + online_meeting_url_help: 'Lotura: Utzi parte-hartzaileei zuzenean konektatzen zure topaketara' + select_a_category: Mesedez, hautatu kategoria bat + select_a_meeting_type: Mesedez, hautatu topaketa mota bat + select_a_registration_type: Mesedez, hautatu erregistro mota bat + index: + new_meeting: Topaketa berria meeting_minutes: - meeting_minutes: Bilera Minutes + meeting_minutes: Bileraren akta related_information: Lotutako informazioa meetings: no_meetings_warning: Ez dago bilaketa-irizpidearekin bat datorren topaketarik, edo ez dago ezein topaketarik programaturik. upcoming_meetings_warning: Orain ez dago topaketarik programaturik, baina aurreko topaketak ikus ditzakezu. + new: + back: Atzera + create: Sortu + title: Sortu zure topaketa registration_confirm: cancel: Ezeztatu confirm: Baieztatu show: attendees: Bertaratuen kopurua + back: Itzuli zerrendara + close_meeting: Itxi topaketa contributions: Ekarpen-kopurua + date: Data + edit_meeting: Editatu topaketa going: Ari da join: Izena eman topaketan meeting_report: Topaketaren txostena @@ -368,6 +458,9 @@ eu: one: "%{count} slot geratzen da" other: "%{count} slot geratzen dira" view: ikusi + update: + invalid: Arazo bat izan da topaketa hau eguneratzean. + success: Topaketa zuzen eguneratu duzu. meetings_map: view_meeting: Ikusi bilera models: @@ -386,6 +479,7 @@ eu: closed: Itxita end_time: Bukaera-data map: Mapa + official_meeting: Topaketa ofiziala start_time: Hasiera-data title: Titulua read_more: "(geihago irakurri)" @@ -394,6 +488,10 @@ eu: confirmed_html: Zure izen-ematea baieztatu da %{title} topaketarako. details: Topaketaren xehetasunak aurkituko dituzu eranskinean. registration_code: Zure izena emateko kodea %{code}. + registration_type: + on_different_platform: Plataforma desberdin batean + on_this_platform: Plataforma honetan + registration_disabled: Desgaitutako izen-emateak registrations: create: invalid: Arazo bat izan da topaketa honekin bat egitean. @@ -404,9 +502,15 @@ eu: destroy: invalid: Arazo bat izan da topaketa honetatik ateratzean. success: Topaketatik ongi atera zara. + type_of_meeting: + hybrid: Biok + in_person: Aurrez aurre + online: Lineakoa types: private_meeting: Bilera pribatua transparent: gardena + versions: + back_to_resource: Itzuli topaketara metrics: meetings: description: Bilera kopurua sortu da diff --git a/decidim-participatory_processes/config/locales/eu.yml b/decidim-participatory_processes/config/locales/eu.yml index 69ed4e82275fb..19f54578ad33a 100644 --- a/decidim-participatory_processes/config/locales/eu.yml +++ b/decidim-participatory_processes/config/locales/eu.yml @@ -24,18 +24,30 @@ eu: published_at: Argitaratu at related_process_ids: Elkarrekin lotutako prozesuak scope_id: Esparrua + scope_type_max_depth_id: Eremuaren iragazkiaren sakonera scopes_enabled: Esparru gaituak short_description: Deskribapen laburra + show_metrics: Erakutsi metrikak show_statistics: Erakutsi estatistikak slug: URL laburra start_date: Hasiera-data subtitle: Azpititulua target: Nor parte hartzen du title: Titulua + weight: Pisua participatory_process_group: description: Deskribapena + developer_group: Talde sustatzailea + group_url: Web gunea + hashtag: Traola hero_image: Irudia + local_area: Antolatzailearen gunea + meta_scope: Eremuaren metadatuak participatory_process_ids: Elkarrekin lotutako prozesuak + participatory_scope: Zer erabakitzen den + participatory_structure: Nola erabakitzen den + target: Nork hartzen duen parte + title: Izenburua participatory_process_step: cta_path: Deitu ekintza bideari cta_text: Deitu ekintza testuari @@ -48,6 +60,12 @@ eu: email: Helbide elektronikoa name: Izena role: Rola + errors: + models: + participatory_process: + attributes: + document: + invalid_document_type: 'Dokumentu-mota baliogabea da. Formatu hauek onartzen dira: %{valid_mime_types}' models: decidim/participatory_process_step_activated_event: Urratsera aktibatuta decidim/participatory_process_step_changed_event: Pasartea aldatu da @@ -74,6 +92,7 @@ eu: filter: all_processes: Erakutsi prozesu guztiak process_groups: Prozesu taldeak + import_process: Inportatu new_process: Prozesu berria new_process_group: Prozesu talde berria new_process_step: Urrats berria @@ -84,6 +103,9 @@ eu: unpublish: Desargitaratu menu: participatory_process_groups: Prozesu-multzoak + participatory_process_groups_submenu: + info: Informazioa + landing_page: Hasierako orrialdea participatory_processes: Prozesuak participatory_processes_submenu: attachment_collections: Karpetak @@ -106,6 +128,8 @@ eu: title: Titulua name: Prozesu partizipatiboa participatory_process_group: + fields: + title: Izenburua name: Prozesu-multzoak participatory_process_step: fields: @@ -123,6 +147,7 @@ eu: admin: Administratzailea collaborator: Kolaboratzailea moderator: Moderatzailea + valuator: Ebaluatzailea user: fields: invitation_accepted_at: 'Gonbita egun honetan onartu zen:' @@ -132,8 +157,16 @@ eu: copy: Kopiatu select: Aukeratu itzazu kopiatu nahi dituzun datuak title: Partehartze prozesua bikoiztu + participatory_process_group_landing_page: + edit: + active_content_blocks: Eduki-blokeak aktibatuta + inactive_content_blocks: Eduki-blokeak desaktibatuta + participatory_process_group_landing_page_content_blocks: + edit: + update: Eguneratu participatory_process_groups: destroy: + error: Arazo bat izan da prozesu parte-hartzaile multzoa ezabatzean. success: Parte-hartze prozesuen taldea zuzen ezabatu da. edit: title: Prozesu-multzok editatu @@ -144,6 +177,14 @@ eu: update: error: Errorea gertatu da multzo hau eguneratzean. success: Multzoa zuzen eguneratu da. + participatory_process_imports: + create: + error: Arazo bat izan da prozesu parte-hartzaile hau inportatzean. + success: Prozesu parte-hartzailea zuzen inportatu da. + new: + import: Inportatu + select: Hautatu zein datu inportatu nahi dituzun + title: Inportatu prozesu parte-hartzailea participatory_process_publications: create: error: Errorea gertatu da prozesu partizipatibo hau argitaratzean. @@ -185,11 +226,13 @@ eu: destroy: success: Parte hartzaile prozesu honetatik arrakastaz ezabatu da erabiltzailea. edit: + title: Eguneratu prozesu parte-hartzailearen administratzailea update: Eguneratu index: process_admins_title: Prozesuaren erabiltzaileak new: create: Sortu + title: Prozesu parte-hartzailearen administratzaile berria update: error: Errore bat gertatu da parte hartzaile prozesu honetarako erabiltzaile bat. success: Ongi eguneratu da erabiltzailea prozesu partizipatibo honetarako. @@ -231,6 +274,9 @@ eu: publish: "%{user_name} argitaratu du %{resource_name} prozesu parte-hartzailea" unpublish: "%{user_name} argitaratu gabe %{resource_name} prozesu parte-hartzailea" update: "%{user_name} %{resource_name} partehartze prozesua eguneratu du" + participatory_process_group: + create: "%{user_name} k sortu du %{resource_name} prozesu parte-hartzaileen multzoa" + update: "%{user_name} k eguneratu du %{resource_name} prozesu parte-hartzaileen multzoa" participatory_process_step: activate: "%{user_name} %{resource_name} urratsa %{space_name} prozesu parte-hartzailean aktibatuta" create: "%{user_name} %{resource_name} urratsa %{space_name} partaidetzazko prozesuan sortu zen" @@ -242,6 +288,11 @@ eu: update: "%{user_name} erabiltzailearen rola aldatu %{resource_name} en %{space_name} prozesu parte-hartzailea" events: participatory_process: + role_assigned: + email_intro: '%{role} rola esleitu zaizu prozesu parte-hartzailean.' + email_outro: Jakinarazpen hau jaso duzu %{role} rola esleitu zaizu "%{resource_title}" jardunaldian. + email_subject: '%{role} rola esleitu zaizu hemen "%{resource_title}".' + notification_title: '%{role} rola esleitu zaizu %{resource_title} prozesu parte-hartzailean.' step_activated: email_intro: '%{resource_title} urratsa aktibo dago %{participatory_space_title}-ra. Orrialde hau ikusi dezakezu:' email_outro: Jakinarazpena jaso duzu %{participatory_space_title}jarraituz gero. Aurreko esteka jarraituz jakinarazpenak jasotzeari uztea erabaki dezakezu. @@ -265,10 +316,30 @@ eu: description: Erakundeko prozesu parte-hartzaile kopurua object: prozesu parte-hartzaileak title: Parte hartze prozesuak + participatory_process: + show: + related_assemblies: Erlazionatutako batzarrak participatory_process_groups: content_blocks: + html_1: + name: Lehen HTML blokea + html_2: + name: Bigarren HTML blokea + html_3: + name: Hirugarren HTML blokea + metadata: + developer_group: Nork sustatua + name: Metadatuak + participatory_scope: Zer erabakitzen den + participatory_structure: Nola erabakitzen den + target: Nork hartzen duen parte + participatory_processes: + name: Prozesu parte-hartzaileak stats: name: Jarduera + title: + meta_scope: Eremua + name: Izenburua, deskribapena eta traola show: title: Parte-hartze prozesuko taldeak participatory_process_steps: @@ -280,9 +351,20 @@ eu: content_blocks: highlighted_processes: max_results: Erakusteko elementu gehienen kopurua + new_import: + accepted_types: + json: JSON participatory_process_copies: form: slug_help: 'URL slugs erabiltzen dira prozesu hau adierazten duten URLak sortzeko. Letrak, zenbakiak eta marratxoak soilik onartzen ditu eta letra batekin hasi behar duzu. Adibidea: %{url}' + participatory_process_groups: + form: + metadata: Metadatuak + title: Informazio Orokorra + visibility: Ikusgarritasuna + participatory_process_imports: + form: + document_legend: Gehitu dokumentu bat participatory_process_steps: form: cta_path_help: 'Erabili bideak partzialak, ez URL osoak hemen. Letrak, zenbakiak, marrak eta barrak onartzen ditu eta gutun batekin hasi behar duzu. Ezartzen bada, botoia ez da agertuko. Adibidea: %{url}' @@ -315,7 +397,11 @@ eu: active_step: Urratsa aktiboa more_information: Informazio gehiago participate: Parte hartu + participate_in: Parte hartu %{resource_name} prozesuan see_all_processes: Ikusi prozesu guztiak + participatory_process_steps: + index: + back_to_process: Itzuli prozesuaren orrialdera participatory_processes: filters: counters: @@ -345,6 +431,8 @@ eu: loading: Emaitzak kargatzen... show: area: Area + belongs_to_group: Prozesu hau honi dagokio + dates: Datak developer_group: Sustatzailearen taldea end_date: Bukaera-data local_area: Antolakuntza eremua @@ -361,8 +449,10 @@ eu: comments_count: Iruzkinak debates_count: eztabaidak endorsements_count: Oniritziak + followers_count: Jarraitzaileak headline: Jarduera meetings_count: Topaketak + no_stats: Ez dago estatistikarik oraindik. orders_count: Euskarriak pages_count: Orriak participants_count: Parte-hartzaileak @@ -378,6 +468,7 @@ eu: participatory_process_groups: participatory_process_group: browse: Arakatu + browse_resource: Aztertu %{resource_name} prozesuen multzoa processes_count: 'Prozesuak:' participatory_process_widgets: show: @@ -389,11 +480,17 @@ eu: participatory_process: active_step: 'Oraingo fasea:' more_info: Informazio gehiago + more_info_about: Informazio gehiago %{resource_name} prozesuari buruz take_part: Parte hartu + take_part_in: Parte hartu %{resource_name} prozesuan promoted_process: active_step: 'Oraingo fasea:' more_info: Informazio gehiago + more_info_about: Informazio gehiago %{resource_name} prozesuari buruz take_part: Parte hartu + take_part_in: Parte hartu %{resource_name} prozesuan + promoted_process_group: + more_info: Informazio gehiago process_header_steps: step: '%{total} fasetatik %{current}.a' view_steps: Ikusi faseak diff --git a/decidim-proposals/config/locales/eu.yml b/decidim-proposals/config/locales/eu.yml index a6011416517ee..4b7e3f32b4ff7 100644 --- a/decidim-proposals/config/locales/eu.yml +++ b/decidim-proposals/config/locales/eu.yml @@ -7,6 +7,7 @@ eu: category_id: Kategoria decidim_scope_id: esparrua has_address: Helbidea du + scope_id: Eremua state: Estatu title: Izenburua user_group_id: Lankidetza zirriborroa sortu @@ -17,19 +18,27 @@ eu: automatic_hashtags: Hashtags automatikoki gehitu da body: Testua category_id: Kategoria + decidim_scope_id: Eremua has_address: Helbidea du + scope_id: Eremua state: Estatu suggested_hashtags: Iradokitako hashtagak title: Titulua user_group_id: 'Sortu proposamen bat honako hau gisa:' proposal_answer: answer: Erantzuna + cost: Kostua + cost_report: Kostuaren txostena + execution_period: Exekuzioaldia proposals_copy: copy_proposals: Honek hautatutako osagaiaren unekoaren proposamen guztiak inportatuko ditu eta ekintza hori ezin da alderantzikatu. origin_component_id: Proposamenen kopia egiteko osagaia proposals_import: import_proposals: Inportatu proposamenak keep_authors: Mantendu jatorrizko egileak + valuation_assignment: + admin_log: + valuator_role_id: Ebaluatzailearen izena errors: models: participatory_text: @@ -39,14 +48,16 @@ eu: proposal: attributes: attachment: - needs_to_be_reattached: Berriro uzteko beharra + needs_to_be_reattached: Artxiboa berriro erantsi behar da body: + cant_be_equal_to_template: ezin da plantillaren berdina izan identical: ETA izenburua ezin da berdinak izan title: identical: ETA gorputzak ezin du berdinak izan models: decidim/proposals/accepted_proposal_event: Onartutako proposamena decidim/proposals/admin/update_proposal_category_event: Proposamen kategoria aldatu da + decidim/proposals/admin/update_proposal_scope_event: Proposamen-eremua aldatuta decidim/proposals/creation_enabled_event: Proposamenaren sorrera gaituta decidim/proposals/endorsing_enabled_event: Onartutako proposamena gaituta decidim/proposals/evaluating_proposal_event: Proposamena ebaluatzen ari da @@ -69,9 +80,39 @@ eu: one: Bozkatu other: Botoak decidim: + admin: + filters: + proposals: + category_id_eq: + label: Kategoria + is_emendation_true: + label: Mota + values: + 'false': Proposamenak + 'true': Zuzenketak + scope_id_eq: + label: Eremua + state_eq: + label: Egoera + values: + accepted: Onartuta + evaluating: Ebaluatzen + published: Argitaratua + rejected: Ukatua + validating: Baliozkotze teknikoa + withdrawn: Kenduta + state_null: + label: Egoera + values: + 'true': Erantzun gabe + valuator_role_ids_has: + label: Esleituta ebaluatzaileari + search_placeholder: + id_string_or_title_cont: Bilatu %{collection} edo ID edo izenburuaren arabera. components: proposals: actions: + amend: Zuzendu create: Sortu endorse: gatoz vote: Bozkatu @@ -79,19 +120,29 @@ eu: name: proposamenak settings: global: + allow_card_image: Baimendu irudidun txartela amendments_enabled: Emendakinak gaituta + amendments_enabled_help: Aktibo badago, konfiguratu zuzenketen aukerak urrats bakoitzerako. + amendments_wizard_help_text: Zuzenketen testu-laguntzailea announcement: Anuntzio attachments_allowed: Onartu eranskinak can_accumulate_supports_beyond_threshold: Atalasetik haratago doazen euskarriak pilatu ditzakezu collaborative_drafts_enabled: Lankidetza zirriborroak gaituta comments_enabled: Iruzkinak gaituta + comments_max_length: Iruzkinen gehieneko luzera (utzi 0 lehenetsita konfigurazioa mantendu nahi baduzu) geocoding_enabled: Geokodifikazioa gaituta dago minimum_votes_per_user: Erabiltzaile bakoitzeko gutxieneko botoiak + new_proposal_body_template: Plantilla proposamen berriaren testurako + new_proposal_body_template_help: Proposamen berriek izango duten testu aurredefinitua zehaztu ahal duzu new_proposal_help_text: Proposamen berriaren laguntza testu official_proposals_enabled: Proposamen ofizialak gaituta participatory_texts_enabled: Parte hartzaileen testuak gaituta proposal_answering_enabled: Proposamena erantzutea gaituta dago proposal_edit_before_minutes: Proposamenak egileek editatu ahal izango dituzte minutu asko igaro aurretik + proposal_edit_time: Proposamenen edizioa + proposal_edit_time_choices: + infinite: Utzi proposamenak editatzen epe mugagabe batean + limited: Utzi proposamenak editatzen epe zehatz baten barruan proposal_length: Proposamen maximoa gorputzaren luzera proposal_limit: Proposamenaren muga erabiltzaile bakoitzeko proposal_wizard_step_1_help_text: Proposamen laguntzailea "Sortu" urrats laguntza testua @@ -99,23 +150,43 @@ eu: proposal_wizard_step_3_help_text: Proposamen laguntzailea "Bete" urrats laguntza testua proposal_wizard_step_4_help_text: Proposamen laguntzailea "Argitaratu" urrats laguntza testua resources_permissions_enabled: Ekintza-baimenak proposamen bakoitzerako ezarri daitezke + scope_id: Eremua + scopes_enabled: Eremuak gaituta threshold_per_proposal: Proposamen bakoitzeko atalasea vote_limit: Erabiltzaile bakoitzari botoa emateko muga step: + amendment_creation_enabled: Zuzenketa sortzea aktibatuta + amendment_creation_enabled_help: Parte-hartzaileak proposamenak alda ditzake. + amendment_promotion_enabled: Zuzenketa sustatzea aktibatuta + amendment_promotion_enabled_help: Zuzenketaren egileek proposamen berri gisa sustatu ahal izango dute baztertutako zuzenketa. + amendment_reaction_enabled: Zuzenketaren erreakzioa aktibatuta + amendment_reaction_enabled_help: Proposamenen egileek beste parte-hartzaile batzuen zuzenketak onartu edo baztertu ahal izango dituzte. + amendments_visibility: Zuzenketaren ikusgarritasuna + amendments_visibility_choices: + all: Zuzenketak ikusgai denentzat + participants: Zuzenketak ikusgai daude beren egileentzat amendments_visibility_help: Zuzenketak egileentzat bakarrik ikusgai" aukera hautatzen bada, parte-hartzaileek saioa hasi beharko dute egindako zuzenketak ikusteko. announcement: Anuntzio + answers_with_costs: Gaitu kostua proposamenen erantzunetan automatic_hashtags: Hashtags proposamen guztiei gehitu zaie comments_blocked: Iruzkinak blokeatuta creation_enabled: Proposamenaren sorrera gaituta endorsements_blocked: Onarpen blokeatuak endorsements_enabled: Onarpen gaituak proposal_answering_enabled: Proposamena erantzutea gaituta dago + publish_answers_immediately: Argitaratu berehala erantzunak proposamenei suggested_hashtags: Hashtag-ek erabiltzaileei proposamen berriak proposatu dizkie votes_blocked: Botoak blokeatuta votes_enabled: Botoak gaituta votes_hidden: Botoiak ezkutatuta (botoak gaituta badago, hau egiaztatuz boto kopurua ezkutatuko da) events: proposals: + admin: + proposal_note_created: + email_intro: Norbaitek ohar bat uzti du "%{resource_title}" proposamenean. Berrikusi orain honen bidez panel de administración + email_outro: Jakinarazpen hau jaso duzu proposamena ebaluatu ahal duzulako. + email_subject: Norbaitek ohar bat utzi du %{resource_title} proposamenean. + notification_title: Norbaitek ohar bat utzi du %{resource_title} proposamenean. Berrikusi orain honen bidez panel de administración collaborative_draft_access_accepted: email_intro: '%{requester_name} onartu da %{resource_title} lankidetza proiektuaren laguntzaile gisa sartzeko.' email_outro: Jakinarazpen hau jaso duzuelako %{resource_title}. @@ -179,6 +250,7 @@ eu: email_subject: Jarraitzen ari zaren proposamena ebaluatzen ari da notification_title: %{resource_title} proposamena ebaluatzen ari da. proposal_mentioned: + email_intro: Zure proposamen hau "%{mentioned_proposal_title}" aipatu da iruzkinen espazioan. email_outro: Jakinarazpen hau jaso duzu "%{resource_title}" egilearena delako. email_subject: Zure proposamena "%{mentioned_proposal_title}" aipatu da notification_title: '"%{mentioned_proposal_title}" zure proposamena espazio honetan aipatu da iruzkinetan.' @@ -273,15 +345,18 @@ eu: see_all: Ikusi dena (%{count}) proposals: actions: + answer_proposal: Erantzun proposamenari edit_proposal: Editatu proposamena import: Inportatu beste osagai batetik new: Proposamen berria participatory_texts: Testu partehartzaileak + show: Ikusi proposamena title: Ekintzak admin: actions: preview: Aurreikusi exports: + proposal_comments: Iruzkinak proposals: Proposamenak models: proposal: @@ -304,6 +379,7 @@ eu: new_import: accepted_mime_types: md: Markdown + odt: ODT bottom_hint: "(Dokumentuko atalen aurrebista eta ordenazioa ahal izango duzu)" title: ADD DOCUMENT upload_document: Kargatu dokumentua @@ -345,37 +421,72 @@ eu: form: attachment_legend: "(Aukerakoa) Gehitu eranskin bat" created_in_meeting: Proposamen hau bilera batetik dator + delete_attachment: Ezabatu erantsitako artxiboa select_a_category: Aukeratu kategoria bat select_a_meeting: Aukeratu bilera bat index: actions: Ekintzak + assign_to_valuator: Esleitu ebaluatzaileari + assign_to_valuator_button: Esleitu cancel: Utzi change_category: Aldatu kategoria + change_scope: Aldatu eremua merge: Bateratu berri bat sartu merge_button: Batu publish: Argitaratu + publish_answers: Argitaratu erantzunak select_component: Hautatu osagaia selected: hautatutako split: Proposamen banatuak split_button: Split title: Proposamenak + unassign_from_valuator: Desesleitu ebaluatzaileari + unassign_from_valuator_button: Desesleitu update: eguneratzearen + update_scope_button: Eguneratu eremua new: create: Sortu title: Sortu proposamena publish_answers: + number_of_proposals: '%{number} proposamenetarako erantzunak argitaratuko dira.' select_a_proposal: Aukeratu proposamen bat show: + amendments_count: Zuzenketa kopurua + assigned_valuators: Ebaluatzaileak esleituta authors: Egileak body: Gorputzeko + comments_count: Iruzkin kopurua + comments_negative_count: Aurka + comments_neutral_count: Neutrala + comments_positive_count: Alde created_at: Sortze data - proposals: proposamenak + documents: Dokumentuak + endorsements_count: Atxikimendu kopurua + endorsements_ranking: Sailkapena atxikimenduen arabera + endorsers: Atxiki dira + link: Lotura + n_more_endorsers: + one: eta 1 gehiago + other: eta %{count} gehiago + photos: Argazkiak + proposals: Proposamenak + ranking: "%{total} tik %{ranking}" + related_meetings: Erlazionatutako topaketak + remove_assignment: Desegin esleipena + remove_assignment_confirmation: Ziur zaude proposamen honen ebaluatzailea desesleitu nahi duzula? + valuators: Ebaluatzaileak votes_count: Botoen zenbaketa + votes_ranking: Sailkapena aldekoen arabera update_category: + invalid: 'Proposamen hauek bazuten %{subject_name}: %{proposals} kategoria.' select_a_category: Hautatu kategoria bat select_a_proposal: Aukeratu proposamen bat + success: 'Proposamenak zuzen eguneratuta %{subject_name}: %{proposals} kategoriara.' update_scope: + invalid: 'Proposamen hauek bazuten %{subject_name}: %{proposals} eremua.' select_a_proposal: Aukeratu proposamen bat + select_a_scope: Mesedez, hautatu eremu bat + success: 'Proposamenak zuzen eguneratuta %{subject_name}: %{proposals} eremuan.' proposals_imports: create: invalid: Arazo bat izan da proposamenak inportatzea @@ -385,21 +496,33 @@ eu: no_components: Proposamenen inportazioa inportatzeko espazio parte hartzaile honetan ez dago proposamenrik. select_component: Hautatu osagaia select_states: Egiaztatu inportatzeko proposamenen egoera + title: Inportatu proposamenak proposals_merges: create: - invalid: Errore bat gertatu da hautatutako proposamenekin bat egitea. + invalid: Errore bat izan da hautatutako proposamenak batzean. success: Proposamen berri batean sartu dira ondo. proposals_splits: create: - invalid: Errore bat gertatu da hautatutako proposamenen banaketa. + invalid: Errore bat izan da hautatutako proposamenak banatzean. success: Proposamen berrietara egokitu dira. + valuation_assignments: + create: + invalid: Arazo bat izan da proposamenak ebaluatzaile bati esleitzean + success: Proposamenak zuzen esleitu zaizkio ebaluatzaileari + delete: + invalid: Arazo bat izan da proposamenak ebaluatzaile bati desesleitzean + success: Ebaluatzailea zuzen desesleitu da admin_log: proposal: answer: "%{user_name} %{resource_name} %{space_name} espazioko proposamenari erantzun dio" create: "%{user_name} %{resource_name} %{space_name} espazio proposamena sortu zen proposamen ofizial gisa" + publish_answer: "%{user_name} k argitaratu zuen %{resource_name} proposamenaren erantzuna %{space_name} espazioan" update: "%{user_name} eguneratu %{resource_name} ofizialaren proposamena %{space_name} espazio" proposal_note: create: "%{user_name} ohar pribatu bat utzi %{resource_name} %{space_name} espazioan proposamena" + valuation_assignment: + create: "%{user_name} k esleitu zion %{resource_name} proposamena ebaluatzaile bati" + delete: "%{user_name} k desesleitu zuen ebaluatzaile bat %{proposal_title} proposamenetik" answers: accepted: Onartuta evaluating: Ebaluatzen @@ -522,9 +645,13 @@ eu: error: Lankidetza zirriborroa gordetzean erroreak gertatu dira. success: Laguntza-proiektua ondo eguneratu da. wizard_aside: + back_from_collaborative_draft: Itzuli zirriborro kolaboratzaileetara info: Bat sortzen ari zara elkarlanerako zirriborroa. wizard_header: title: Sortu zure lankidetza zirriborroa + content_blocks: + highlighted_proposals: + proposals: Proposamenak create: error: Erroreak gertatu dira proposamena gordetzean. success: Onartutako proposamena. Zirriborro gisa gorde da. @@ -533,6 +660,7 @@ eu: success: Proposamenaren zirriborroa zuzen ezabatu da. last_activity: new_proposal_at_html: " %{link}proposamen berria" + proposal_updated_at_html: "proposamena ordu honetan %{link} eguneratuta" models: collaborative_draft: fields: @@ -546,10 +674,13 @@ eu: id: NORTASUN AGIRIA notes: Oharrak official_proposal: Proposamen ofiziala + published_answer: Erantzuna argitaratuta published_at: Argitaratu at scope: Esparrua state: Egoera title: Titulua + valuator: Ebaluatzailea + valuators: Ebaluatzaileak votes: Euskarriak new: limit_reached: Ezin duzu proposamen berririk sortu muga gainditu zenuenetik. @@ -574,9 +705,16 @@ eu: proposals_count: one: "%{count} proposamen" other: "%{count} proposamen" + dynamic_map_instructions: + instructions:

    Puntua mapan mugi dezakezu.

    Ez ahaztu "Eguneratu posizioa" botoian klik egitea zure proposamena argitaratu aurretik.

    edit: + add_documents: Dokumentuak + add_images: Fitxategia attachment_legend: "(Aukerakoa) Gehitu eranskina" back: Back + delete_document: Ezabatu dokumentua + delete_image: Ezabatu irudia + gallery_legend: "(Aukerakoa) Gehitu irudi bat proposamen-txartelari" select_a_category: Hautatu kategoria bat send: Bidali title: Editatu proposamena @@ -586,8 +724,11 @@ eu: send: Aurreikusi title: Editatu proposamenaren zirriborroa filters: + activity: Nire jarduera + all: Guztiak amendment_type: Mota category: Kategoria + my_proposals: Nire proposamenak origin: Jatorria related_to: Honekin lotuta scope: esparrua @@ -614,41 +755,67 @@ eu: title: Sortu zure proposamena orders: label: 'Antolatu proposamenak honen arabera:' + most_commented: Iruzkin gehien dituztenak + most_endorsed: Aldeko boto gehien dituztenak + most_followed: Jarraitzaile gehien dituztenak most_voted: Bozkatuenak random: Ausazkoa eran recent: Berrienak + with_more_authors: Egile gehiagorekin participatory_texts: index: document_index: Dokumentuaren indizea view_index: see_index: Ikusi indizea + placeholder: + address: 37 Homewood Drive Brownsburg, hemen 46112 preview: + announcement_body: Zure proposamena zirriborro gisa gorde da. Argitaratu egin behar da lekuan agertzeko. + announcement_title: Zure proposamena oraindik ez da argitaratu modify: Aldatu proposamena proposal_edit_before_minutes: one: Proposamen hau argitaratu ondoren, lehenengo proposamena editatu ahal izango duzu. Behin leiho hau igarotzen denean, ezingo duzu proposamen hori editatu. other: Proposamen hau editatu ahal izango duzu lehenengo %{count} Proposamenaren ondoren argitaratutako minutuak. Behin leiho hau igarotzen denean, ezingo duzu proposamen hori editatu. publish: Argitaratu title: Argitaratu zure proposamena + update_position: Eguneratu aukera proposal: creation_date: 'Sorkuntza: %{date}' view_proposal: Ikusi proposamena + proposals: + empty: Oraindik ez dago proposamenik + empty_filters: Ez dago irizpide hori duen proposamenik show: answer: Erantzuna back_to: Itzuli + back_to_list: Itzuli zerrendara + changes_at_title: Zuzenketa honi "%{title}" comments: Iruzkinak edit_proposal: Editatu proposamena endorsements_list: Onarpenen zerrenda + estimated_cost: Gutxi gorabeherako kostua hidden_endorsers_count: one: eta %{count} pertsona gehiago other: eta beste %{count} pertsona link_to_collaborative_draft_help_text: Proposamen hau lankidetza-zirriborro baten emaitza da. Berrikusi historia link_to_collaborative_draft_text: Ikusi lankidetza zirriborroa + link_to_promoted_emendation_help_text: Proposamen hau zuzenketa batetik dator + link_to_promoted_emendation_text: Ikusi baztertutako zuzeketa. + link_to_proposal_from_emendation_help_text: Hau baztertutako zuzenketa bat da + link_to_proposal_from_emendation_text: Ikusi proposamena proposal_accepted_reason: 'Proposamen hau onartu da arrazoi hauengatik:' proposal_in_evaluation_reason: Proposamen hau ebaluatzen ari da proposal_rejected_reason: 'Proposamen hau baztertu da arrazoi hauengatik:' + read_less: Irakurri gutxiago + read_more: Irakurri gehiago report: Salatu withdraw_btn_hint: Zure proposamena uka dezakezu zure kontuan aldatzen baduzu, laguntza jaso ez baduzu. Proposamena ez da ezabatu, kendutako proposamenen zerrendan agertuko da. + withdraw_confirmation_html: Ziur zaude proposamen hau kendu nahi duzula?

    Ekintza hau ezin da desegin! withdraw_proposal: Ezabatu proposamena + tags: + changed_from: "(%{previous_name} hemendik ebaluatzaile batek aldatua)" + update: + title: Eguneratu proposamena vote_button: already_voted: Bozkatuta duzu already_voted_hover: Unvote @@ -680,17 +847,30 @@ eu: votes: Euskarriak wizard_aside: back: Back + back_from_step_1: Itzuli proposamenetara + back_from_step_2: Itzuli proposamenetara + back_from_step_3: Alderatu berriro proposamenak + back_from_step_4: Editatu berriro zirriborroa info: 123_8_0_321 | proposamen batda. | wizard_steps: + current_step: Oraingo urratsa see_steps: ikusi urratsak step_1: Sortu zure proposamena step_2: konparatu step_3: osoa step_4: Argitaratu zure proposamena step_of: Urratsa %{current_step_num} de %{total_steps} + title: Proposamen bat sortzeko urratsak + proposals_picker: + choose_proposals: Hautatu proposamenak + close: Itxi + more_proposals: '%{number} proposamen gehiago daude. Zehaztu berriro zure bilaketa aurkitzeko.' + no_proposals: Ez dago zure bilatzeko irizpidearekin bat datorren proposamenik edo ez dago proposamenik. publish: error: Arazoak izan dira proposamena argitaratzean. success: Proposamena ondo argitaratua. + publish_answers: + success: Proposamenen erantzunak zuzen argitaratu dira. update: error: Arazoak izan dira proposamena gordetzean. success: Proposamena ondo eguneratu da. diff --git a/decidim-sortitions/config/locales/eu.yml b/decidim-sortitions/config/locales/eu.yml index 8249ff495df55..55aa49426dc68 100644 --- a/decidim-sortitions/config/locales/eu.yml +++ b/decidim-sortitions/config/locales/eu.yml @@ -23,6 +23,7 @@ eu: settings: global: comments_enabled: Iruzkinak gaituta + comments_max_length: Iruzkinen gehieneko luzera (utzi 0 lehenetsita konfigurazioa mantendu nahi baduzu) events: sortitions: sortition_created: @@ -124,6 +125,7 @@ eu: show: algorithm: Sortzeko algoritmoaren kodea any_category: kategoria guztietan + back: Itzuli zerrendara cancelled: Ezeztatuta sortzea candidate_proposal_ids: Ordenatzeko proposamenen ordena eta IDak candidate_proposals_info: 'Hurrengo proposamenen artean (%{category_label}) honako idazketa hauek egin dira (hautatutako proposamenetan lodia) ' diff --git a/decidim-surveys/config/locales/eu.yml b/decidim-surveys/config/locales/eu.yml index 6875ee64b527f..1c96f2ecac683 100644 --- a/decidim-surveys/config/locales/eu.yml +++ b/decidim-surveys/config/locales/eu.yml @@ -20,8 +20,17 @@ eu: settings: global: announcement: Anuntzio + clean_after_publish: Ezabatu erantzuna galdetegia argitaratzean + ends_at: Erantzunak noiz arte onartuko + ends_at_help: Utzi zuriz data zehatzik ez badago + scope_id: Eremua + scopes_enabled: Eremu gaituak + starts_at: Honen erantzunak onartuak + starts_at_help: Utzi zuriz data zehatzik ez badago step: allow_answers: Baimendu erantzunak + allow_unregistered: Baimendu erregistratu gabe dauden erabiltzaileei galdetegia erantzutea + allow_unregistered_help: Aktibo badago, ez da beharrezkoa izango saioa hastea inkestari erantzuteko. Horrek datu pobreak edo ez oso fidagarriak ekar ditzake, eta eraso automatizatuekiko zaurgarriagoa izango da. Kontuz ibili! announcement: Anuntzio events: surveys: @@ -53,4 +62,5 @@ eu: surveys: answer: invalid: Inkesta erantzutean erroreak gertatu dira. + spam_detected: Arazo bat izan da galdetegia erantzutean. Agian azkarregi joan zara, berriro egin dezakezu? success: Inkesta ondo bete da. diff --git a/decidim-system/config/locales/eu.yml b/decidim-system/config/locales/eu.yml index 5d0a595c882e6..d7a07c5aeb773 100644 --- a/decidim-system/config/locales/eu.yml +++ b/decidim-system/config/locales/eu.yml @@ -1,9 +1,41 @@ eu: + activemodel: + attributes: + oauth_application: + name: OAuth Aplikazioaren izena + organization_logo: Antolatzailearen logoa (karratua) + organization_name: Antolatzailea + organization_url: Antolatzailearen URLa + redirect_uri: Berbideratu URI + organization: + address: SMTP host-aren izena + from_email: Korreo elektronikoaren helbidea + from_label: Etiketa + password: Pasahitza + port: Ataka + user_name: Erabiltzaile-izena + organization_file_uploads: + allowed_content_types: + admin: Administrazio-panelaren MIME motak + default: MIME motak, lehenetsita + allowed_file_extensions: + admin: "\nAdministrazio-panelaren artxibo-luzapenak" + default: Artxibo-luzapenak, erantsita + image: Irudien artxibo-luzapenak + maximum_file_size: + avatar: Avatar-artxiboaren tamaina + default: Artxibo-tamaina, lehenetsita + errors: + models: + oauth_application: + attributes: + redirect_uri: + must_be_ssl: Berbideratzeko URIa URI SSL izan behar da decidim: system: actions: confirm_destroy: '‘Ziur zaude ezabatu nahi duzula?’' - destroy: ezabatu + destroy: Ezabatu edit: Editatu new: Berria save: Gorde @@ -32,6 +64,7 @@ eu: menu: admins: Administratzaileak dashboard: Kontrol-panela + oauth_applications: OAuth Aplikazioak organizations: Erakundeak models: admin: @@ -41,25 +74,99 @@ eu: name: Administratzailea validations: email_uniqueness: beste administratzaile bat dago, helbide elektroniko hauxe bera duena + oauth_application: + fields: + created_at: Sortze-data + name: OAuth Aplikazioaren izena + organization_name: Antolatzailea + name: OAuth Aplikazioa organization: actions: save_and_invite: Sortu erakundea eta gonbit egin administratzaileari fields: created_at: Tan sortua + file_upload_settings: Fitxategiak igotzearen doikuntzak name: Izena + omniauth_settings: Omniauth doikuntzak + smtp_settings: SMTP konfigurazioa name: Erakundea + oauth_applications: + create: + error: Errore bat gertatu da aplikazio hau sortzean. + success: Aplikazioa ondo sortu da. + destroy: + error: Errorea izan da aukera hau ezabatzean. + success: Aplikazioa ondo ezabatu da. + edit: + save: Gorde + title: Aplikazioa editatu + form: + select_organization: Aukeratu antolatzaile bat + index: + confirm_delete: Ziur zaude aplikazio hau ezabatu nahi duzula? + title: OAuth Aplikazioak + new: + save: Gorde + title: Aplikazio berria + update: + error: Errorea izan da aplikazio hau eguneratzean. + success: Aplikazioa ondo eguneratu da. organizations: create: - error: Errorea gertatu da erakunde berri bat sortzean. - success: Erakundea zuzen sortu da. + error: Errorea izan da antolatzaile berri bat sortzean. + success: Antolatzailea zuzen sortu da. edit: secondary_hosts_hint: Sartu haietako bakoitza lerro batean + file_upload_settings: + content_types: + admin_hint: MIME mota horiek baimenduta daude administrazio-paneletik igotzeko. Administratzaileek dokumentuen formatu batzuk igotzean dauden arriskuez jabetu behar dute, eta, beraz, artxiboen igoeretan zuhurragoak izatea espero daiteke. + default_hint: MIME mota hauek, lehenetsiz, baimenduta daude erabiltzaile guztientzat. + intro_html: 'Gehitu izartxoa duten komodinak MIME motetarako, adibidez: image/*.' + title: Baimendutako MIME motak + file_extensions: + admin_hint: Artxibo-luzapen hauek baimenduta daude administrazio-paneletik igotzeko. Administratzaileek dokumentuen formatu batzuk igotzean dauden arriskuez jabetu behar dute, eta, beraz, artxiboen igoeretan zuhurragoak izatea espero daiteke. + default_hint: Artxibo-luzapen hauek, lehenetsiz, baimenduta daude erabiltzaile guztientzat. + image_hint: Artxibo-luzapen hauek baimenduta daude edozein motatako irudi-igoeratarako. + title: Baimendutako fitxategi-luzapenak + file_sizes: + avatar_hint: Megabytes (MB). Fitxategiaren tamainaren muga hori erabiltzen da avatar-irudiak igotzeko. + default_hint: Megabytes (MB). Fitxategiaren tamainaren muga hori fitxategien igoera guztietarako erabiltzen den lehenetsia da, kontrakoa zehaztu ezean. + title: Gehieneko fitxategi tamaina + intro: | + Mesedez, kontuz ibili doikuntza horiek aldatzean. + Zenbat eta aukera gutxiago, hobe. + Fitxategi espezifikoen luzapenak edo MIME motakoak baimentzeak segurtasun-arriskuen eraginpean jar ditzake sistemaren erabiltzaileak, eta webgunearen irisgarritasunari ere eragin diezaioke. index: title: Erakundeak new: reference_prefix_hint: Erreferentzia-aurrizkia erabiltzen da erakunde guztien baliabideak modu bakarrean identifikatzeko secondary_hosts_hint: Sartu haietako bakoitza lerro batean title: Erakunde berria + omniauth_settings: + decidim: + client_id: Bezeroaren IDa + client_secret: Bezeroaren sekretua + site_url: Guneko URLa + enabled: Gaituta + facebook: + app_id: Apparen IDa + app_secret: Aplikazio-sekretua + google_oauth2: + client_id: Bezeroaren IDa + client_secret: Bezeroaren sekretua + icon: Ikonoa + icon_path: Ikonoaren bidea + twitter: + api_key: API giltza + api_secret: API sekretua + smtp_settings: + fieldsets: + sender: Bidaltzailea + instructions: + from_label: 'Posta elektronikoaren bidaltzailea honako hau izango da: "Erakundearen izena < your-organization@example.org>". Utzi hutsik ''Helbide elektronikoa'' eremua etiketa gisa erabiltzeko' + placeholder: + from_email: zure-erakundea@example.org + from_label: erakundearen izena update: error: Errorea gertatu da erakunde hau eguneratzean. success: Erakundea zuzen eguneratu da. diff --git a/decidim-verifications/config/locales/eu.yml b/decidim-verifications/config/locales/eu.yml index 19645e0427f5d..71025dc9d9c71 100644 --- a/decidim-verifications/config/locales/eu.yml +++ b/decidim-verifications/config/locales/eu.yml @@ -24,6 +24,26 @@ eu: full_address: Helbide osoa verification_code: Egiaztapen kodea decidim: + admin: + menu: + authorization_revocation: + before_date_info: Erabilgarria da prozesua hasita badago eta aurreko prozesuko baimenak ezeztatu nahi badituzu. + button: Ezeztatu guztiak + button_before: Ezeztatu data honen aurrekoak + destroy: + confirm: Data horren aurreko baimenak ezeztatzea ezin da desegin. Ziur jarraitu nahi duzula? + confirm_all: Baimen guztiak ezeztatzea ezin da desegin. Ziur jarraitu nahi duzula? + destroy_nok: Arazo bat izan da baimen guztiak ezeztatzean. + destroy_ok: Bat datozen baimen guztiak zuzen ezeztatu dira. + info: Guztira %{count} parte-hartzaile egiaztatuta daude. + no_data: Ez dago parte-hartzaile egiaztaturik + title: Baimenak ezeztatzea + authorization_workflows: Baimenak + admin_log: + organization: + update_id_documents_config: "%{user_name} k eguneratu zuen nortasun agiriko dokumentuen konfigurazioa" + user: + grant_id_documents_offline_verification: "%{user_name} k egiaztatu zuen %{resource_name} nortasun agirien baimen bat erabiliz" authorization_handlers: admin: csv_census: @@ -55,12 +75,22 @@ eu: postal_letter: explanation: Posta-gutun bat bidaliko dizugu, sartu behar duzun kode batekin, beraz, zure helbidea egiaztatu ahal izango dugu name: Kodea posta bidez + events: + verifications: + verify_with_managed_user: + notification_title: %{resource_title} parte-hartzailea saiatu da bere burua identifikatzen %{managed_user_name} kudeatutako parte-hartzailearen datuekin verifications: authorizations: + authorization_metadata: + info: 'Hauek dira oraingo egiaztapenaren datuak:' + no_data_stored: Ez dago datu gorderik. create: error: Errore bat gertatu da baimena sortzean. success: Ongi baimendu duzu. unconfirmed: Zure posta elektronikoa baieztatzeko, baimena eman behar duzu. + destroy: + error: Arazo bat izan da baimena ezabatzean. + success: Baimena zuzen ezabatu duzu. first_login: actions: another_dummy_authorization_handler: Egiaztatu baimenen kudeatzailearen beste adibide baten aurka @@ -69,13 +99,23 @@ eu: dummy_authorization_workflow: Egiaztatu baimenen laneko fluxuaren aurka id_documents: Egiaztatu zure identifikazio dokumentua kargatzen postal_letter: Egiaztatu egiaztapen-kodea posta-posta bidez egiaztatuz + sms: Identifikatu zaitez SMS bidez bidalitako kode baten bitartez title: Egiaztatu zure identitatea verify_with_these_options: 'Hauek dira zure identitatea egiaztatzeko erabilgarri dauden aukerak:' + index: + expired_verification: Egiaztapena iraungi egin da + pending_verification: Egiaztatzeke + show_renew_info: Egin klik hemen egiaztapena berritzeko + unauthorized_verification: Egiaztapen berri bat new: authorize: Bidali authorize_with: Egiaztatu %{authorizer} rekin renew_modal: cancel: Utzi + close: itxi + continue: Jarraitu + info_renew: Datuak eguneratu nahi badituzu, jarraitu berriztatzen + title: Berritu egiaztapena skip_verification: Hau saltatu dezakezu oraingoz eta %{link} start_exploring: Hasi esploratzen csv_census: @@ -95,8 +135,10 @@ eu: title: Uneko erroldako datuak instructions: body: Horretarako, sistemaren administrazioa sartu behar duzu eta gehitu csv_census baimenak erakundeari + title: CSVa aktibatu behar duzu antolaketa honetarako new: file: ".csv fitxategia helbide elektronikoen datuekin" + info: 'CSV formatudun artxiboa izan behar da eta zutabe batean posta elektronikoaren helbidea:' submit: Kargatu fitxategia title: Kargatu zentsu berri bat authorizations: @@ -108,6 +150,8 @@ eu: postal_codes: one: Partehartzea mugatua da %{postal_codes} kode postalarekin duten erabiltzaileentzat. other: 'Parte-hartzea honako posta-kode hauetakoren bat duten erabiltzaileentzat mugatuta dago: %{postal_codes}.' + scope: Partehartzea mugatua da %{scope_name} eremuan egiaztatutako erabiltzaileentzat. + user_scope: Parte hartzea mugatuta dago %{scope_name} eremua duten parte-hartzaileentzat eta zure eremua hau da %{user_scope_name}. id_documents: admin: config: From 95b5ca1523a0898d5aa61f5e8354f0a1db1ff83a Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Wed, 13 Oct 2021 09:42:50 +0200 Subject: [PATCH 61/71] New Crowdin updates (#8375) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Hungarian) * New translations en.yml (Basque) * New translations en.yml (Greek) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Italian) * New translations en.yml (Spanish) * New translations en.yml (Arabic) * New translations en.yml (French) * New translations en.yml (German) * New translations en.yml (Catalan) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Icelandic) * New translations en.yml (Indonesian) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Luxembourgish) * New translations en.yml (Latvian) * New translations en.yml (French, Canada) * New translations en.yml (Slovak) * New translations en.yml (Norwegian) * New translations en.yml (Ukrainian with many plural form) * New translations en.yml (Russian with many plural form) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Swedish) * New translations en.yml (Galician) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Galician) * New translations en.yml (Galician) * New translations en.yml (Galician) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) --- decidim-admin/config/locales/eu.yml | 22 +- decidim-conferences/config/locales/eu.yml | 32 +- decidim-core/config/locales/eu.yml | 19 +- decidim-core/config/locales/gl.yml | 1 + decidim-elections/config/locales/eu.yml | 523 ++++++++++++++++++ decidim-elections/config/locales/gl.yml | 12 + decidim-meetings/config/locales/ar.yml | 2 - decidim-meetings/config/locales/ca.yml | 2 +- decidim-meetings/config/locales/de.yml | 2 +- decidim-meetings/config/locales/el.yml | 2 - decidim-meetings/config/locales/es-MX.yml | 6 +- decidim-meetings/config/locales/es-PY.yml | 4 +- decidim-meetings/config/locales/es.yml | 4 +- decidim-meetings/config/locales/eu.yml | 13 +- decidim-meetings/config/locales/fr-CA.yml | 4 +- decidim-meetings/config/locales/fr.yml | 2 +- decidim-meetings/config/locales/gl.yml | 2 - decidim-meetings/config/locales/hu.yml | 4 +- decidim-meetings/config/locales/id-ID.yml | 2 - decidim-meetings/config/locales/is-IS.yml | 4 + decidim-meetings/config/locales/it.yml | 6 +- decidim-meetings/config/locales/lb.yml | 3 - decidim-meetings/config/locales/lv.yml | 2 - decidim-meetings/config/locales/no.yml | 2 +- decidim-meetings/config/locales/pt-BR.yml | 8 +- decidim-meetings/config/locales/ru.yml | 3 +- decidim-meetings/config/locales/sk.yml | 2 - decidim-meetings/config/locales/sv.yml | 2 +- decidim-meetings/config/locales/uk.yml | 6 + .../config/locales/eu.yml | 1 + decidim-proposals/config/locales/eu.yml | 4 +- decidim-proposals/config/locales/gl.yml | 3 +- decidim-system/config/locales/eu.yml | 1 + 33 files changed, 625 insertions(+), 80 deletions(-) diff --git a/decidim-admin/config/locales/eu.yml b/decidim-admin/config/locales/eu.yml index 49b9e687baa05..96987cec08f87 100644 --- a/decidim-admin/config/locales/eu.yml +++ b/decidim-admin/config/locales/eu.yml @@ -655,9 +655,9 @@ eu: error: Errorea gertatu da parte-hartzailea blokeatzean success: Parte-hartzailea zuzen blokeatu da create: - success: Erabiltzailea arrakastatsua izan da + success: Erabiltzailea zuzen ofizializatu da destroy: - success: Erabiltzailea ez da ongi burutu + success: Parte-hartzailearen ofizializazioa behar bezala desgaitu da index: actions: Ekintzak badge: Badge @@ -728,13 +728,13 @@ eu: participatory_space_private_users: create: error: Errore bat gertatu da partaidetza espazio honen erabiltzaile pribatua gehitzean. - success: Partaidetza espazioa erabiltzaile pribatuaren sarbidea behar bezala sortu da. + success: Zuzen sortu da sarbide pribatua partaidetza-espazioko partaideentzat. destroy: error: Errore bat gertatu da erabiltzaile pribatu bat ezabatzen parte hartzaileentzako. - success: Partekatze espazioa erabiltzaileen sarbide pribatuan arrakastaz suntsitu da. + success: Zuzen ezabatu da parte-hartzailearen sarbidea partaidetza-espazio pribaturako. index: import_via_csv: Inportatu CSV bidetik - title: Partaidetza espazioa erabiltzaile pribatua + title: Parte-hartze pribatuko espazioko parte-hartzailea new: create: Sortu title: Erabiltzaile pribatuaren parte hartzailea. @@ -745,7 +745,7 @@ eu: new: explanation: 'Igo zure CSV fitxategia. Bi zutabe izan behar ditu, artxiboaren lehen zutabean eremu parte-hartzailera gehitu nahi dituzun erabiltzaileen posta elektronikoa, eta izena azken zutabean (posta elektronikoa, izena), goibururik gabe. Ez erabili balio ez duten karaktererik erabiltzaile-izenean, hala nola: `<>?%&^*#@()[]=+:;"{}\|`.' title: Igo zure CSV artxiboa - upload: Kargatu + upload: Igo resource_permissions: edit: submit: Bidali @@ -867,7 +867,7 @@ eu: user_group: csv_verify: invalid: Errore bat gertatu da CSV fitxategia irakurtzean. - success: CSV fitxategiak behar bezala kargatu du, irizpideekin bat datozen erabiltzaile-taldeak egiaztatzen ari gara. Denbora pixka bat izan liteke. + success: CSV fitxategiak behar bezala kargatu da, irizpideekin bat datozen erabiltzaile-taldeak egiaztatzen ari gara. Denbora pixka bat izan liteke. reject: invalid: Errore bat gertatu da erabiltzaile talde hau arbuiatzerakoan. success: Erabiltzaile taldea arrakastaz arbuiatua @@ -890,9 +890,9 @@ eu: verify_via_csv: Egiaztatu CSV bidez user_groups_csv_verifications: new: - explanation: Kargatu zure CSV fitxategia. Zure erakundeko erabiltzaile taldeen mezu elektronikoak fitxategian lehen zutabean izan behar du, goibururik gabe. Zure posta elektronikoa baieztatu duten erabiltzaile taldeek eta CSV fitxategian agertzen diren mezu elektronikoak baliozkotu egingo dira. - title: Kargatu zure CSV fitxategia - upload: Upload + explanation: Igo zure CSV fitxategia. Zure erakundeko erabiltzaile taldeen mezu elektronikoak fitxategian lehen zutabean izan behar du, goibururik gabe. Zure posta elektronikoa baieztatu duten erabiltzaile taldeek eta CSV fitxategian agertzen diren mezu elektronikoak baliozkotu egingo dira. + title: Igo zure CSV fitxategia + upload: Igo users: create: error: Errorea gertatu da erabiltzaile honi gonbit egitean. @@ -946,7 +946,7 @@ eu: success: Edukia zuzen ezkutatu da. unhide: invalid: Arazo bat izan da baliabidea desegiteko. - success: Baliabidea ondo ezabatu da. + success: Ongi desezkutatutako edukia. unreport: invalid: Arazo bat izan da salaketa ezeztatzean. success: Salaketa zuzen ezeztatu da. diff --git a/decidim-conferences/config/locales/eu.yml b/decidim-conferences/config/locales/eu.yml index 6020155350ade..f9b77e3c90cfd 100644 --- a/decidim-conferences/config/locales/eu.yml +++ b/decidim-conferences/config/locales/eu.yml @@ -177,10 +177,10 @@ eu: media_links_title: Media Links new: create: Sortu - title: Media Link + title: Multimedia Lotura update: - error: Errore bat gertatu da komunikazio-esteka hau eguneratzean. - success: Media Link eguneratu behar bezala. + error: Errore bat gertatu da multimedia link hau eguneratzean. + success: Multimedia linka behar bezala eguneratuta. menu: conferences: Jardunaldiak conferences_submenu: @@ -212,29 +212,29 @@ eu: affiliation: Afiliazioa full_name: Izen osoa position: Kargua - name: Hitzaldi Hizlaria + name: Hizlaria conference_user_role: fields: email: Emaila name: izena - role: Role - name: Konferentzia Erabiltzailea + role: Rola + name: Jardunaldiaren administratzailea roles: admin: Administrator - collaborator: Kolaboratzaile - moderator: Moderatzaile + collaborator: Kolaboratzailea + moderator: Moderatzailea valuator: Ebaluatzailea media_link: fields: - date: data - link: Link + date: Data + link: Linka title: Izenburua - name: Media Link + name: Multimedia linka partner: fields: - link: Link - logo: Logotipo - name: izena + link: Linka + logo: Logotipoa + name: Izena partner_type: Mota name: Partner types: @@ -242,7 +242,7 @@ eu: main_promotor: Garapen nagusia registration_type: fields: - conference_meetings: Bilera bilerak + conference_meetings: Hitzaldiaren topaketak price: Prezioa registrations_count: Erregistroak zenbatzea title: Izenburua @@ -374,7 +374,7 @@ eu: slug_help: 'URL slugs erabiltzen dira konferentzia honetara bidaltzen dituzten URLak sortzeko. Letrak, zenbakiak eta marratxoak soilik onartzen ditu eta letra batekin hasi behar duzu. Adibidea: %{url}' diplomas: edit: - save: Save + save: Gorde title: Asistentzia ziurtagiria invite_join_conference_mailer: invite: diff --git a/decidim-core/config/locales/eu.yml b/decidim-core/config/locales/eu.yml index 94ad91f9eb7d7..c2439c1f66b0a 100644 --- a/decidim-core/config/locales/eu.yml +++ b/decidim-core/config/locales/eu.yml @@ -60,6 +60,7 @@ eu: 'true': 'Bai' carrierwave: errors: + general: Errorea irudia prozesatzean image_too_big: Irudia pisuegia da not_inside_organization: Artxiboa ez dago antolatzaile batekin erlazionatuta date: @@ -153,8 +154,12 @@ eu: unofficialize: "%{user_name} erabiltzaile ez ofiziala %{resource_name}" user_group: reject: "%{user_name} baztertu %{resource_name} erabiltzaile taldeen egiaztapena" - verify: "%{user_name} egiaztatu %{resource_name} erabiltzaile taldea" + verify: "%{user_name} egiaztatu du %{resource_name} taldea" verify_via_csv: "%{user_name} egiaztatu du %{resource_name} erabiltzaile talde CSV fitxategi baten bidez" + user_moderation: + unreport: "%{user_name} desegin du %{resource_type} - %{unreported_user_name} erreportea" + admin_terms_of_use: + default_body: "

    TÉRMINOS ADMIN DE USO

    Sistemaren tokiko administratzailearen ohiko azalpena jaso duzulakoan gaude. Oro har, hiru gauza hauetara mugatzen da:

    1. Besteen pribatutasuna errespetatzea.
    2. Klikatu aurretik pentsatu.
    3. Botere handiak erantzukizun handia dakar.
    " alert: dismiss: Baztertu jakinarazpena amendments: @@ -803,9 +808,9 @@ eu: success: Erregistratu eskaera behar bezala sortu da. Administratzaileak zure eskaera berrikusiko du taldera onartu aurretik. leave: error: Arazo bat izan da taldean utzita - success: Taldeak arrakastaz utzi du. + success: Taldea zuzen utzi duzu. members: - accept_or_reject_join_requests: 'Hurrengo talde honetako erabiltzaileei aplikatu zaie. Eskaerak onartu edo ukatu:' + accept_or_reject_join_requests: 'Hurrengo parte-hartzaileek taldean sartzea eskatu dute. Onartu edo ukatu bere eskariak:' accept_request: Onartu reject_request: Ukatu new: @@ -842,13 +847,13 @@ eu: delete_with_space: "%{user_name} ezabatu %{resource_name} en %{space_name}" unknown_action: "%{user_name} Ekintza batzuk egin %{resource_name}" unknown_action_with_space: "%{user_name} Ekintza batzuk egin %{resource_name} en %{space_name}" - update: "%{user_name} eguneratu %{resource_name}" - update_with_space: "%{user_name} eguneratu %{resource_name} en %{space_name}" + update: "%{user_name} eguneratu zuen %{resource_name}" + update_with_space: "%{user_name} eguneratu zuen %{resource_name} hemen %{space_name}" value_types: area_presenter: - not_found: 'Ez zen datu-basea aurkitu (ID: %{id})' + not_found: 'Area ez zen datu-basean aurkitu (ID: %{id})' area_type_presenter: - not_found: 'Eremu mota ez da datu basean aurkitu (ID: %{id})' + not_found: 'Area mota ez da datu basean aurkitu (ID: %{id})' scope_presenter: not_found: 'Esparrua ez da aurkitu datu-basean (ID: %{id})' scope_type_presenter: diff --git a/decidim-core/config/locales/gl.yml b/decidim-core/config/locales/gl.yml index 771b11cc1faca..b6b495133b1ad 100644 --- a/decidim-core/config/locales/gl.yml +++ b/decidim-core/config/locales/gl.yml @@ -49,6 +49,7 @@ gl: 'true': 'Si' carrierwave: errors: + general: Erro ao procesar a imaxe image_too_big: A imaxe é demasiado grande date: formats: diff --git a/decidim-elections/config/locales/eu.yml b/decidim-elections/config/locales/eu.yml index 370c4e33e9e66..889caa1c5de29 100644 --- a/decidim-elections/config/locales/eu.yml +++ b/decidim-elections/config/locales/eu.yml @@ -183,28 +183,116 @@ eu: select_component: Mesedez, hautatu osagai bat title: Inportatu proposamenak questions: + create: + invalid: Arazo bat izan da galdera hau sortzean + success: Galdera zuzen sortu da + destroy: + invalid: Arazo bat izan da galdera hau ezabatzean + success: Galdera zuzen ezabatu da edit: + title: Editatu galdera update: Eguneratu galdera index: title: Galderak + new: + create: Sortu galdera bat + title: Galdera berria + update: + invalid: Arazo bat izan da galdera hau eguneratzean + success: Galdera zuzen eguneratu da steps: + create_election: + errors: + max_selections: Galderek ez dute balio zuzenik galdera kopururako + minimum_answers: Galderek gutxienez eduki behar dituzte bi erantzun . + minimum_questions: aukerak gutxienez galdera bat eduki behar du. + published: aukera ez dago argitaratuta . + time_before: Hasierako ordua hemen dago 3 ordu baino gutxiago bozketa hasi baino lehen. + trustees_number: espazio parte-hartzaileak gutxienez eduki behar du %{number} bermatzaile gako publikoarekin . + invalid: Arazo bat izan da aukera hau konfiguratzean + no_trustees: Ez dago bermatzaile konfiguraturik espazio parte-hartzaile honetarako + not_used_trustee: "(ez da erabiltzen)" + public_key: + 'false': ez du gako publikorik + 'true': badu gako publiko bat + requirements: + max_selections: Erantzun guztiek balio zuzena dute honetarako erantzun gehien. + minimum_answers: Galdera bakoitzak badu gutxienez 2 erantzun. + minimum_questions: Aukerak badu gutxienez galdera 1. + published: Aukera badago argitaratuta. + time_before: Konfigurazioa egiten ari da aukeraketa hasi baino gutxienez %{hours} ordu. + trustees_number: Espazio parte-hartzaileak badu gutxienez %{number} bermatzaile gako publikoarekin. + submit: Konfiguratu bozketa + success: Aukeraketa zuzen bidali da hona Bulletin Board + title: Konfiguratu bozketa + trustees: Hautaketaren bermatzaileak + created: + invalid: Arazo bat gertatu da gakoen zeremonia hastean + submit: Hasi gakoen zeremonia + success: 'Gakoen zeremonia hasteko eskaera zuzen bidali da hona: Bulletin Board' + title: Bozketa sortuta + trustees: Bermatzaileak key_ceremony: title: Gakoen zeremonia + trustees: Bermatzaileak + key_ceremony_ended: + errors: + time_before: Bozketa hasteko prest dago. (%{start_time}) hasierako ordua baino %{hours} ordu itxaron behar duzu bozketaldia hasteko. + invalid: Arazo bat izan da bozketaldia hastean + requirements: + time_before: Bozketa laster hasiko da. Eskuz hasi ahal duzu bozketaldia, edo automatikoki hasiko da hasierako ordua izan baino lehen, ordu honetan %{start_time}. + submit: Hasi bozketaldia + success: 'Bozketaldiaren eskaera zuzen bidali da hona: Bulletin Board' + title: Hasteko prest + processing: Prozesatzen... results_published: title: Argitaratutako emaitzak tally: title: Zenbatzeko prozesua + trustees: Bermatzaileak tally_ended: + submit: Argitaratu emaitzak title: Kalkulatutako emaitzak vote: + errors: + time_after: Bozketa oraindik ez dago martxan. (%{end_time}) amaierako ordura arte itxaron behar duzu bozketaldia amaitzeko. + invalid: Arazo bat izan da bozketaldia amaitzean + requirements: + time_after: Bozketa amaitu da. Bozketaldia eskuz amaitu ahal duzu, edo minutu batzuk barru automatikoki amaituko da. + submit: Amaitu bozketaldia + success: 'Bozketaldia amaitzeko eskaera zuzen bidali da hona: Bulletin Board' title: Bozketa-aldia vote_ended: + invalid: Arazo bat izan da zenbaketa hastean + submit: Hasi zenbaketa + success: 'Zenbaketa hasteko eskaera zuzen bidali da hona: Bulletin Board' title: Bozketa-aldia amaituta vote_stats: no_vote_statistics_yet: Oraindik ez dago boto-estatistikarik title: Boto-estatistikak voters: Boto-emaileak votes: Botoak + trustees_participatory_spaces: + actions: + disable: Desgaitu + enable: Kontuan hartu + create: + exists: Bada bermatzailea espazio parte-hartzaile honetarako + invalid: Arazo bat izan da bermatzaile bat sortzean + success: Bermatzailea zuzen sortu da + delete: + invalid: Arazo bat izan da bermatzaile hau ezabatzean + success: Bermatzailea zuzen ezabatu da + form: + select_user: Hautatu erabiltzailea + index: + title: Bermatzaileak + new: + create: Sortu bermatzailea + title: Bermatzaile berria + update: + invalid: Arazo bat izan da %{trustee} bermatzailea eguneratzean + success: '%{trustee} bermatzailea zuzen eguneratu da' admin_log: election: end_vote: "%{user_name} amaitu zen hautatzeko bozketa-aldia %{resource_name} Board Bulletin-ean" @@ -215,10 +303,29 @@ eu: start_vote: "%{user_name} -k hasi zuen bozketa-aldia %{resource_name} aukerarako Bulletin Board-en" unpublish: "%{user_name} -k desargitaratu zuen %{resource_name} bozketa" election_m: + badge_name: + finished: Amaituta + ongoing: Aktibo + upcoming: Hurrengoak + end_date: Amaitu footer: + view: Ikusi vote: Eman botoa + label: + date: Datak + questions: '%{count} galdera' + start_date: Hasi + unspecified: Zehaztu gabe elections: + count: + elections_count: + one: "%{count} bozketa" + other: "%{count} bozketa" filters: + active: Aktibo + all: Guztiak + finished: Amaituta + search: Bilatu state: Egoera upcoming: Hurrengoak filters_small_view: @@ -229,8 +336,11 @@ eu: preview: available_answers: Erantzun eskuragarriak description: Hauek dira bozketa-prozesuan aurkituko dituzun galderak + title: Aukeraketaren galderak results: description: Hauek dira bozketaren emaitzak, galdera bakoitzerako + selected: Hautatua + title: Hautaketaren emaitzak votes: one: "%{count} boto" other: "%{count} boto" @@ -240,35 +350,255 @@ eu: change-vote: Aldatu zure botoa vote: Botoa ematen hasi vote-again: Berriro eman botoa + back: Aukera eskuragarriak callout: already-voted: Jada botoa eman duzu aukera honetan. Zure botoa alda dezakezu edo egiaztatu. vote-rejected: Ezin izan da zure botoa egiaztatu. Mesedez, egizu berriro. + preview: Aurreikusi verify: already-voted: Bozkatu duzu? verify-here: Egiaztatu zure botoa hemen. will-verify: Zure botoa egiaztatu ahal izango duzu hautaketa hasten denean. + voting_period_status: + finished: Bozketa hasi zen %{start_time} eta amaitu zen %{end_time} + ongoing: 'Bozketa aktibo %{end_time} arte' + upcoming: Bozketa hasiko da %{start_time} feedback: answer: invalid: Errore bat izan da zure feedbacka bidaltzean. + spam_detected: Arazo bat izan da galdetegia erantzutean. Agian azkarregi joan zara, berriro egin dezakezu? + success: Feedbacka zuzen bidali da. + models: + answer: + fields: + proposals: Proposamenak + title: Izenburua + election: + fields: + bb_status: Tbulletin Boarden egoera + end_time: Bukaera-data + start_time: Hasiera-data + title: Izenburua + question: + fields: + answers: Erantzunak + max_selections: Hautatzeko gehieneko elementu kopurua + title: Izenburua + trustees_participatory_space: + fields: + considered: kontuan hartuta + email: E-maila + inactive: inaktibo + name: Izena + notification: Jakinarazpena egun honetan bidali zen + public_key: Gako Publikoa + status: Egoera + orders: + label: Ordenatu bozketak honen arabera + older: Zaharrena + recent: Berriena + trustee_zone: + elections: + backup_modal: + description: Aukera hori Bulletin Board-en sortzen ari da. Oso garrantzitsua da bertan parte hartzen duen bermatzaile bakoitzak gako horien segurtasun-kopia bat sortzea eta leku seguruan gordetzea. Ondoren, prozesuak aurrera egingo du. + download_election_keys: Deskargatu gakoak + download_icon: Ikonoak deskargatzeko ekintza adierazten du + title: Gakoen segurtasun-kopia %{election} aukeraketarako + key_ceremony_steps: + back: Atzera + description: Aukeraketa hau Bulletin Boarden sortzen ari da. Prozesu hau osatzeko, zure parte-hartzea bermatzaile gisa behar da. + keys: + create_election: Gakoak sortzea + key_ceremony: + joint_election_key: Gakoak batera sortzea + step_1: Gakoak argitaratzea + list: + status: Egoera + task: Eginkizuna + process_warning: Prozesua hasi ondoren, ez duzu orrialde honetatik atera behar prozesua amaitu arte. Zenbait minutu beharko ditu, bermatzaile guztiek konektatuta egon behar baitute hura osatzeko. + start: Hasi + start_icon: Ikonoak hasteko botoia adierazten du aukera bateko gakoak sortzen hasteko + status: + completed: Osatuta + pending: Zain + processing: Prozesatzen + title: Sortu gakoak %{election} aukeraketarako + restore_modal: + description: Bulletin Board-ek zure informazioa du aukera horren bermatzaile gisa. Prozesuarekin jarraitzeko, lehenengo igo aurreko saioan sortutako segurtasun-kopiaren fitxategia. + title: Berriztu gakoak %{election} aukerarako + upload_election_keys: Igo aukeraren gakoak + upload_icon: Ikonoak deskargatzeko ekintza adierazten du + tally_steps: + back: Atzera + description: Aukera horren emaitzak Bulletin Board-en kalkulatzen ari dira. Prozesu hori osatzeko, bermatzaile gisa parte hartu behar duzu. + keys: + end_tally: Zenbaketa amaituta + tally: + cast: Zenbaketa bidaltzea + share: Zenbaketa partekatzea + list: + status: Egoera + task: Eginkizuna + process_warning: Prozesua hasi ondoren, ez duzu orrialde honetatik atera behar prozesua amaitu arte. Zenbait minutu beharko ditu, bermatzaile guztiek konektatuta egon behar baitute hura osatzeko. + start: Hasi + start_icon: Ikonoak hasteko botoia adierazten du aukera bateko gakoak sortzen hasteko + status: + completed: Osatuta + pending: Zain + processing: Prozesatzen + title: Zenbaketa %{election} aukerarako + update: + error: Aukeraketaren egoera ez zen eguneratu. + success: 'Aukeraren egoera hauxe da: %{status}' + menu: + trustee_zone: Bermatzailearen gunea + no_bulletin_board: + body: Bulletin Board bat behar da, atal honetarako konfiguratua. Jarri harremanetan administratzailearekin xehetasun gehiago izateko. + title: Sentitzen dugu, Bulletin Board oraindik ez dago konfiguratuta. + trustees: + show: + elections: + list: + action_required: + 'false': 'Ez' + name: Eskatutako ekintza? + 'true': Burutu ekintza + bb_status: Egoera + election: Aukera + voting_period: Bozketa-aldia + no_elections: Ez dago aukerarik zuk bermatzaile gisa aritzeko. + title: Bozketak + identification_keys: + cancel: Utzi + generate: Sortu identifikatzeko gakoak + generate_error: Arazo bat izan da identifikatzeko gakoak sortzean. + generate_legend: Bozketan bermatzaile gisa parte hartzeko, identifikatzeko gako pare bat sortu behar duzu. + generate_legend_1: Botoia sakatu ondoren sortutako identifikatzeko gakoak dituen artxiboa deskargatu behar duzu. + generate_legend_2: Kopiatu deskargatutako artxiboa USB gailu garbi batean + generate_legend_3: Ziurtatu zure ekipoak ez duela fitxategiaren kopiarik (adibidez, egiaztatu Deskargak eta Mahaigaina karpetak). + generate_legend_4: Egin beste kopia bat kanpoko beste gailu batean, eta gorde oso leku seguruan. + submit: Bidali + submit_legend: Aurretik azaldutako urrats guztiak jarraitu ondoren, osatu prozesua identifikazio publikoaren gakoa bidaliz Decidimen zerbitzarian. + submit_title: Bidali identifikatzeko gako publikoa + title: Bermatzailearen identifikazio-gakoak + upload: Igo zure identifikazio-gakoak + upload_error: + invalid_format: Igotako artxiboak ez du identifikazio-gakorik. + invalid_key: Ezin dira kargatu identifikazio-gakoak igotako artxiboan. + invalid_public_key: Igotako artxiboko identifikazio-gakoak ez datoz bat Decidimek gordetako identifikazio publikoaren identifikazio-gakoarekin. + upload_legend: Decidimek zure identifikazio-gako publikoak ditu, baina zure nabigatzaileak oraindik ez ditu. Sortu ondoren egin zenuen segurtasun-kopiatik ordenagailura inportatu behar duzu zure identifikazio-gakoen fitxategia. + not_supported_browser_description: Dirudienez, berme-emaile gisa erabili ezin den nabigatzaile bat erabiltzen ari zara. Ziurtatu nabigatzailearen bertsio berriena erabiltzen ari zarela, edo saiatu nabigatzaile ezagunenetako edozein erabiltzen, zure zereginak bermatzaile gisa bete ahal izateko. + not_supported_browser_title: Eguneratu nabigatzailea bermatzaile gisa aritzeko + trustee_role_description: Plataforma honetan egindako bozketa batzuen bermatzaile gisa izendatu zaituzte. + update: + success: Zure identifikazio-gako publikoa zuzen gorde da. votes: confirm: + answer: Erantzuna + answer_number: '%{number} erantzun' + confirm: Baieztatu + edit: editatu header: Baieztatu botoa intro: Hemen duzu emango duzun botoaren laburpena. < br> Mesedez, berretsi zure botoa edo editatu zure erantzunak. + nota_option: Hutsik + question: '%{count} galdera' confirmed: + back: Itzuli bozketetara error: Sentitzen dugu, akats bat egon da botoa berrestean. Mesedez, bozkatu berriro. + experience: Nola baloratzen duzu esperientzia? + feedback: Emaguzu zure iritzia header: Baieztatutako botoa lead: Eman duzu botoa! + text: 'Egiaztatu ahal duzu zure botoa zuzen sartu dela hautesontzian honako identifikatzailearekin: %{e_vote_poll_id}' + verify_link: 'Egiaztatzeko, kopiatu identifikatzailea eta itsatsi hemen: página de verificación de voto' encrypting: header: Botoa kodifikatzen... text: Zure botoa zifratzen ari da modu anonimoan emititzen dela ziurtatzeko. + failed: + header: Boto okerra + lead: Ez duzu eman botoa! + text: Zerbait txarto irten da, mesedez, saiatu berriro. header: + confirm: Baieztatu botoa + confirmed: Botoa baieztatu da encrypting: Baieztatu botoa + messages: + not_allowed: Une honetan ezin duzu botoa eman bozketa honetan. + modal: + close: Itxi + proposal_header: 'Proposamenak:' + new: + answer_choices: Gehienez %{choices} erantzun aukeratu ahal dituzu + more_information: Informazio gehiago + nota_option: Zuriz / Aurreko bat ere ez + preview_alert: Hau bozketa-kabinaren aurrebista da. + question_steps: '%{total_steps} etik %{current_step} galdera' + selections: "Aukeratuta
    %{selected} de %{max_selections}" processing: header: Botoa prozesatzen... text: Zure botoa jaso da eta prozesatzen ari dira. Itxaron, mesedez. update: error: Arazo bat izan da botoaren egoera eguneratzean success: Botoaren egoera ongi eguneratu da + verify: + content: + heading: Egiaztatu zure botoa + info: Egiaztatzaile horrek egiaztatu behar du zure botoa, zifratutako testu-batekin identifikatua, zuzen eman dela eta hautestontziaren barruan dagoela. + error: + header: Botoa ez da aurkitu! + info: Botoaren kodea ez da aurkitu %{link} hautestontzian, saiatu berriro. + form: + back: Itzuli Decidim-era + submit: Egiaztatu + vote_identifier: 'Kode identifikatzailea:' + header: + title: Egiaztatu zure botoa + success: + header: Botoa aurkituta! + info: Zure boto zifratua %{link} hautestontzian dago + voting_step: + back: Atzera + continue: Hurrengoa + warnings: + no_elections_warning: Ez dago bilaketa-irizpidearekin bat datorren topaketarik, edo ez dago ezein topaketarik programaturik. + no_scheduled_elections_warning: Orain ez dago bozketa programaturik, baina aurrekoak ikus ditzakezu. + events: + elections: + election_published: + email_intro: '%{resource_title} bozketa badago aktibo hemen %{participatory_space_title}. Orrialde honetatik ikus dezakezu:' + email_outro: Jakinarazpen hau jaso duzu %{participatory_space_title} jarraitzen ari zarelako. Jakinarazpenak jasotzeari utzi ahal diozu aurreko lotura jarraituz. + email_subject: '%{resource_title} bozketa hemen: %{participatory_space_title} badago aktibo.' + notification_title: '%{resource_title} bozketa aktibo dago hemen: %{participatory_space_title}.' + trustees: + new_election: + email_intro: Bazaude gehituta bermatzaile gisa %{resource_title} aukerarako. + email_outro: Jakinarazpen hau jaso duzu bermatzaile gisa gehitu zaituztelako %{resource_title} aukerarako. + email_subject: Bermatzailea zara %{resource_title} aukerarako.. + notification_title: Bermatzailea zara %{resource_title} aukerarako. + new_trustee: + email_intro: 'Administratzaile batek gehitu zaitu bermatzaile gisa honetarako: %{resource_name}. Zure gako publikoa sortu behar duzu =<''%{trustee_zone_url}''>bermatzaileen zure gunean' + email_outro: Jakinarazpen hau jaso duzu bermatzaile gisa gehitu zaituztelako %{resource_name} aukerarako. + email_subject: '%{resource_name} ren bermatzailea zara.' + notification_title: %{resource_name} ren bermatzailea zara. + votes: + accepted_votes: + email_intro: 'Zure botoa onartu egin da! Zure botoaren tokena erabiliz: %{encrypted_vote_hash}, zure botoa egiaztatu ahal duzuhemen.' + email_outro: Jakinarazpen hau jaso duzu %{resource_name} aukeran botoa eman duzulako. + email_subject: Zure botoa %{resource_name} aukerarako onartu egin da. + notification_title: 'Zure botoa onartu egin da. Egiaztatu zure botoa hemen zure botoaren tokena erabiliz: %{encrypted_vote_hash}' + votings: + polling_officers: + polling_station_assigned: + email_intro: '%{polling_station_name} bozketa-guneko %{role} rol bezala esleitu zaizu hemen: %{resource_title}. Bozketa-gunea administratu ahal duzu espaziotik Mahaiko kudeatzaileen gunea.' + email_outro: Jakinarazpen hau jaso duzu %{polling_station_name} ko%{role} rol bezala esleitu zaituztelako. + email_subject: '%{polling_station_name} bozketa-guneko %{role} zara.' + notification_title: '%{polling_station_name} bozketa-guneko %{role} zara %{resource_title} bozketan.' + help: + participatory_spaces: + votings: + title: Zer dira bozketak? + menu: + votings: Bozketak pages: home: statistics: @@ -278,9 +608,199 @@ eu: elections_count: Bozketak votings: admin: + content_blocks: + highlighted_votings: + max_results: Erakusteko gehieneko elementu kopurua + landing_page: + attachments_and_folders: + name: Erantsitako artxiboak eta bozketako karpetak + description: + name: Bozketaren deskribapena + elections: + name: Bozketako aukerak + header: + name: Bozketaren goiburua + html_block_1: + name: Bozketaren html 1 blokea + html_block_2: + name: Bozketaren html 2 blokea + html_block_3: + name: Bozketaren html 3 blokea + metrics: + name: Bozketaren metrikak + polling_stations: + name: Bozketa-guneak + stats: + name: Boto-estatistikak + timeline: + name: Bozketaren egutegia + index: + not_published: Desargitaratua + published: Argitaratua + landing_page: + content_blocks: + edit: + update: Eguneratu + edit: + active_content_blocks: Eduki-blokeak aktibatuta + inactive_content_blocks: Eduki-blokeak desaktibatuta menu: + votings: Bozketak votings_submenu: + attachment_collections: Karpetak + attachment_files: Fitxategiak + attachments: Erantsitako fitxategiak + components: Osagaiak + info: Informazioa + landing_page: Hasierako orrialdea monitoring_committee_members: Jarraipen-batzordea + polling_officers: Mahaiko kudeatzaileak + polling_stations: Bozketa-guneak + models: + monitoring_committee_member: + fields: + email: E-maila + name: Izena + name: Jarraipen-batzordeko kidea + polling_officer: + fields: + email: E-maila + name: Izena + polling_station: Bozketa-gunea (rola) + name: Mahaiko kudeatzailea + polling_station: + fields: + address: Helbidea + polling_station_managers: Administratzaileak + polling_station_president: Presidentea + title: Izenburua + name: Bozketa-gunea + voting: + fields: + created_at: Sortze-data + promoted: Nabarmendua + published: Argitaratua + title: Izenburua + monitoring_committee_members: + create: + invalid: Arazo bat izan da jarraipen-batzordeko kide hau sortzean + success: Jarraipen-batzordeko kidea zuzen sortu da + destroy: + invalid: Arazo bat izan da jarraipen-batzordeko kide hau ezabatzean + success: Jarraipen-batzordeko kidea zuzen ezabatu da + form: + existing_user: Parte-hartzailea badago + non_user: Gonbidatu parte-hartzaile berri bat + select_user: Bilatu helbide elektroniko, izen edo ezizenaren arabera + user_type: Parte-hartzaile mota + index: + title: Jarraipen-batzordea + new: + create: Sortu + title: Sortu jarraipen-batzordeko kidea + polling_officers: + create: + invalid: Arazo bat izan da mahaiko kudeatzaile hau sortzean + success: Mahaiko kudeatzailea zuzen sortu da + destroy: + invalid: Arazo bat izan da mahaiko kudeatzaile hau ezabatzean + success: Mahaiko kudeatzailea zuzen ezabatu da + form: + existing_user: Parte-hartzailea badago + non_user: Gonbidatu parte-hartzaile berri bat + select_user: Bilatu helbide elektroniko, izen edo ezizenaren arabera + user_type: Parte-hartzaile mota + index: + role_manager: administratzailea + role_president: presidentea + title: Mahaiko kudeatzaileak + new: + create: Sortu + title: Sortu mahaiko kudeatzailea + polling_officers_picker: + choose_polling_officers: Aukeratu mahaiko kudeatzailea + close: Itxi + more_polling_officers: '%{number} mahaiko kudeatzaile gehiago daude. Zehaztu berriro zure bilaketa aurkitzeko.' + no_polling_officers: Ez dago bilaketa-irizpidearekin bat datorren mahaiko kudeatzailerik, edo ez dago bat ere ez. + polling_stations: + create: + invalid: Arazo bat izan da bozketa-gune hau sortzean + success: Bozketa-gunea zuzen sortu da + destroy: + invalid: Arazo bat izan da bozketa-gune hau ezabatzean + success: Bozketa-gunea zuzen ezabatu da + edit: + title: Editatu bozketa-gunea + update: Eguneratu bozketa-gunea + form: + address_help: 'Helbidea: Geocoderrek erabilia kokapena aurkitzeko' + location_help: 'Kokapena: mezua boto-emaleei zuzendua bozketa-gune zehatza adieraziz' + location_hints_help: 'Kokapenerako iradokizunak: Informazio gehigarria. Adibidez: Bozketa-gunea dagoen eraikinaren solairua.' + polling_station_managers_help: 'Mahaiko administratzaileak: bozketa-guneko administratzaile gisa jardungo duten ofizialak. Ziurtatu ofizialak dagoeneko sortu direla Mahai-kudeatzaileetan eta ez daudela beste bozketa-gune bati esleituta' + polling_station_president_help: 'Mahaiko presidenteak: bozketa-guneko presidente gisa jardungo duten ofizialak. Ziurtatu ofizialak dagoeneko sortu direla Mahai-kudeatzaileetan eta ez daudela beste bozketa-gune bati esleituta' + select_president: Hautatu mahaiko kudeatzaile bat bozketa-guneko presidente gisa + index: + title: Bozketa-guneak + new: + create: Sortu + title: Sortu bozketa-gunea + update: + invalid: Arazo bat izan da bozketa-gune hau eguneratzean + success: Bozketa-gunea zuzen eguneratu da + titles: + votings: Bozketak + votings: + actions: + confirm_destroy: Ziur zaude? + destroy: Ezabatu + new_voting: Bozketa-gune berri bat + publish: Argitaratu + unpublish: Desargitaratu + create: + invalid: Arazo bat izan da bozketa hau sortzean + success: Bozketa zuzen sortu da + edit: + add_election_component: Ez duzu bozketa honetarako hautaketarik konfiguratuta. Mesedez, gehitu osagaien atalean + assign_missing_officers: Presidenterik eta/edo administratzailerik gabeko bozketa-guneak daude. Esleitu itzazu bozketa-guneen ataletik + update: Eguneratu + form: + select_a_voting_type: Mesedez, hautatu bozketa mota bat + slug_help: 'URLko testu laburrak erabiltzen dira bozketa hau aipatzen duten URLak sortzeko. Letrak, zenbakiak eta gidoiak baino ez ditu onartzen, eta letra batez hasi behar da. Adibidea: %{url}' + title: Izenburua + voting_type: + hybrid: Hibridoa + in_person: Aurrez aurre + online: Lineakoa + new: + create: Sortu + title: Bozketa berria + publish: + success: Bozketa zuzen argitaratu da + unpublish: + success: Bozketa zuzen desargitaratu da + update: + invalid: Arazo bat izan da bozketa hau eguneratzean + success: Bozketa zuzen eguneratu da + admin_log: + voting: + create: "%{user_name}-k sortu du %{resource_name} bozketa" + publish: "%{user_name}-k argitaratu du %{resource_name} bozketa" + unpublish: "%{user_name}-k desargitaratu du %{resource_name} bozketa" + content_blocks: + highlighted_votings: + name: Bozketa nabarmenduak + monitoring_committee_members: + actions: + confirm_destroy: Ziur zaude? + destroy: Ezabatu + new: Kide berria + title: Ekintzak + pages: + home: + highlighted_votings: + active_votings: Bozketa aktiboak + see_all_votings: Ikusi bozketa guztiak + votings_button_title: Lotura guztiak erakusten dituen Bozketen orrialdera polling_officer_zone: polling_officers: show: @@ -291,6 +811,9 @@ eu: polling_stations: list: actions: Ekintzak + address: Helbidea + name: Izena role: Zure rola voting: Bozketa no_polling_stations: Oraindik ez zaizu esleitu bozkatzeko lekurik. + title: Bozketa-guneak diff --git a/decidim-elections/config/locales/gl.yml b/decidim-elections/config/locales/gl.yml index fc583243d8d23..22d3389e624db 100644 --- a/decidim-elections/config/locales/gl.yml +++ b/decidim-elections/config/locales/gl.yml @@ -50,11 +50,23 @@ gl: new: create: Crear resposta title: Nova resposta + elections: + index: + title: Eleccións + new: + create: Crear elección + title: Nova elección + exports: + elections: Eleccións models: answer: name: Resposta + election: + name: Elección question: name: Pregunta + trustee: + name: Comisario questions: edit: title: Editar pregunta diff --git a/decidim-meetings/config/locales/ar.yml b/decidim-meetings/config/locales/ar.yml index 05db76918d7fb..10e581567e894 100644 --- a/decidim-meetings/config/locales/ar.yml +++ b/decidim-meetings/config/locales/ar.yml @@ -334,10 +334,8 @@ ar: all: الكل date: تاريخ meetings: اجتماعات - past: الماضي search: بحث space_type: الفضاء التشاركي - upcoming: القادمة last_activity: new_meeting_at_html: "اجتماع جديد في %{link}" mailer: diff --git a/decidim-meetings/config/locales/ca.yml b/decidim-meetings/config/locales/ca.yml index 27986aa45932c..fa3ab35082fc0 100644 --- a/decidim-meetings/config/locales/ca.yml +++ b/decidim-meetings/config/locales/ca.yml @@ -357,7 +357,7 @@ ca: date: Data meetings: Trobades past: Passades - search: Cercar + search: Cerca space_type: Espai participatiu upcoming: Properes last_activity: diff --git a/decidim-meetings/config/locales/de.yml b/decidim-meetings/config/locales/de.yml index a88c82da57b51..a18d2e37c5bee 100644 --- a/decidim-meetings/config/locales/de.yml +++ b/decidim-meetings/config/locales/de.yml @@ -356,7 +356,7 @@ de: all: Alle date: Datum meetings: Meetings - past: Vergangenheit + past: Vergangene search: Suche space_type: Partizipativer Raum upcoming: Bevorstehende diff --git a/decidim-meetings/config/locales/el.yml b/decidim-meetings/config/locales/el.yml index d887b56c448b1..ed17885a2d5e4 100644 --- a/decidim-meetings/config/locales/el.yml +++ b/decidim-meetings/config/locales/el.yml @@ -323,10 +323,8 @@ el: all: Όλα date: Ημερομηνία meetings: Συσκέψεις - past: Παρελθόν search: Αναζήτηση space_type: Χώρος συμμετοχής - upcoming: Προσεχείς last_activity: new_meeting_at_html: "Νέα σύσκεψη σε %{link}" mailer: diff --git a/decidim-meetings/config/locales/es-MX.yml b/decidim-meetings/config/locales/es-MX.yml index a21da58b3cd86..dcd4e57d643e0 100644 --- a/decidim-meetings/config/locales/es-MX.yml +++ b/decidim-meetings/config/locales/es-MX.yml @@ -353,13 +353,13 @@ es-MX: directory: meetings: index: - all: Todos + all: Todas date: Fecha meetings: Encuentros - past: Pasados + past: Pasadas search: Buscar space_type: Espacio participativo - upcoming: Próximo + upcoming: Próximas last_activity: meeting_updated_at_html: "Encuentro actualizado a las %{link}" new_meeting_at_html: "Nuevo encuentro en %{link}" diff --git a/decidim-meetings/config/locales/es-PY.yml b/decidim-meetings/config/locales/es-PY.yml index 6809951474cbd..777a5dcae4db4 100644 --- a/decidim-meetings/config/locales/es-PY.yml +++ b/decidim-meetings/config/locales/es-PY.yml @@ -356,10 +356,10 @@ es-PY: all: Todas date: Fecha meetings: Reuniones - past: Pasado + past: Pasadas search: Buscar space_type: Espacio participativo - upcoming: Próximo + upcoming: Próximas last_activity: meeting_updated_at_html: "Encuentro actualizado a las %{link}" new_meeting_at_html: "Nueva reunión en %{link}" diff --git a/decidim-meetings/config/locales/es.yml b/decidim-meetings/config/locales/es.yml index 43b708507259a..b4faaa11772ee 100644 --- a/decidim-meetings/config/locales/es.yml +++ b/decidim-meetings/config/locales/es.yml @@ -353,13 +353,13 @@ es: directory: meetings: index: - all: Todos + all: Todas date: Fecha meetings: Encuentros past: Pasados search: Buscar space_type: Espacio participativo - upcoming: Próximas + upcoming: Próximos last_activity: meeting_updated_at_html: "Encuentro actualizado a las %{link}" new_meeting_at_html: "Nuevo encuentro en %{link}" diff --git a/decidim-meetings/config/locales/eu.yml b/decidim-meetings/config/locales/eu.yml index 03a908dc68e7b..7502210892b61 100644 --- a/decidim-meetings/config/locales/eu.yml +++ b/decidim-meetings/config/locales/eu.yml @@ -260,8 +260,11 @@ eu: form: address_help: 'Helbidea: Geocoderrek erabilia kokapena aurkitzeko' available_slots_help: Uzti 0an erabiltzeko espazio mugatua baduzu + disclaimer: 'Erantzukizun-deskargua: Kanpoko inskripzio-sistema bat erabiliz, onartzen duzu %{organization} ko antolatzaileak ez direla kanpo-zerbitzuko erabiltzaileek emandako datuen erantzule.' location_help: 'Kokapena: mezua part-hartzaileei zuzendua biltzeko lekua adieraziz' + location_hints_help: 'Kokapen-aholkuak: informazio gehigarria. Adibidea: eraikinaren solairua, aurrez aurreko topaketa bada, edo aretoaren pasahitza, sarrera mugatua duen online topaketa bada.' online_meeting_url_help: 'Lotura: Utzi parte-hartzaileei zuzenean konektatzen zure topaketara' + registration_url_help: 'Lotura: parte-hartzaileei aukera ematea izena emateko erabiltzen ari zaren kanpoko zerbitzura joateko' select_a_meeting_type: Mesedez, hautatu topaketa mota bat select_a_registration_type: Mesedez, hautatu erregistro mota bat index: @@ -306,6 +309,7 @@ eu: form: available_slots_help: Utzi 0an izen-emate mugagabeak edukiz gero. invites: Gonbidapenak + recommendation_message: Pribatutasuna dela eta, izena emateko inprimaki hau kentzea gomendatzen dizugu, behar ez duzunean. Besterik adierazi ezean, hau da, bilera amaitu eta 3 hilabetera. registration_form: Izena emateko inprimakia registrations_count: one: Dena den, %{count} erregistratzeko. @@ -350,12 +354,12 @@ eu: meetings: index: all: guztiak - date: data + date: Data meetings: Bilerak - past: Iragana + past: Aurrekoak search: Search space_type: Partaidetza espazioa - upcoming: Datozen + upcoming: Hurrengoak last_activity: meeting_updated_at_html: "eztabaida ordu honetan %{link} eguneratuta" new_meeting_at_html: "Bilera berria %{link}" @@ -418,8 +422,11 @@ eu: address_help: 'Helbidea: Geocoderrek erabilia kokapena aurkitzeko' available_slots_help: Uzti 0an erabiltzeko espazio mugatua baduzu create_as: Sortu topaketa honela + disclaimer: 'Erantzukizun-deskargua: Kanpoko inskripzio-sistema bat erabiliz, onartzen duzu %{organization} ko antolatzaileak ez direla kanpo-zerbitzuko erabiltzaileek emandako datuen erantzule.' location_help: 'Kokapena: mezua part-hartzaileei zuzendua biltzeko lekua adieraziz' + location_hints_help: 'Kokapen-aholkuak: informazio gehigarria. Adibidea: eraikinaren solairua, aurrez aurreko topaketa bada, edo aretoaren pasahitza, sarrera mugatua duen online topaketa bada.' online_meeting_url_help: 'Lotura: Utzi parte-hartzaileei zuzenean konektatzen zure topaketara' + registration_url_help: 'Lotura: parte-hartzaileei aukera ematea izena emateko erabiltzen ari zaren kanpoko zerbitzura joateko' select_a_category: Mesedez, hautatu kategoria bat select_a_meeting_type: Mesedez, hautatu topaketa mota bat select_a_registration_type: Mesedez, hautatu erregistro mota bat diff --git a/decidim-meetings/config/locales/fr-CA.yml b/decidim-meetings/config/locales/fr-CA.yml index 081f9d2389e3b..49dbe8ca0f70b 100644 --- a/decidim-meetings/config/locales/fr-CA.yml +++ b/decidim-meetings/config/locales/fr-CA.yml @@ -356,8 +356,8 @@ fr-CA: all: Tout date: Date meetings: Rencontres - past: Passées - search: Rechercher + past: Passé + search: Chercher space_type: Espace participatif upcoming: À venir last_activity: diff --git a/decidim-meetings/config/locales/fr.yml b/decidim-meetings/config/locales/fr.yml index 5e9916bdb2180..17d67cc7bc51b 100644 --- a/decidim-meetings/config/locales/fr.yml +++ b/decidim-meetings/config/locales/fr.yml @@ -357,7 +357,7 @@ fr: date: Date meetings: Rencontres past: Passées - search: Rechercher + search: Chercher space_type: Espace participatif upcoming: À venir last_activity: diff --git a/decidim-meetings/config/locales/gl.yml b/decidim-meetings/config/locales/gl.yml index 828bfbc0780ba..fbb83f43a8c44 100644 --- a/decidim-meetings/config/locales/gl.yml +++ b/decidim-meetings/config/locales/gl.yml @@ -321,10 +321,8 @@ gl: all: Todo date: Data meetings: Reunións - past: Pasado search: Busca space_type: Espazo participativo - upcoming: Próximos last_activity: meeting_updated_at_html: "Xuntanza actualizada en %{link}" new_meeting_at_html: "Nova reunión en %{link}" diff --git a/decidim-meetings/config/locales/hu.yml b/decidim-meetings/config/locales/hu.yml index 5c8d141df5db2..6c814ac6235c8 100644 --- a/decidim-meetings/config/locales/hu.yml +++ b/decidim-meetings/config/locales/hu.yml @@ -330,13 +330,11 @@ hu: directory: meetings: index: - all: Minden + all: Összes date: Dátum meetings: találkozók - past: Múlt search: Keresés space_type: Részvételi hely - upcoming: közelgő last_activity: new_meeting_at_html: "Új találkozó %{link}kor" mailer: diff --git a/decidim-meetings/config/locales/id-ID.yml b/decidim-meetings/config/locales/id-ID.yml index ddab1962ea191..97a5f526e68c5 100644 --- a/decidim-meetings/config/locales/id-ID.yml +++ b/decidim-meetings/config/locales/id-ID.yml @@ -314,10 +314,8 @@ id: all: Semua date: Tanggal meetings: Rapat - past: Lalu search: Pencarian space_type: Ruang partisipatif - upcoming: Mendatang last_activity: new_meeting_at_html: "Pertemuan baru jam %{link}" mailer: diff --git a/decidim-meetings/config/locales/is-IS.yml b/decidim-meetings/config/locales/is-IS.yml index 7bc37db0e86e4..6a6f8d9edc0c9 100644 --- a/decidim-meetings/config/locales/is-IS.yml +++ b/decidim-meetings/config/locales/is-IS.yml @@ -155,6 +155,10 @@ is-IS: minutes: create: "%{user_name} búið til fundargerð fundarins %{resource_name} á %{space_name} plássinu" update: "%{user_name} uppfært fundargerðir fundarins %{resource_name} á %{space_name} plássinu" + directory: + meetings: + index: + date: Dagsetning mailer: invite_join_meeting_mailer: invite: diff --git a/decidim-meetings/config/locales/it.yml b/decidim-meetings/config/locales/it.yml index fd514604a87be..f1b27a69bc8de 100644 --- a/decidim-meetings/config/locales/it.yml +++ b/decidim-meetings/config/locales/it.yml @@ -354,12 +354,12 @@ it: meetings: index: all: Tutti - date: Quando + date: Data meetings: Incontri - past: Conclusi + past: Passata search: Ricerca space_type: Spazio partecipativo - upcoming: Prossime + upcoming: Imminente last_activity: meeting_updated_at_html: "Dibattito aggiornato su %{link}" new_meeting_at_html: "Nuovo incontro al %{link}" diff --git a/decidim-meetings/config/locales/lb.yml b/decidim-meetings/config/locales/lb.yml index ac9ab2700ccaf..87bcc4a483e0f 100644 --- a/decidim-meetings/config/locales/lb.yml +++ b/decidim-meetings/config/locales/lb.yml @@ -296,12 +296,9 @@ lb: meetings: index: all: Alle - date: Datum meetings: Meetings - past: Vergangenheit search: Suche space_type: Partizipativer Raum - upcoming: Bevorstehende last_activity: meeting_updated_at_html: "Besprechung aktualisiert unter %{link}" new_meeting_at_html: "Neues Treffen um %{link}" diff --git a/decidim-meetings/config/locales/lv.yml b/decidim-meetings/config/locales/lv.yml index 6e309760e33c5..eed04cb9544b7 100644 --- a/decidim-meetings/config/locales/lv.yml +++ b/decidim-meetings/config/locales/lv.yml @@ -327,10 +327,8 @@ lv: all: Visi date: Datums meetings: Sanāksmes - past: Iepriekšējie search: Meklēt space_type: Līdzdalības telpa - upcoming: Gaidāmās last_activity: new_meeting_at_html: "Jauna sanāksme plkst. %{link}" mailer: diff --git a/decidim-meetings/config/locales/no.yml b/decidim-meetings/config/locales/no.yml index 6a2766209362c..46cf14c334591 100644 --- a/decidim-meetings/config/locales/no.yml +++ b/decidim-meetings/config/locales/no.yml @@ -340,7 +340,7 @@ all: Alle date: Dato meetings: Møter - past: Fortid + past: Tidligere search: Søk space_type: Deltakerområde upcoming: Kommende diff --git a/decidim-meetings/config/locales/pt-BR.yml b/decidim-meetings/config/locales/pt-BR.yml index d82ca3af9cca0..85e53d0bfa980 100644 --- a/decidim-meetings/config/locales/pt-BR.yml +++ b/decidim-meetings/config/locales/pt-BR.yml @@ -353,13 +353,13 @@ pt: directory: meetings: index: - all: Todos - date: Encontro + all: Tudo + date: Data meetings: Reuniões past: Passado - search: Pesquisa + search: Pesquisar space_type: Espaço participativo - upcoming: próximos + upcoming: Próximos last_activity: meeting_updated_at_html: "Novo debate em %{link}" new_meeting_at_html: "Nova reunião em %{link}" diff --git a/decidim-meetings/config/locales/ru.yml b/decidim-meetings/config/locales/ru.yml index 269686c359583..64d84c171b51f 100644 --- a/decidim-meetings/config/locales/ru.yml +++ b/decidim-meetings/config/locales/ru.yml @@ -318,8 +318,7 @@ ru: all: Все date: Дата meetings: Встречи - past: Прошедшие - upcoming: Предстоящие + search: Поиск last_activity: new_meeting_at_html: "Новая встреча в %{link}" mailer: diff --git a/decidim-meetings/config/locales/sk.yml b/decidim-meetings/config/locales/sk.yml index 4d724d9517dda..6c819e94db95a 100644 --- a/decidim-meetings/config/locales/sk.yml +++ b/decidim-meetings/config/locales/sk.yml @@ -331,10 +331,8 @@ sk: all: Všetko date: dátum meetings: Stretnutie - past: Uplynulé search: Vyhľadávanie space_type: Zúčastňujú priestor - upcoming: Nadchádzajúce last_activity: new_meeting_at_html: " Nové stretnutie v %{link} " mailer: diff --git a/decidim-meetings/config/locales/sv.yml b/decidim-meetings/config/locales/sv.yml index 200ace7a33668..c1d4d0da29432 100644 --- a/decidim-meetings/config/locales/sv.yml +++ b/decidim-meetings/config/locales/sv.yml @@ -348,7 +348,7 @@ sv: directory: meetings: index: - all: Alla + all: Allt date: Datum meetings: Möten past: Tidigare diff --git a/decidim-meetings/config/locales/uk.yml b/decidim-meetings/config/locales/uk.yml index cd228c0bd377c..b81ef74256a2b 100644 --- a/decidim-meetings/config/locales/uk.yml +++ b/decidim-meetings/config/locales/uk.yml @@ -282,6 +282,12 @@ uk: minutes: create: "%{user_name} створив протокол зустрічі %{resource_name} у просторі %{space_name}" update: "%{user_name} оновив протокол зустрічі %{resource_name} у просторі %{space_name}" + directory: + meetings: + index: + all: Усі + date: Дата + search: Шукати mailer: invite_join_meeting_mailer: invite: diff --git a/decidim-participatory_processes/config/locales/eu.yml b/decidim-participatory_processes/config/locales/eu.yml index 19f54578ad33a..1fe25b7747e92 100644 --- a/decidim-participatory_processes/config/locales/eu.yml +++ b/decidim-participatory_processes/config/locales/eu.yml @@ -365,6 +365,7 @@ eu: participatory_process_imports: form: document_legend: Gehitu dokumentu bat + slug_help: 'URLko slugak prozesu horretan adierazten diren URLak sortzeko erabiltzen dira. Letrak, zenbakiak eta gidoiak baino ez ditu onartzen, eta letra batez hasi behar du. Adibidea: %{url}' participatory_process_steps: form: cta_path_help: 'Erabili bideak partzialak, ez URL osoak hemen. Letrak, zenbakiak, marrak eta barrak onartzen ditu eta gutun batekin hasi behar duzu. Ezartzen bada, botoia ez da agertuko. Adibidea: %{url}' diff --git a/decidim-proposals/config/locales/eu.yml b/decidim-proposals/config/locales/eu.yml index 4b7e3f32b4ff7..0f81015952f5a 100644 --- a/decidim-proposals/config/locales/eu.yml +++ b/decidim-proposals/config/locales/eu.yml @@ -273,7 +273,7 @@ eu: follower: email_intro: '"%{resource_title}" proposamena baztertu egin da. Orri honetan erantzun dezakezu:' email_outro: Jakinarazpena jaso duzu "%{resource_title}" jarraitzen ari zarenagatik. Aurreko esteka estekan jarrai dezakezu. - email_subject: Ondorengo proposamen bat baztertu egin da + email_subject: Jarraitzen ari zaren propposamen bat ukatu egin da notification_title: %{resource_title} proposamena baztertu da. proposal_update_category: email_intro: 'Administratzaileak "%{resource_title}" proposamenaren kategoria eguneratu du, check it out:' @@ -283,6 +283,8 @@ eu: proposal_update_scope: email_intro: 'Administratzaile batek %{resource_title} zure proposamenaren eremua eguneratu du, orri honetan egiazta dezakezu:' email_outro: Jakinarazpen hau jaso duzu proposamenaren egilea delako. + email_subject: '%{resource_title} proposamenaren eremua eguneratu da' + notification_title: %{resource_title} proposamenaren eremua administratzaile batek eguneratu du. voting_enabled: email_intro: 'Proposamenak bozkatu ditzakezu %{participatory_space_title}-n! Hasi orri honetan parte hartzea:' email_outro: Jakinarazpena jaso duzu %{participatory_space_title}jarraituz gero. Aurreko esteka jarraituz jakinarazpenak jasotzeari uztea erabaki dezakezu. diff --git a/decidim-proposals/config/locales/gl.yml b/decidim-proposals/config/locales/gl.yml index 3530d3c4e53b6..08d78e3f2db0b 100644 --- a/decidim-proposals/config/locales/gl.yml +++ b/decidim-proposals/config/locales/gl.yml @@ -48,7 +48,7 @@ gl: proposal: attributes: attachment: - needs_to_be_reattached: Necesita ser reenxerado + needs_to_be_reattached: É preciso anexar de novo o ficheiro body: cant_be_equal_to_template: non pode ser igual ao modelo identical: E o título non pode ser idéntico @@ -114,6 +114,7 @@ gl: name: Propostas settings: global: + allow_card_image: Permitir cartón con imaxe amendments_enabled: Modificacións habilitadas announcement: Anuncio attachments_allowed: Permitir anexos diff --git a/decidim-system/config/locales/eu.yml b/decidim-system/config/locales/eu.yml index d7a07c5aeb773..0c3fa6d1418b9 100644 --- a/decidim-system/config/locales/eu.yml +++ b/decidim-system/config/locales/eu.yml @@ -148,6 +148,7 @@ eu: client_secret: Bezeroaren sekretua site_url: Guneko URLa enabled: Gaituta + enabled_by_default: Hornitzaile hau lehenetsiz gaituta dago. Editatu ahal da, baina ezin da desaktibatu. facebook: app_id: Apparen IDa app_secret: Aplikazio-sekretua From 1e170a311fe9d25fa438f2f2f3a9cc1e721f9567 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Mon, 18 Oct 2021 10:08:04 +0200 Subject: [PATCH 62/71] New Crowdin updates (#8404) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Basque) --- decidim-admin/config/locales/eu.yml | 16 ++- decidim-assemblies/config/locales/eu.yml | 22 ++++ decidim-budgets/config/locales/eu.yml | 1 + decidim-comments/config/locales/eu.yml | 2 + decidim-conferences/config/locales/eu.yml | 6 +- decidim-elections/config/locales/eu.yml | 107 +++++++++++++++--- .../config/locales/eu.yml | 2 +- decidim-templates/config/locales/eu.yml | 66 +++++++++++ 8 files changed, 197 insertions(+), 25 deletions(-) diff --git a/decidim-admin/config/locales/eu.yml b/decidim-admin/config/locales/eu.yml index 96987cec08f87..c9e6c407fd160 100644 --- a/decidim-admin/config/locales/eu.yml +++ b/decidim-admin/config/locales/eu.yml @@ -24,7 +24,7 @@ eu: component: name: Izena published_at: Argitaratu at - weight: Pisu + weight: Pisua id: NAN import: user_group_id: Inportatu hau bezala @@ -47,6 +47,7 @@ eu: favicon: Ikonoa force_authentication: Behartu autentikazioa force_users_to_authenticate_before_access_organization: Behartu erabiltzaileak autentikatzera erakundean sartu baino lehen + from: Igorlearen posta elektronikoa github_handler: GitHub kudeatzailea header_snippets: Goiburuko mozkinak highlight_alternative_color: Nabarmendua, aukerakoa @@ -111,12 +112,12 @@ eu: show_in_footer: Erakutsi orri-oinean slug: URL laburra title: Titulua - weight: Pisu + weight: Pisua static_page_topic: description: Deskribapena show_in_footer: Erakutsi orri-oinean title: Izenburua - weight: Pisu + weight: Pisua user_group_csv_verification: file: file errors: @@ -177,10 +178,12 @@ eu: success: Ederto! Onartu dituzu Administrazioaren Gaiak eta Baldintzak. actions: accept: Ados nago ondoko gai hauekin + are_you_sure: Ziur zaude ez dituzula onartu nahi Administrazioko Irizpideak eta Baldintzak? refuse: Ez onartu Administrazio-irizpideak eta baldintzak title: Onartzen ditut Administrazio-irizpideak eta baldintzak required_review: alert: 'Eskatuta: berrikusi gure Administrazio-irizpideak eta baldintzak' + callout: Mesedez, hartu tarte bat Administrazioko erabilera-irizpideak eta baldintzak berrikusteko. Bestela, ezin izango duzu plataforma erabili. cta: Berrikusi orain. title: Administrazioaren Irizpideak eta Baldintzak area_types: @@ -203,6 +206,7 @@ eu: error: Errore bat gertatu da area berri bat sortzean. success: Area sortu da behar bezala. destroy: + has_spaces: Eremuak mendekotasuna duten espazioak ditu, ez du mendekotasunik izan behar ezabatzeko. success: Area behar bezala suntsitu da edit: title: Editatu eremua @@ -255,6 +259,7 @@ eu: block_user: new: action: Blokeatu kontua eta bidali justifikazioa + description: Erabiltzaile baten blokeoak kontu erabilezina utziko du. Zure justifikazioan zein irizpideren arabera desblokeatuko zenukeen azaldu dezakezu. justification: Justifikazioa title: Blokeatu erabiltzaile hau %{name} categories: @@ -317,6 +322,7 @@ eu: 'false': 'Ez' managed_user_name: Erabiltzaile kudeatua solved: Ebatzita + title: Egiaztapen-arazoak transfer: email: Helbide elektronikoa error: Errore bat gertatu da egungo parte-hartzailea transferitzean parte-hartzaile kudeatu bati. @@ -373,6 +379,7 @@ eu: file_help: import: explanation: 'Jarraibideak artxiborako:' + message_1: CSV, JSON eta Excel (.xlsx) artxiboak eutsita daude message_2: CSV artxiboetarako, zutabeen arteko banatzailea puntu eta koma (";") izan behar da help_sections: error: Errore bat gertatu da laguntza-atalak eguneratuz @@ -424,6 +431,7 @@ eu: accepted_mime_types: csv: csv json: json + xls: xls actions: back: Atzera file_legend: Gehitu prozesatuko den inportazio-artxibo bat. @@ -680,10 +688,12 @@ eu: title: Erabiltzaile ofiziala "%{name}" show_email_modal: close_modal: Itxi leihoa + description: Parte-hartzaile batekin zuzenean harremanetan jarri behar baduzu, Erakutsi botoian klik egin dezakezu helbide elektronikoa ikusteko. Ekintza hori erregistratu egingo da. email_address: Korreo elektronikoaren helbidea full_name: Izen osoa hidden: ezkutua show: Erakutsi + title: Erakutsi parte-hartzailearen helbide elektronikoa unblock: error: Errorea gertatu da parte-hartzailea desblokeatzean success: Parte-hartzailea zuzen desblokeatu da diff --git a/decidim-assemblies/config/locales/eu.yml b/decidim-assemblies/config/locales/eu.yml index 0b13cfb26b632..545ec3f3cc702 100644 --- a/decidim-assemblies/config/locales/eu.yml +++ b/decidim-assemblies/config/locales/eu.yml @@ -52,6 +52,7 @@ eu: target: Nor parte hartzen du title: Prozesu partizipatiboen multzoak twitter: Twitter + weight: Pisua youtube: YouTube assembly_member: birthday: Urtebetetze @@ -62,6 +63,7 @@ eu: full_name: Izen osoa gender: Generoa position: Kargua + user_id: Erabiltzailea assembly_user_role: email: Emaila name: izena @@ -385,10 +387,15 @@ eu: comments_count: Iruzkinak debates_count: eztabaidak endorsements_count: Oniritziak + followers_count: Jarraitzaileak + headline: Estatistikak meetings_count: Topaketak + no_stats: Ez dago estatistikarik oraindik. orders_count: Euskarriak pages_count: Orriak participants_count: Parte-hartzaileak + posts_count: Argitalpenak + processes_count: Prozesuak projects_count: Proiektuak proposals_count: Proposamenak results_count: Emaitzak @@ -401,6 +408,11 @@ eu: designated_on: Izendatuta index: title: Bazkideek + conferences: + pages: + home: + highlighted_conferences: + conferences_button_title: Lotura batzar guztiak erakusten dituen Batzarren orrialdera events: assemblies: create_assembly_member: @@ -433,7 +445,17 @@ eu: description: Sortutako multzo kopurua object: batzarrak title: Batzar + pages: + home: + hero: + participate_title: Parte hartu plataformako prozesuetan + sub_hero: + register_title: Hasi saioa edo sortu kontu bat participatory_processes: + pages: + home: + highlighted_processes: + processes_button_title: Lotura prozesu guztiak erakusten dituen Prozesuen orrialdera show: related_assemblies: Erlazionatutako batzarrak errors: diff --git a/decidim-budgets/config/locales/eu.yml b/decidim-budgets/config/locales/eu.yml index 51b4a94c3cec4..c55688cdbadde 100644 --- a/decidim-budgets/config/locales/eu.yml +++ b/decidim-budgets/config/locales/eu.yml @@ -6,6 +6,7 @@ eu: description: Deskribapena title: Izenburua total_budget: Aurrekontua guztira + weight: Pisua project: budget_amount: Aurrekontuaren zenbatekoa decidim_category_id: Kategoria diff --git a/decidim-comments/config/locales/eu.yml b/decidim-comments/config/locales/eu.yml index 5967931b6754d..11987220f05ea 100644 --- a/decidim-comments/config/locales/eu.yml +++ b/decidim-comments/config/locales/eu.yml @@ -62,6 +62,7 @@ eu: spam: Bertan badago clickbait-ik, publizitaterik edo iruzurrik. title: Jakinarazi eduki desegokia show_replies: Erakutsi %{replies_count} erantzun + single_comment_link_title: Lortu lotura iruzkin bakar baterako comment_order_selector: order: best_rated: Balorazio hoberenak @@ -76,6 +77,7 @@ eu: blocked_comments_warning: Iruzkinak desgaituta daude une honetan, baina aurrekoak irakur ditzakezu. comment_details_title: Iruzkinaren xehetasunak loading: Iruzkinak kargatzen... + single_comment_warning: Gainontzeko iruzkinak berrikusi ahal dituzu hemen. single_comment_warning_title: Iruzkin bakar bat ikusten ari zara down_vote_button: text: Ez nago ados iruzkin honekin diff --git a/decidim-conferences/config/locales/eu.yml b/decidim-conferences/config/locales/eu.yml index f9b77e3c90cfd..92dc604baeb35 100644 --- a/decidim-conferences/config/locales/eu.yml +++ b/decidim-conferences/config/locales/eu.yml @@ -37,13 +37,13 @@ eu: date: Data link: Lotura title: Izenburua - weight: pisu + weight: Pisua conference_partner: link: Lotura logo: Logoa name: Izena partner_type: Lankidetza mota - weight: pisu + weight: Pisua conference_registration_invite: email: Helbide elektronikoa name: Izena @@ -53,7 +53,7 @@ eu: description: Deskribapena price: Prezioa title: Izenburua - weight: pisu + weight: Pisua conference_speaker: affiliation: Kidetza avatar: Avatarra diff --git a/decidim-elections/config/locales/eu.yml b/decidim-elections/config/locales/eu.yml index 889caa1c5de29..a6d3ac160b5d2 100644 --- a/decidim-elections/config/locales/eu.yml +++ b/decidim-elections/config/locales/eu.yml @@ -149,7 +149,7 @@ eu: title: Editatu aukera update: Eguneratu aukera index: - no_bulletin_board: Ez dago Bulletin Board zerbitzari konfiguraturik, modulu hau erabiltzeko beharrezkoa dena. Ataza hori sistemaren administratzaileak egin behar du. + no_bulletin_board: Ez dago Iragarki Taula zerbitzari konfiguraturik, modulu hau erabiltzeko beharrezkoa dena. Ataza hori sistemaren administratzaileak egin behar du. title: Aukerak new: create: Sortu aukera @@ -223,13 +223,13 @@ eu: time_before: Konfigurazioa egiten ari da aukeraketa hasi baino gutxienez %{hours} ordu. trustees_number: Espazio parte-hartzaileak badu gutxienez %{number} bermatzaile gako publikoarekin. submit: Konfiguratu bozketa - success: Aukeraketa zuzen bidali da hona Bulletin Board + success: 'Aukeraketa zuzen bidali da hona: Iragarki Taula' title: Konfiguratu bozketa trustees: Hautaketaren bermatzaileak created: invalid: Arazo bat gertatu da gakoen zeremonia hastean submit: Hasi gakoen zeremonia - success: 'Gakoen zeremonia hasteko eskaera zuzen bidali da hona: Bulletin Board' + success: 'Gakoen zeremonia hasteko eskaera zuzen bidali da hona: Iragarki taula' title: Bozketa sortuta trustees: Bermatzaileak key_ceremony: @@ -242,7 +242,7 @@ eu: requirements: time_before: Bozketa laster hasiko da. Eskuz hasi ahal duzu bozketaldia, edo automatikoki hasiko da hasierako ordua izan baino lehen, ordu honetan %{start_time}. submit: Hasi bozketaldia - success: 'Bozketaldiaren eskaera zuzen bidali da hona: Bulletin Board' + success: 'Bozketaldiaren eskaera zuzen bidali da hona: Iragarki Taula' title: Hasteko prest processing: Prozesatzen... results_published: @@ -260,12 +260,12 @@ eu: requirements: time_after: Bozketa amaitu da. Bozketaldia eskuz amaitu ahal duzu, edo minutu batzuk barru automatikoki amaituko da. submit: Amaitu bozketaldia - success: 'Bozketaldia amaitzeko eskaera zuzen bidali da hona: Bulletin Board' + success: 'Bozketaldia amaitzeko eskaera zuzen bidali da hona: Iragarki Taula' title: Bozketa-aldia vote_ended: invalid: Arazo bat izan da zenbaketa hastean submit: Hasi zenbaketa - success: 'Zenbaketa hasteko eskaera zuzen bidali da hona: Bulletin Board' + success: 'Zenbaketa hasteko eskaera zuzen bidali da hona: Iragarki Taula' title: Bozketa-aldia amaituta vote_stats: no_vote_statistics_yet: Oraindik ez dago boto-estatistikarik @@ -295,12 +295,12 @@ eu: success: '%{trustee} bermatzailea zuzen eguneratu da' admin_log: election: - end_vote: "%{user_name} amaitu zen hautatzeko bozketa-aldia %{resource_name} Board Bulletin-ean" + end_vote: "%{user_name} amaitu zen hautatzeko bozketa-aldia %{resource_name} Iragarki Taulan" publish: "%{user_name}-k argitaratu du %{resource_name} bozketa" - setup: "%{user_name} -k sortu zuen %{resource_name} aukera Bulletin Board-en" - start_key_ceremony: "%{user_name} -k hasi zuen gakoen zeremonia %{resource_name} aukeretarako Bulletin Board-en" - start_tally: "%{user_name} -k hasi zuen kontaketa %{resource_name} aukerarako Bulletin Board-en" - start_vote: "%{user_name} -k hasi zuen bozketa-aldia %{resource_name} aukerarako Bulletin Board-en" + setup: "%{user_name} -k sortu zuen %{resource_name} aukera Iragarki Taulan" + start_key_ceremony: "%{user_name} -k hasi zuen gakoen zeremonia %{resource_name} aukeretarako Iragarki Taulan" + start_tally: "%{user_name} -k hasi zuen kontaketa %{resource_name} aukerarako Iragarki Taulan" + start_vote: "%{user_name} -k hasi zuen bozketa-aldia %{resource_name} aukerarako Iragarki Taulan" unpublish: "%{user_name} -k desargitaratu zuen %{resource_name} bozketa" election_m: badge_name: @@ -375,7 +375,7 @@ eu: title: Izenburua election: fields: - bb_status: Tbulletin Boarden egoera + bb_status: Iragarki Taularen egoera end_time: Bukaera-data start_time: Hasiera-data title: Izenburua @@ -400,13 +400,13 @@ eu: trustee_zone: elections: backup_modal: - description: Aukera hori Bulletin Board-en sortzen ari da. Oso garrantzitsua da bertan parte hartzen duen bermatzaile bakoitzak gako horien segurtasun-kopia bat sortzea eta leku seguruan gordetzea. Ondoren, prozesuak aurrera egingo du. + description: Aukera hori Iragarki Taulan sortzen ari da. Oso garrantzitsua da bertan parte hartzen duen bermatzaile bakoitzak gako horien segurtasun-kopia bat sortzea eta leku seguruan gordetzea. Ondoren, prozesuak aurrera egingo du. download_election_keys: Deskargatu gakoak download_icon: Ikonoak deskargatzeko ekintza adierazten du title: Gakoen segurtasun-kopia %{election} aukeraketarako key_ceremony_steps: back: Atzera - description: Aukeraketa hau Bulletin Boarden sortzen ari da. Prozesu hau osatzeko, zure parte-hartzea bermatzaile gisa behar da. + description: Aukeraketa hau Iragarki Taulan sortzen ari da. Prozesu hau osatzeko, zure parte-hartzea bermatzaile gisa behar da. keys: create_election: Gakoak sortzea key_ceremony: @@ -424,13 +424,13 @@ eu: processing: Prozesatzen title: Sortu gakoak %{election} aukeraketarako restore_modal: - description: Bulletin Board-ek zure informazioa du aukera horren bermatzaile gisa. Prozesuarekin jarraitzeko, lehenengo igo aurreko saioan sortutako segurtasun-kopiaren fitxategia. + description: Iragarki Taulak zure informazioa du aukera horren bermatzaile gisa. Prozesuarekin jarraitzeko, lehenengo igo aurreko saioan sortutako segurtasun-kopiaren fitxategia. title: Berriztu gakoak %{election} aukerarako upload_election_keys: Igo aukeraren gakoak upload_icon: Ikonoak deskargatzeko ekintza adierazten du tally_steps: back: Atzera - description: Aukera horren emaitzak Bulletin Board-en kalkulatzen ari dira. Prozesu hori osatzeko, bermatzaile gisa parte hartu behar duzu. + description: Aukera horren emaitzak Iragarki Taulan kalkulatzen ari dira. Prozesu hori osatzeko, bermatzaile gisa parte hartu behar duzu. keys: end_tally: Zenbaketa amaituta tally: @@ -453,8 +453,8 @@ eu: menu: trustee_zone: Bermatzailearen gunea no_bulletin_board: - body: Bulletin Board bat behar da, atal honetarako konfiguratua. Jarri harremanetan administratzailearekin xehetasun gehiago izateko. - title: Sentitzen dugu, Bulletin Board oraindik ez dago konfiguratuta. + body: Iragarki Taula bat behar da, atal honetarako konfiguratua. Jarri harremanetan administratzailearekin xehetasun gehiago izateko. + title: Sentitzen dugu, Iragarki Taula oraindik ez dago konfiguratuta. trustees: show: elections: @@ -802,6 +802,8 @@ eu: see_all_votings: Ikusi bozketa guztiak votings_button_title: Lotura guztiak erakusten dituen Bozketen orrialdera polling_officer_zone: + menu: + polling_officer_zone: Mahaiko kudeatzailearen gunea polling_officers: show: actions: @@ -817,3 +819,72 @@ eu: voting: Bozketa no_polling_stations: Oraindik ez zaizu esleitu bozkatzeko lekurik. title: Bozketa-guneak + polling_officers: + actions: + confirm_destroy: Ziur zaude? + destroy: Ezabatu + new: Berria + title: Ekintzak + roles: + manager: Administratzailea + president: Presidentea + unassigned: Esleitu gabe + polling_stations: + actions: + confirm_destroy: Ziur zaude? + destroy: Ezabatu + edit: Editatu + new: Berria + title: Ekintzak + votings: + count: + title: + one: "Boto %{count}" + other: "%{count} boto" + filters: + active: Aktibo + all: Guztiak + finished: Amaituta + search: Bilatu + state: Egoera + upcoming: Hurrengoak + filters_small_view: + close_modal: Itxi leihoa + filter: Iragazi + filter_by: Iragazi honen arabera + unfold: Zabaldu + index: + no_votings: Ez dago bilaketa-irizpideekin bat datorren bozketarik. + only_finished: Orain ez dago bozketa programaturik, baina hemen zerrendan amaitutako bozketak ikus ditzakezu. + title: Bozketak + orders: + label: 'Ordenatu bozketak honen arabera:' + random: Ausazkoa + recent: Azkenak + show: + dates: Datak + votings_m: + badge_name: + finished: Amaituta + ongoing: Bidean + upcoming: Laster + footer_button_text: + participate: Parte hartu + view: Ikusi + vote: Eman botoa + unspecified: Zehaztu gabe + voting_type: + hybrid: Hibridoa + in_person: Aurrez aurre + online: Lineakoa + voting_types_label: Bozketa mota + layouts: + decidim: + election_votes_header: + exit: Irten + votings: + index: + promoted_votings: Bozketa nabarmenduak + promoted_voting: + more_info: Informazio gehiago + vote: Eman botoa diff --git a/decidim-participatory_processes/config/locales/eu.yml b/decidim-participatory_processes/config/locales/eu.yml index 1fe25b7747e92..11d8e597e3526 100644 --- a/decidim-participatory_processes/config/locales/eu.yml +++ b/decidim-participatory_processes/config/locales/eu.yml @@ -453,7 +453,7 @@ eu: followers_count: Jarraitzaileak headline: Jarduera meetings_count: Topaketak - no_stats: Ez dago estatistikarik oraindik. + no_stats: Oraindik ez dago estatistikarik. orders_count: Euskarriak pages_count: Orriak participants_count: Parte-hartzaileak diff --git a/decidim-templates/config/locales/eu.yml b/decidim-templates/config/locales/eu.yml index 566e176fc9f87..22fe7143093b3 100644 --- a/decidim-templates/config/locales/eu.yml +++ b/decidim-templates/config/locales/eu.yml @@ -1 +1,67 @@ eu: + activemodel: + attributes: + questionnaire: + title: Izenburua + template: + description: Deskribapena + name: Izena + decidim: + admin: + menu: + templates: Txantiloiak + templates: + apply: + error: Arazo bat izan da txantiloi hau aplikatzean. + success: Txantiloia zuzen aplikatu da + copy: + error: Arazo bat izan da txantiloi hau kopiatzean. + success: Txantiloia zuzen kopiatu da + create: + error: Arazo bat izan da txantiloi hau sortzean. + success: Txantiloia zuzen sortu da + destroy: + success: Txantiloia zuzen ezabatu da + empty: Oraindik ez dago txantiloirik. + update: + error: Arazo bat izan da txantiloi hau eguneratzean. + success: Txantiloia zuzen eguneratu da + titles: + template_types: + questionnaires: Galdeketa-txantiloiak + templates: Txantiloiak + models: + questionnaire_template: + fields: + questions: Galdera kopurua + title: Galdeketaren Izenburua + template: + fields: + created_at: Noiz sortua + name: Txantiloia + templates: + admin: + questionnaire_templates: + choose: + create_from_template: Sortu txantiloitik + description: Galdeketa berri bat sortuko duzu. Aurretik zehaztutako txantiloi bat aukeratu ahal duzu eta gero moldatu. + label: Aukeratu txantiloi bat + placeholder: Aukeratu txantiloi bat + skip_template: Saltatu + edit: + edit: Editatu + empty: Oraindik ez dago galderarik + questionnaire: Galdetegia + form: + save: Gorde + template_title: Txantiloiaren informazioa + title: '%{questionnaire_for} galdetegiaren txantiloia' + index: + confirm_delete: Ziur zaude txantiloi hau ezabatu nahi duzula? + title: Galdetegi-txantiloiak + preview: + current_step: '%{step} urratsa' + of_total_steps: '%{total_steps} etik' + tos_agreement: Parte hartzean erabilera-irizpideak eta baldintzak onartzen dituzu + template_types: + questionnaires: Galdetegiak From bd81f740b5d3f147c9e2a231eb16123e36ff3845 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Mon, 25 Oct 2021 10:32:43 +0200 Subject: [PATCH 63/71] New Crowdin updates (#8419) * New translations en.yml (Basque) * New translations en.yml (Basque) * New translations en.yml (Japanese) * New translations en.yml (Slovenian) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Icelandic) * New translations en.yml (Luxembourgish) * New translations en.yml (Spanish, Paraguay) * New translations en.yml (Ukrainian with many plural form) * New translations en.yml (Romanian) * New translations en.yml (Romanian) --- decidim-accountability/config/locales/eu.yml | 6 +++--- decidim-admin/config/locales/ro-RO.yml | 1 + decidim-core/config/locales/ja.yml | 2 +- decidim-initiatives/config/locales/eu.yml | 14 +++++++------- decidim-meetings/config/locales/es-PY.yml | 2 +- decidim-meetings/config/locales/is-IS.yml | 3 +++ decidim-meetings/config/locales/lb.yml | 1 - decidim-meetings/config/locales/pt-BR.yml | 2 +- decidim-meetings/config/locales/sl.yml | 3 --- decidim-meetings/config/locales/uk.yml | 3 +++ decidim-proposals/config/locales/ro-RO.yml | 6 +++--- 11 files changed, 23 insertions(+), 20 deletions(-) diff --git a/decidim-accountability/config/locales/eu.yml b/decidim-accountability/config/locales/eu.yml index 9b1d4aeed2588..dba91f0ab238c 100644 --- a/decidim-accountability/config/locales/eu.yml +++ b/decidim-accountability/config/locales/eu.yml @@ -12,9 +12,9 @@ eu: proposals: Proposamen sortak start_date: Hasiera-data title: Izenburua - updated_at: Eguneratuta + updated_at: Noiz eguneratua status: - description: Descripción + description: Deskribapena key: Gakoa name: Izena progress: Aurrerapena @@ -111,7 +111,7 @@ eu: index: title: Proiektuen denbora-lerroko sarrerak new: - create: Sortu sarrera + create: Sortu sarrerak title: Sarrera berria update: invalid: Arazo bat izan da sarrera hau eguneratzean diff --git a/decidim-admin/config/locales/ro-RO.yml b/decidim-admin/config/locales/ro-RO.yml index ec08c3033abd3..ff4809eda6519 100644 --- a/decidim-admin/config/locales/ro-RO.yml +++ b/decidim-admin/config/locales/ro-RO.yml @@ -591,6 +591,7 @@ ro: title: Rapoarte de moderare show: report_details: Detalii motiv + report_language: Raportează limbajul report_reason: Motiv title: Detalii raportare newsletter_templates: diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml index 89e474136630e..8a867418773fe 100644 --- a/decidim-core/config/locales/ja.yml +++ b/decidim-core/config/locales/ja.yml @@ -1342,7 +1342,7 @@ ja: deleted: 削除された参加者 versions: resource_version: - of_versions: "( %{number} の)" + of_versions: "/ %{number}" see_other_versions: 他のバージョンを見る version: バージョン %{number} versions_list: diff --git a/decidim-initiatives/config/locales/eu.yml b/decidim-initiatives/config/locales/eu.yml index e38acc6a4722c..e4bcc0d1132ff 100644 --- a/decidim-initiatives/config/locales/eu.yml +++ b/decidim-initiatives/config/locales/eu.yml @@ -288,7 +288,7 @@ eu: admin_states: accepted: Beharrezko sinadurak lortu ditu created: Sortu - discarded: baztertutako + discarded: Baztertuta published: Argitaratutako rejected: Ez ditu lortu beharrezko sinadurak validating: Balidazio teknikoa @@ -329,12 +329,12 @@ eu: select_area: Hautatu eremu bat select_scope: Aukeratu esparrua finish: - back: Back - back_to_initiatives: Ekimenetara itzuli + back: Atzera + back_to_initiatives: Itzuli ekimenetara callout_text: Zorionak! Zure ekimena zuzen sortu da. confirm: Ekimena bidaliko duzu administratzaile batek berrikus eta argitara dezan. Argitaratu ondoren, ezin izango duzu editatu. Ziur zaude? edit_my_initiative: Editatu nire ekimena - go_to_my_initiatives: Joan nire ekimenei + go_to_my_initiatives: Joan nire ekimenetara more_information: "(Informazio gehiago)" send_my_initiative: Bidali nire ekimena baliozkotze eknikora finish_help: @@ -359,7 +359,7 @@ eu: invite_to_committee_help: Sustapen batzordearen parte izango duten pertsonei gonbidatzeko esteka show_similar_initiatives: back: Back - compare_help: Honako ekimen hauetako bat zurea bezalako antzeko baldin baduzu, onartzen duzu. Zure proposamenak aukera gehiago izango ditu. + compare_help: Honako ekimen hauetako bat zurea bezalakoa baldin bada, onar ezazu. Zure proposamenak aukera gehiago izango ditu aurrera ateratzeko. continue: Nire ekimena desberdina da more_information: "(Informazio gehiago)" edit: @@ -480,8 +480,8 @@ eu: other: Oharrak orders: label: 'Sortu ekintzak honela:' - most_commented: Iruzkinik gehien - most_voted: Gehien sinatuta + most_commented: Iruzkin gehien dutenak + most_voted: Sinadura gehien dutenak random: Random recent: Berrienak recently_published: Oraintsu argitaratutakoa diff --git a/decidim-meetings/config/locales/es-PY.yml b/decidim-meetings/config/locales/es-PY.yml index 777a5dcae4db4..852ac4e0adbf0 100644 --- a/decidim-meetings/config/locales/es-PY.yml +++ b/decidim-meetings/config/locales/es-PY.yml @@ -348,7 +348,7 @@ es-PY: content_blocks: upcoming_events: name: Próximos Eventos - upcoming_events: Próximas reuniones + upcoming_events: Próximos encuentros view_all_events: Ver todo directory: meetings: diff --git a/decidim-meetings/config/locales/is-IS.yml b/decidim-meetings/config/locales/is-IS.yml index 6a6f8d9edc0c9..43c8bfd9a7b36 100644 --- a/decidim-meetings/config/locales/is-IS.yml +++ b/decidim-meetings/config/locales/is-IS.yml @@ -155,6 +155,9 @@ is-IS: minutes: create: "%{user_name} búið til fundargerð fundarins %{resource_name} á %{space_name} plássinu" update: "%{user_name} uppfært fundargerðir fundarins %{resource_name} á %{space_name} plássinu" + content_blocks: + upcoming_events: + upcoming_events: Næstu fundir directory: meetings: index: diff --git a/decidim-meetings/config/locales/lb.yml b/decidim-meetings/config/locales/lb.yml index 87bcc4a483e0f..15c4ee0915b43 100644 --- a/decidim-meetings/config/locales/lb.yml +++ b/decidim-meetings/config/locales/lb.yml @@ -290,7 +290,6 @@ lb: content_blocks: upcoming_events: name: Kommende Veranstaltungen - upcoming_events: Bevorstehende Treffen view_all_events: Alle ansehen directory: meetings: diff --git a/decidim-meetings/config/locales/pt-BR.yml b/decidim-meetings/config/locales/pt-BR.yml index 85e53d0bfa980..3635af9caa2ee 100644 --- a/decidim-meetings/config/locales/pt-BR.yml +++ b/decidim-meetings/config/locales/pt-BR.yml @@ -348,7 +348,7 @@ pt: content_blocks: upcoming_events: name: Próximos eventos - upcoming_events: Próximos encontros + upcoming_events: Próximas reuniões view_all_events: Ver tudo directory: meetings: diff --git a/decidim-meetings/config/locales/sl.yml b/decidim-meetings/config/locales/sl.yml index 35181f27d78b0..53efa47fb4a10 100644 --- a/decidim-meetings/config/locales/sl.yml +++ b/decidim-meetings/config/locales/sl.yml @@ -18,9 +18,6 @@ sl: meetings: index: title: Sestanki - content_blocks: - upcoming_events: - upcoming_events: Prihajajoči dogodki directory: meetings: index: diff --git a/decidim-meetings/config/locales/uk.yml b/decidim-meetings/config/locales/uk.yml index b81ef74256a2b..0c4c90f6de395 100644 --- a/decidim-meetings/config/locales/uk.yml +++ b/decidim-meetings/config/locales/uk.yml @@ -282,6 +282,9 @@ uk: minutes: create: "%{user_name} створив протокол зустрічі %{resource_name} у просторі %{space_name}" update: "%{user_name} оновив протокол зустрічі %{resource_name} у просторі %{space_name}" + content_blocks: + upcoming_events: + upcoming_events: Прийдешні зустрічі directory: meetings: index: diff --git a/decidim-proposals/config/locales/ro-RO.yml b/decidim-proposals/config/locales/ro-RO.yml index 427359baf0913..43a67c52e4ae4 100644 --- a/decidim-proposals/config/locales/ro-RO.yml +++ b/decidim-proposals/config/locales/ro-RO.yml @@ -513,7 +513,7 @@ ro: success: Am fuzionat cu succes propunerile într-una nouă. proposals_splits: create: - invalid: A apărut o problemă de separare a propunerilor selectate. + invalid: A apărut o problemă la separarea propunerilor selectate. success: Propunerile au fost împărțite cu succes în altele noi. valuation_assignments: create: @@ -705,7 +705,7 @@ ro: few: "%{count} propuneri" other: "%{count} propuneri" dynamic_map_instructions: - instructions:

    Puteți muta punctul de pe hartă.

    Nu uitați să faceți clic pe butonul "Actualizare poziție" înainte de a publica propunerea dvs.

    + instructions:

    Puteți muta punctul de pe hartă.

    Nu uita să apeși pe butonul "Actualizare poziție" înainte de a publica propunerea ta.

    edit: attachment_legend: "(Opțional) Adăugați un atașament" back: Înapoi @@ -770,7 +770,7 @@ ro: other: Veți putea edita această propunere în primele %{count} minute după publicarea propunerii. După trecerea acestei ferestre temporale, nu veți putea edita propunerea. publish: Publică title: Publică propunerea ta - update_position: Actualizați poziția + update_position: Actualizează poziția proposal: creation_date: 'Creare: %{date}' view_proposal: Vizualizați propunerea From 91f9643d29e9c1e03e14c3ab728e7b784dbf4d0b Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Tue, 2 Nov 2021 09:44:11 +0100 Subject: [PATCH 64/71] New Crowdin updates (#8434) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Spanish) * New translations en.yml (Polish) * New translations en.yml (Polish) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Swedish) * New translations en.yml (Swedish) * New translations en.yml (Swedish) * New translations en.yml (Swedish) * New translations en.yml (Swedish) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) * New translations en.yml (Romanian) --- .../config/locales/ro-RO.yml | 76 +- decidim-admin/config/locales/ro-RO.yml | 568 ++++++------- decidim-admin/config/locales/sv.yml | 1 + decidim-assemblies/config/locales/ja.yml | 2 +- decidim-assemblies/config/locales/ro-RO.yml | 342 ++++---- decidim-assemblies/config/locales/sv.yml | 1 + decidim-blogs/config/locales/pl.yml | 2 +- decidim-blogs/config/locales/ro-RO.yml | 46 +- decidim-budgets/config/locales/ro-RO.yml | 151 ++-- decidim-comments/config/locales/ro-RO.yml | 106 +-- decidim-conferences/config/locales/ja.yml | 2 +- decidim-conferences/config/locales/ro-RO.yml | 66 +- .../config/locales/ro-RO.yml | 8 +- decidim-core/config/locales/ro-RO.yml | 492 +++++------ decidim-core/config/locales/sv.yml | 20 + decidim-debates/config/locales/ro-RO.yml | 6 +- decidim-dev/config/locales/ro-RO.yml | 8 +- decidim-elections/config/locales/ro-RO.yml | 227 +++-- decidim-forms/config/locales/ro-RO.yml | 2 +- decidim-initiatives/config/locales/ro-RO.yml | 257 +++--- decidim-meetings/config/locales/ro-RO.yml | 42 +- decidim-meetings/config/locales/sv.yml | 12 + decidim-pages/config/locales/ro-RO.yml | 10 +- .../config/locales/es.yml | 4 +- .../config/locales/ja.yml | 2 +- .../config/locales/ro-RO.yml | 300 +++---- .../config/locales/sv.yml | 9 + decidim-proposals/config/locales/pl.yml | 4 +- decidim-proposals/config/locales/ro-RO.yml | 779 +++++++++--------- decidim-sortitions/config/locales/ro-RO.yml | 140 ++-- decidim-surveys/config/locales/ro-RO.yml | 52 +- decidim-system/config/locales/ro-RO.yml | 10 +- decidim-templates/config/locales/ro-RO.yml | 52 +- .../config/locales/ro-RO.yml | 18 +- 34 files changed, 2054 insertions(+), 1763 deletions(-) diff --git a/decidim-accountability/config/locales/ro-RO.yml b/decidim-accountability/config/locales/ro-RO.yml index d2e7329737f50..49c07e0311f16 100644 --- a/decidim-accountability/config/locales/ro-RO.yml +++ b/decidim-accountability/config/locales/ro-RO.yml @@ -35,7 +35,7 @@ ro: actions: attachment_collections: Dosare attachments: Atașamente - confirm_destroy: Ești sigur că vrei să ștergi acest %{name}? + confirm_destroy: Ești sigur(ă) că vrei să ștergi acest %{name}? destroy: Ștergere edit: Editare import_csv: Importă CSV @@ -60,7 +60,7 @@ ro: result: name: Rezultat status: - name: Status + name: Stadiu timeline_entry: name: Intrare cronologie results: @@ -71,72 +71,72 @@ ro: success: Rezultatul a fost șters edit: title: Editare rezultat - update: Rezultat actualizare + update: Actualizare rezultat index: title: Rezultate new: - create: Creare rezultat + create: Creează rezultat title: Rezultat nou update: invalid: A apărut o eroare la actualizarea acestui rezultat success: Rezultatul a fost actualizat shared: subnav: - statuses: Status-uri + statuses: Stadii statuses: create: - invalid: A apărut o eroare la crearea acestui status - success: Status creat cu succes + invalid: A apărut o eroare la crearea acestui stadiu + success: Stadiu creat cu succes destroy: - success: Status şters cu succes + success: Stadiu şters cu succes edit: - title: Editare stare - update: Stare actualizare + title: Editare stadiu + update: Actualizare stadiu index: - title: Status-uri + title: Stadii new: - create: Creare stare - title: Stare nouă + create: Creează stadiu + title: Stadiu nou update: - invalid: A apărut o eroare la actualizarea acestei stări - success: Status actualizat cu succes + invalid: A apărut o eroare la crearea acestui stadiu + success: Stadiu actualizat cu succes timeline_entries: create: - invalid: A apărut o eroare la crearea acestei intrări + invalid: A apărut o eroare la crearea acestei înregistrări success: Intrare creată cu succes destroy: success: Intrare ștearsă cu succes edit: - title: Editare intrare - update: Actualizare intrare + title: Editare înregistrare + update: Actualizare înregistrare index: - title: Înregistrări de calendar proiect + title: Înregistrări în calendarul proiectului new: - create: Creare intrare - title: Intrare nouă + create: Creează înregistrare + title: Înregistrare nouă update: - invalid: A apărut o eroare la actualizarea acestei intrări - success: Intrare actualizata cu succes + invalid: A apărut o eroare la actualizarea acestei înregistrări + success: Înregistrare actualizată cu succes admin_log: result: - create: "%{user_name} rezultat creat %{resource_name} în %{space_name}" - delete: "%{user_name} a șters rezultatul %{resource_name} în %{space_name}" - update: "%{user_name} rezultat actualizat %{resource_name} în %{space_name}" + create: "%{user_name} a creat %{resource_name} în %{space_name}" + delete: "%{user_name} a șters %{resource_name} în %{space_name}" + update: "%{user_name} a actualizat %{resource_name} în %{space_name}" value_types: parent_presenter: - not_found: 'Părintele nu a fost găsit în baza de date (ID: %{id})' + not_found: 'Elementul-părinte nu a fost găsit în baza de date (ID: %{id})' content_blocks: highlighted_results: dates: Date - results: Rezultatele + results: Rezultate unspecified: Nespecificat import_mailer: import: errors: Erori errors_present: A apărut o problemă la importarea rezultatelor row_number: Rând - subject: Importarea cu succes a rezultatelor - success: Importul de rezultate s-a reușit. Puteți analiza rezultatele în interfața de administrare. + subject: Importare cu succes a rezultatelor + success: Rezultate importate. Puteți revizui rezultatele în interfața de administrare. last_activity: new_result_at_html: "Un nou rezultat la %{link}" models: @@ -144,25 +144,25 @@ ro: fields: category: Categorie created_at: Creat - end_date: Data de încheiere + end_date: Dată de sfârşit id: ID - progress: Progresul - scope: Domeniu de aplicare - start_date: Data de început - status: Status + progress: Progres + scope: Domeniu + start_date: Dată de începere + status: Stadiu title: Titlu status: fields: description: Descriere key: Cheie name: Nume - progress: Progresul + progress: Progres timeline_entry: fields: description: Descriere - entry_date: Data + entry_date: Dată result_m: - executed: Execută + executed: Executat view: Vizualizare results: count: diff --git a/decidim-admin/config/locales/ro-RO.yml b/decidim-admin/config/locales/ro-RO.yml index ff4809eda6519..60def3402a840 100644 --- a/decidim-admin/config/locales/ro-RO.yml +++ b/decidim-admin/config/locales/ro-RO.yml @@ -13,61 +13,61 @@ ro: attachment_collection_id: Dosar description: Descriere file: Fişier - title: Atașament sau nume imagine + title: Numele fișierului sau al imaginii atașate attachment_collection: description: Descriere name: Nume category: description: Descriere name: Nume - parent_id: Părinte + parent_id: Categoria mamă component: name: Nume - published_at: Publicat la - weight: Greutate + published_at: Publicat în + weight: Ordinea în poziționare id: ID import: user_group_id: Creează importuri ca newsletter: - body: Corp - subject: Subiect + body: Conținut + subject: Titlu organization: - admin_terms_of_use_body: Text pentru termenii de utilizare ai administratorului + admin_terms_of_use_body: Coținut pentru termenii de utilizare ai administratorului alert_color: Alertă available_authorizations: Autorizații disponibile badges_enabled: Activează insigne comments_max_length: Lungimea maximă a comentariilor (Lasă 0 pentru valoarea implicită) cta_button_path: Calea butonului Apel la acţiune - cta_button_text: Text buton Apel la Acțiune + cta_button_text: Textul butonului Apel la acțiune customize_welcome_notification: Personalizați notificarea de bun venit default_locale: Localizare implicită description: Descriere - enable_omnipresent_banner: Show omnipresent banner - facebook_handler: Manipulator Facebook - favicon: Iconiță + enable_omnipresent_banner: Afișează banner omniprezent + facebook_handler: Responsabil Facebook + favicon: Pictogramă force_authentication: Forțează autentificarea force_users_to_authenticate_before_access_organization: Forțează utilizatorii să se autentifice înainte de a accesa organizația from: De la adresa de e-mail - github_handler: GitHub handler - header_snippets: Snippet-uri antet - highlight_alternative_color: Evidențiază, alternativă - highlight_color: Evidențiere - highlighted_content_banner_action_subtitle: Subtitrare buton acțiune - highlighted_content_banner_action_title: Titlu buton actiune - highlighted_content_banner_action_url: URL buton acțiune - highlighted_content_banner_enabled: Arată banner-ul pentru conținut evidențiat + github_handler: Responsabil GitHub + header_snippets: Elemente ale antetului + highlight_alternative_color: Evidențiere, alternativă + highlight_color: Evidențiază + highlighted_content_banner_action_subtitle: Subtitlul butonului de acțiune + highlighted_content_banner_action_title: Titlul butonului de acțiune + highlighted_content_banner_action_url: URL-ul butonului de acțiune + highlighted_content_banner_enabled: Afișează banner-ul pentru conținutul evidențiat highlighted_content_banner_image: Imagine highlighted_content_banner_short_description: Descriere scurtă highlighted_content_banner_title: Titlu host: Gazdă - instagram_handler: Gestionar instagram + instagram_handler: Responsabil Instagram logo: Logo machine_translation_display_priority: Prioritate de afișare a traducerii automate machine_translation_display_priority_original: Mai întâi textul original machine_translation_display_priority_translation: Mai întâi textul tradus name: Nume - official_img_footer: Logo oficial pentru footer - official_img_header: Logo oficial pentru header + official_img_footer: Logo oficial pentru subsol + official_img_header: Logo oficial pentru antet official_url: URL oficial al organizației omnipresent_banner_short_description: Descriere scurtă omnipresent_banner_title: Titlu @@ -77,47 +77,47 @@ ro: organization_locales: Zona organizației primary_color: Primară reference_prefix: Prefix de referință - rich_text_editor_in_public_views: Activează editorul de text înbogățit pentru participanți - secondary_color: Secundar + rich_text_editor_in_public_views: Activează editorul avansat de text pentru participanți + secondary_color: Secundară secondary_hosts: Gazde secundare send_welcome_notification: Trimite notificare de bun venit success_color: Succes time_zone: Fus orar - tos_version: Termenii versiunii serviciului - twitter_handler: Twitter handler - user_groups_enabled: Activare grupuri + tos_version: Versiune a condițiilor de furnizare a serviciului + twitter_handler: Responsabil Twitter + user_groups_enabled: Activează grupurile users_registration_mode: Mod înregistrare utilizatori warning_color: Avertizare - welcome_notification_body: Corpul notificării de întâmpinare - welcome_notification_subject: Subiectul notificării de întâmpinare - youtube_handler: Handler YouTube + welcome_notification_body: Conținutul notificării de bun venit + welcome_notification_subject: Subiectul notificării de bun venit + youtube_handler: Responsabil YouTube scope: code: Cod name: Nume organization: Organizație - parent_id: Părinte - scope_type: Tip domeniu de aplicare - scope_type_id: Tip domeniu de aplicare + parent_id: Categoria mamă + scope_type: Tipul domeniului + scope_type_id: Tip domeniu scope_type: name: Nume organization: Organizație plural: Plural settings: - scope_id: Domeniul de Aplicare + scope_id: Domeniu de interes static_page: allow_public_access: Permiteți accesul fără autentificare - changed_notably: Au existat schimbări vizibile. + changed_notably: Au avut loc modificări semnificative. content: Conținut organization: Organizație - show_in_footer: Arată în subsol - slug: Adresă URL + show_in_footer: Afișează în subsol + slug: URL slug title: Titlu - weight: Greutate + weight: Ordinea în poziționare static_page_topic: description: Descriere - show_in_footer: Arată în subsol + show_in_footer: Afișează în subsol title: Titlu - weight: Greutate + weight: Ordinea în poziționare user_group_csv_verification: file: Fişier errors: @@ -125,35 +125,35 @@ ro: organization: attributes: official_img_footer: - allowed_file_content_types: Fișier imagine nevalid + allowed_file_content_types: Fișier invalid official_img_header: - allowed_file_content_types: Fișier imagine nevalid + allowed_file_content_types: Fișier invalid new_import: attributes: file: - invalid_mime_type: Tip mime nevalid + invalid_mime_type: Tip mime invalid activerecord: attributes: decidim/static_page: content: Conținut - slug: Adresă URL + slug: URL slug title: Titlu doorkeeper/application: - authorize_url: Autorizare URL + authorize_url: Autorizează URL client_id: ID client client_secret: Secret client organization_name: Numele organizației - organization_url: URL organizație + organization_url: URL-ul organizației redirect_uri: URI de redirecționare site: Website decidim: admin: actions: - add: Adăugare + add: Adaugă attachment: - new: Atașament nou + new: Fișier nou attachment_collection: - new: Colecție nouă de atașamente + new: Colecție nouă de fișiere atașate browse: Caută category: new: Categorie nouă @@ -164,114 +164,114 @@ ro: newsletter: new: Buletin informativ nou participatory_space_private_user: - new: Noul utilizator privat al spațiului participativ + new: Nou utilizator privat al spațiului participativ per_page: Pe pagină - permissions: Permisiuni - reject: Respingere + permissions: Drepturi + reject: Respinge share: Distribuie user: new: Utilizator nou verify: Verifică admin_terms_of_use: accept: - error: A apărut o eroare la acceptarea termenilor de utilizare. - success: Super! Ai acceptat termenii de utilizare. + error: A apărut o eroare la acceptarea termenilor de utilizare ai administratorului. + success: Super! Ai acceptat termenii de utilizare ai administratorului. actions: accept: Sunt de acord cu următorii termeni - are_you_sure: Sigur doriți să refuzați termenii de utilizare? + are_you_sure: Sigur dorești să refuzi termenii de utilizare ai administratorului? refuse: Refuz termenii - title: Sunt de acord cu termenii și condițiile de utilizare + title: Acceptă termenii și condițiile de utilizare required_review: - alert: 'Necesar: Examinați termenii de utilizare' + alert: 'Obligatoriu: Revizuiți termenii de utilizare ai administratorului' callout: Vă rugăm să acordați un moment pentru a revizui Termenii de utilizare. În caz contrar, nu veți putea administra platforma. - cta: Revizuiți termenii, acum. - title: Termeni de Utilizare + cta: Revizuiește acum. + title: Termeni de Utilizare ai Administratorului area_types: create: error: A apărut o problemă la crearea unui nou tip de zonă. - success: Tipul de zonă creat cu succes. + success: Tipul de zonă a fost creat cu succes. destroy: - success: Tipul ariei eliminat cu succes + success: Tipul zonei a fost eliminat cu succes edit: - title: Editează tipul zonei - update: Actualizare + title: Editează tipul de zonă + update: Actualizează new: - create: Crează tip de zonă - title: Tip de zonă nou + create: Creează tip de zonă + title: Tip nou de zonă update: error: A apărut o eroare la actualizarea acestui tip de zonă. - success: Tipul zonei actualizat cu succes + success: Tipul de zonă a fost actualizat cu succes areas: create: error: A apărut o problemă la crearea unei zone noi. - success: Zonă creată cu succes. + success: Zona a fost creată cu succes. destroy: - has_spaces: Zona are spaţii dependente, nu trebuie să aibă dependenţe pentru a fi ştersă. - success: Zonă eliminată cu succes + has_spaces: Zona are spații dependente, pentru a putea fi ștearsă nu trebuie să aibă dependențe. + success: Zona a fost eliminată cu succes edit: - title: Editare zonă - update: Actualizare + title: Editează zona + update: Actualizează new: create: Creează o zonă title: Zonă nouă - no_areas: Nu există zone + no_areas: Nu există nicio zonă creată update: error: A apărut o eroare la actualizarea acestei zone. - success: Zonă actualizată cu succes + success: Zona a fost actualizată cu succes attachment_collections: create: error: A apărut o eroare la crearea unui nou dosar. - success: Dosar creat cu succes. + success: Dosarul a fost creat cu succes. destroy: - success: Dosar eliminat cu succes. + success: Dosarul a fost eliminat cu succes. edit: - title: Editare dosar - update: Actualizare + title: Editează dosarul + update: Actualizează index: attachment_collection_used: Acest dosar nu poate fi eliminat deoarece este în uz. - attachment_collections_title: Fişiere ataşate + attachment_collections_title: Dosare ataşate new: - create: Crează + create: Creează title: Dosar nou update: error: A apărut o eroare la actualizarea acestui dosar. - success: Dosar actualizat cu succes. + success: Dosarul a fost actualizat cu succes. attachments: create: error: A apărut o eroare la crearea unui nou atașament. - success: Atașament creat cu succes. + success: Atașamentul a fost creat cu succes. destroy: - success: Atașament eliminat cu succes. + success: Atașamentul a fost eliminat cu succes. edit: - title: Editare atașament - update: Actualizare + title: Editează atașamentul + update: Actualizează index: attachments_title: Atașamente new: - create: Creare atașament + create: Creează un atașament title: Atașament nou update: error: A apărut o eroare la actualizarea acestui atașament. - success: Atașament actualizat cu succes. + success: Atașamentul a fost actualizat cu succes. autocomplete: - no_results: Nici un rezultat găsit + no_results: Nu a fost găsit niciun rezultat search_prompt: Tastați cel puțin trei caractere pentru a căuta block_user: new: action: Blochează contul și trimite justificarea description: Blocarea unui utilizator va face contul inutilizabil, puteți oferi justificări și îndrumări cu privire la modul în care considerați că ați putea debloca utilizatorul. justification: Justificare - title: Blochează utilizator %{name} + title: Blochează utilizatorul %{name} categories: create: error: A apărut o eroare la crearea acestei categorii. - success: Categorie creată cu succes. + success: Categoria a fost creată cu succes. destroy: error: A apărut o eroare la ștergerea acestei categorii. Vă rugăm să ștergeți mai întâi orice subcategorie, asigurați-vă că nicio altă entitate nu aparține acestei categorii și încercați din nou. - success: Categoria a fost stearsa. + success: Categoria a fost stearsă cu succes. edit: - title: Editare categorie - update: Actualizare + title: Editează categoria + update: Actualizează index: categories_title: Categorii category_used: Această categorie nu poate fi ștearsă deoarece este în uz. @@ -280,35 +280,35 @@ ro: title: Categorie nouă update: error: A apărut o eroare la actualizarea acestei categorii. - success: Categoria a fost actualizata. + success: Categoria a fost actualizată cu succes. component_permissions: update: - error: A apărut o eroare la actualizarea permisiunilor acestei componente. - success: Permisiuni actualizate cu succes. + error: A apărut o eroare la actualizarea drepturilor de acces pentru acestă componentă. + success: Drepturile au fost actualizate cu succes. components: create: error: A apărut o eroare la crearea acestei componente. - success: Componenta a fost creată. + success: Componenta a fost creată cu succes. destroy: - error: A existat o problemă la eliminarea acestei componente. - success: Componenta ștearsă cu succes. + error: A apărut o problemă la eliminarea acestei componente. + success: Componenta a fost ștearsă cu succes. edit: - title: Editare componentă - update: Actualizare + title: Editează componenta + update: Actualizează form: - default_step_settings: Setări etape implicite - global_settings: Setări globale - step_settings: Setări pas + default_step_settings: Setări implicite pentru etapă + global_settings: Setări generale + step_settings: Setări de etapă index: add: Adaugă componentă headers: actions: Acțiuni name: Numele componentei - scope: Domeniul de aplicare al componentei + scope: Domeniul componentei type: Tipul componentei new: add: Adaugă componentă - title: 'Adaugă componentă: %{name}' + title: 'Adaugă componenta: %{name}' publish: success: Componenta a fost publicată cu succes. title: Componente @@ -319,25 +319,25 @@ ro: success: Componenta a fost actualizată cu succes. conflicts: attempts: Încercări - 'false': 'Nu' + 'false': 'Nr' managed_user_name: Gestionare utilizatori solved: Rezolvat title: Verificare conflicte transfer: email: E-mail - error: A apărut o problemă la transferul participantului curent către participantul gestionat. + error: A apărut o problemă la transferul participantului curent drept participant gestionat. name: Nume reason: Motiv - success: Transferul a fost finalizat cu succes. + success: Transferul curent a fost finalizat cu succes. title: Transfer 'true': 'Da' user_name: Utilizator dashboard: show: - view_more_logs: Afișați mai multe jurnale - welcome: Bine ați venit în Panoul de administrare Decidem. + view_more_logs: Afișează mai multe înregistrări + welcome: Bine ați venit în Panoul de administrare Decidim. exports: - export_as: "%{name} ca %{export_format}" + export_as: "%{name} drept %{export_format}" formats: CSV: CSV Excel: Excel @@ -347,15 +347,15 @@ ro: filters: category_id_eq: label: Categorie - filter_label: Filtrare + filter_label: Filtru moderations: reportable_type_string_eq: label: Tip officialized_at_null: label: Stare values: - 'false': Oficializat - 'true': Nu este oficializat + 'false': Verificat + 'true': Neverificat private_space_eq: label: Privat values: @@ -367,64 +367,64 @@ ro: 'false': Publicat 'true': Nepublicat scope_id_eq: - label: Domeniu de aplicare + label: Domeniu search_label: Caută search_placeholder: - name_or_nickname_or_email_cont: Căutare %{collection} după e-mail, nume sau poreclă. - reported_id_string_or_reported_content_cont: Căutare %{collection} după id sau conținut raportabil. - title_cont: Căutați %{collection} după titlu. + name_or_nickname_or_email_cont: Caută %{collection} după e-mail, nume sau pseudonim. + reported_id_string_or_reported_content_cont: Caută %{collection} după id sau conținut. + title_cont: Caută %{collection} după titlu. state_eq: - label: Stare + label: Stadiu forms: file_help: import: - explanation: 'Orientări pentru fișier:' - message_1: Sunt suportate fișierele CSV, JSON și Excel (.xls) + explanation: 'Îndrumare pentru fișier:' + message_1: Fișierele CSV, JSON și Excel (.xls) sunt acceptate message_2: Pentru fişierele CSV, separatorul dintre coloane trebuie să fie punct şi virgulă (";") help_sections: error: A apărut o eroare la actualizarea secțiunilor de ajutor form: save: Salvează - success: Secțiunea Ajutor actualizată cu succes + success: Secțiunea Ajutor a fost actualizată cu succes impersonatable_users: index: filter: all: Toate managed: Gestionat - not_managed: Nu este gestionat + not_managed: Negestionat filter_by: Filtrare după impersonate: Impersonare - impersonate_new_managed_user: Gestionați participantul nou + impersonate_new_managed_user: Gestionează participantul nou managed: Gestionat name: Nume needs_authorization_warning: Aveți nevoie de cel puțin o autorizație activată pentru această organizație. - not_managed: Nu este gestionat + not_managed: Negestionat promote: Promovează search: Caută - status: Stare - view_logs: Vezi jurnalele + status: Stadiu + view_logs: Vezi înregistrările impersonations: close_session: error: A apărut o problemă la închiderea actualei sesiuni de gestionare a participanților. success: Sesiunea de impersonare curentă a fost încheiată cu succes. create: error: A apărut o problemă cu gestionarea participantului. - success: Participantul administrat a fost creat cu succes. + success: Participantul gestionat a fost creat cu succes. form: - authorization_method: Metoda de autorizare + authorization_method: Metodă de autorizare name: Nume reason: Motiv new: impersonate: Impersonare - impersonate_existing_managed_user: Gestionați participantul"%{name}" - impersonate_existing_user: Gestionați participantul"%{name}" - impersonate_new_managed_user: Gestionați participantul nou + impersonate_existing_managed_user: Gestionează participantul "%{name}" + impersonate_existing_user: Gestionează participantul "%{name}" + impersonate_new_managed_user: Gestionează participantul nou imports: creators: proposalcreator: Creator de propunere error: A apărut o problemă în timpul importului help: - proposalcreator: Fişierul trebuie să aibă titlu/en şi corp (sau o altă localizare pe care o preferaţi. title/ca și corpul/ca). De asemenea, sunt acceptate coloane de scope/id și categorie/id. + proposalcreator: Fişierul trebuie să aibă titlu/en şi corp (sau o altă localizare pe care o preferi. title/ca și corpul/ca). De asemenea, sunt acceptate coloane de scope/id și categorie/id. import_from_file: Importă dintr-un fișier invalid_lines: Eroare găsită în numărul resursei %{invalid_lines} new: @@ -434,25 +434,25 @@ ro: xls: xls actions: back: Înapoi - file_legend: Adăugați un fișier de import care va fi analizat. + file_legend: Adaugă un fișier de import care va fi analizat. import: Importă notice: "%{number} %{resource_name} importate cu succes" logs: logs_list: - no_logs_yet: Încă nu există jurnale + no_logs_yet: Nu există încă înregistrări managed_users: promotion: error: A apărut o problemă la promovarea participantului gestionat. success: Participantul administrat a fost promovat cu succes. promotions: new: - explanation: Participanții gestionați pot fi promovați participanților standard. Înseamnă că vor fi invitați la aplicație și nu veți mai putea să le gestionați din nou. Participantul invitat va primi un e-mail pentru a accepta invitația dvs. - new_managed_user_promotion: Promovarea noilor participanți gestionați + explanation: Participanții gestionați pot fi promovați drept participanți standard. Înseamnă că vor fi invitați în aplicație și nu vei mai putea să îi gestionezi din nou. Participantul invitat va primi un e-mail pentru a accepta invitația ta. + new_managed_user_promotion: Promovarea unui nou participant gestionat promote: Promovează menu: - admin_log: Jurnal activitate administrare + admin_log: Jurnal activitate admin admins: Administratori - appearance: Aspectul + appearance: Prezentare area_types: Tipuri de zone areas: Zone configuration: Configurare @@ -463,16 +463,16 @@ ro: moderation: Moderări globale newsletters: Buletine informative participants: Participanți - reported_users: Utilizator raportat - scope_types: Tipuri de domeniu de aplicare - scopes: Domenii de aplicare + reported_users: Utilizatori raportați + scope_types: Tipuri de domenii + scopes: Domenii de interes settings: Setări static_pages: Pagini user_groups: Grupuri users: Participanți metrics: metrics: - see_more_metrics: Vezi mai multe măsurători + see_more_metrics: Vezi mai mulți indicatori models: area: fields: @@ -504,7 +504,7 @@ ro: newsletter: fields: created_at: Creat la - progress: Progresul + progress: Progres sent_at: Trimis la sent_to: Trimis către subject: Subiect @@ -514,14 +514,14 @@ ro: scope: fields: name: Nume - scope_type: Tip domeniu de aplicare + scope_type: Tip domeniu scope_type: fields: name: Nume plural: Plural share_token: fields: - created_at: Creată la + created_at: Creat la expires_at: Expiră la last_used_at: Ultima utilizare times_used: Număr utilizări @@ -549,20 +549,20 @@ ro: document_number: Număr document name: Nume phone: Telefon - state: Județ + state: Stadiu users_count: Numărul de participanți moderated_users: index: actions: - block: Blochează utilizator + block: Blochează utilizatorul title: Acţiuni - unblock: Deblocare utilizator + unblock: Deblochează utilizatorul unreport: Anulează raportarea name: Nume - nickname: Poreclă + nickname: Pseudonim reason: Motiv - reports: Număr rapoarte - title: Listare utilizatori raportați + reports: Număr de raportări + title: Listarea utilizatorilor raportați report: reasons: does_not_belong: Nu aparține @@ -585,48 +585,48 @@ ro: callout_html: Un conținut apare în panoul de moderare atunci când a fost semnalat de un utilizator (poate fi oricine cu un cont înregistrat) făcând clic pe steagul %{icon} de lângă element. content_original_language: Limba originală a conținutului participatory_space: Spațiu participativ - reported_content: Conținutul raportat - see_current: Vezi curent + reported_content: Conținut raportat + see_current: Vezi versiunea actuală see_original: Vezi originalul title: Rapoarte de moderare show: - report_details: Detalii motiv + report_details: Detalierea motivului report_language: Raportează limbajul report_reason: Motiv title: Detalii raportare newsletter_templates: index: - preview_template: Previzualizare + preview_template: Previzualizează title: Modele de buletine informative - use_template: Utilizați acest șablon + use_template: Utilizează acest model show: - preview: 'Previzualizați șablonul: %{template_name}' - use_template: Utilizați acest șablon + preview: 'Previzualizează modelul: %{template_name}' + use_template: Utilizează acest model newsletters: create: error: A apărut o eroare la crearea acestui buletin informativ. success: Buletinul informativ a fost creat. Vă rugăm să îl revedeți înainte de trimitere. deliver: error: A apărut o eroare la livrarea acestui buletin informativ. - success: Buletinul informativ a fost livrat. + success: Buletinul informativ a fost livrat cu succes. destroy: error_already_sent: 'Nu se poate elimina buletinul informativ: A fost deja trimis.' - success: Newsletter eliminat cu succes. + success: Buletinul informativ a fost eliminat cu succes. edit: - save_and_preview: Salvare și previzualizare - title: Editați buletinul informativ + save_and_preview: Salvează și previzualizează + title: Editează buletinul informativ index: - all: toți + all: toate all_users: 'Toți utilizatorii ' and: 'şi ' - confirm_delete: Sunteţi sigur că doriţi să ştergeţi acest buletin informativ? + confirm_delete: Sigur dorești să ştergi acest buletin informativ? followers: 'urmăritori ' has_been_sent_to: 'A fost trimis la: ' - no_scopes: Nici un domeniu de aplicare + no_scopes: Nici un domeniu not_sent: Nu a fost trimis participants: 'participanți ' segmented_to: 'Segmentat la %{subject}: ' - subscribed_count: 'Abonat:' + subscribed_count: 'Abonați:' title: Buletine informative new: save: Salvează @@ -634,181 +634,181 @@ ro: select_recipients_to_deliver: all_spaces: Toți all_users_help: Trimite buletinul informativ tuturor utilizatorilor confirmați. - confirm_deliver: Sunteţi sigur că doriţi să livraţi acest buletin informativ? Această acţiune nu poate fi anulată. - deliver: Buletin informativ trimis + confirm_deliver: Sigur dorești să livrezi acest buletin informativ? Această acţiune nu poate fi anulată. + deliver: Trimite buletinul informativ followers_help: Trimite buletinul informativ tuturor utilizatorilor confirmați care urmăresc orice spații participative selectate din listă. none: Niciunul participants_help: Trimite buletinul informativ tuturor utilizatorilor confirmați care au participat la oricare dintre spațiile participative selectate din listă. recipients_count: Acest buletin informativ va fi trimis la %{count} utilizatori. - scopes_help: Trimite buletinul informativ utilizatorilor care au unul din domeniile selectate activat în setările contului "Interesele mele". - select_scopes: Filtrați pentru utilizatorii care au activat oricare dintre domenii în setările pentru „Interesele mele” din contul lor. - select_spaces: Selectați spațiile pentru segmentarea buletinului de știri - select_users: Selectați utilizatorii pe care doriți să îi trimiteți buletinul informativ + scopes_help: Trimite buletinul informativ utilizatorilor care au unul dintre domeniile selectate activat în setările privind „Interesele mele” din contul lor. + select_scopes: Filtrați utilizatorii care au activat oricare dintre domeniile selectate în setările privind „Interesele mele” din contul lor. + select_spaces: Selectează spațiile pentru segmentarea buletinului informativ + select_users: Selectează utilizatorii cărora vrei să trimiți buletinul informativ send_to_all_users: Trimite către toți utilizatorii send_to_followers: Trimite către urmăritori send_to_participants: Trimite către participanți - title: Selectați destinatarii pentru trimitere + title: Selectează destinatarii pentru trimitere warning: "Atenție: Acest buletin informativ va fi trimis doar utilizatorilor care au activat Vreau să primesc știri în setările lor." send: - no_recipients: Niciun destinatar pentru această selecție + no_recipients: Nu există destinatari pentru această selecție show: - preview: Previzualizare - select_recipients_to_deliver: Selectați destinatarii pentru trimitere + preview: Previzualizează + select_recipients_to_deliver: Selectează destinatarii pentru trimitere subject: Subiect update: error: A apărut o eroare la actualizarea acestui buletin informativ. - success: Buletin informativ actualizat cu succes. Vă rugăm să îl revizuiți înainte de a trimite. + success: Buletinul informativ a fost actualizat cu succes. Te rugăm să îl revizuiești înainte de a-l trimite. officializations: block: - error: A intervenit o eroare în încărcarea istoricului activității - success: Participantul a fost blocat + error: A apărut o eroare la blocarea participantului + success: Participantul a fost blocat cu succes create: success: Participantul a fost verificat cu succes destroy: - success: Participantul nu mai este verificat + success: Validarea participantului a fost retrasă cu succes index: actions: Acțiuni badge: Insignă block: Blochează utilizator created_at: Creat la name: Nume - nickname: Porecla - not_officialized: Neverificat - officialize: Verificare - officialized: Verificat - reofficialize: Reverificare + nickname: Pseudonim + not_officialized: Nevalidat + officialize: Validează + officialized: Validat + reofficialize: Revalidează reports: Rapoarte show_email: Arată adresa de e-mail - status: Stare - unblock: Deblocare utilizator - unofficialize: Retrageți verificarea + status: Stadiu + unblock: Deblochează utilizatorul + unofficialize: Retrage validarea new: - badge: Ecuson de verificare - officialize: Verificare - title: Verificați participantul "%{name}" + badge: Insignă de validare + officialize: Validează + title: Validează participantul "%{name}" show_email_modal: close_modal: Închide fereastra description: Dacă trebuie să contactați direct un participant, puteți face clic pe butonul Arată pentru a vedea adresa de e-mail. Această acțiune va fi înregistrată. email_address: Adresa de e-mail - full_name: Numele complet + full_name: Nume complet hidden: ascuns - show: Arată + show: Afișează title: Arată adresa de e-mail a participantului unblock: - error: A intervenit o eroare în încărcarea istoricului activității - success: Participantul a fost deblocat + error: A apărut o eroare la deblocarea participantului + success: Participantul a fost deblocat cu succes organization: edit: title: Editează organizația - update: Actualizare + update: Actualizează form: facebook: Facebook github: GitHub instagram: Instagram - rich_text_editor_in_public_views_help: În unele zone de text, participanţii vor putea insera unele tag-uri HTML folosind bogatul editor de text. - social_handlers: Social + rich_text_editor_in_public_views_help: În unele zone de text, participanții vor putea introduce anumite tag-uri HTML utilizând editorul avansat de text. + social_handlers: Rețele de socializare twitter: Twitter - url: Adresă + url: URL youtube: YouTube update: error: A apărut o eroare la actualizarea acestei organizații. - success: Organizația a fost actualizată. + success: Organizația a fost actualizată cu succes. organization_appearance: edit: - update: Actualizare + update: Actualizează form: colors: - colors_title: Culori pentru organizații - header_snippets_help: 'Utilizați acest câmp pentru a adăuga element în antetul HTML. Cea mai frecventă utilizare este integrarea de servicii terțe care necesită JavaScript sau CSS suplimentare. De asemenea, puteți adăuga metataguri suplimentare la HTML. Notă: acest lucru va avea efect doar în paginile publice, nu în secțiunea administrativă.' - cta_button_path_help: 'Puteţi suprascrie unde butonul Apel la Acţiune din pagina de pornire. Utilizaţi căi parţiale, nu adrese URL complete aici. Acceptă litere, numere, cratime și tăieturi, și trebuie să înceapă cu o literă. Butonul Apel la Acțiune este afișat în pagina de start dintre textul de bun venit și descriere. Exemplu: %{url}' - cta_button_text_help: Puteţi suprascrie textul butonului Apel la Acţiune din pagina de start pentru fiecare limbă disponibilă din organizaţie. Dacă nu este setată, va fi folosită valoarea implicită. Butonul Apel la Acțiune este afișat în pagina de start dintre textul de bun venit și descriere. - homepage_appearance_title: Editează aspectul paginii de start + colors_title: Culorile organizației + header_snippets_help: Utilizează acest câmp pentru a adăuga elemente în antetul HTML. Cea mai frecventă utilizare este integrarea de servicii terțe care necesită JavaScript sau CSS suplimentare. De asemenea, poți adăuga metataguri suplimentare la HTML. Reține că acest lucru va avea efect doar în paginile publice, nu și în secțiunea administrativă. + cta_button_path_help: 'Poți modifica adresa către care direcționează butonul Apel la acțiune de pe pagina principală. Aici poți utiliza doar căi parțiale, nu URL-uri complete. Se acceptă numai litere, numere, cratime și bare oblice și trebuie să înceapă cu o literă. Butonul „Apel la acțiune” este afișat pe prima pagină, între textul de întâmpinare și descriere. Exemplu: %{url}' + cta_button_text_help: Poți înlocui textul butonului Apel la acțiune de pe pagina principală pentru fiecare limbă disponibilă în organizația ta. În cazul în care nu există alte limbi setate, se utilizează valoarea implicită. Butonul „Apel la acțiune” este afișat pe pagina principală, între textul de întâmpinare și descriere. + homepage_appearance_title: Editează aspectul paginii principale homepage_highlighted_content_banner_title: Banner pentru conținut evidențiat images: - layout_appearance_title: Editarea aspectului formatului - preview: Previzualizare - omnipresent_banner_appearance_title: Editare banner omniprezent + layout_appearance_title: Editează aspectul aranjării în pagină + preview: Previzualizează + omnipresent_banner_appearance_title: Editează banner-ul omniprezent organization_homepage: edit: active_content_blocks: Blocuri de conținut active inactive_content_blocks: Blocuri de conținut inactive organization_homepage_content_blocks: edit: - update: Actualizare + update: Actualizează participatory_space_private_users: create: error: A apărut o problemă la adăugarea unui participant privat pentru acest spațiu participativ. - success: Accesul participanților privați la spațiul participativ a fost creat cu succes. + success: Accesul la spațiul participativ a participantului privat a fost creat cu succes. destroy: error: A apărut o eroare la ștergerea unui participant privat pentru acest spațiu participativ. - success: Accesul participanților privați la spațiul participativ a fost eliminat cu succes. + success: Accesul la spațiul participativ a participantului privat a fost șters cu succes. index: - import_via_csv: Import din fișier CSV - title: Participant privat la spațiu + import_via_csv: Importă din fișier CSV + title: Participant privat pentru spațiul participativ new: create: Crează - title: Nou participant privat la Spațiul participativ. + title: Participant privat nou pentru spațiul participativ. participatory_space_private_users_csv_imports: create: invalid: A apărut o problemă la citirea fișierului CSV. - success: Fișier CSV încărcat cu succes, trimitem un e-mail de invitație participanților. Acest lucru ar putea dura un timp. + success: Fișier-ul CSV a fost încărcat cu succes, trimitem un e-mail de invitație participanților. Acest lucru ar putea dura puțin timp. new: - explanation: 'Încărcaţi fişierul CSV. Trebuie să aibă două coloane cu e-mail în prima coloană a fișierului și numele în ultima coloană a fișierului (email, numele utilizatorilor pe care doriţi să îi adăugaţi în spaţiul participativ, fără antete. Evită folosirea caracterelor invalide, cum ar fi `<>?%&^*#@()[]=+:;"{}\ ` în numele utilizatorului.' + explanation: 'Încărcă fişierul tău CSV. Trebuie să aibă două coloane cu e-mail în prima coloană a fișierului și numele în ultima coloană (e-mail, numele) pentru utilizatorii pe care doriţi să îi adăugaţi în spaţiul participativ, fără antet. Evită folosirea caracterelor invalide, cum ar fi `<>?%&^*#@()[]=+:;"{}\ ` în numele utilizatorului.' title: Încarcă fișierul tău CSV - upload: Incarca + upload: Încarcă resource_permissions: edit: - submit: Trimiteți - title: Editare permisiuni + submit: Trimite + title: Editează drepturile update: - success: Permisiuni actualizate cu succes. + success: Drepturile au fost actualizate cu succes. resources: index: headers: scope: Domeniu scope_types: create: - error: A apărut o problemă la crearea unui nou tip de domeniu de aplicare. - success: Tipul de domeniu de aplicare a fost creat. + error: A apărut o problemă la crearea unui nou tip de domeniu. + success: Tipul de domeniu a fost creat cu succes. destroy: - success: Tipul de domeniu de aplicare eliminat cu succes + success: Tipul de domeniu a fost eliminat cu succes edit: - title: Modifică tipul domeniului de aplicare - update: Actualizare + title: Editează tipul domeniului + update: Actualizează new: - create: Creare tip de domeniu de aplicare - title: Nou domeniu de aplicare + create: Creează tip de domeniu + title: Domeniu nou update: - error: A apărut o problemă la actualizarea acestui tip de domeniu de aplicare. - success: Tipul de domeniu de aplicare actualizat cu succes + error: A apărut o problemă la actualizarea acestui tip de domeniu. + success: Tipul de domeniu a fost actualizat cu succes scopes: create: - error: A apărut o problemă la crearea unui nou domeniu de aplicare. - success: Domeniul de aplicare a fost creat. + error: A apărut o problemă la crearea unui nou domeniu. + success: Domeniul a fost creat cu succes. destroy: - success: Domeniul de aplicare eliminat cu succes + success: Domeniul a fost eliminat cu succes edit: - title: Editare domeniu de aplicare - update: Actualizare + title: Editează domeniul + update: Actualizează new: - create: Creare domeniu de aplicare - title: Nou domeniu de aplicare - no_scopes: Nici un domeniude aplicare la acest nivel. + create: Creează domeniu + title: Domeniu nou + no_scopes: Nu există niciun domeniu la acest nivel. update: - error: A apărut o eroare la actualizarea acestui domeniu de aplicare. - success: Domeniu de aplicare actualizat cu succes + error: A apărut o eroare la actualizarea acestui domeniu. + success: Domeniul a fost actualizat cu succes share_tokens: actions: - confirm_destroy: Sigur doriți să ștergeți acest token? + confirm_destroy: Sigur vrei să ștergi acest token? destroy: Șterge share: Distribuie destroy: - error: A apărut o problemă la distrugerea tokenului. - success: Jetonul a fost eliminat. + error: A apărut o problemă la distrugerea acestui token. + success: Token-ul a fost distrus cu succes. share_tokens: - empty: Nu există jetoane active - help: Aceste jetoane sunt utilizate pentru a partaja public această resursă nepublicată cu orice utilizator. Acestea vor fi ascunse la momentul publicării resursei. Faceți clic pe pictograma de partajare a jetonului pentru a vizita URL-ul partajat. - title: Partajați jetoanele + empty: Nu există token-uri active + help: Aceste tipuri de token sunt utilizate pentru a distribui public această resursă nepublicată cu orice utilizator. Acestea vor fi ascunse la momentul publicării resursei. Faceți clic pe pictograma de distribuire aferentă acestui token pentru a vizita URL-ul distribuit. + title: Distribuiți token shared: gallery: add_images: Adaugă imagini @@ -817,12 +817,12 @@ ro: static_page_topics: create: error: A apărut o problemă la crearea unui subiect nou. - success: Subiectul a fost creat. + success: Subiectul a fost creat cu succes. destroy: - success: Subiectul a fost eliminat + success: Subiectul a fost eliminat cu succes edit: - title: Editare subiect - update: Actualizare subiect + title: Editează subiectul + update: Actualizează subiectul new: create: Creează un subiect title: Subiect nou @@ -834,29 +834,29 @@ ro: view: Vezi pagina publică create: error: A apărut o eroare la crearea unei pagini noi. - success: Pagină creată cu succes. + success: Pagina a fost creată cu succes. destroy: - success: Pagină eliminată cu succes + success: Pagina a fost eliminată cu succes edit: changed_notably_help: Dacă este bifat, participanții vor fi notificați să accepte termenii și condițiile noi. - title: Editare pagină - update: Actualizare + title: Editează pagina + update: Actualizează form: none: Niciunul - slug_help: 'Utilizaţi căi parţiale, nu adrese URL complete aici. Acceptă litere, numere, - şi trebuie să înceapă cu o literă. Exemplu: %{url}' + slug_help: 'Utilizează căi parţiale, nu adrese URL complete aici. Acceptă litere, numere, liniuțe şi bare oblice și trebuie să înceapă cu o literă. Exemplu: %{url}' index: last_notable_change: Ultima modificare importantă new: - create: Creare pagină + create: Creează o pagină title: Pagină nouă topic: - destroy: Elimină subiect - edit: Editare subiect - empty: Nu există nicio pagină în acest subiect + destroy: Elimină subiectul + edit: Editează subiectul + empty: Nu există nicio pagină în cadrul acestui subiect without_topic: Pagini fără subiect update: error: A apărut o eroare la actualizarea acestei pagini. - success: Pagină actualizată cu succes + success: Pagina a fost actualizată cu succes titles: admin_log: Jurnal de administrare area_types: Tipuri de zone @@ -865,11 +865,11 @@ ro: dashboard: Panou de administrare impersonatable_users: Participanți gestionabili impersonations: Gestionarea participanților - metrics: Măsurători + metrics: Indicatori panel: Administrator participants: Participanți - scope_types: Tipuri de domeniu de aplicare - scopes: Domenii de aplicare + scope_types: Tipuri de domeniu + scopes: Domenii de interes static_pages: Pagini statistics: Activitate user_groups: Grupuri @@ -877,36 +877,36 @@ ro: user_group: csv_verify: invalid: A apărut o problemă la citirea fișierului CSV. - success: Fișierul CSV încărcat cu succes, verificăm grupurile care corespund criteriilor. Acest lucru ar putea dura un timp. + success: Fișierul CSV a fost încărcat cu succes, verificăm grupurile care corespund criteriilor. Acest lucru ar putea dura un timp. reject: invalid: A apărut o eroare la respingerea acestui grup. - success: Grupul a fost respins + success: Grupul a fost respins cu succes verify: invalid: A apărut o eroare la verificarea acestui grup. - success: Grupul a fost verificat + success: Grupul a fost verificat cu succes user_groups: index: filter: all: Toate - pending: In asteptare + pending: În așteptare rejected: Respins verified: Verificat filter_by: Filtrare după search: Caută state: - pending: In asteptare + pending: În așteptare rejected: Respins verified: Verificat - verify_via_csv: Verificare prin CSV + verify_via_csv: Verifică prin CSV user_groups_csv_verifications: new: - explanation: Încărcați fișierul dvs. CSV. Acesta trebuie să aibă e-mailurile oficiale ale grupurilor din organizația dvs. în prima coloană a fișierului, fără antete. Doar grupurile care și-au confirmat adresa de e-mail și care au un e-mail care apare în fișierul CSV vor fi validate. + explanation: Încărcă fișierul tău CSV. Acesta trebuie să aibă e-mail-urile oficiale ale grupurilor din organizația ta în prima coloană a fișierului, fără antet. Doar grupurile care și-au confirmat adresa de e-mail și care au un e-mail care apare în fișierul CSV vor fi validate. title: Încarcă fișierul tău CSV - upload: Incarca + upload: Încarcă users: create: error: A apărut o eroare la invitarea acestui administrator. - success: Participantul a fost invitat. + success: Participantul a fost invitat cu succes. destroy: error: A apărut o eroare la ștergerea acestui administrator. success: Participantul nu mai este administrator. @@ -922,8 +922,8 @@ ro: admins: Administratori last_day: Ultima zi last_month: Ultima lună - last_week: Ultima Săptămînă - no_users_count_statistics_yet: Încă nu există niciun număr de statistici pentru utilizatori + last_week: Ultima săptămână + no_users_count_statistics_yet: Încă nu există statistici privind numărul de utilizatori participants: Participanți view_public_page: Vezi pagina publică forms: @@ -935,8 +935,8 @@ ro: object: utilizatori blocați title: Utilizatori blocați reported_users: - object: utilizator raportat - title: Utilizator raportat + object: utilizatori raportați + title: Utilizatori raportați user_reports: object: rapoarte de utilizator title: Rapoarte de utilizator @@ -953,17 +953,17 @@ ro: reportable: hide: invalid: A apărut o problemă la ascunderea resursei. - success: Resursă ascunsă cu succes. + success: Resursa a fost ascunsă cu succes. unhide: - invalid: A apărut o problemă la dezascunderea resursei. - success: Resursă dezascunsă cu succes. + invalid: A apărut o problemă la anularea ascunderii resursei. + success: Anularea ascunderii resursei a fost reaizată cu succes. unreport: - invalid: A apărut o problemă la dezraportarea resursei. - success: Resursă neraportată cu succes. + invalid: A apărut o problemă la anularea raportării resursei. + success: Anularea raportării resursei a fost efectuată cu succes. models: moderation: fields: - created_at: Data crearii + created_at: Data creării hidden_at: Ascuns la participatory_space: Spațiu participativ report_count: Număr @@ -974,7 +974,7 @@ ro: visit_url: Vizitaţi URL-ul report: fields: - details: Detalii motiv + details: Detalierea motivului locale: Limbă reason: Motiv errors: diff --git a/decidim-admin/config/locales/sv.yml b/decidim-admin/config/locales/sv.yml index d7875498661f5..d3192acebe0d6 100644 --- a/decidim-admin/config/locales/sv.yml +++ b/decidim-admin/config/locales/sv.yml @@ -379,6 +379,7 @@ sv: file_help: import: explanation: 'Vägledning för fil:' + message_1: CSV, JSON och Excel (.xls) filer är accepterade message_2: För CSV-filer måste separatorn mellan kolumner vara en semikolon (";") help_sections: error: Det gick inte att uppdatera hjälpavsnitten diff --git a/decidim-assemblies/config/locales/ja.yml b/decidim-assemblies/config/locales/ja.yml index 8640e05e8e176..56c5dccff895f 100644 --- a/decidim-assemblies/config/locales/ja.yml +++ b/decidim-assemblies/config/locales/ja.yml @@ -383,7 +383,7 @@ ja: assemblies_count: 参加スペース comments_count: コメント debates_count: ディベート - endorsements_count: 支持 + endorsements_count: オススメ followers_count: フォロワー headline: 統計情報 meetings_count: ミーティング diff --git a/decidim-assemblies/config/locales/ro-RO.yml b/decidim-assemblies/config/locales/ro-RO.yml index 9b40032c42b87..76236477d832b 100644 --- a/decidim-assemblies/config/locales/ro-RO.yml +++ b/decidim-assemblies/config/locales/ro-RO.yml @@ -2,24 +2,24 @@ ro: activemodel: attributes: assemblies_setting: - enable_organization_chart: Activeaza graficul organizatiei + enable_organization_chart: Activează graficul organizatiei assembly: area_id: Zonă - assembly_type: Tip organizație - assembly_type_other: Alt tip de organizație + assembly_type: Tipul grupului de lucru + assembly_type_other: Alt tip de grup de lucru banner_image: Imagine pentru banner closing_date: Data închiderii closing_date_reason: Motivul datei de închidere composition: Componență copy_categories: Copiază categoriile copy_components: Copiază componentele - copy_features: Copiere caracteristici + copy_features: Copiază funcționalitățile created_by: Creat de - created_by_other: Creat de alte + created_by_other: Creat de altcineva creation_date: Data creării - decidim_area_id: Suprafață - decidim_assemblies_type_id: Tip organizație - decidim_scope_id: Domeniu de aplicare + decidim_area_id: Zonă + decidim_assemblies_type_id: Tipul grupului de lucru + decidim_scope_id: Domeniu description: Descriere developer_group: Grup promotor domain: Domeniu @@ -27,32 +27,32 @@ ro: facebook: Facebook github: GitHub hashtag: Hashtag - hero_image: Imagine pagina principala + hero_image: Imagine pentru pagina principală included_at: Inclus la instagram: Instagram internal_organisation: Organizare internă is_transparent: Este transparent - local_area: Zonă organizație - meta_scope: Sferă metadate - parent_id: Organizație părinte - participatory_processes_ids: Procese participative conexe + local_area: Zona grupului de lucru + meta_scope: Metadate privind domeniul + parent_id: Grup de lucru părinte + participatory_processes_ids: Procese participative asociate participatory_scope: Ce se decide participatory_structure: Cum se decide private_space: Spațiu privat promoted: Evidenţiat published_at: Publicat la purpose_of_action: Scopul acțiunii - scope_id: Domeniu de aplicare + scope_id: Domeniu de interes scopes_enabled: Domenii activate short_description: Descriere scurtă show_statistics: Arată statistici - slug: Adresă URL - special_features: Caracteristici speciale + slug: URL slug + special_features: Funcționalități speciale subtitle: Subtitlu target: Cine participă title: Titlu twitter: Twitter - weight: Pondere + weight: Ordinea în poziționare youtube: YouTube assembly_member: birthday: Data nașterii @@ -77,119 +77,119 @@ ro: activerecord: models: decidim/assembly: - one: Organizație - few: Organizații - other: Organizații + one: Grup de lucru + few: Grupuri de lucru + other: Grupuri de lucru decidim/assembly_member: - one: Membru al organizației - few: Membru al organizației - other: Membrii organizație + one: Membru al grupului de lucru + few: Membrii ai grupului de lucru + other: Membrii ai grupului de lucru decidim/assembly_user_role: - one: Rolul utilizatorului în cadrul organizației - few: Adunați rolurile utilizatorilor - other: Rolurile utilizatorului în cadrul organizației + one: Rolul utilizatorului în cadrul grupului de lucru + few: Rolurile utilizatorului în cadrul grupului de lucru + other: Rolurile utilizatorului în cadrul grupului de lucru decidim: admin: actions: import_assembly: Importă - new_assembly: Organizație nouă - new_assembly_type: Tip nou de organizație + new_assembly: Grup de lucru nou + new_assembly_type: Tip nou de grup de lucru assemblies: create: - error: A apărut o problemă la crearea unei noi organizații. - success: Organizația a fost creata. + error: A apărut o problemă la crearea unui nou tip de grup de lucru. + success: Grupul de lucru a fost creat cu succes. edit: - update: Actualizare + update: Actualizează index: not_published: Nu este publicat private: Privat - public: Publice + public: Public published: Publicat new: - create: Crează - title: Organizație nouă + create: Creează + title: Grup de lucru nou update: - error: A apărut o eroare la actualizarea acestei organizații. - success: Organizația a fost actualizată. + error: A apărut o eroare la actualizarea acestui grup de lucru. + success: Grupul de lucru a fost actualizat cu succes. assemblies_copies: create: - error: A apărut o problemă la duplicarea acestei organizații. - success: Organizația a fost duplicată. + error: A apărut o problemă la duplicarea acestui grup de lucru. + success: Grupul de lucru a fost duplicat cu succes. assemblies_settings: update: error: A apărut o eroare la actualizarea setărilor. - success: Setări actualizate cu succes. + success: Setările au fost actualizate cu succes. assemblies_types: create: - error: A apărut o problemă la crearea unui nou tip de organizație. - success: Tipul de organizație a fost creat. + error: A apărut o problemă la crearea unui nou tip de grup de lucru. + success: Tipul grupului de lucru a fost creat cu succes. destroy: - success: Tipul de organizație a fost șters. + success: Tipul grupului de lucru a fost șters cu succes. new: - create: Crează - title: Tip nou de organizație + create: Creează + title: Tip nou de grup de lucru update: - error: A apărut o eroare la actualizarea acestui tip de organizație. - success: Tip de organizație actualizat cu succes. + error: A apărut o eroare la actualizarea acestui grup de lucru. + success: Tipul grupului de lucru a fost actualizat cu succes. assembly_copies: new: copy: Copiază select: Selectați datele pe care doriți să le duplicați - title: Duplică organizația + title: Duplică grupul de lucru assembly_imports: create: - error: A apărut o problemă la importul acestui organizații. - success: Organizația a fost importată. + error: A apărut o problemă la importul acestui grup de lucru. + success: Grupul de lucru a fost importat. new: import: Importă select: Selectați ce date doriți să importați - title: Importă organizație + title: Importă grupul de lucru assembly_members: create: - error: A apărut o problemă la adăugarea unui membru pentru această organizație. - success: Membru creat cu succes pentru această organizație. + error: A apărut o problemă la adăugarea unui membru pentru acest grup de lucru. + success: Membru creat cu succes pentru acest grup de lucru. destroy: - success: Membru şters cu succes pentru această organizație. + success: Membru şters cu succes pentru acest grup de lucru. edit: - title: Actualizează membrul organizației. - update: Actualizare + title: Actualizează membrul grupului de lucru. + update: Actualizează index: - assembly_members_title: Membrii organizației + assembly_members_title: Membrii grupului de lucru new: - create: Crează - title: Membru nou al organizației. + create: Creează + title: Membru nou al grupului de lucru. update: - error: A apărut o eroare la actualizarea membrului pentru această organizație. - success: Membrul a fost actualizat pentru această organizație. + error: A apărut o problemă la adăugarea unui membru pentru acest grup de lucru. + success: Membrul a fost actualizat cu succes pentru acest grup de lucru. assembly_publications: create: - error: A apărut o problemă la publicarea acestei organizații. - success: Organizația a fost publicată. + error: A apărut o problemă la publicarea acestui grup de lucru. + success: Grupul de lucru a fost publicat cu succes. destroy: - error: A apărut o problemă la publicarea acestei organizații. - success: Organizația a fost de-publicată. + error: A apărut o problemă la anularea publicării acestui grup de lucru. + success: Anularea publicării grupului de lucru s-a efectuat cu succes. assembly_user_roles: create: - error: A apărut o eroare la adăugarea unui administrator pentru această organizație. - success: Administratorul a fost adăugat la această organizație. + error: A apărut o eroare la adăugarea unui administrator pentru acest grup de lucru. + success: Administratorul a fost adăugat cu succes la acest grup de lucru. destroy: - success: Administratorul a fost șters de la această organizație. + success: Administratorul a fost șters cu succes de la acest grup de lucru. edit: - title: Actualizare administrator organizație. - update: Actualizare + title: Actualizează administratorul grupului de lucru. + update: Actualizează index: - assembly_admins_title: Administratori de organizație + assembly_admins_title: Administratori ai grupului de lucru new: - create: Crează - title: Noul administrator al organizației. + create: Creează + title: Nou administrator al grupului de lucru. update: - error: A apărut o eroare la actualizarea unui administrator pentru această organizație. - success: Administratorul a fost actualizat pentru această organizație. + error: A apărut o eroare la actualizarea unui administrator pentru acest grup de lucru. + success: Administratorul a fost actualizat cu succes pentru acest grup de lucru. menu: - assemblies: Organizații + assemblies: Grupuri de lucru assemblies_settings: Setări assemblies_submenu: - assembly_admins: Administratori de organizație + assembly_admins: Administratorii grupului de lucru assembly_members: Membri attachment_collections: Dosare attachment_files: Fișiere @@ -197,9 +197,9 @@ ro: categories: Categorii components: Componente info: Informații - moderations: Moderatii + moderations: Moderări private_users: Utilizatori privați - assemblies_types: Tipuri de organizații + assemblies_types: Tipuri de grupuri de lucru models: assemblies_types: fields: @@ -212,7 +212,7 @@ ro: promoted: Evidenţiat published: Publicat title: Titlu - name: Organizație + name: Grup de lucru assembly_member: fields: ceased_date: Data încetării @@ -221,7 +221,7 @@ ro: position: Poziție name: Membru positions: - other: Altele + other: Alta president: Președinte secretary: Secretar vice_president: Vicepreşedinte @@ -230,71 +230,71 @@ ro: email: E-mail name: Nume role: Rol - name: Admin adunare + name: Administrator al grupulului de lucru roles: admin: Administrator collaborator: Colaborator moderator: Moderator valuator: Evaluator titles: - assemblies: Adunări - assemblies_types: Tipuri de adunări + assemblies: Grupuri de lucru + assemblies_types: Tipuri de grupuri de lucru admin_log: assembly: - create: "%{user_name} a creat asamblarea %{resource_name}" - publish: "%{user_name} a publicat asamblarea %{resource_name}" - unpublish: "%{user_name} nepublicat asamblarea %{resource_name}" - update: "%{user_name} a actualizat asamblarea %{resource_name}" + create: "%{user_name} a creat grupul de lucru %{resource_name}" + publish: "%{user_name} a publicat grupul de lucru %{resource_name}" + unpublish: "%{user_name} a anulat publicarea grupului de lucru %{resource_name}" + update: "%{user_name} a actualizat grupul de lucru %{resource_name}" assembly_member: - create: "%{user_name} a creat membrul %{resource_name} în adunarea %{space_name}" - delete: "%{user_name} a eliminat membrul %{resource_name} din adunarea %{space_name}" - update: "%{user_name} a actualizat membrul %{resource_name} în adunarea %{space_name}" + create: "%{user_name} a creat pe %{resource_name}, membru în grupul de lucru %{space_name}" + delete: "%{user_name} a eliminat pe %{resource_name}, membru din adunarea %{space_name}" + update: "%{user_name} a actualizat pe %{resource_name}, membru în adunarea %{space_name}" assembly_setting: - update: "%{user_name} a actualizat setările de asamblare" + update: "%{user_name} a actualizat setările grupurilor de lucru" assembly_type: - create: "%{user_name} a creat %{resource_name} tip de asamblare" - delete: "%{user_name} a creat tipul de organizație %{resource_name}" - publish: "%{user_name} a publicat %{resource_name} tip de asamblare" - unpublish: "%{user_name} nu a publicat %{resource_name} tip de asamblare" - update: "%{user_name} a actualizat tipul de asamblare %{resource_name}" + create: "%{user_name} a creat tipul de grup de lucru %{resource_name}" + delete: "%{user_name} a eliminat tipul de grup de lucru %{resource_name}" + publish: "%{user_name} a publicat tipul de grup de lucru %{resource_name}" + unpublish: "%{user_name} a anulat publicarea pentru tipul de grup de lucru %{resource_name}" + update: "%{user_name} a actualizat tipul de grup de lucru %{resource_name}" assembly_user_role: - create: "%{user_name} a invitat %{resource_name} la adunarea %{space_name}" - delete: "%{user_name} a șters participantul %{resource_name} de la asamblarea %{space_name}" - update: "%{user_name} a schimbat rolul %{resource_name} în adunarea %{space_name}" + create: "%{user_name} a invitat pe %{resource_name} în grupul de lucru %{space_name}" + delete: "%{user_name} a șters participantul %{resource_name} de la grupul de lucru %{space_name}" + update: "%{user_name} a schimbat rolul pentru %{resource_name} în grupul de lucru %{space_name}" assemblies: admin: assemblies: form: duration: Durată - duration_help: În cazul în care durata acestei adunări este limitată, selectaţi data de încheiere. În caz contrar, va apărea ca indefinită. + duration_help: În cazul în care durata acestui grup de lucru este limitată, selectaţi data de încheiere. În caz contrar, va apărea ca nelimitată. filters: Filtre images: Imagini - included_at_help: Selectați data la care această adunare a fost adăugată la Decidim. Nu trebuie să fie neapărat aceeași dată cu data creării. + included_at_help: Selectați data la care aceast grup de lucru a fost adăugat în Decidem. Nu trebuie să fie neapărat aceeași dată cu data creării. metadata: Metadate - other: Altele - select_a_created_by: Selectați un creeat de + other: Altul + select_a_created_by: Selectați după persoana care a creat select_an_area: Selectați o zonă - select_an_assembly_type: Selectaţi un tip de asamblare - select_parent_assembly: Selectați adunarea părinte - slug_help: 'URL slugs sunt folosite pentru a genera URL-urile care indică acest punct de asamblare. Acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' - social_handlers: Sociale + select_an_assembly_type: Selectaţi un tip de grup de lucru + select_parent_assembly: Selectați grupul de lucru părinte + slug_help: 'URL slugs sunt folosite pentru a genera URL-urile care indică acest grup de lucru. Acestea acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' + social_handlers: Rețele de socializare title: Informaţii generale visbility: Vizibilitate assemblies_settings: edit: - update: Actualizare + update: Actualizează form: - title: Setări pentru ansambluri + title: Setări pentru grupuri de lucru assemblies_types: form: title: Titlu assembly_copies: form: - slug_help: 'URL slugs sunt folosite pentru a genera URL-urile care indică acest punct de asamblare. Acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' + slug_help: 'URL slugs sunt folosite pentru a genera URL-urile care indică acest grup de lucru. Acestea acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' assembly_imports: form: document_legend: Adaugă un document - slug_help: 'URL slugs sunt folosite pentru a genera URL-urile care indică acest punct de asamblare. Acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' + slug_help: 'URL slugs sunt folosite pentru a genera URL-urile care indică acest grup de lucru. Acestea acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' assembly_members: form: existing_user: Participant existent @@ -304,14 +304,14 @@ ro: user_type: Tipul participantului index: filter: - all: Toate + all: Toți ceased: Sistat not_ceased: Nesistat - filter_by: Filtrare după + filter_by: Filtrează după search: Caută content_blocks: highlighted_assemblies: - max_results: Cantitatea maximă de elemente de afișat + max_results: Număr maxim de elemente care vor fi afișate new_import: accepted_types: json: JSON @@ -319,47 +319,47 @@ ro: index: members: Membri assembly_types: - commission: Comision - consultative_advisory: Consultativă + commission: Comisie + consultative_advisory: Organ consultativ executive: Executiv - government: Guvernul + government: Conducere others: Altele - participatory: Participant - working_group: Grupul de lucru + participatory: Participativ + working_group: Sub-grup de lucru content_blocks: highlighted_assemblies: - name: Organizații evidențiate + name: Grupuri de lucru evidențiate created_by: city_council: Consiliul Local - others: Altele + others: Alții public: Public filter: all: Toate tipurile - commission: Comision - consultative_advisory: Consultativă + commission: Comisia + consultative_advisory: Organ consultativ executive: Executiv - government: Guvernul - help: 'Arată:' + government: Conducere + help: 'Afișează:' others: Altele - participatory: Participant - working_group: Grupul de lucru + participatory: Participativ + working_group: Sub-grup de lucru index: - title: Organizații + title: Grupuri de lucru last_activity: - new_assembly: Organizație nouă + new_assembly: Grup de lucru nou pages: home: highlighted_assemblies: - active_assemblies: Organizații active - assemblies_button_title: Link către pagina de Organizații care afișează toate organizațiile - see_all_assemblies: Vezi toate organizațiile + active_assemblies: Grupuri de lucru active + assemblies_button_title: Link către pagina Grupuri de lucru care afișează toate grupurile + see_all_assemblies: Vezi toate grupurile de lucru user_profile: member_of: member_of: Membru al show: area: Zonă - assembly_type: Tip organizație - children: Organizații + assembly_type: Tipul grupului de lucru + children: Grupuri de lucru closing_date: Data închiderii composition: Componență created_by: Creat de @@ -367,34 +367,34 @@ ro: developer_group: Grup promotor duration: Durată included_at: Inclus la - indefinite_duration: Nedefinit + indefinite_duration: Nedeterminată internal_organisation: Organizare internă is_transparent: 'false': opac 'true': transparent - local_area: Zonă organizație + local_area: Zona grupului de lucru participatory_scope: Ce se decide participatory_structure: Cum se decide - private_space: Aceasta este o organizație privată + private_space: Acesta este un grup de lucru privat purpose_of_action: Scopul acțiunii read_less: Citește mai puțin read_more: Citește mai mult - related_participatory_processes: Procese participative conexe - scope: Domeniu de aplicare + related_participatory_processes: Procese participative asociate + scope: Domeniu social_networks: Rețele sociale - social_networks_title: Distribuie această organizație pe + social_networks_title: Distribuie aceast grup de lucru pe target: Cine participă statistics: answers_count: Răspunsuri - assemblies_count: Organizații + assemblies_count: Grupuri de lucru comments_count: Comentarii debates_count: Dezbateri - endorsements_count: Susținători + endorsements_count: Susțineri followers_count: Urmăritori headline: Statistici meetings_count: Întâlniri no_stats: Încă nu există statistici. - orders_count: Suportă + orders_count: Voturi pages_count: Pagini participants_count: Participanți posts_count: Mesaje @@ -402,13 +402,13 @@ ro: projects_count: Proiecte proposals_count: Propuneri results_count: Rezultate - supports_count: Suportă + supports_count: Voturi surveys_count: Chestionare users_count: Participanți - votes_count: Suportă + votes_count: Voturi assembly_members: assembly_member: - designated_on: Desemnat la + designated_on: Desemnat către index: title: Membri conferences: @@ -419,35 +419,35 @@ ro: events: assemblies: create_assembly_member: - email_intro: Un administrator al organizației %{resource_name} te-a adăugat ca unul dintre membrii săi. - email_outro: Ați primit această notificare deoarece ați fost invitat la o organizație. Verificați pagina organizației pentru a colabora! - email_subject: Ai fost invitat să fii membru al organizației %{resource_name}! - notification_title: Ați fost înregistrat ca membru al Organizației %{resource_name}. Verificați pagina organizației pentru a accepta! + email_intro: Un administrator al grupului de lucru %{resource_name} te-a adăugat ca unul dintre membrii săi. + email_outro: Ai primit această notificare deoarece ai fost invitat la un grup de lucru. Verifică pagina organizației pentru a colabora! + email_subject: Ai primit invitație drept membru al grupului de lucru %{resource_name}! + notification_title: Ai fost înregistrat ca membru al grupului de lucru %{resource_name}. Verificați pagina grupului de lucru pentru a accepta! assembly: role_assigned: - email_intro: Ai fost numit %{role} pentru organizația "%{resource_title}". - email_outro: Ați primit această notificare deoarece sunteți %{role} al organizației "%{resource_title}". - email_subject: Ai fost numit ca %{role} pentru "%{resource_title}". - notification_title: Ați fost numit %{role} pentru organizația %{resource_title}. + email_intro: Ai fost numit %{role} pentru grupul de lucru "%{resource_title}". + email_outro: Ai primit această notificare deoare ești %{role} al grupului de lucru "%{resource_title}". + email_subject: Ai fost numit drept %{role} pentru "%{resource_title}". + notification_title: Ai fost numit %{role} pentru grupul de lucru %{resource_title}. help: participatory_spaces: assemblies: - contextual: "

    O organizație este un grup de membri ai unei organizații care se întrunesc periodic pentru a lua decizii cu privire la o anumită zonă sau domeniu de aplicare al organizației.

    Organizațiile țin ședințe, unele sunt private și altele sunt deschise. Dacă sunt deschise, este posibilă participarea la acestea (de exemplu: participarea la activitate, dacă capacitatea permite acest lucru; adăugarea de puncte pe ordinea de zi sau formularea de observații cu privire la propunerile și deciziile luate de acest organ).

    Exemple: o adunare generală (care se întruneşte o dată pe an pentru a defini principalele direcţii de acţiune ale organizaţiei, precum şi organele sale executive prin vot); un consiliu consultativ pentru egalitate (care se întrunește la fiecare două luni pentru a formula propuneri privind modalitățile de îmbunătățire a relațiilor de gen în organizație); o comisie de evaluare (care se întrunește lunar pentru a monitoriza un proces) sau un organism de garantare (care colectează incidentele; abuzurile sau propunerile de îmbunătățire a procedurilor decizionale) sunt toate exemple de adunări.

    \n" - page: "

    O organizație este un grup de membri ai unei organizații care se întrunesc periodic pentru a lua decizii cu privire la o anumită zonă sau domeniu de aplicare al organizației.

    Organizațiile țin ședințe, unele sunt private și altele sunt deschise. Dacă sunt deschise, este posibilă participarea la acestea (de exemplu: participarea la activitate, dacă capacitatea permite acest lucru; adăugarea de puncte pe ordinea de zi sau formularea de observații cu privire la propunerile și deciziile luate de acest organ).

    Exemple: o adunare generală (care se întruneşte o dată pe an pentru a defini principalele direcţii de acţiune ale organizaţiei, precum şi organele sale executive prin vot); un consiliu consultativ pentru egalitate (care se întrunește la fiecare două luni pentru a formula propuneri privind modalitățile de îmbunătățire a relațiilor de gen în organizație); o comisie de evaluare (care se întrunește lunar pentru a monitoriza un proces) sau un organism de garantare (care colectează incidentele; abuzurile sau propunerile de îmbunătățire a procedurilor decizionale) sunt toate exemple de adunări.

    \n" - title: Ce sunt organizațiile? + contextual: "

    Un grup de lucru reprezintă un grup de oameni care se întrunesc periodic pentru a lua decizii cu privire la o anumită zonă sau domeniu de interes.

    Grupurile de lucru organizează întâlniri, unele sunt private și altele sunt deschise. Dacă sunt deschise, oricine poate participa (de exemplu: dacă nu a fost încă atins numărul maxim de participanți pentru o anumită întâlnire te poți înscrie, poți adăuga subiecte pe ordinea de zi sau poți contribui cu comentarii la propunerile și deciziile acestui grup).

    Exemple: un grup de lucru care se întrunește pentru definirea unui regulament pentru bugetare participativă, un grup de lucru care își propune să definească temele de proiectare pentru regenerare urbană prin consultarea atât a specialiștilor cât și a cetățenilor, un consiliu consultativ pentru egalitate (care se întrunește la fiecare două luni pentru a formula propuneri privind modalitățile de îmbunătățire a relațiilor de gen în organizație); o comisie de evaluare (care se întrunește lunar pentru a monitoriza un proces) sau un organism de garantare (care colectează incidentele; abuzurile sau propunerile de îmbunătățire a procedurilor decizionale).

    \n" + page: "

    Un grup de lucru reprezintă un grup de oameni care se întrunesc periodic pentru a lua decizii cu privire la o anumită zonă sau domeniu de interes.

    Grupurile de lucru organizează întâlniri, unele sunt private și altele sunt deschise. Dacă sunt deschise, oricine poate participa (de exemplu: dacă nu a fost încă atins numărul maxim de participanți pentru o anumită întâlnire te poți înscrie, poți adăuga subiecte pe ordinea de zi sau poți contribui cu comentarii la propunerile și deciziile acestui grup).

    Exemple: un grup de lucru care se întrunește pentru definirea unui regulament pentru bugetare participativă, un grup de lucru care își propune să definească temele de proiectare pentru regenerare urbană prin consultarea atât a specialiștilor cât și a cetățenilor, un consiliu consultativ pentru egalitate (care se întrunește la fiecare două luni pentru a formula propuneri privind modalitățile de îmbunătățire a relațiilor de gen în organizație); o comisie de evaluare (care se întrunește lunar pentru a monitoriza un proces) sau un organism de garantare (care colectează incidentele; abuzurile sau propunerile de îmbunătățire a procedurilor decizionale).

    \n" + title: Ce sunt grupurile de lucru? log: value_types: assembly_presenter: - not_found: 'Organizația nu a fost găsită în baza de date (ID: %{id})' + not_found: 'Grupul de lucru nu a fost găsit în baza de date (ID: %{id})' assembly_type_presenter: - not_found: 'Tipul de organizație nu a fost găsit în baza de date (ID: %{id})' + not_found: 'Tipul de grup de lucru nu a fost găsit în baza de date (ID: %{id})' menu: - assemblies: Organizații + assemblies: Grupuri de lucru metrics: assemblies: - description: Numărul de organizații create - object: organizații - title: Organizații + description: Număr de grupuri de lucru create + object: grupuri de lucru + title: Grupuri de lucru pages: home: hero: @@ -460,10 +460,10 @@ ro: highlighted_processes: processes_button_title: Link către pagina Proceselor care afișează toate procesele show: - related_assemblies: Organizații asemănătoare + related_assemblies: Grupuri de lucru asociate errors: messages: - cannot_be_blank: nu poate fi necompletat + cannot_be_blank: nu poate fi gol layouts: decidim: assemblies: @@ -471,15 +471,15 @@ ro: more_info: Mai multe informații take_part: Participă index: - children: 'Organizații: ' + children: 'Grupuri de lucru: ' organizational_chart: Grafic organizațional - promoted_assemblies: Organizații evidențiate - reset_chart: Resetare + promoted_assemblies: Grupuri de lucru evidențiate + reset_chart: Resetează order_by_assemblies: assemblies: - one: "%{count} ansambluri" - few: "%{count} ansambluri" - other: "%{count} organizații" + one: "%{count} grup de lucru" + few: "%{count} grupuri de lucru" + other: "%{count} grupuri de lucru" promoted_assembly: more_info: Mai multe informații take_part: Participă diff --git a/decidim-assemblies/config/locales/sv.yml b/decidim-assemblies/config/locales/sv.yml index 88b54e4fd0a15..bf205337ff2dd 100644 --- a/decidim-assemblies/config/locales/sv.yml +++ b/decidim-assemblies/config/locales/sv.yml @@ -390,6 +390,7 @@ sv: followers_count: Följare headline: Statistik meetings_count: Möten + no_stats: Det finns inga statistik ännu. orders_count: Stöd pages_count: Sidor participants_count: Deltagare diff --git a/decidim-blogs/config/locales/pl.yml b/decidim-blogs/config/locales/pl.yml index f0c07cf456e3d..9b5676f2d3954 100644 --- a/decidim-blogs/config/locales/pl.yml +++ b/decidim-blogs/config/locales/pl.yml @@ -48,7 +48,7 @@ pl: author: Autor body: Treść created_at: Utworzono - title: tytuł + title: Tytuł posts: show: back: Powrót do listy diff --git a/decidim-blogs/config/locales/ro-RO.yml b/decidim-blogs/config/locales/ro-RO.yml index 2134e230df2c0..aa4449f73489c 100644 --- a/decidim-blogs/config/locales/ro-RO.yml +++ b/decidim-blogs/config/locales/ro-RO.yml @@ -5,57 +5,57 @@ ro: activerecord: models: decidim/blogs/post: - one: Postează - few: Mesaje - other: Mesaje + one: Postare + few: Postări + other: Postări decidim: blogs: actions: - confirm_destroy: Sunteţi sigur că doriţi să ştergeţi acest post? - destroy: Ștergere - edit: Editare + confirm_destroy: Ești sigur(ă) că vrei să ştergi această postare? + destroy: Șterge + edit: Editează new: Postare nouă title: Acțiuni admin: models: components: - body: Corp + body: Conținut post: name: Postează posts: create: invalid: A apărut o eroare la crearea acestei postări - success: Postare creată cu succes + success: Postarea a fost creată cu succes destroy: - success: Postare stearsa cu succes + success: Postarea a fost ștearsă cu succes edit: - save: Actualizare + save: Actualizează title: Editează postarea index: - title: Mesaje + title: Postări new: - create: Crează - title: Crează postare + create: Creează + title: Creează postare update: invalid: A apărut o eroare la salvarea postării. - success: Postare salvata cu succes + success: Postarea a fost salvată cu succes last_activity: new_post_at_html: "Postare nouă la %{link}" models: post: fields: author: Autor - body: Corp + body: Conținut created_at: Creat la title: titlu posts: show: back: Înapoi la listă comments: Comentarii - view: Vizualizare + view: Vizualizează sidebar_blog: comments: comentarii - most_commented_posts: Cele mai comentate mesaje + most_commented_posts: Cele mai comentate postări read_more: Citește mai mult components: blogs: @@ -64,23 +64,23 @@ ro: global: announcement: Anunţ comments_enabled: Comentarii activate - comments_max_length: Lungimea maximă a comentariilor (Leave 0 pentru valoarea implicită) + comments_max_length: Lungimea maximă a comentariilor (lăsați 0 pentru valoarea implicită) step: announcement: Anunţ comments_blocked: Comentarii blocate - endorsements_blocked: Aprobări blocate - endorsements_enabled: Aprobări activate + endorsements_blocked: Susțineri blocate + endorsements_enabled: Susțineri activate events: blogs: post_created: email_intro: Postarea "%{resource_title}" a fost publicată în "%{participatory_space_title}" pe care o urmărești. - email_outro: Ați primit această notificare deoarece urmăriți „%{participatory_space_title}”. O puteți anula de la link-ul anterior. + email_outro: Ai primit această notificare deoarece urmărești „%{participatory_space_title}”. Poți anula abonarea de la link-ul anterior. email_subject: Postare nouă publicată în %{participatory_space_title} notification_title: Postarea %{resource_title} a fost publicată în %{participatory_space_title} pages: home: statistics: - posts_count: Mesaje + posts_count: Postări participatory_processes: statistics: - posts_count: Mesaje + posts_count: Postări diff --git a/decidim-budgets/config/locales/ro-RO.yml b/decidim-budgets/config/locales/ro-RO.yml index c21f36c711bb1..277d21584558d 100644 --- a/decidim-budgets/config/locales/ro-RO.yml +++ b/decidim-budgets/config/locales/ro-RO.yml @@ -2,17 +2,17 @@ ro: activemodel: attributes: budget: - decidim_scope_id: Domeniu + decidim_scope_id: Domeniu de interes description: Descriere title: Titlu total_budget: Total budget - weight: Pondere + weight: Ordinea în poziționare project: budget_amount: Sumă bugetară decidim_category_id: Categorie - decidim_scope_id: Domeniu + decidim_scope_id: Domeniu de interes description: Descriere - proposal_ids: Propuneri conexe + proposal_ids: Propuneri asociate selected: Selectate pentru implementare title: Titlu activerecord: @@ -26,7 +26,7 @@ ro: actions: attachment_collections: Dosare attachments: Atașamente - confirm_destroy: Sunteţi sigur că doriţi să ştergeţi acest proiect? + confirm_destroy: Ești sigur(ă) că vrei să ştergi acest proiect? destroy: Ștergere edit: Editare edit_projects: Gestionați proiectele @@ -52,7 +52,7 @@ ro: users_with_finished_orders: Utilizatori cu voturi finalizate users_with_pending_orders: Utilizatori cu voturi în așteptare new: - create: Creați un buget + create: Creează un buget title: Buget nou update: invalid: A apărut o eroare la actualizarea acestui buget @@ -79,48 +79,48 @@ ro: selected: Selectate title: Proiecte new: - create: Crează + create: Creează title: Proiect nou update: invalid: A apărut o eroare la actualizarea acestui proiect - success: Proiect actualizat cu succes + success: Proiectul a fost actualizat cu succes proposals_imports: create: invalid: A apărut o problemă la importul propunerilor în proiecte success: "%{number} propuneri importate cu succes în proiecte" new: create: Importă propuneri în proiecte - no_components: Nu există alte componente de propunere în acest spațiu participativ pentru a importa propunerile în proiecte. - select_component: Vă rugăm să selectaţi o componentă + no_components: Nu există alte componente de propuneri în acest spațiu participativ pentru a importa propunerile în proiecte. + select_component: Te rugăm selectează o componentă title: Importă propuneri admin_log: budget: create: "%{user_name} a creat bugetul %{resource_name} în spațiul %{space_name}" - delete: "%{user_name} a șters bugetul %{resource_name} în spațiul %{space_name}" - update: "%{user_name} a actualizat bugetul %{resource_name} în spațiul %{space_name}" + delete: "%{user_name} a șters bugetul %{resource_name} din spațiul %{space_name}" + update: "%{user_name} a actualizat bugetul %{resource_name} din spațiul %{space_name}" project: create: "%{user_name} a creat proiectul %{resource_name} în spațiul %{space_name}" - delete: "%{user_name} a șters proiectul %{resource_name} în spațiul %{space_name}" - update: "%{user_name} a actualizat proiectul %{resource_name} în spațiul %{space_name}" + delete: "%{user_name} a șters proiectul %{resource_name} din spațiul %{space_name}" + update: "%{user_name} a actualizat proiectul %{resource_name} din spațiul %{space_name}" budget: - view: Vezi toate proiectele bugetare + view: Vezi toate proiectele budget_information_modal: back_to: Înapoi la %{component_name} - close_modal: Închidere + close_modal: Închide fereastra continue: Continuă more_information: Mai multe informații budgets_list: cancel_order: - more_than_one: șterge votul pentru %{name} și începe din nou - only_one: șterge votul și începe din nou. + more_than_one: șterge votul tău pentru %{name} și reia procesul + only_one: șterge votul și reia procesul. finished_message: Ai terminat procesul de vot. Mulțumim pentru participare! - highlighted_cta: Votează la %{name} - if_change_opinion: Dacă v-ați răzgândit, puteți + highlighted_cta: Votează pentru %{name} + if_change_opinion: Dacă te-ai răzgândit, poți my_budgets: Bugetele mele voted_on: Ai votat pentru %{links} limit_announcement: - cant_vote: Nu puteți vota pentru acest buget. Încercați un alt buget. - limit_reached: Voturi active în %{links}. Pentru a vota cu privire la acest buget, trebuie să ștergeți votul și să reîncepeți. + cant_vote: Nu poți vota pentru acest buget. Încearcă un alt buget. + limit_reached: Ai voturi active în %{links}. Pentru a vota în acest buget, trebuie să ștergi votul și să reiei procesul. models: budget: fields: @@ -132,31 +132,51 @@ ro: title: Titlu order_summary_mailer: order_summary: - selected_projects: 'Proiectele pe care le-aţi selectat sunt:' - subject: Ați votat pentru spațiul participativ %{space_name} - voted_on_space: Ați votat asupra bugetului %{budget_name} pentru spațiul participativ al %{space_name}. - voted_on_space_with_scope: Ați votat bugetul pentru %{budget_name} pentru spațiul participativ %{space_name} pe %{scope_name} (%{scope_type}). + selected_projects: 'Proiectele pe care le-ai selectat sunt:' + subject: Ai votat pentru spațiul participativ %{space_name} + voted_on_space: Ai votat pentrul bugetul %{budget_name} aferent spațiului participativ %{space_name}. + voted_on_space_with_scope: Ai votat pentrul bugetul %{budget_name} aferent spațiului participativ %{space_name} pentru %{scope_name} (%{scope_type}). projects: budget_confirm: + are_you_sure: Dacă te răzgândești, poți modifica votul mai târziu. cancel: Anulează - confirm: Confirmare - description: Acestea sunt proiectele pe care aţi ales să le faceţi parte din buget. + confirm: Confirmă + description: Acestea sunt proiectele pe care ai ales să le incluzi în buget. title: Confirmă votul budget_excess: budget_excess: + description: Acest proiect depășește bugetul maxim și nu poate fi adăugat. Dacă dorești, poți șterge un proiect deja selectat pentru a-l adăuga pe acesta, putând astfel vota din nou conform preferințelor tale. title: Buget maxim depășit close: Inchide + description: Acest proiect depășește bugetul maxim și nu poate fi adăugat. Dacă dorești, poți șterge un proiect deja selectat pentru a-l adăuga pe acesta, putând astfel vota din nou conform preferințelor tale. ok: Ok + projects_excess: + description: Acest proiect depășește numărul maxim de proiecte și nu poate fi adăugat. Dacă dorești, poți șterge un proiect deja selectat pentru a-l adăuga pe acesta, putând astfel vota din nou conform preferințelor tale. + title: Numărul maxim de proiecte a fost depășit budget_summary: - are_you_sure: Ești sigur că vrei să anulezi votul? - assigned: 'Atribuit' - cancel_order: șterge votul tău și începe din nou + are_you_sure: Ești sigur(ă) că vrei să îți anulezi votul? + assigned: 'Atribuit:' + cancel_order: șterge votul și reia procesul checked_out: - description: Ai votat deja pentru buget. Dacă te-ai răzgândit, poți %{cancel_link}. - title: Votul pentru buget finalizat - title: Dumneavoastră decideţi bugetul + description: Ai votat deja pentru acest buget. Dacă te-ai răzgândit, poți %{cancel_link}. + title: Votul pentru buget a fost finalizat + minimum_projects_rule: + description: Pentru ce proiecte consideri că ar trebui să alocăm bugetul? Selectează cel puțin %{minimum_number} proiecte pe care le susții și votează apoi conform preferințelor tale pentru a defini bugetul. + instruction: "
  • Selectează cel puțin %{minimum_number} proiecte pe care le susții și votează în funcție de preferințele tale pentru a defini bugetul.
  • " + projects_rule: + description: Pentru ce proiecte consideri că ar trebui să alocăm bugetul? Selectează cel puțin %{minimum_number} și până la %{maximum_number} proiecte pe care le susții și votează apoi conform preferințelor tale pentru a defini bugetul. + instruction: "
  • Selectează cel puțin %{minimum_number} și până la %{maximum_number} proiecte pe care le susții și votează apoi conform preferințelor tale pentru a defini bugetul.
  • " + projects_rule_maximum_only: + description: Pentru ce proiecte consideri că ar trebui să alocăm bugetul? Selectează până la %{maximum_number} proiecte pe care le susții și votează apoi conform preferințelor tale pentru a defini bugetul. + instruction: "
  • Selectează până la %{maximum_number} proiecte pe care le susții și votează în funcție de preferințele tale pentru a defini bugetul.
  • " + rules: + title: Reguli privind votarea + title: Tu decizi bugetul total_budget: Buget total total_projects: Total voturi + vote_threshold_percent_rule: + description: Pentru ce proiecte consideri că ar trebui să alocăm bugetul? Alocă cel puțin %{minimum_budget} pentru proiectele pe care le susții și votează apoi conform preferințelor tale pentru a defini bugetul. + instruction: "
  • Alocă cel puțin %{minimum_budget} pentru proiectele pe care le susții și votează apoi conform preferințelor tale pentru a defini bugetul.
  • " count: projects_count: one: 1 proiect @@ -166,11 +186,16 @@ ro: category: Categorie scope: Domeniu search: Caută + status: Stadiu + status_values: + all: Toate + not_selected: Neselectate + selected: Selectate filters_small_view: close_modal: Închide fereastra filter: Filtrare - filter_by: Filtrare după - unfold: Desfășurat + filter_by: Filtrează după + unfold: Extinde order_progress: vote: Votează order_selected_projects: @@ -179,22 +204,30 @@ ro: one: proiect selectat few: proiecte selectate other: proiecte selectate - view: Vizualizare + view: Vizualizează orders: highest_cost: Cel mai mare cost - label: Ordonare proiecte de + label: Ordonează proiectele după lowest_cost: Cel mai mic cost most_voted: Cele mai votate random: Ordine aleatorie + selected: Selectate project: add: Adaugă proiectul %{resource_name} la votul tău remove: Elimină proiectul %{resource_name} din votul tău - view: Vizualizare + selected: Selectate + view: Vizualizează + votes: + one: vot + few: voturi + other: voturi + you_voted: Ai votat pentru project_budget_button: add: Adaugă la votul tău add_descriptive: Adaugă proiectul %{resource_name} la votul tău - added: Adăugat la votul dvs. + added: Adăugat la votul tău added_descriptive: Proiectul %{resource_name} a fost adăugat la votul tău + projects_for: Proiecte pentru %{name} show: budget: Buget view_all_projects: Vezi toate proiectele @@ -207,25 +240,51 @@ ro: global: announcement: Anunţ comments_enabled: Comentarii activate - comments_max_length: Lungimea maximă a comentariilor (Leave 0 pentru valoarea implicită) + comments_max_length: Lungimea maximă a comentariilor (lăsați 0 pentru valoarea implicită) form: errors: budget_voting_rule_only_one: Doar o singură regulă de vot trebuie activată budget_voting_rule_required: Este necesară o regulă de vot + landing_page_content: Pagina pentru bugetare participativă + more_information_modal: Mai multe informații projects_per_page: Proiecte pe pagină + resources_permissions_enabled: Pentru fiecare proiect pot fi setate drepturi pentru acțiuni + scope_id: Domeniu de interes + scopes_enabled: Domenii activate + title: Titlu total_budget: Buget total vote_minimum_budget_projects_number: Numărul minim de proiecte de votat - vote_rule_minimum_budget_projects_enabled: 'Permite regula: numărul minim de proiecte care urmează să fie votate pe' - vote_rule_threshold_percent_enabled: 'Activare regulă: Procentaj minim buget' - vote_threshold_percent: Pragul de vot procentual - workflow: Mod de lucru + vote_rule_minimum_budget_projects_enabled: 'Activează regula: Numărul minim de proiecte care urmează să fie votate pentru' + vote_rule_selected_projects_enabled: 'Activează regula: Numărul minim și numărul maxim de proiecte ce pot fi votate pentru' + vote_rule_threshold_percent_enabled: 'Activează regulă: Procentaj minim al bugetului' + vote_selected_projects_maximum: Numărul maxim de proiecte ce pot fi selectate + vote_selected_projects_minimum: Numărul minim de proiecte ce pot fi selectate + vote_threshold_percent: Pragul procentual pentru vot + workflow: Flux de lucru + workflow_choices: + all: 'Votare pentru toate: permite participanților să voteze în cadrul tuturor bugetelor.' + one: 'Votare pentru unul singur: permite participanților să voteze în orice buget, dar numai în unul dintre acestea.' step: announcement: Anunţ comments_blocked: Comentarii blocate - show_votes: Arată voturile + highlighted_heading: Antet evidențiat + landing_page_content: Pagina pentru bugetare participativă + list_heading: Antetul listei cu bugete + more_information_modal: Mai multe informații + show_votes: Afișează voturile title: Titlu + votes: Votare votes_choices: + disabled: Votare dezactivată enabled: Votare activată + finished: Votare terminată + events: + budgets: + budget_published: + email_intro: 'Bugetul %{resource_title} este acum activ pentru %{participatory_space_title}. Îl poți vizualiza pe această pagină:' + email_outro: Ai primit această notificare deoarece urmărești „%{participatory_space_title}”. Poți anula abonarea de la link-ul anterior. + email_subject: Bugetul %{resource_title} este în prezent activ pentru %{participatory_space_title}. + notification_title: Bugetul %{resource_title} este activ pentru %{participatory_space_title}. orders: checkout: error: A apărut o problemă la procesarea votului tău diff --git a/decidim-comments/config/locales/ro-RO.yml b/decidim-comments/config/locales/ro-RO.yml index 492df2950c128..df157c6b6971f 100644 --- a/decidim-comments/config/locales/ro-RO.yml +++ b/decidim-comments/config/locales/ro-RO.yml @@ -2,8 +2,8 @@ ro: activemodel: models: decidim/comments/comment_by_followed_user_event: Comentariu - decidim/comments/comment_created_event: Comentariu - decidim/comments/reply_created_event: Răspuns comentariu + decidim/comments/comment_created_event: Comentează + decidim/comments/reply_created_event: Răspuns la comentariu decidim/comments/user_group_mentioned_event: Menționează decidim/comments/user_mentioned_event: Menționează activerecord: @@ -13,7 +13,7 @@ ro: few: Comentarii other: Comentarii decidim/comments/comment_vote: - one: Votează + one: Vot few: Voturi other: Voturi decidim: @@ -21,11 +21,11 @@ ro: comments: create: error: A apărut o problemă la crearea comentariului. - comments_count: Numărul de comentarii + comments_count: Număr de comentarii comments_title: Comentarii last_activity: new_comment_at_html: "Comentariu nou la %{link}" - view: Vizualizare + view: Vizualizează votes: create: error: A apărut o problemă la votarea comentariului. @@ -35,52 +35,52 @@ ro: form: body: label: Comentariu - placeholder: Ce părere aveţi despre asta? - form_error: Textul este necesar și nu poate fi mai lung de %{length} caractere. + placeholder: Ce părere ai despre asta? + form_error: Textul este obligatoriu și nu poate fi mai lung de %{length} caractere. submit: Trimite user_group_id: - label: Comentează ca + label: Comentează în calitate de opinion: - neutral: Neutral + neutral: Neutru remaining_characters: "%{count} caractere rămase" remaining_characters_1: "%{count} caracter rămas" title: Adaugă comentariul tău comment: alignment: - against: Împotriva - in_favor: În favoarea + against: Împotrivă + in_favor: Pentru deleted_user: Participant șters hide_replies: Ascunde răspunsurile - reply: Răspuns + reply: Răspunde report: - action: Raport + action: Raportează already_reported: Acest conținut este deja raportat și va fi revizuit de către un administrator. - close: Inchide + close: Închide description: Este acest conținut neadecvat? - details: Observaţii suplimentare + details: Comentarii suplimentare reasons: - does_not_belong: Conține activitate ilegală, amenințări la sinucidere, informații personale sau altceva credeți că nu aparțin de %{organization_name}. - offensive: Conține rasism, sexism, slurbii, atacuri personale, amenințări cu moartea, cereri de sinucidere sau orice formă de discurs de incitare la ură. - spam: Conține clickbait, publicitate, escrocherii sau roboți script. + does_not_belong: Conține activitate ilegală, amenințări cu sinuciderea, informații personale sau altceva ce consideri că nu aparține de %{organization_name}. + offensive: Conține rasism, sexism, insulte, atacuri personale, amenințări cu moartea, cereri de sinucidere sau orice formă de discurs de incitare la ură. + spam: Conține clickbait, publicitate, escrocherii sau script rulat de roboți. title: Raportează conținut nepotrivit show_replies: Arată %{replies_count} răspunsuri - single_comment_link_title: Obțineți link-ul către un singur comentariu + single_comment_link_title: Obțineți link pentru un singur comentariu comment_order_selector: order: best_rated: Cele mai apreciate most_discussed: Cele mai discutate - older: Vechi + older: Mai vechi recent: Recente title: 'Ordonare după:' comment_thread: title: Conversație cu %{authorName} comments: blocked_comments_for_user_warning: Nu poți comenta în acest moment, dar le poți citi pe cele anterioare. - blocked_comments_warning: Comentariile sunt dezactivate în acest moment, dar le puteți citi pe cele anterioare. - comment_details_title: Detalii comentariu + blocked_comments_warning: Comentariile sunt dezactivate în acest moment, dar le poți citi pe cele anterioare. + comment_details_title: Detaliile comentariului loading: Se încarcă comentariile... - single_comment_warning: Puteţi verifica restul comentariilor aici. - single_comment_warning_title: Vedeți un singur comentariu + single_comment_warning: Poţi verifica restul comentariilor aici. + single_comment_warning_title: Poți vedea un singur comentariu title: one: "%{count} comentariu" few: "%{count} comentarii" @@ -93,44 +93,44 @@ ro: comments: comment_by_followed_user: email_intro: "%{author_name} a lăsat un comentariu în %{resource_title}. Îl poți citi în această pagină:" - email_outro: Ați primit această notificare deoarece urmăriți %{author_name}. Puteți să nu urmăriți acest utilizator de pe pagina lui de profil. - email_subject: Există un nou comentariu al lui %{author_name} în %{resource_title} - notification_title: Există un comentariu nou al %{author_name} %{author_nickname} în %{resource_title}. + email_outro: Ai primit această notificare deoarece urmărești pe „%{author_name}”. Poți anula abonarea de la acest utilizator de pe pagina sa de profil. + email_subject: Există un nou comentariu de la %{author_name} pentru %{resource_title} + notification_title: Există un comentariu nou de la %{author_name} %{author_nickname} pentru %{resource_title}. comment_by_followed_user_group: - email_intro: 'Grupul %{author_name} a lăsat un comentariu în %{resource_title}. Îl poți citi în această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{author_name}. Puteți să nu urmăriți acest grup de pe pagina sa de profil. - email_subject: Există un nou comentariu al lui %{author_name} în %{resource_title} - notification_title: Există un comentariu nou al %{author_name} %{author_nickname} în %{resource_title}. + email_intro: 'Grupul %{author_name} a lăsat un comentariu pentru %{resource_title}. Îl poți citi în această pagină:' + email_outro: Ai primit această notificare deoarece urmărești grupul „%{author_name}”. Poți anula abonarea de la acest grup de pe pagina sa de profil. + email_subject: Există un nou comentariu de la %{author_name} pentru %{resource_title} + notification_title: Există un comentariu nou de la %{author_name} %{author_nickname} pentru %{resource_title}. comment_created: - email_intro: "%{resource_title} a fost comentat. Poți citi comentariul din această pagină:" - email_outro: Ați primit această notificare deoarece urmați ""%{resource_title}" sau autorul său. O puteți anula de la link-ul anterior. - email_subject: Există un nou comentariu de la %{author_name} în %{resource_title} - notification_title: Există un nou comentariu de la %{author_name} %{author_nickname} în %{resource_title} + email_intro: "%{resource_title} a primit un comentariu. Poți citi comentariul pe această pagină:" + email_outro: Ai primit această notificare deoarece urmărești „%{resource_title}” sau pe autorii săi. Poți anula abonarea de la link-ul anterior. + email_subject: Există un nou comentariu de la %{author_name} pentru %{resource_title} + notification_title: Există un nou comentariu de la %{author_name} %{author_nickname} pentru %{resource_title} comment_downvoted: - email_intro: Comentariul tău în "%{resource_title}" a fost refuzat. Acesta are acum un total de %{upvotes} aprecieri şi %{downvotes} refuzuri. - email_outro: Ați primit această notificare deoarece sunteți autorul acestui comentariu. - email_subject: Comentariul tău în "%{resource_title}" a fost refuzat. - notification_title: Comentariul tău în "%{resource_title}" a fost refuzat. Acum are un total de %{upvotes} aprecieri și %{downvotes} refuzuri. + email_intro: Comentariul tău pentru "%{resource_title}" a primit un vot nefavorabil. Acesta are acum un total de %{upvotes} voturi favorabile şi %{downvotes} voturi nefaborabile. + email_outro: Ai primit această notificare deoarece ești autorul acestui comentariu. + email_subject: Comentariul tău pentru "%{resource_title}" a primit un vot nefavorabil. + notification_title: Comentariul tău pentru "%{resource_title}" a primit un vot nefavorabil. Acum are un total de %{upvotes} voturi favorabile și %{downvotes} voturi nefavorabile. comment_upvoted: - email_intro: Comentariul tău în "%{resource_title}" a fost apreciat. Acesta are acum un total de %{upvotes} aprecieri şi %{downvotes} refuzuri. - email_outro: Ați primit această notificare deoarece sunteți autorul acestui comentariu. - email_subject: Comentariul tău în "%{resource_title}" a fost apreciat. - notification_title: Comentariul tău în "%{resource_title}" a fost apreciat. Acum are un total de %{upvotes} aprecieri și %{downvotes} refuzuri. + email_intro: Comentariul tău pentru "%{resource_title}" a primit un vot favorabil. Acesta are acum un total de %{upvotes} voturi favorabile și %{downvotes} voturi nefavorabile. + email_outro: Ai primit această notificare deoarece ești autorul acestui comentariu. + email_subject: Comentariul tău pentru "%{resource_title}" a primit un vot favorabil. + notification_title: Comentariul tău în "%{resource_title}" a primit un vot favorabil. Acum are un total de %{upvotes} voturi faborabile și %{downvotes} voturi nefavorabile. reply_created: - email_intro: "%{author_name} a răspuns comentariului tău în %{resource_title}. Îl poți citi în această pagină:" - email_outro: Ați primit această notificare deoarece comentariul dvs. a fost răspuns. - email_subject: "%{author_name} a răspuns comentariului tău în %{resource_title}" - notification_title: %{author_name} %{author_nickname} a răspuns comentariul tău în %{resource_title} + email_intro: "%{author_name} a răspuns la comentariul tău pentru %{resource_title}. Îl poți citi în această pagină:" + email_outro: Ai primit această notificare deoarece comentariul tău a primit un răspuns. + email_subject: "%{author_name} a răspuns la comentariul tău pentru %{resource_title}" + notification_title: %{author_name} %{author_nickname} a răspuns la comentariul tău pentru %{resource_title} user_group_mentioned: - email_intro: Un grup căruia îi aparțineți a fost menționat - email_outro: Ați primit această notificare deoarece sunteți un membru al grupului %{group_name} care a fost menționat în %{resource_title}. + email_intro: Un grup de care aparți a fost menționat + email_outro: Ai primit această notificare deoarece ești un membru al grupului %{group_name} care a fost menționat în %{resource_title}. email_subject: Ai fost menționat în %{resource_title} ca membru al %{group_name} notification_title: Ai fost menționat în %{resource_title} de %{author_name} %{author_nickname} ca membru al %{group_name} %{group_nickname} user_mentioned: - email_intro: Ați fost menționat - email_outro: Ați primit această notificare deoarece ați fost menționat în %{resource_title}. + email_intro: Ai fost menționat(ă) + email_outro: Ai primit această notificare deoarece ai fost menționat în %{resource_title}. email_subject: Ai fost menționat în %{resource_title} - notification_title: Ai fost menționat în %{resource_title} de %{author_name} %{author_nickname} + notification_title: Ai fost menționat în %{resource_title} de către %{author_name} %{author_nickname} metrics: comments: description: Numărul de comentarii generate de participanți @@ -138,4 +138,4 @@ ro: title: Comentarii errors: messages: - cannot_have_comments: nu pot avea comentarii + cannot_have_comments: nu poate fi comentat diff --git a/decidim-conferences/config/locales/ja.yml b/decidim-conferences/config/locales/ja.yml index f2bffcba77bd5..51448dc8f1712 100644 --- a/decidim-conferences/config/locales/ja.yml +++ b/decidim-conferences/config/locales/ja.yml @@ -533,7 +533,7 @@ ja: comments_count: コメント conference_count: カンファレンス debates_count: ディベート - endorsements_count: 支持 + endorsements_count: オススメ headline: アクティビティ meetings_count: ミーティング orders_count: サポート diff --git a/decidim-conferences/config/locales/ro-RO.yml b/decidim-conferences/config/locales/ro-RO.yml index 0c5d5908e7156..ca7f4a410f671 100644 --- a/decidim-conferences/config/locales/ro-RO.yml +++ b/decidim-conferences/config/locales/ro-RO.yml @@ -2,13 +2,13 @@ ro: activemodel: attributes: conference: - assemblies_ids: Organizații asemănătoare + assemblies_ids: Grupuri de lucru asociate available_slots: Locuri disponibile banner_image: Imagine pentru banner - consultations_ids: Consultări conexe + consultations_ids: Consultări asociate copy_categories: Copiază categoriile copy_components: Copiază componentele - copy_features: Copiază caracteristici + copy_features: Copiază funcționalitățile decidim_scope_id: Domeniu de interes description: Descriere end_date: Data de sfârșit @@ -17,7 +17,7 @@ ro: location: Locație main_logo: Logo principal objectives: Obiective - participatory_processes_ids: Procese participative conexe + participatory_processes_ids: Procese participative asociate promoted: Evidenţiat published_at: Publicat la registration_terms: Condiții de înscriere @@ -26,29 +26,43 @@ ro: scopes_enabled: Domenii de interes activate short_description: Descriere scurtă show_statistics: Arată statistici + sign_date: Data semnării signature: Semnătură signature_name: numele semnăturii slogan: Slogan - slug: Adresă URL + slug: URL slug start_date: Data de început title: Titlu conference_media_link: date: Dată link: Link title: Titlu - weight: Greutate + weight: Ordinea în poziționare conference_partner: + link: Link logo: Logo name: Nume - weight: Greutate + partner_type: Tipul partenerului + weight: Ordinea în poziționare conference_registration_invite: email: E-mail + name: Nume + registration_type_id: Tip de înscriere + user_id: Utilizator conference_registration_type: - weight: Greutate + description: Descriere + price: Preț + title: Titlu + weight: Ordinea în poziționare conference_speaker: + affiliation: Afiliere avatar: Avatar + conference_meeting_ids: Întâlniri asociate full_name: Numele complet + personal_url: Url personal position: Poziție + short_bio: Biografie scurtă + twitter_handle: Responsabil Twitter user_id: Utilizator conference_user_role: email: E-mail @@ -108,7 +122,7 @@ ro: index: conference_speakers_title: Vorbitori de conferințe new: - create: Crează + create: Creează title: Un nou vorbitor de conferinţă. update: error: A apărut o problemă la actualizarea difuzorului conferinţei. @@ -125,7 +139,7 @@ ro: index: conference_admins_title: administratori ai conferinței new: - create: Crează + create: Creează title: Admin de conferință nouă. update: error: A apărut o problemă la actualizarea administratorului conferinței. @@ -144,7 +158,7 @@ ro: not_published: Nu este publicat published: Publicat new: - create: Crează + create: Creează title: Conferință update: error: A apărut o eroare la actualizarea conferinței. @@ -165,7 +179,7 @@ ro: index: media_links_title: Link-uri media new: - create: Crează + create: Creează title: Link media update: error: A apărut o eroare la actualizarea acestui link media. @@ -235,7 +249,7 @@ ro: price: Preț registrations_count: Numărul de înregistrări title: Titlu - weight: Greutate + weight: Ordinea în poziționare name: Tip de înregistrare partners: create: @@ -247,7 +261,7 @@ ro: title: Actualizare partener. update: Actualizare new: - create: Crează + create: Creează title: Partener nou update: error: A apărut o eroare la actualizarea unui partener pentru această conferință. @@ -269,7 +283,7 @@ ro: title: Actualizați tipul de înregistrare. update: Actualizare new: - create: Crează + create: Creează title: Tip nou de înregistrare update: error: A apărut o eroare la actualizarea unui tip de înregistrare pentru această conferință. @@ -318,7 +332,7 @@ ro: admin: conference_copies: form: - slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică acest punct la această conferință. Acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' + slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică această conferință. Acestea acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' conference_invites: create: error: A apărut o problemă la invitarea participantului să participe la conferinţă. @@ -361,7 +375,7 @@ ro: one: A existat o înregistrare. few: Au fost %{count} înregistrări. other: Au fost %{count} înregistrări. - slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică acest punct la această conferință. Acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' + slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică această conferință. Acestea acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' diplomas: edit: save: Salvează @@ -514,31 +528,31 @@ ro: already_account: Ai deja un cont în decidim? new_user: Utilizator nou? sign_in: Loghează-te pentru a te înregistra la conferință - sign_up: Creați un cont în decidim pentru a vă înregistra la conferință + sign_up: Creează un cont în platforma Decidem pentru a vă înregistra la conferință show: details: Detalii introduction: Introducere objectives: Obiective - related_assemblies: Asambluri asemănătoare - related_consultations: Consultări conexe - related_participatory_processes: Procese participative conexe + related_assemblies: Grupuri de lucru asociate + related_consultations: Consultări asociate + related_participatory_processes: Procese participative asociate statistics: answers_count: Răspunsuri comments_count: Comentarii conference_count: Conferințe debates_count: Dezbateri - endorsements_count: Susținători + endorsements_count: Susțineri headline: Activitate meetings_count: Întâlniri - orders_count: Suportă + orders_count: Voturi pages_count: Pagini - posts_count: Mesaje + posts_count: Postări projects_count: Proiecte proposals_count: Propuneri results_count: Rezultate - surveys_count: Chestionare + surveys_count: Sondaje users_count: Participanți - votes_count: Suportă + votes_count: Voturi events: conferences: conference_registration_confirmed: diff --git a/decidim-consultations/config/locales/ro-RO.yml b/decidim-consultations/config/locales/ro-RO.yml index acc873cf8510c..852ef5eaac693 100644 --- a/decidim-consultations/config/locales/ro-RO.yml +++ b/decidim-consultations/config/locales/ro-RO.yml @@ -108,7 +108,7 @@ ro: not_published: Nepublicat published: Publicat new: - create: Crează + create: Creează title: Consultare nouă results: not_visible: Rezultatele vor fi disponibile atunci când consultarea va fi închisă @@ -183,7 +183,7 @@ ro: not_published: Nu este publicat published: Publicat new: - create: Crează + create: Creează title: Întrebare nouă update: error: A apărut o problemă la actualizarea acestei întrebări. @@ -201,7 +201,7 @@ ro: title: Informaţii generale help: Folosește grupuri pentru a organiza întrebări de opțiuni multiple în pachete. new: - create: Crează + create: Creează title: Grup de răspuns nou update: error: A apărut o eroare la actualizarea acestui răspuns. @@ -218,7 +218,7 @@ ro: form: title: Informaţii generale new: - create: Crează + create: Creează title: Răspuns nou update: error: A apărut o eroare la actualizarea acestui răspuns. diff --git a/decidim-core/config/locales/ro-RO.yml b/decidim-core/config/locales/ro-RO.yml index b0b558072817f..d70f833557786 100644 --- a/decidim-core/config/locales/ro-RO.yml +++ b/decidim-core/config/locales/ro-RO.yml @@ -11,15 +11,15 @@ ro: document_number: Număr document email: E-mail name: Nume - nickname: Porecla + nickname: Pseudonim phone: Telefon report: - details: Observaţii suplimentare + details: Detalii user: about: Despre email: E-mailul dumneavoastră - name: Numele tău - nickname: Porecla + name: Numele + nickname: Pseudonim password: Parolă password_confirmation: Confirmați parola personal_url: URL personal @@ -33,27 +33,27 @@ ro: decidim/join_request_accepted_event: Solicitare de înscriere acceptată decidim/join_request_rejected_event: Solicitare de înscriere respinsă decidim/profile_updated_event: Profil actualizat - decidim/promote_to_admin: Promovat la grupul de administratori + decidim/promote_to_admin: Promovat ca administrator decidim/removed_from_group: Eliminat din grup - decidim/resource_endorsed_event: Resursă aprobată + decidim/resource_endorsed_event: Resursă susținută activerecord: attributes: decidim/user: current_password: Parola curentă email: E-mail - name: Porecla + name: Pseudonim password: Parolă password_confirmation: Confirmare parolă remember_me: Ține-mă minte models: decidim/amendment: - one: Modificare + one: Amendament few: Amendamente other: Amendamente decidim/endorsement: - one: Aprobare + one: Susținere few: Susținători - other: Susținători + other: Susțineri decidim/user: one: Participant few: Participanți @@ -63,7 +63,7 @@ ro: few: Grupuri other: Grupuri booleans: - 'false': 'Nr' + 'false': 'Nu' 'true': 'Da' carrierwave: errors: @@ -92,19 +92,19 @@ ro: confirm: close: Închide fereastra ok: Da, vreau să îmi șterg contul - question: Sunteţi sigur că doriţi să vă ştergeţi contul? + question: Ești sigur(ă) că vrei să-ți ștergi contul? title: Șterge contul meu - explanation: Vă rugăm, completați motivul pentru care doriți să vă ștergeți contul (opțional). + explanation: Care este motivul pentru care dorești să-ți ștergi (opțional). destroy: - error: A apărut o eroare la ștergerea contului dvs. - success: Contul dvs. a fost șters cu succes. + error: A apărut o eroare la ștergerea contului tău. + success: Contul tău a fost șters cu succes. show: change_password: Schimbă parola update_account: Actualizați contul update: error: A apărut o eroare la actualizarea contului tău. - success: Contul dvs. a fost actualizat cu succes. - success_with_email_confirmation: Contul dvs. a fost actualizat cu succes. Veţi primi un e-mail pentru a confirma noua dvs. adresă de e-mail. + success: Contul tău fost actualizat cu succes. + success_with_email_confirmation: Contul tău a fost actualizat cu succes. Vei primi un e-mail pentru a confirma noua ta adresă de e-mail. admin: actions: cancel: Anulează @@ -135,16 +135,16 @@ ro: organization: update: "%{user_name} a actualizat setările organizației" participatory_space_private_user: - create: "%{user_name} a invitat %{resource_name} să fie un participant privat" - create_via_csv: "%{user_name} a invitat %{resource_name} prin CSV să fie un participant privat" + create: "%{user_name} a invitat pe %{resource_name} să fie un participant privat" + create_via_csv: "%{user_name} a invitat pe %{resource_name} prin CSV să fie un participant privat" delete: "%{user_name} a eliminat participantul %{resource_name} ca participant privat" scope: - create: "%{user_name} a creat scopul %{resource_name}" - create_with_parent: "%{user_name} a creat %{resource_name} domeniu în cadrul scopului %{parent_scope}" - delete: "%{user_name} a șters scopul %{resource_name}" - delete_with_parent: "%{user_name} a şters scopul %{resource_name} în cadrul scopului %{parent_scope}" - update: "%{user_name} a actualizat domeniul %{resource_name}" - update_with_parent: "%{user_name} a actualizat %{resource_name} domeniu în cadrul scopului %{parent_scope}" + create: "%{user_name} a creat domeniul de interes %{resource_name}" + create_with_parent: "%{user_name} a creat subdomeniul %{resource_name} în cadrul domeniului %{parent_scope}" + delete: "%{user_name} a șters domeniul de interes %{resource_name}" + delete_with_parent: "%{user_name} a şters subdomeniul %{resource_name} în cadrul domeniului %{parent_scope}" + update: "%{user_name} a actualizat domeniul de interes %{resource_name}" + update_with_parent: "%{user_name} a actualizat subdomeniul %{resource_name} în cadrul domeniului %{parent_scope}" static_page: create: "%{user_name} a creat pagina statică %{resource_name}" delete: "%{user_name} a șters pagina statică %{resource_name}" @@ -152,21 +152,21 @@ ro: user: block: "%{user_name} utilizator blocat %{resource_name}" invite: "%{user_name} a invitat participantul %{resource_name} cu rolul: %{role}" - officialize: "%{user_name} a oficializat participantul %{resource_name}" + officialize: "%{user_name} a validat participantul %{resource_name}" promote: "%{user_name} a promovat %{resource_name}" remove_from_admin: "%{user_name} a eliminat participantul %{resource_name} cu rolul: %{role}" show_email: "%{user_name} a recuperat e-mailul participantului %{resource_name}" transfer: "%{user_name} a transferat participantul %{resource_name}" unblock: "%{user_name} utilizator deblocat %{resource_name}" - unofficialize: "%{user_name} a neoficializat participantul %{resource_name}" + unofficialize: "%{user_name} a revocat validarea pentru participantul %{resource_name}" user_group: reject: "%{user_name} a respins verificarea grupului %{resource_name}" verify: "%{user_name} a verificat grupul %{resource_name}" verify_via_csv: "%{user_name} a verificat grupul %{resource_name} printr-un fișier CSV" user_moderation: - unreport: "%{user_name} neraportat %{resource_type} - %{unreported_user_name}" + unreport: "%{user_name} a anulat raportarea pentru %{resource_type} - %{unreported_user_name}" admin_terms_of_use: - default_body: "

    ADMIN TERMENI DE UTILIZARE

    Avem încredere că ați primit prelegerea obișnuită de la Administratorul de Sistem local. De obicei se reduce la aceste trei lucruri:

    1. Respectă confidențialitatea altora.
    2. Gândiți-vă înainte de a da click.
    3. Cu mare putere vine o mare responsabilitate.
    " + default_body: "

    ADMIN TERMENI DE UTILIZARE

    Avem încredere că ai primit prelegerea obișnuită de la Administratorul de Sistem local. De obicei se reduce la aceste trei lucruri:

    1. Respectă confidențialitatea altora.
    2. Gândesște-te înainte de a da click.
    3. Cu o mare putere vine o mare responsabilitate.
    " alert: dismiss: Anulare notificare amendments: @@ -174,80 +174,80 @@ ro: error: S-a produs o eroare în timpul acceptării amendamentului. success: Amendamentul a fost acceptat cu succes. amendable: - amended_by: Modificat de - button: Modifică %{model_name} - error: A apărut o eroare la modificarea acestei resurse. - help_text: Îmbunătățește acest %{model_name} prin modificarea lui %{amendable_fields} - promote_button: Promovează către %{model_name} - promote_confirm_text: Sunteţi sigur că doriţi să promovaţi această emendare? - promote_help_text: Poți promova această emendare și publica ca un %{model_name} independent + amended_by: Amendament făcut de + button: Fă un amendament pentru %{model_name} + error: A apărut o eroare la trimiterea unui amendament pentru această resursă. + help_text: Îmbunătățește acest %{model_name} prin modificarea câmpurilor %{amendable_fields} + promote_button: Promovează la %{model_name} + promote_confirm_text: Sigur dorești să promovezi acest amendament? + promote_help_text: Poți promova acest amendament și îl poți publica drept o %{model_name} independentă section_heading: Amendamente (%{count}) compare_draft: continue: Continuă - no_similars_found: Nu s-au găsit emendări similare. - title: Modări similare + no_similars_found: Nu există amendamente similare. + title: Amendamente similare created: - error: A apărut o eroare la crearea proiectului de amendament. - success: Proiectul de amendament a fost creat cu succes. + error: S-a produs o eroare la crearea ciornei de amendament. + success: Ciorna de amendament a fost creată cu succes. destroy_draft: - error: A apărut o eroare la eliminarea proiectului de amendament. - success: Amendamentul schiță a fost șters cu succes. + error: A apărut o eroare la ștergerea ciornei de amendament. + success: Ciorna de amendament a fost ștearsă cu succes. edit_draft: - discard: Renunță la această schiță - discard_confirmation: Sunteţi sigur că doriţi să renunţaţi la acest proiect de amendament? - send: Previzualizare - title: Editare proiect de amendament + discard: Renunță la această ciornă + discard_confirmation: Sigur dorești să renunți la această ciornă de amendament? + send: Previzualizează + title: Editează ciorna de amendament emendation: actions: button_accept: Acceptă - button_reject: Respingere - help_text: Examinați modificările și acceptați sau respingeți acest amendament. O notificare va fi trimisă autorului (autorilor). + button_reject: Respinge + help_text: Reexaminează modificările și acceptă-le sau respinge acest amendament. O notificare va fi trimisă autorului(autorilor) său(săi). announcement: accepted: |- - Acest amendament pentru %{amendable_type} %{proposal_link} a fost - acceptat pe %{date}. + Aceast amendament pentru %{amendable_type} %{proposal_link} a fost + acceptat la data de %{date}. evaluating: |- Acest amendament pentru %{amendable_type} %{proposal_link} - este evaluat. - promoted: Promovat la un %{amendable_type}. - rejected: Acest amendament pentru %{amendable_type} %{proposal_link} a fost respins la %{date}. + este în curs de evaluare. + promoted: Promovat ca %{amendable_type}. + rejected: Acest amendament pentru %{amendable_type} %{proposal_link} a fost respins la data de %{date}. withdrawn: |- Acest amendament pentru %{amendable_type} %{proposal_link} - a fost retras de către autor. + a fost retras de autor. new: - amendment_author: Autor de modificare + amendment_author: Autorul modificării send: Crează - title: Creați un proiect de amendament + title: Creează o ciornă de amendament preview_draft: modify: Modifică publish: Publică - title: Publicare proiect de amendament + title: Publică ciorna de amendament promoted: - error: A apărut o problemă la publicarea amendamentului ca propunere nouă - success: Modificarea a fost publicată cu succes ca nouă propunere + error: A apărut o problemă la publicarea amendamentului drept propunere nouă + success: Amendamentul a fost publicat cu succes drept propunere nouă publish_draft: - error: Există o problemă la publicarea amendamentului. + error: A apărut o problemă la publicarea amendamentului. success: Amendamentul a fost publicat. rejected: - error: A apărut o eroare la respingerea acestui amendament, vă rugăm să încercați din nou mai târziu + error: A apărut o eroare la respingerea acestui amendament, te rugăm să încerci din nou mai târziu success: Amendamentul a fost respins cu succes review: back: Înapoi - heading: Revizuirea amendamentului - help_text: Examinați un amendament la %{model_name} + heading: Revizuiește amendamentul + help_text: Revizuiești un amendament pentru %{model_name} send: Acceptă amendamentul update_draft: - error: Există o problemă la actualizarea proiectului de amendament. - success: Proiectul de modificare a fost actualizat. + error: A apărut o problemă la actualizarea ciornei de amendament. + success: Ciorna de amendament a fost actualizată cu succes. withdraw: - error: A apărut o eroare la retragerea amendamentului + error: S-a produs o eroare la retragerea amendamentului success: Amendamentul a fost retras cu succes wizard_step_form: steps: '1': Creează-ți un amendament - '2': Comparați amendamentul dvs. - '3': Completați amendamentul dvs. - '4': Publicați amendamentul dvs. + '2': Compară amendamentul tău + '3': Completează amendamentul tău + '4': Publică amendamentul tău anonymous_user: Anonim application: collection: @@ -258,9 +258,9 @@ ro: document: download: Descarcă fișier documents: - related_documents: Documente conexe + related_documents: Documente asociate photos: - related_photos: Imagini asemănătoare + related_photos: Imagini asociate author: avatar: Avatar comments: @@ -268,29 +268,29 @@ ro: few: comentarii other: comentarii endorsements: - one: aprobări - few: andosări - other: andosări + one: susținere + few: susțineri + other: susțineri authorization_handlers: another_dummy_authorization_handler: - explanation: Verificați prin introducerea unui număr al pașaportului începând cu „A” + explanation: Verifică prin prin introducerea unui număr al pașaportului începând cu „A” fields: passport_number: Număr pașaport postal_code: Cod poștal name: Un alt exemplu de autorizare dummy_authorization_handler: - explanation: Fiți verificat prin introducerea unui număr de document care se termină cu "X" + explanation: Fii verificat prin introducerea unui număr de document care se termină cu "X" fields: allowed_postal_codes: Coduri poștale permise (separate prin virgulă) - allowed_scope_id: Domeniul permis + allowed_scope_id: Domeniu de interes permis document_number: Număr document postal_code: Cod poștal scope_id: Domeniu name: Exemplu de autorizare dummy_authorization_workflow: - name: Flux de lucru autorizare fictiv + name: Flux de lucru test pentru autorizare errors: - duplicate_authorization: Un participant este deja autorizat cu aceleași date. Un administrator vă va contacta pentru a verifica detaliile. + duplicate_authorization: Un participant este deja autorizat cu aceleași date. Un administrator te va contacta pentru a verifica detaliile. expired_at: A expirat la %{timestamp} expires_at: Expiră la %{timestamp} foo_authorization: @@ -298,44 +298,44 @@ ro: bar: Bară foo: Foo name: Autorizare foo - granted_at: Oferit la %{timestamp} + granted_at: Acordată la %{timestamp} renew: Reînnoire verificare sms: explanation: Trimite numărul tău de telefon mobil pentru a-ți putea verifica identitatea. name: Cod prin SMS - started_at: A început la %{timestamp} + started_at: Început la %{timestamp} authorization_modals: content: expired: authorize: Reautorizează cu "%{authorization}" - explanation: Autorizarea dvs. a expirat. Pentru a efectua această acțiune, trebuie să fiți reautorizat cu "%{authorization}". + explanation: Autorizarea ta expirat. Pentru a efectua această acțiune, trebuie să fii reautorizat cu "%{authorization}". title: Autorizarea a expirat incomplete: cancel: Anulează - explanation: 'Chiar dacă ești autorizat cu "%{authorization}", trebuie să reautorizezi pentru că ne lipsesc următoarele date:' + explanation: 'Chiar dacă ești autorizat cu "%{authorization}", trebuie să te reautorizezi pentru că ne lipsesc următoarele date:' invalid_field: "%{field}" reauthorize: Reautorizează - title: Vă rugăm să reautorizați + title: Te rugăm să reautorizezi missing: authorize: Autorizează cu "%{authorization}" explanation: Pentru a efectua această acțiune, trebuie să fii autorizat cu "%{authorization}". title: Autorizare necesară ok: - title: Ați fost autorizat în timp ce vizitați această pagină. Vă rugăm să reîncărcați pagina pentru a efectua acțiunea + title: Ați fost autorizat în timp ce vizitai această pagină. Te rugăm să reîncarci pagina pentru a efectua acțiunea pending: explanation: Pentru a efectua această acțiune, trebuie să fii autorizat cu "%{authorization}", dar autorizația ta este încă în desfășurare resume: Verifică progresul autorizării tale ”%{authorization}" - title: Autorizarea este în curs de desfăşurare + title: În proces de autorizare unauthorized: - explanation: Ne pare rău, nu puteți efectua această acțiune deoarece unele dintre datele dvs. de autorizare nu se potrivesc. + explanation: Ne pare rău, nu puteți efectua această acțiune deoarece unele dintre datele tale de autorizare nu se potrivesc. invalid_field: "Valoarea %{field} %{value} nu este validă." ok: Ok - title: Nu este autorizat + title: Neautorizat unconfirmed: - confirmation_instructions: 'Dacă nu ați primit instrucțiunile de confirmare le puteți solicita din nou:' + confirmation_instructions: 'Dacă nu ai primit instrucțiunile de confirmare le poți solicita din nou:' explanation_html: Pentru a efectua această acțiune, trebuie să fii autorizat, înainte de a face acest lucru, trebuie să confirmi adresa ta de e-mail %{email}. - request_confirmation_instructions: Instrucțiuni de confirmare - title: Confirmați e-mailul dvs. + request_confirmation_instructions: Cere instrucțiunile de confirmare + title: Confirmați e-mailul tău show: close_modal: Închide fereastra block_user_mailer: @@ -357,7 +357,7 @@ ro: no_content: Nu am putut găsi conținut cu acest criteriu order: all_types: Toate tipurile - collaborative_draft: Schiță colaborativă + collaborative_draft: Ciornă colaborativă comment: Comentariu debate: Dezbatere initiative: Inițiativă @@ -370,36 +370,36 @@ ro: actions: bar: Bară foo: Foo - name: Componenta fictiv + name: Componentă de test settings: global: amendments_enabled: Amendamente activate comments_enabled: Comentarii activate comments_max_length: Lungimea maximă a comentariilor - dummy_global_attribute_1: Atribut Dummy 1 - dummy_global_attribute_2: Atribut Dummy 2 - dummy_global_translatable_text: Text traductibil Dummy + dummy_global_attribute_1: Mostră de atribut 1 + dummy_global_attribute_2: Mostră de atribut 2 + dummy_global_translatable_text: Text-test traductibil enable_pads_creation: Activează crearea de pad-uri - resources_permissions_enabled: Permisiuni resurse activate + resources_permissions_enabled: Drepturi pentru resurse activate scope_id: Domeniu de interes - scopes_enabled: Domenii de interes activate + scopes_enabled: Domenii activate step: amendment_creation_enabled: Crearea de amendamente activată - amendment_promotion_enabled: Modificare promoție activată - amendment_reaction_enabled: Reacție de modificare activată + amendment_promotion_enabled: Promovarea amendamentelor activată + amendment_reaction_enabled: Reacția la amendamente activată amendments_visibility: Vizibilitatea amendamentului comments_blocked: Comentarii blocate dummy_step_attribute_1: Atribut fictiv 1 - dummy_step_attribute_2: Atribut fictiv pas 2 - dummy_step_translatable_text: Text traductibil paşi fichar@@0ier + dummy_step_attribute_2: Mostră de atribut 2 al etapei + dummy_step_translatable_text: Mostră de text traductibil pentru etapă contact: Contact content_blocks: cta: - name: Butonul Imagine, Text și Apel la Acțiune + name: Imagine, text și butonul Apel la acțiune cta_settings_form: background_image: Imagine de fundal - button_text: Textul butonului de Apel la acțiune - button_url: Adresă URL Acțiune + button_text: Textul butonului Apel la acțiune + button_url: URL-ul butonului Apel la acțiune description: Descriere footer_sub_hero: name: Banner suberou suberou @@ -407,7 +407,7 @@ ro: name: Imagine Erou hero_settings_form: background_image: Imagine de fundal - welcome_text: Text de întâmpinare + welcome_text: Text de bun-venit highlighted_content_banner: name: Banner conținut evidențiat highlighted_elements_settings_form: @@ -416,7 +416,7 @@ ro: random: Aleatoriu recent: Cele mai recente how_to_participate: - name: Cum să participați + name: Cum să participi html: html_content: Conținut HTML name: Bloc HTML @@ -439,7 +439,7 @@ ro: ready: Gata show: download_data: Descarcă datele - download_data_description: Un fișier care conține toate informațiile asociate contului dvs. va fi trimis la %{user_email}. Acest e-mail va conține un fișier .zip și o parolă pentru a-l deschide.

    Pentru a dezarhiva fişierul, aveţi nevoie de 7-Zip (pentru Windows) sau Keka (pentru MacOS). Dacă utilizați Linux, de cele mai multe ori îl veți instala în mod implicit. Dacă nu, puteți utiliza File Roller sau PeaZip). + download_data_description: Un fișier care conține toate informațiile asociate contului tău va fi trimis la %{user_email}. Acest e-mail va conține un fișier .zip și o parolă pentru a-l deschide.

    Pentru a dezarhiva fişierul, aveţi nevoie de 7-Zip (pentru Windows) sau Keka (pentru MacOS). Dacă utilizați Linux, de cele mai multe ori îl veți instala în mod implicit. Dacă nu, puteți utiliza File Roller sau PeaZip). request_data: Solicită date datepicker: help_text: 'Format preconizat: %{datepicker_format}' @@ -449,49 +449,48 @@ ro: email_already_exists: Un alt cont folosește aceeași adresă de e-mail new: complete_profile: Profil complet - nickname_help: Aliasul tău în %{organization}. Poate conține doar litere, numere, '-' și '_'. - sign_up: Vă rugăm să completați profilul - subtitle: Vă rugăm să completaţi următorul formular pentru a finaliza înregistrarea - username_help: Numele public care apare pe posturi. Cu scopul de a garanta anonimitatea, poate fi orice nume. + nickname_help: Pseudonimul tău în %{organization}. Poate conține doar litere, numere, '-' și '_'. + sign_up: Completează-ţi profilul + subtitle: Te rugăm să completezi următorul formular pentru a finaliza înregistrarea + username_help: Numele public care apare pe posturi. Pentru a garanta anonimitatea, poate fi orice nume. registrations: new: already_have_an_account?: Ai deja un cont? - newsletter: Primiți un buletin informativ ocazional cu informații relevante - newsletter_title: Permisiune contact - nickname_help: Aliasul tău în %{organization}. Poate conține doar litere, numere, '-' și '_'. - password_help: "minim %{minimun_characters} caractere, nu trebuie să fie prea comune (ex. 123456) și trebuie să fie diferite de porecla și adresa dvs. de e-mail." + newsletter: Primește un buletin informativ ocazional cu informații relevante + newsletter_title: Drepturi privind contactele + nickname_help: Pseudonimul tău în %{organization}. Poate conține doar litere, numere, '-' și '_'. + password_help: "minim %{minimun_characters} caractere, nu trebuie să fie prea comune (ex. 123456) și trebuie să fie diferite de pseudonimul și adresa ta de e-mail." sign_in: Autentificare sign_up: Înscrie-te sign_up_as: legend: Înregistrează-te ca - subtitle: Înscrieți-vă pentru a participa la discuții și pentru a sprijini propuneri. + subtitle: Înscrie-te pentru a participa la discuții și pentru a vota propuneri. terms: termenii și condițiile de utilizare tos_agreement: Prin înregistrare ești de acord cu %{link}. tos_title: Condiții de utilizare - username_help: Numele public care apare pe posturi. Cu scopul de a garanta anonimitatea, poate fi orice nume. + username_help: Numele public care apare pe postări. Pentru a garanta anonimitatea, poate fi orice nume. sessions: new: are_you_new?: Nou pe platformă? register: Creează un cont - sign_in_disabled: Puteți accesa un cont extern - sign_up_disabled: Înregistrarea este dezactivată, puteți utiliza un cont existent pentru a accesa + sign_in_disabled: Puteți accesa cu un cont extern + sign_up_disabled: Înregistrarea este dezactivată, poți folosi un cont existent pentru a accesa user: - timed_out: Ați fost inactiv pentru prea mult timp și ați fost deconectat automat de la serviciu. Dacă doriți să continuați să utilizați serviciul, vă rugăm să vă conectați din nou. + timed_out: Ați fost inactiv pentru prea mult timp și ai fost deconectat automat de la serviciu. Dacă dorești să continui să utilizezi serviciul, te rugăm să te conectezi din nou. shared: newsletter_modal: buttons: - check: Verificați și continuați + check: Verifică și continuă close_modal: Închide fereastra uncheck: Mențineți nebifat notice: |- -

    Hei, ești sigur că nu vrei să primești un buletin informativ?
    - Te rugăm să bifezi din nou căsuța de selectare a buletinului informativ de mai jos.
    - Este foarte important pentru noi să primim e-mailuri ocazionale - pentru a face anunţuri importante, puteți schimba întotdeauna acest lucru pe pagina de setări pentru notificări - .

    -

    Dacă nu bifați căsuța, este posibil să nu aveți informații relevante +

    Hei, ești sigur(ă) că nu vrei să primești un buletin informativ?
    + Te rugăm să reconsideri bifarea din nou a căsuței de selectare a buletinului informativ de mai jos.
    + Este foarte important pentru noi să poți primi e-mailuri ocazionale + pentru a face anunţuri importante, poți schimba întotdeauna acest lucru pe pagina de setări pentru notificări.

    +

    Dacă nu bifezi căsuța, este posibil să nu ai acces la informații relevante despre noile oportunități de participare din cadrul platformei.
    - Dacă încă dorești să eviți primirea buletinelor informative, vom înțelege perfect + Dacă încă dorești să eviți primirea buletinelor informative, înțelegem perfect decizia ta.

    Mulțumim că ai citit asta!

    title: Notificări newsletter @@ -507,20 +506,20 @@ ro: publish_content: Publică conținut pentru tine see_email: Vezi e-mailul tău see_name: Vezi numele tău - see_username: Vezi porecla + see_username: Vezi pseudonimul tău this_application_will_be_able_to: 'Această aplicație va putea să:' this_application_will_not_be_able_to: 'Această aplicație nu va putea să:' - update_profile: Actualizați-vă profilul + update_profile: Actualizeză-ți profilul wants_to_use_your_account_html: "%{application_name} vrea să folosească contul tău" endorsable: endorsements: Susținători - endorsements_count: Număr de aprobări + endorsements_count: Număr de susțineri endorsement_buttons_cell: - already_endorsed: Aprobat - endorse: Aprobare + already_endorsed: Susținut + endorse: Susține endorsements: identities: - done: Terminat + done: Finalizat select_identity: Selectare identitate errors: internal_server_error: @@ -534,164 +533,164 @@ ro: amendments: amendment_accepted: affected_user: - email_intro: 'Un amendament a fost acceptat pentru %{amendable_title}. Îl puteţi vedea de pe această pagină:' + email_intro: 'A fost acceptat un amendament pentru %{amendable_title}. Îl poţi vedea de pe această pagină:' email_outro: Ați primit această notificare deoarece sunteți un autor al %{amendable_title}. email_subject: Amendamentul acceptat pentru %{amendable_title} de la %{emendation_author_nickname} - notification_title: Amendamentul creat de %{emendation_author_nickname} a fost acceptat pentru %{amendable_title}. + notification_title: Amendamentul creat de %{emendation_author_nickname} a fost acceptat pentru %{amendable_title}. follower: - email_intro: 'Un amendament a fost acceptat pentru %{amendable_title}. Îl puteţi vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{amendable_title}. Puteți înceta să primiți notificări urmând linkul anterior. + email_intro: 'Un amendament a fost acceptat pentru %{amendable_title}. Îl poți vedea de pe această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{amendable_title}. Poți înceta să primești notificări urmând linkul anterior. email_subject: Amendamentul acceptat pentru %{amendable_title} de la %{emendation_author_nickname} notification_title: Amendamentul creat de %{emendation_author_nickname} a fost acceptat pentru %{amendable_title}. amendment_created: affected_user: - email_intro: 'Un nou amendament a fost creat pentru %{amendable_title}. Îl puteți vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece sunteți un autor al %{amendable_title}. + email_intro: 'A fost creat un nou amendament pentru %{amendable_title}. Îl poți vedea de pe această pagină:' + email_outro: Ai primit această notificare deoarece ești autorul amendamentului %{amendable_title}. email_subject: Nou amendament pentru %{amendable_title} notification_title: A fost creat un nou amendament pentru %{amendable_title}. follower: - email_intro: 'Un nou amendament a fost creat pentru %{amendable_title}. Îl puteți vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{amendable_title}. Puteți înceta să primiți notificări urmând linkul anterior. + email_intro: 'Un nou amendament a fost creat pentru %{amendable_title}. Îl poți vedea de pe această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{amendable_title}. Poți înceta să primești notificări urmând linkul anterior. email_subject: Nou amendament pentru %{amendable_title} notification_title: A fost creat un nou amendament pentru %{amendable_title}. amendment_promoted: affected_user: - email_intro: 'Un amendament respins pentru %{amendable_title} a fost publicat ca un nou %{amendable_type}. Îl puteți vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece sunteți un autor al %{amendable_title}. - email_subject: Un amendament de la %{emendation_author_nickname} a fost publicat ca o nouă %{amendable_type} + email_intro: 'Un amendament respins pentru %{amendable_title} a fost publicat ca un nou %{amendable_type}. Îl poți vedea de pe această pagină:' + email_outro: Ai primit această notificare deoarece ești autorul amendamentului %{amendable_title}. + email_subject: Un amendament primit de la %{emendation_author_nickname} a fost publicat ca un nou %{amendable_type} notification_title: Un amendament respins pentru %{amendable_title} a fost publicat ca un nou %{amendable_type} de %{emendation_author_nickname}. follower: - email_intro: 'Un amendament respins pentru %{amendable_title} a fost publicat ca un nou %{amendable_type}. Îl puteți vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{amendable_title}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Un amendament de la %{emendation_author_nickname} a fost publicat ca o nouă %{amendable_type} + email_intro: 'Un amendament respins pentru %{amendable_title} a fost publicat ca un nou %{amendable_type}. Îl poți vedea de pe această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{amendable_title}. Poți înceta să primești notificări urmând linkul anterior. + email_subject: Un amendament primit de la %{emendation_author_nickname} a fost publicat ca un nou %{amendable_type} notification_title: Un amendament respins pentru %{amendable_title} a fost publicat ca un nou %{amendable_type} de %{emendation_author_nickname}. amendment_rejected: affected_user: - email_intro: 'Un amendament a fost respins pentru %{amendable_title}. Îl puteți vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece sunteți un autor al %{amendable_title}. + email_intro: 'Un amendament a fost respins pentru %{amendable_title}. Îl poți vedea de pe această pagină:' + email_outro: Ai primit această notificare deoarece ești autorul %{amendable_title}. email_subject: Amendament respins pentru %{amendable_title} de la %{emendation_author_nickname} - notification_title: Amendamentul creat de %{emendation_author_nickname} a fost respins pentru %{amendable_title}. + notification_title: Amendamentul creat de %{emendation_author_nickname} a fost respins pentru %{amendable_title}. follower: - email_intro: 'Un amendament a fost respins pentru %{amendable_title}. Îl puteți vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{amendable_title}. Puteți înceta să primiți notificări urmând linkul anterior. + email_intro: 'Un amendament a fost respins pentru %{amendable_title}. Îl poți vedea de pe această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{amendable_title}. Poți înceta să primești notificări urmând linkul anterior. email_subject: Amendament respins pentru %{amendable_title} de la %{emendation_author_nickname} - notification_title: Amendamentul creat de %{emendation_author_nickname} a fost respins pentru %{amendable_title}. + notification_title: Amendamentul creat de %{emendation_author_nickname} a fost respins pentru %{amendable_title}. attachments: attachment_created: - email_intro: 'Un nou document a fost adăugat la %{resource_title}. Îl puteți vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{resource_title}. Puteți înceta să primiți notificări urmând linkul anterior. + email_intro: 'Un nou document a fost adăugat la %{resource_title}. Îl poți vedea de pe această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{resource_title}. Poți înceta să primești notificări urmând linkul anterior. email_subject: O actualizare la %{resource_title} notification_title: Un nou document a fost adăugat la %{resource_title} components: component_published: - email_intro: 'Componenta %{resource_title} este acum activă pentru %{participatory_space_title}. O puteți vedea din această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. + email_intro: 'Componenta %{resource_title} este acum activă pentru %{participatory_space_title}. O poți vedea din această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{participatory_space_title}. Poți înceta să primești notificări urmând linkul anterior. email_subject: O actualizare la %{participatory_space_title} notification_title: Componenta %{resource_title} este acum activă pentru %{participatory_space_title} email_event: - email_greeting: Bună ziua %{user_name}, - email_intro: 'A existat o actualizare la "%{resource_title}". O puteţi vedea din această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți „%{resource_title}”. O puteți anula de la link-ul anterior. + email_greeting: Salut %{user_name}, + email_intro: 'A existat o actualizare la "%{resource_title}". O poţi vedea din această pagină:' + email_outro: Ai primit această notificare deoarece urmărești „%{resource_title}”. O poți anula de la link-ul anterior. email_subject: O actualizare la %{resource_title} gamification: badge_earned: email_intro: Felicitări! Ai câștigat %{badge_name} insignă (nivelul %{current_level}). - email_outro: Ați primit această notificare deoarece ați făcut activitate pe site-ul nostru. + email_outro: Ai primit această notificare deoarece ai creat o activitate pe site-ul nostru. email_subject: 'Ai câștigat o insignă nouă: %{badge_name}!' notification_title: Felicitări! Ai câștigat %{badge_name} insignă (nivelul %{current_level}). level_up: email_intro: Felicitări! Ai atins nivelul %{current_level} pe insigna %{badge_name}! - email_outro: Ați primit această notificare deoarece ați făcut activitate pe site-ul nostru. + email_outro: Ai primit această notificare deoarece ai creat o activitate pe site-ul nostru. email_subject: Ai ajuns la nivelul %{current_level} pe insigna %{badge_name}! notification_title: Felicitări! Ai atins nivelul %{current_level} pe insigna %{badge_name}! groups: demoted_membership: - email_intro: Un administrator al grupului %{user_group_name} a eliminat drepturile dumneavoastră de administrator din acel grup. - email_outro: Ați primit această notificare deoarece sunteți membru al acelui grup. + email_intro: Un administrator al grupului %{user_group_name} a eliminat drepturile tale de administrator din acel grup. + email_outro: Ai primit această notificare deoarece ești membru al acelui grup. email_subject: Nu mai ești administrator al grupului %{user_group_name}! notification_title: Nu mai ești administrator al grupului %{user_group_name}. invited_to_group: - email_intro: Un administrator al grupului %{user_group_name} te-a invitat să te alăture. - email_outro: Ați primit această notificare deoarece ați fost invitat într-un grup. Vă rugăm să verificați fila Grupuri din profilul dvs. pentru a o aproba. + email_intro: Un administrator al grupului %{user_group_name} te-a invitat să te alături. + email_outro: Ai primit această notificare deoarece ai fost invitat într-un grup. Te rugăm să verifici fila Grupuri din profilul tău pentru a o aproba. email_subject: Ai fost invitat să te alături grupului %{user_group_name}! - notification_title: Ați fost invitat să vă alăturați grupului %{user_group_name} . Verificați pagina Grupuri din profilul dvs. pentru a o aproba! + notification_title: Ai fost invitat să te alături grupului %{user_group_name}. Verifică pagina Grupuri din profilul tău pentru a o aproba! join_request_accepted: email_intro: Felicitări! Un administrator al grupului %{user_group_name} a acceptat cererea ta de a te alătura. - email_outro: Ați primit această notificare deoarece solicitarea dvs. de aderare a fost actualizată. + email_outro: Ai primit această notificare deoarece solicitarea ta de aderare a fost actualizată. email_subject: Ai fost acceptat în grupul %{user_group_name}! notification_title: Ați fost acceptat pentru grupul %{user_group_name}. join_request_created: - email_intro: Cineva a solicitat să se alăture grupului %{user_group_name} . Îl puteți accepta sau respinge de la pagina membrilor grupului. - email_outro: Ați primit această notificare, deoarece puteți gestiona grupul %{user_group_name}. + email_intro: Cineva a solicitat să se alăture grupului %{user_group_name}. Îl poți accepta sau respinge de la pagina membrilor grupului. + email_outro: Ai primit această notificare, deoarece poți gestiona grupul %{user_group_name}. email_subject: Cineva a solicitat să se alăture grupului %{user_group_name}! - notification_title: Cineva a solicitat să se alăture grupului %{user_group_name} . Îl puteți accepta sau respinge de la pagina membrilor grupului. + notification_title: Cineva a solicitat să se alăture grupului %{user_group_name}. Îl poți accepta sau respinge de la pagina membrilor grupului. join_request_rejected: - email_intro: Un administrator al grupului %{user_group_name} a respins cererea dvs. de a se alătura. - email_outro: Ați primit această notificare deoarece solicitarea dvs. de aderare a fost actualizată. + email_intro: Un administrator al grupului %{user_group_name} a respins cererea ta de a te alătura. + email_outro: Ai primit această notificare deoarece solicitarea ta de aderare a fost actualizată. email_subject: Cererea ta de a te alătura grupului %{user_group_name} a fost respinsă! notification_title: Cererea ta de a te alătura grupului %{user_group_name} a fost respinsă. promoted_to_admin: email_intro: Un administrator al grupului %{user_group_name} ți-a acordat drepturi de administrator acelui grup. - email_outro: Ați primit această notificare deoarece sunteți membru al acelui grup. + email_outro: Ai primit această notificare deoarece ești membru al acelui grup. email_subject: Acum ești administrator al grupului %{user_group_name}! notification_title: Acum ești administrator al grupului %{user_group_name}. removed_from_group: email_intro: Un administrator al grupului %{user_group_name} te-a eliminat din el. - email_outro: Ați primit această notificare deoarece ați fost membru al acelui grup. + email_outro: Ai primit această notificare deoarece ai fost membru al acelui grup. email_subject: Ai fost eliminat din grupul %{user_group_name}! - notification_title: Ați fost eliminat din grupul %{user_group_name}. + notification_title: Ai fost eliminat din grupul %{user_group_name}. user_group_created: - email_intro: Un nou grup de utilizatori a fost creat cu numele %{user_group_name}. Acum îl puteți verifica în panoul de administratori. - email_outro: Ați primit această notificare deoarece sunteți un administrator al platformei. + email_intro: Un nou grup de utilizatori a fost creat cu numele %{user_group_name}. Acum îl poți verifica în panoul de administratori. + email_outro: Ai primit această notificare deoarece ești un administrator al platformei. email_subject: A fost creat un nou grup de utilizatori - notification_title: Grupul de utilizatori %{user_group_name} a fost creat. Acum îl puteți verifica în panoul de administratori. + notification_title: Grupul de utilizatori %{user_group_name} a fost creat. Acum îl poți verifica în panoul de administratori. user_group_updated: - email_intro: Un grup de utilizatori cu numele %{user_group_name} și-a actualizat profilul, lăsându-l neverificat. Acum îl puteți verifica în panoul de administrare. - email_outro: Ați primit această notificare deoarece sunteți un administrator al platformei. + email_intro: Un grup de utilizatori cu numele %{user_group_name} și-a actualizat profilul, lăsându-l neverificat. Acum îl poți verifica în panoul de administrare. + email_outro: Ai primit această notificare deoarece ești un administrator al platformei. email_subject: Un grup de utilizatori și-a actualizat profilul - notification_title: Grupul de utilizatori %{user_group_name} și-a actualizat profilul, lăsând neverificat. Acum îl puteți verifica în panoul de administratori. + notification_title: Grupul de utilizatori %{user_group_name} și-a actualizat profilul, lăsând neverificat. Acum îl poți verifica în panoul de administratori. notification_event: notification_title: A apărut un eveniment pentru %{resource_title}. reports: resource_hidden: email_intro: Un administrator a eliminat %{resource_type} deoarece a fost raportat ca %{report_reasons}. - email_outro: Ați primit această notificare deoarece sunteți un autor al conținutului șters. + email_outro: Ai primit această notificare deoarece ești un autor al conținutului șters. email_subject: '%{resource_type} tău a fost eliminat' notification_title: |- Un administrator a eliminat %{resource_type} deoarece a fost raportat ca %{report_reasons}.
    %{resource_content} resource_endorsed: email_intro: '%{endorser_name} %{endorser_nickname}, pe care îl urmărești, tocmai a aprobat „%{resource_title}” și noi credem că ar putea fi interesant pentru tine. Verificați și contribuția:' - email_outro: Ați primit această notificare deoarece urmăriți %{endorser_nickname}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: "%{endorser_nickname} a efectuat o nouă aprobare" - notification_title: %{resource_title} %{resource_type} a fost aprobat de %{endorser_name} %{endorser_nickname}. + email_outro: Ai primit această notificare deoarece urmărești %{endorser_nickname}. Poți înceta să primești notificări urmând linkul anterior. + email_subject: "%{endorser_nickname} a susținut un conținut nou" + notification_title: Inițiativa %{resource_title} %{resource_type} a fost susținută de %{endorser_name} %{endorser_nickname}. users: profile_updated: email_intro: Pagina de profil din %{name} (%{nickname}), pe care o urmărești, a fost actualizată. - email_outro: Ați primit această notificare deoarece urmăriți %{nickname}. Puteți înceta să primiți notificări urmând linkul anterior. + email_outro: Ai primit această notificare deoarece urmărești %{nickname}. Poți înceta să primești notificări urmând linkul anterior. email_subject: "%{nickname} și-a actualizat profilul" notification_title: Pagina de profil din %{name} (%{nickname}), pe care o urmărești, a fost actualizată. export_mailer: data_portability_export: - click_button: 'Faceți clic pe următorul link pentru a descărca datele.
    Fișierul va fi disponibil până la %{date}.
    Veţi avea nevoie de 7-Zip (pentru Windows), Keka (pentru MacOS) sau PeaZip (pentru Linux) pentru a-l deschide. Parola: %{password}' + click_button: 'Dă-i clic pe următorul link pentru a descărca datele.
    Fișierul va fi disponibil până la %{date}.
    Vei avea nevoie de 7-Zip (pentru Windows), Keka (pentru MacOS) sau PeaZip (pentru Linux) pentru a-l deschide. Parola: %{password}' download: Descărcare export: - ready: Găsiți atașat o versiune zip a exportului dvs. + ready: Atașat vei găsi o versiune arhivată a exportului. subject: Exportul tău "%{name}este gata filters: linked_classes: all: Toate - collaborative_draft: Schiță colaborativă - dummy_resource: Resurse fictive + collaborative_draft: Ciornă colaborativă + dummy_resource: Resurse-test meeting: Întâlniri project: Proiecte proposal: Propuneri result: Rezultate fingerprint: check: Verifică amprenta - explanation: Partea de text de mai jos este o reprezentare scurtă, spart a acestui conținut. Este util să se asigure că conținutul nu a fost modificat, deoarece o singură modificare ar avea ca rezultat o valoare total diferită. + explanation: Partea de text de mai jos este o reprezentare scurtă a acestui conținut. Este util să se asigure că conținutul nu a fost modificat, deoarece o singură modificare ar avea ca rezultat o valoare total diferită. online_calculator_name: Calculator MD5 online - replicate_help: Această amprentă este calculată folosind un algoritm de fixare SHA256. Pentru a-l copia singur, puteţi folosi un %{online_calculator_link} şi copia datele sursă. + replicate_help: Această amprentă este calculată folosind un algoritm de fixare SHA256. Pentru a-l copia singur/ă, poți folosi un %{online_calculator_link} şi copia datele sursă. source: Sursa title: Amprentă value: Valoare @@ -702,15 +701,15 @@ ro: other: "%{count} urmăritori" no_followers: Nici un urmăritor încă. following: - no_followings: Încă nu urmează pe nimeni sau nimic. + no_followings: Încă nu urmărește pe nimeni sau nimic. follows: create: button: Urmărește error: A apărut o problemă la urmărirea acestei resurse. participatory_space: Urmăriți%{resource_name} destroy: - button: Oprește urmărirea - error: A apărut o problemă la neurmărirea acestei resurse. + button: Nu doresc să mai urmăresc + error: A apărut o problemă la anularea urmăririi acestei resurse. forms: current_file: Fişier curent current_image: Imaginea curentă @@ -724,7 +723,7 @@ ro: file: explanation: 'Orientări pentru fișier:' message_1: Are o imagine sau un document. - message_2: Pentru imagini, utilizați preferabil formatul landscape, serviciul va decupa imaginea. Pentru fișierele CSV, separatorul de coloane trebuie să fie virgula + message_2: Pentru imagini, utiilizează preferabil formatul landscape, serviciul va decupa imaginea. Pentru fișierele CSV, separatorul de coloane trebuie să fie virgula image: explanation: 'Orientări pentru imagine:' message_1: De preferință o imagine landscape care să nu conțină vreun text. @@ -738,14 +737,14 @@ ro: badges: followers: conditions: - - A fi activ și a urmări alte persoane vă va face cu siguranță pe ceilalți să vă urmeze. - description: Această insignă este acordată atunci când atingeți un anumit număr de adepți. %{organization_name} este o rețea socială și politică, conectează-ți rețeaua pentru a comunica cu alți oameni de pe platformă. + - A fi activ și a urmări alte persoane îi va face cu siguranță pe ceilalți să te urmărească. + description: Această insignă este acordată atunci când atingi un anumit număr de urmăritori. %{organization_name} este o rețea socială și politică, conectează-ți rețeaua pentru a comunica cu alți oameni de pe platformă. description_another: Acest participant are %{score} urmăritori. description_own: "%{score} persoane te urmăresc." name: Urmăritori - next_level_in: Primește încă %{score} persoane pentru a te urmări pentru a atinge următorul nivel! + next_level_in: Obțineți încă %{score} urmăritori pentru a atinge următorul nivel! unearned_another: Acest participant nu are încă niciun urmăritor. - unearned_own: Încă nu aveți urmăritori. + unearned_own: Încă nu ai urmăritori. index: badge_title: "%{name} insignă" how: Cum poți să o câștigi @@ -754,9 +753,9 @@ ro: invitations: conditions: - Folosește link-ul "invită prieteni" de pe pagina ta de utilizator pentru a-ți invita prietenii - - Personalizați, dacă doriți, mesajul pe care îl trimiteți + - Personalizează, dacă dorești, mesajul pe care îl trimiți - Vei crește în nivel trimițând invitații și primindu-le înregistrate. - description: Această insignă este acordată atunci când ai invitat câțiva oameni și au petrecut puțin timp să se înregistreze în %{organization_name} și să devină participanți. Îți mulțumim că ai făcut %{organization_name} cunoscut altora și ai ajutat la extinderea comunității! + description: Această insignă este acordată atunci când ai invitat câțiva oameni și aceștia au petrecut puțin timp să se înregistreze în %{organization_name} și să devină participanți. Îți mulțumim că ai făcut %{organization_name} cunoscută și altora existența comunității și ai ajutat la extinderea ei! description_another: Acest participant a invitat %{score} persoane. description_own: Ai invitat %{score} persoane. name: Invitații @@ -765,23 +764,23 @@ ro: unearned_own: Nu ai invitat încă pe nimeni. description: Insignele sunt recunoașterea acțiunilor participanților și progresele înregistrate în cadrul platformei. Pe măsură ce începi să descoperi, să participi și să interacționezi în platformă, vei câștiga diferite insigne. level: Nivelul %{level} - reached_top: Ai atins nivelul superior pentru această insignă. + reached_top: Ai atins nivelul maxim pentru această insignă. group_admins: actions: - are_you_sure: Ești sigur? Acest lucru nu va elimina participantul din grup. + are_you_sure: Ești sigur(ă)? Acest lucru nu va elimina participantul din grup. demote_admin: Elimină administratorul demote: error: A apărut o eroare la eliminarea acestui participant din lista de administratori success: Participantul a fost șters din administrator index: current_admins: 'Administratori curenți:' - manage_admins: Gestionează administratorii + manage_admins: Gestionare administratori group_invites: accept: error: A apărut o eroare la acceptarea acestei invitații success: Invitație acceptată cu succes accept_invitation: Acceptă - accept_or_reject_group_invitations: 'Următoarele grupuri v-au invitat să vă alăturați. Acceptați sau respingeți cererile lor:' + accept_or_reject_group_invitations: 'Următoarele grupuri te-au invitat să te alături. Acceptă sau respinge cererile lor:' index: invite: Invită invite_user: Invită un participant @@ -791,18 +790,18 @@ ro: reject: error: A apărut o eroare la respingerea acestei invitații success: Invitație respinsă cu succes - reject_invitation: Respingere + reject_invitation: Respinge group_members: accept: error: A apărut o eroare la acceptarea acestei cereri de aderare success: Solicitare de înscriere acceptată cu succes actions: - are_you_sure: Ești sigur? - promote_to_admin: Faceți administrator - remove_from_group: Remove participant + are_you_sure: Ești sigur(ă)? + promote_to_admin: Setare ca administrator + remove_from_group: Eliminare participant index: current_members_without_admins: 'Membrii actuali (fără administratori):' - manage_members: Gestionează membrii + manage_members: Gestionare participanți promote: error: A apărut o problemă la promovarea acestui participant success: Participant promovat cu succes @@ -814,7 +813,7 @@ ro: success: Participantul a fost șters din grup groups: actions: - are_you_sure: Ești sigur? + are_you_sure: Ești sigur(ă)? create: error: A apărut o problemă la crearea grupului success: Grup creat cu succes @@ -822,26 +821,26 @@ ro: edit_user_group: Editează grup update_user_group: Actualizați grupul form: - document_number_help: Nu utilizaţi cratime sau spaţii + document_number_help: A nu se utiliza cratimele și spațiile email_help: E-mailul organizației, asocierii, colective, grupului, etc. - fill_in_for_verification: 'Completați aceste câmpuri dacă doriți ca grupul dvs. să fie verificat:' + fill_in_for_verification: 'Completați aceste câmpuri dacă dorești ca grupul tau să fie verificat:' name_help: Numele organizației, asocierii, colectivelor, grupului, etc. - nickname_help: Porecla organizaţiei, asocierii, colectivelor, grupului etc. Nu utilizaţi spaţii sau accente. + nickname_help: Pseudonimul organizaţiei, asocierii, colectivelor, grupului etc. Nu folosi spaţii sau accente. phone_help: Nu utilizaţi cratime sau spaţii join: - error: A apărut o problemă la aderarea la grup - success: Alăturarea cererii a fost făcută cu succes. Un administrator va revizui cererea dumneavoastră înainte de a o accepta în grup. + error: A apărut o problemă la intrarea în grup + success: Cererea de intrare a fost făcută cu succes. Un administrator va revizui cererea ta înainte de a o accepta în grup. leave: error: A existat o problemă la părăsirea grupului success: Grupul a fost abandonat. members: - accept_or_reject_join_requests: 'Următorii utilizatori au solicitat să se alăture acestui grup. Acceptați sau respingeți cererile lor:' + accept_or_reject_join_requests: 'Următorii utilizatori au solicitat să se alăture acestui grup. Acceptă sau respinge cererile lor:' accept_request: Acceptă - reject_request: Respingere + reject_request: Respinge new: - create_user_group: Creare grup + create_user_group: Creează grup new_user_group: Grup nou - subtitle: Creați un grup și invitați alți utilizatori să participe la un nivel colectiv. + subtitle: Creează un grup și invită alți participanți să participe. no_user_groups: Încă nu aparține niciunui grup. roles: admin: Administrator @@ -853,7 +852,7 @@ ro: help: main_topic: default_page: - content: "

    în %{organization} poți participa și decide cu privire la diferite subiecte, prin spaţiile pe care le vedeţi în meniul superior: Procese, Adunări, Iniţiative, Consultări.

    În cadrul fiecăruia veți găsi opțiuni diferite pentru a participa: faceți propuneri individual sau împreună cu alte persoane, să participe la dezbateri, să prioritizeze proiectele pentru a le pune în aplicare, să participe la reuniuni directe și la alte acțiuni.

    \n" + content: "

    în %{organization} poți participa și decide cu privire la diferite subiecte, prin spaţiile pe care le vedeţi în meniul superior: Procese, Adunări, Iniţiative, Consultări.

    În cadrul fiecăruia vei găsi opțiuni diferite pentru a participa: propune individual sau împreună cu alte persoane, ia parte la dezbateri, prioritizează proiectele pentru a le pune în aplicare, participă la reuniuni directe și la alte acțiuni.

    \n" title: Ce pot face în %{organization}? description: Citește mai multe despre %{organization} title: Ajutor General @@ -880,9 +879,9 @@ ro: area_type_presenter: not_found: 'Tipul zonei nu a fost găsit în baza de date (ID: %{id})' scope_presenter: - not_found: 'Domeniul de aplicare nu a fost găsit în baza de date (ID: %{id})' + not_found: 'Domeniul de interes nu a fost găsit în baza de date (ID: %{id})' scope_type_presenter: - not_found: 'Tipul domeniului de aplicare nu a fost găsit în baza de date (ID: %{id})' + not_found: 'Tipul domeniului de interes nu a fost găsit în baza de date (ID: %{id})' managed_users: expired_session: Actuala sesiune de administrare a unui participant a expirat. map: @@ -1002,12 +1001,12 @@ ro: interpolations_hint: 'Sugestie: Puteţi utiliza "%{name}" oriunde în corp sau subiect şi va fi înlocuit cu numele destinatarului.' image_text_cta: body_preview: 'Dummy text for body: Maecenas ac nisl vitae lectus pretium facilisis. Etiam facilisis sem nibh, sit amet rutrum mi aliquam nec. Sed id urna at nisl pretium mollis eu vel velit. Proin vitae suscipit urna, sed faucibus urna. Pellentesque id libero vulputate ipsum scelerisque suscipit. Nam aliquam sodales mi sit amet cursus. Donec mattis faucibus purus. Aenean tincidunt porta lorem ac commodo. Vestibulum in mollis mi. Morbi eros erat, cursus ut tortor sit amet, imperdiet dapibus arcu. Suspendisse id egestas enim. In eget magna sed enim efficitur elementum sit amet aliquam quam. Donec fermentum metus eget urna luctus pulvinar.' - cta_text_preview: Apel la textul Acțiune + cta_text_preview: Textul butonului Apel la acțiune introduction_preview: 'Dummy text for introduction: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque fringilla nisl tellus. Donec sed mi dui. Sed efficitur libero a felis tempor sollicitudin. Nullam vestibulum fringilla felis, id efficitur lorem sagittis et. Vivamus aliquam maximus velit vel dapibus. Mauris pellentesque, enim eu varius lacinia, risus ante rutrum ipsum, non lobortis augue lorem quis urna. Aenean et malesuada arcu.' - name: Butonul Imagine, Text și Apel la Acțiune + name: Imagine, text și butonul Apel la acțiune image_text_cta_settings_form: body: Corp - cta_text: Text buton Apel la Acțiune + cta_text: Textul butonului Apel la acțiune cta_url: URL buton Apel la Acțiune interpolations_hint: 'Sugestie: Puteţi utiliza "%{name}" oriunde în introducere, corp, text CTA sau subiect şi va fi înlocuit cu numele destinatarului.' introduction: Introducere @@ -1073,7 +1072,7 @@ ro: meetings_explanation: Află unde și când poți participa la ședințe publice. more_info: Mai multe informații proposals: Propuneri - proposals_explanation: Faceți propuneri, sprijiniți propunerile existente și promovați modificările pe care doriți să le vedeți. + proposals_explanation: Formulează propuneri, votează propunerile existente și promovează schimbările pe care dorești să le vezi implementate. footer_sub_hero: footer_sub_hero_body: Haideți să construim o societate mai deschisă, mai transparentă și mai colaborativă.
    Alăturați-vă, participați și decideți. footer_sub_hero_headline: Bun venit pe platforma participativă %{organization}. @@ -1084,8 +1083,8 @@ ro: metrics: headline: Indicatori statistics: - answers_count: Chestionare finalizate - assemblies_count: Organizații + answers_count: Sondaje completate + assemblies_count: Grupuri de lucru comments_count: Comentarii conferences_count: Conferințe debates_count: Dezbateri @@ -1099,7 +1098,7 @@ ro: proposals_accepted: Propuneri acceptate proposals_count: Propuneri results_count: Rezultate - surveys_count: Chestionare + surveys_count: Sondaje users_count: Participanți votes_count: Voturi sub_hero: @@ -1159,7 +1158,7 @@ ro: title: Insigne user: confirmation_instructions_sent: Instrucțiuni de confirmare e-mail trimise - create_user_group: Creare grup + create_user_group: Creează grup edit_profile: Editare profil edit_user_group: Editează profilul grupului fill_in_email_to_confirm_it: Vă rugăm, completați e-mailul grupului dvs. pentru a confirma @@ -1194,9 +1193,9 @@ ro: success: Raportul a fost creat cu succes şi va fi revizuit de un administrator. resource_endorsements: create: - error: A existat o problemă în timpul acţiunii de aprobare. + error: A apărut o problemă în timpul înregistrării susținerii. scopes: - global: Domeniul global de aplicare + global: Domeniul global de interes picker: cancel: Anulează change: Schimbă domeniul selectat @@ -1204,9 +1203,9 @@ ro: currently_selected: Domeniul selectat în prezent title: Selectează %{field} prompt: Selectează un domeniu - scopes: Domeniu + scopes: Domenii de interes scopes_picker_input: - select_scope: 'Selectați un domeniu (actual: %{current})' + select_scope: 'Selectează un domeniu (actual: %{current})' search: results: Rezultatele căutării results_found_for_term: '%{count} Rezultate pentru căutare: "%{term}"' @@ -1280,7 +1279,7 @@ ro: sign_up: Înscrie-te participatory_space_filters: filters: - areas: Domenii + areas: Zone select_an_area: Selectează o zonă reference: reference: 'Referinţă: %{reference}' @@ -1296,7 +1295,7 @@ ro: share_link: Distribuie link-ul tags: filter_results_for_category: 'Filtrează rezultatele pentru categoria: %{resource}' - filter_results_for_scope: 'Filtrează rezultatele pentru scope: %{resource}' + filter_results_for_scope: 'Filtrează rezultatele pentru domeniul: %{resource}' translation_bar: help_text: "Avertisment: Conținutul poate fi tradus automat și nu este 100% exact." show_original: Afișați textul original @@ -1339,7 +1338,7 @@ ro: show: my_interests: Interesele mele no_scopes: Această organizaţie nu are încă nici un scop! - select_your_interests: Selectează subiectele în care ești interesat să primești evenimente legate de ele în tab-ul Cronologie al profilului tău. + select_your_interests: Selectează subiectele pentru care vrei să primești evenimente asociate în cronologia profilului tău. update_my_interests: Actualizează-mi interesele update: error: A apărut o eroare la actualizarea intereselor tale. @@ -1407,7 +1406,7 @@ ro: invitations: edit: header: Finalizează crearea contului tău - nickname_help: Porecla ta în %{organization}. + nickname_help: Pseudonimul tău în %{organization}. submit_button: Salvează subtitle: Dacă acceptați invitația, vă rugăm să vă setați porecla și parola. invitation_removed: Invitația ta a fost eliminată. @@ -1489,7 +1488,7 @@ ro: registrations: destroyed: Contul tău a fost anulat cu succes. Sperăm să te revedem în curând. edit: - are_you_sure: Ești sigur? + are_you_sure: Ești sigur(ă)? cancel_my_account: Anulează contul meu currently_waiting_confirmation_for_email: 'În prezent se așteaptă confirmarea pentru: %{email}' leave_blank_if_you_don_t_want_to_change_it: lasă necompletat dacă nu vrei să-l schimbi @@ -1556,6 +1555,11 @@ ro: too_short: este prea scurt (sub 15 caractere) forms: correct_errors: Există erori în formular, vă rugăm să le corectaţi pentru a continua. + length_validator: + minimum: + one: Cel puțin un %{count} caracter + few: Cel puțin %{count} caractere + other: Cel puțin %{count} caractere required: Necesar required_explanation: "* Câmpurile obligatorii sunt marcate cu un asterisc" invisible_captcha: diff --git a/decidim-core/config/locales/sv.yml b/decidim-core/config/locales/sv.yml index 6fe7469517f00..a21ae3c765261 100644 --- a/decidim-core/config/locales/sv.yml +++ b/decidim-core/config/locales/sv.yml @@ -311,6 +311,8 @@ sv: authorize: Auktorisera med "%{authorization}" explanation: För att utföra denna åtgärd måste du vara auktoriserad med "%{authorization}". title: Auktorisering krävs + ok: + title: Du har blivit auktoriserad på den här sidan. Ladda om sidan för att utföra din åtgärd pending: explanation: För att kunna utföra denna åtgärd måste du vara auktoriserad med "%{authorization}", men din auktorisering behandlas fortfarande resume: Se hur auktoriseringen med "%{authorization}" pågår @@ -641,6 +643,10 @@ sv: email_intro: En administratör tog bort din %{resource_type} eftersom den har rapporterats som %{report_reasons}. email_outro: Du har fått det här meddelandet eftersom du är en författare till detta innehåll. email_subject: Din %{resource_type} har tagits bort + notification_title: |- + En administratör tog bort din %{resource_type} eftersom den har rapporterats som %{report_reasons}. +
    + %{resource_content} resource_endorsed: email_intro: '%{endorser_name} %{endorser_nickname}, som du följer, har just instämt med "%{resource_title}" och vi tror att du kan vara intresserad. Ta en titt och bidra:' email_outro: Du har fått det här meddelandet eftersom du följer %{endorser_nickname}. Du kan sluta att ta emot meddelanden via föregående länk. @@ -654,6 +660,7 @@ sv: notification_title: Profilsidan för %{name} (%{nickname}), som du följer, har uppdaterats. export_mailer: data_portability_export: + click_button: 'Hämta dina data genom att klicka på Nästa.
    Filen kommer vara tillgänglig till och med %{date}.
    Du kan använda 7-Zip (för Windows), Keka (för MacOS) eller PeaZip (för Linux) för att öppna den. Lösenord: %{password}' download: Hämta export: ready: En komprimerad version av exporten är bifogad. @@ -686,6 +693,7 @@ sv: create: button: Följ error: Det gick inte att följa resursen. + participatory_space: Följer %{resource_name} destroy: button: Sluta följa error: Det gick inte att sluta följa den här resursen. @@ -702,6 +710,7 @@ sv: file: explanation: 'Vägledning för fil:' message_1: Måste vara en bild eller ett dokument. + message_2: Använd helst landskapsbilder. Tjänsten beskär bilden. För CSV filer måste separatorn mellan kolumner vara ett kommatecken (",") image: explanation: 'Vägledning för bild:' message_1: Helst en landskapsbild som inte har någon text. @@ -923,6 +932,8 @@ sv: error: Konversationen har inte startat. Försök igen senare error_modal: close: Stäng fönster + correct_errors: Rätta alla fel och försök igen. + intro: 'De följande fel fanns i ditt meddelande:' ok: OK index: ago: sedan @@ -941,10 +952,13 @@ sv: show: back: Tillbaka till alla konversationer chat_with: Konversation med + not_allowed: Deltagaren tar inte emot direktmeddelanden. title: Samtal med %{usernames} start: send: Skicka title: Starta en konversation + update: + error: Meddelandet skickades inte på grund av ett fel metrics: download: csv: Ladda ner data (CSV) @@ -1012,6 +1026,7 @@ sv: administrators: Administratörer allow_public_contact: Tillåt alla att skicka direktmeddelanden till mig, även de som jag inte följer. direct_messages: Ta emot direktmeddelanden från alla + email_on_moderations: Jag vill få ett e-brev varje gång något anmäls för moderering. email_on_notification: Jag vill få ett e-brev varje gång jag får ett meddelande. everything_followed: Allt jag följer newsletter_notifications: Jag vill få nyhetsbrev @@ -1107,6 +1122,7 @@ sv: not_allowed: Du har inte rätt att se det här innehållet profile: deleted: Deltagaren har raderats + inaccessible_message: Denna profil kan inte ses på grund av överträdelse av användarvillkoren! view: Visa profiles: default_officialization_text_for_user_groups: Den här gruppen är offentligt verifierad, namnet har kontrollerats att överensstämma med dess riktiga namn @@ -1232,6 +1248,9 @@ sv: flag_user_modal: already_reported: Det här innehållet har redan rapporterats och kommer att granskas av en administratör. close: Stäng + description: Vad är olämpligt med användaren? + does_not_belong: Innehåller olaglig aktivitet, självmordshot, personlig information eller något annat du tycker inte hör hemma på %{organization_name}. + offensive: Innehåller rasism, sexism, skällsord, personliga attacker, dödshot, uppmaningar att begå självmord eller någon form av hatpropaganda. report: Rapportera spam: Innehåller klickbete, reklam, bedrägerier eller skriptbottar. title: Rapportera olämplig användare @@ -1316,6 +1335,7 @@ sv: body_2: 'Anledning: %{reason}' greetings: Hälsningar,
    %{organization_name}
    %{organization_url} hello: Hej %{admin}, + subject: En ny användare har rapporterats på %{organization_name} version: show: back_to_resource: Gå tillbaka diff --git a/decidim-debates/config/locales/ro-RO.yml b/decidim-debates/config/locales/ro-RO.yml index f0fdafad93491..76e07774718b3 100644 --- a/decidim-debates/config/locales/ro-RO.yml +++ b/decidim-debates/config/locales/ro-RO.yml @@ -28,7 +28,7 @@ ro: components: debates: actions: - create: Crează + create: Creează endorse: Aprobare name: Dezbateri settings: @@ -47,7 +47,7 @@ ro: debates: actions: close: Închide - confirm_destroy: Ești sigur? + confirm_destroy: Ești sigur(ă)? destroy: Ștergere edit: Editare new: '%{name} nou' @@ -141,7 +141,7 @@ ro: new_debate: Dezbatere nouă new: back: Înapoi - create: Crează + create: Creează title: Dezbatere nouă orders: commented: Cele mai comentate diff --git a/decidim-dev/config/locales/ro-RO.yml b/decidim-dev/config/locales/ro-RO.yml index 558d4b35c4627..8f1e4556a1be9 100644 --- a/decidim-dev/config/locales/ro-RO.yml +++ b/decidim-dev/config/locales/ro-RO.yml @@ -44,13 +44,13 @@ ro: home: statistics: bar: Bară - dummies_count_high: Dummieri mari - dummies_count_medium: Medie de ficare + dummies_count_high: Test mare + dummies_count_medium: Test mediu foo: Foo participatory_processes: statistics: - dummies_count_high: Dummieri mari - dummies_count_medium: Medie de ficare + dummies_count_high: Test mare + dummies_count_medium: Test mediu resource_links: test_link: dummy_resource_dummy: Legat de manechin diff --git a/decidim-elections/config/locales/ro-RO.yml b/decidim-elections/config/locales/ro-RO.yml index 81705b871ec2e..b0478e286f5ba 100644 --- a/decidim-elections/config/locales/ro-RO.yml +++ b/decidim-elections/config/locales/ro-RO.yml @@ -4,7 +4,7 @@ ro: answer: description: Descriere image: Imagine - proposals: Propuneri conexe + proposals: Propuneri asociate title: Titlu election: description: Descriere @@ -87,6 +87,10 @@ ro: manager: Administrator president: Președinte unassigned: Neatribuit + search_placeholder: + name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Caută %{collection} după nume/e-mail/pseudonim sau stație de votare. + ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont + : Caută %{collection} după titlu, adresă sau nume/e-mail/pseudonim al ofițerului. components: elections: actions: @@ -99,7 +103,7 @@ ro: announcement: Anunţ elections: actions: - confirm_destroy: Ești sigur? + confirm_destroy: Sigur dorești asta? destroy: Distruge edit: Editare feedback: Feedback la votare @@ -148,13 +152,13 @@ ro: invalid: A apărut o eroare la ștergerea acestor alegeri success: Alegerile au fost șterse edit: - title: Editare alegeri - update: Actualizează alegerea + title: Editează alegeri + update: Actualizează alegeri index: - no_bulletin_board: Nu există Serverul Bulletin Board configurat, care este necesar pentru a utiliza acest modul. Această sarcină trebuie realizată de Administratorul de sistem. + no_bulletin_board: Nu există serverul Panoul de afișare configurat, care este necesar pentru a utiliza acest modul. Această sarcină trebuie realizată de Administratorul de sistem. title: Alegeri new: - create: Creați alegeri + create: Creează alegeri title: Alegeri noi publish: success: Alegerile au fost publicate cu succes. @@ -181,8 +185,8 @@ ro: success: "%{number} propuneri importate cu succes în răspunsuri" new: create: Importă propunerile pentru răspunsuri - no_components: Nu există alte componente de propunere în acest spațiu participativ pentru a se obține răspunsuri la propuneri. - select_component: Vă rugăm să selectaţi o componentă + no_components: Nu există alte componente de propunere în acest spațiu participativ pentru importa propunerile în răspunsuri. + select_component: Te rugăm selectează o componentă title: Importă propuneri questions: create: @@ -197,7 +201,7 @@ ro: index: title: Întrebări new: - create: Crează întrebare + create: Creează întrebare title: Întrebare nouă update: invalid: A apărut o eroare la actualizarea acestei întrebări @@ -207,26 +211,46 @@ ro: errors: max_selections: Întrebările nu au o valoare corectă pentru suma de răspunsuri minimum_answers: Întrebările trebuie să aibă cel puţin două răspunsuri. - minimum_questions: Alegerea trebuie să aibă cel puţin o întrebare. - published: Alegerea nu este publicată. + minimum_questions: Alegerile trebuie să aibă cel puţin o întrebare. + published: Aceste alegerile nu sunt publicate. time_before: Timpul de începere este în mai puţin de 3 ore înainte de începerea alegerilor. - trustees_number: Spațiul participativ trebuie să aibă cel puțin %{number} administratori cu cheie publică. + trustees_number: Spațiul participativ trebuie să aibă cel puțin %{number} împuterniciți cu cheie publică. invalid: A apărut o eroare la organizarea acestor alegeri - no_trustees: Nu există trupe configurate pentru acest spațiu participativ + no_trustees: Nu există împuterniciți configurați pentru acest spațiu participativ not_used_trustee: "(nu este folosit)" public_key: 'false': nu are o cheie publică 'true': are o cheie publică - title: Configurarea alegerilor + requirements: + trustees_number: Spațiul participativ are cel puțin %{number} împuterniciți cu chei publice. + submit: Configurează alegerile + success: Alegerile au fost trimise cu succes către Panoul de afișare + title: Configurează alegerile + trustees: Împuterniciți pentru alegeri + created: + title: Alegeri create + trustees: Împuterniciți key_ceremony: - trustees: Administrator + trustees: Împuterniciți tally: - trustees: Administrator + title: Procesul de numărare al voturilor + trustees: Împuterniciți tally_ended: + submit: Publică rezultatele title: Rezultate calculate + vote: + errors: + time_after: Alegerile sunt încă în desfășurare. Trebuie să aștepți până se încheie (%{end_time}) pentru încheia perioada de votare. + invalid: A apărut o probemă la încheierea perioadei de votare + requirements: + time_after: Alegerile s-au terminat. Poți încheia perioada de votare manual, sau se va încheia automat în câteva minute. + submit: Încheie perioada de votare + success: Cererea de încheiere a perioadei de votare a fost trimisă cu succes către Panoul de afișare + title: Perioada de vot vote_ended: - submit: Începeți să numărați - success: Solicitarea de începere a fost trimisă cu succes la Panoul de Buletin + invalid: A apărut o problemă la începerea numărării voturilor + submit: Începe numărarea voturilor + success: Solicitarea de începere a fost trimisă cu succes către Panoul de afișare title: Perioada de vot s-a încheiat vote_stats: no_vote_statistics_yet: Încă nu există statistici despre voturi @@ -238,31 +262,31 @@ ro: disable: Dezactivează enable: Luați în considerare create: - exists: Există Administrator pentru acest spațiu participativ - invalid: A apărut o problemă la crearea unui administrator - success: Administrator creat cu succes + exists: Există împuterniciți pentru acest spațiu participativ + invalid: A apărut o problemă la crearea unui împuternicit + success: Împuternicit creat cu succes delete: - invalid: A apărut o eroare la eliminarea acestui administrator - success: Administratorul a fost sters + invalid: A apărut o eroare la eliminarea acestui împuternicit + success: Împuternicitul a fost sters cu succes form: select_user: Selectați utilizatorul index: - title: Administrator + title: Împuterniciți new: - create: Crează Administrator - title: Administrator nou + create: Creează împuternicit + title: Împuternicit nou update: - invalid: A apărut o problemă la actualizarea administratorului %{trustee} - success: Administrator %{trustee} actualizat cu succes + invalid: A apărut o problemă la actualizarea împternicitului %{trustee} + success: Împuternicitul %{trustee} a fost actualizat cu succes admin_log: election: - end_vote: "%{user_name} a încheiat perioada de votare pentru %{resource_name} alegerea în Buletin Board" + end_vote: "%{user_name} a încheiat perioada de votare în cadrul algerilor pentru %{resource_name} în Panoul de afișare" publish: "%{user_name} a publicat alegerile pentru %{resource_name}" - setup: "%{user_name} a creat alegerea %{resource_name} în Panoul de Buletin" - start_key_ceremony: "%{user_name} a început ceremonia cheii pentru alegerile %{resource_name} din Panoul de Buletin" - start_tally: "%{user_name} a început numărătoarea pentru alegerea %{resource_name} în Panoul de Buletin" - start_vote: "%{user_name} a început perioada de votare pentru %{resource_name} alegeri în Bulletin Board" - unpublish: "%{user_name} nepublicat alegerea %{resource_name}" + setup: "%{user_name} a creat alegerile %{resource_name} în Panoul de afișare" + start_key_ceremony: "%{user_name} a început ceremonia cheie pentru alegerile %{resource_name} din Panoul de afișare" + start_tally: "%{user_name} a început numărătoarea voturilor pentru alegerile %{resource_name} în Panoul de afișare" + start_vote: "%{user_name} a început perioada de votare pentru alegerile %{resource_name} în Panoul de afișare" + unpublish: "%{user_name} a anulat publicarea alegerilor %{resource_name}" election_m: badge_name: finished: Terminat @@ -298,12 +322,34 @@ ro: preview: available_answers: Răspunsuri disponibile description: Acestea sunt întrebările pe care le veți găsi în procesul de votare - title: Întrebări electorale + title: Întrebări aferente alegerilor + results: + description: Acestea sunt rezultatele votului, pentru fiecare întrebare + title: Rezultatele alegerilor + votes: + one: "%{count} vot" + other: "%{count} de voturi" + zero: "%{count} de voturi" show: + action-button: + change-vote: Schimbă-ți votul + vote: Începe să votezi + vote-again: Votează din nou + back: Alegeri disponibile + callout: + already-voted: Ai votat deja pentru aceste alegeri. Îți poți schimba votul sau îl poți verifica. + vote-rejected: Nu am putut verifica votul. Te rugăm să reiei procesul de votare. preview: Previzualizare + verify: + already-voted: Ai votat deja? + verify-here: Verifică-ți votul aici. + will-verify: Îți vei putea verifica votul odată cu începerea alegerilor. voting_period_status: finished: Votarea a început la %{start_time} și s-a încheiat la %{end_time} upcoming: Votarea începe la %{start_time} + feedback: + answer: + invalid: A apărut o problemă la trimiterea feedback-ului tău. models: answer: fields: @@ -311,6 +357,7 @@ ro: title: Titlu election: fields: + bb_status: Stadiul panoului de afișare end_time: Sfârșit la start_time: Începe la title: Titlu @@ -319,25 +366,39 @@ ro: answers: Răspunsuri max_selections: Selecții maxime title: Titlu + orders: + label: Ordonează alegerile după trustee_zone: elections: + key_ceremony_steps: + title: Crează chei electorale pentru %{election} tally_steps: - process_warning: Odată ce procesul este pornit, nu ar trebui să ieșiți din această pagină până când procesul se încheie. Va dura câteva minute, deoarece toate Truste-urile ar trebui conectate pentru a o finaliza. + back: Înapoi + description: Rezultatele acestor alegeri sunt în proces de calculare în Panoul de afișare. Pentru a finaliza procesul este necesară participarea ta drept împuternicit. + keys: + end_tally: Procesul de numărare al voturilor s-a încheiat + tally: + cast: Anunțarea rezultatului votului + share: Împărtășirea rezultatului votului + list: + status: Stadiu + task: Activitate + process_warning: Odată ce procesul este pornit, nu ar trebui să ieși din această pagină până când procesul se încheie. Va dura câteva minute, deoarece toți împuterniciții ar trebui să fie conectați pentru a se finaliza procesul. start: Incepe start_icon: Pictograma care indică un buton de pornire pentru a porni generarea cheilor electorale status: completed: Finalizat pending: În așteptare processing: Se procesează - title: Corespondent pentru %{election} + title: Numărarea voturilor pentru %{election} update: error: Statutul alegerilor nu a fost actualizat. success: 'Statutul alegerilor este: %{status}' menu: - trustee_zone: Zonă Administrator + trustee_zone: Zonă împuternicit no_bulletin_board: - body: Pentru această secţiune este necesar un Bulletin configurat. Contactaţi Administratorul pentru mai multe detalii. - title: Ne pare rău, Bulletin Board nu este configurat încă. + body: Pentru această secţiune este necesar un Panoul de afișare configurat. Contactaţi administratorul pentru mai multe detalii. + title: Ne pare rău, Panoul de afișare nu este configurat încă. trustees: show: elections: @@ -349,30 +410,30 @@ ro: bb_status: Stare election: Alegeri voting_period: Perioada de vot - no_elections: Nu există alegeri unde să te comporţi ca un Administrator. + no_elections: Nu există alegeri unde să poți avea rol de împuternicit. title: Alegeri identification_keys: cancel: Anulează generate: Generează chei de identificare generate_error: A apărut o eroare la generarea cheilor de identificare. - generate_legend: Trebuie să generați o pereche de chei pentru a participa la alegeri ca un Trustee. + generate_legend: Trebuie să generați o pereche de chei pentru a participa la alegeri drept împuternicit. generate_legend_1: După ce apăsați pe buton, ar trebui să descărcați fișierul cu tastele de identificare generate. generate_legend_2: Copiaţi fişierul descărcat pe un dispozitiv USB curat - generate_legend_3: Asigurați-vă că calculatorul dvs. nu are o copie a fișierului (de exemplu, verificați dosarele Descărcări și Desktop). + generate_legend_3: Asigură-te că nu există o copie a fișierului în calculatorul tău (de exemplu, verifică dosarele Descărcări și Desktop). generate_legend_4: Faceți o altă copie a fișierului pe un alt dispozitiv extern și păstrați-l într-un loc foarte sigur. submit: Trimiteți submit_legend: După urmărirea tuturor paşilor explicaţi mai sus, finalizaţi procesul de trimitere a cheii publice de identificare la serverul Decidim. submit_title: Trimite cheia publică de identificare - title: Chei de identificare Administrator + title: Chei de identificare împuternicit upload: Încărcați-vă cheile de identificare upload_error: invalid_format: Fişierul încărcat nu conţine nici o cheie de identificare. invalid_key: Tastele de identificare din fișierul încărcat nu pot fi încărcate. invalid_public_key: Tastele de identificare din fişierul încărcat nu se potrivesc cu cheia de identificare publică stocată de Decidim. upload_legend: Decidim are cheile tale de identificare publică, dar browserul tău încă nu le are. Trebuie să importați fișierul cu cheile de identificare în calculator din copia de siguranță creată după ce ați generat. - not_supported_browser_description: Se pare că folosești un browser web care nu poate fi folosit pentru a acționa ca Administrator. Asigură-te că folosești cea mai recentă versiune de browser, sau încercați să utilizați oricare dintre cele mai populare browsere pentru a putea finaliza sarcinile dvs. Administrator. - not_supported_browser_title: Actualizează browser-ul pentru a acționa ca Administrator - trustee_role_description: Ați fost desemnat să acționați ca Administrator în unele dintre alegerile celebrate în această platformă. + not_supported_browser_description: Se pare că folosești un browser web care nu poate fi folosit pentru a acționa ca împuternicit. Asigură-te că folosești cea mai recentă versiune de browser, sau încercați să utilizați oricare dintre cele mai populare browsere pentru a putea finaliza sarcinile dvs. drept împuternicit. + not_supported_browser_title: Actualizează browser-ul pentru a acționa ca împuternicit + trustee_role_description: Ai fost desemnat drept împuternicit în unele dintre alegerile celebrate în această platformă. update: success: Cheia publică de identificare a fost stocată cu succes. votes: @@ -387,7 +448,7 @@ ro: question: Întrebarea %{count} confirmed: back: Înapoi la alegeri - error: Ne pare rău, a apărut o eroare la confirmarea votului. Vă rugăm să votați din nou. + error: Ne pare rău, a apărut o eroare la confirmarea votului. Te rugăm să votezi din nou. experience: Cum a fost experiența ta? feedback: Oferă-ne un feedback header: Votare confirmată @@ -413,6 +474,12 @@ ro: preview_alert: Aceasta este o previzualizare a cabinei de votare. question_steps: Întrebarea %{current_step} din %{total_steps} selections: "%{selected} din %{max_selections}
    selecții" + processing: + header: Se procesează votul... + text: Votul tău a fost primit și este în curs de procesare. Te rugăm așteaptă. + update: + error: A apărut o eroare la actualizarea stadiului votării + success: Stadiul votării a fost actualizat cu succes voting_step: back: Înapoi continue: Următoarea @@ -423,6 +490,17 @@ ro: email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. email_subject: Alegerea %{resource_title} este acum activă pentru %{participatory_space_title}. notification_title: Alegerile %{resource_title} sunt acum active pentru %{participatory_space_title}. + trustees: + new_election: + email_intro: Ai fost adăugat drept împuternicit pentru alegerile %{resource_title}. + email_outro: Ai primit această notificare deoarece ai fost adăugat drept împuternicit pentru alegerile %{resource_title}. + email_subject: Ești împuternicit pentru alegerile %{resource_title}. + notification_title: Ești împuternicit pentru alegerile %{resource_title}. + new_trustee: + email_intro: Un administrator te-a adăugat drept împuternicit pentru %{resource_name}. Ar trebui să își generei cheia de verificare publică în zona ta dedicată rolului de împuternicit + email_outro: Ai primit această notificare deoarece ai fost adăugat drept împuternicit pentru alegerile %{resource_name}. + email_subject: Ești împuternicit pentru %{resource_name}. + notification_title: Ești împuternicit pentru %{resource_name}. pages: home: statistics: @@ -431,12 +509,65 @@ ro: statistics: elections_count: Alegeri votings: + admin: + content_blocks: + landing_page: + attachments_and_folders: + name: Atașamente și dosare aferente votării + elections: + name: Alegeri cu votare + menu: + votings_submenu: + attachment_collections: Dosare + components: Componente + monitoring_committee_members: Comitetul de monitorizare + monitoring_committee_members: + form: + select_user: Caută după nume, e-mail sau pseudonim + new: + create: Creează + title: Creează un membru al comitetului de monitorizare + polling_officers: + form: + select_user: Caută după nume, e-mail sau pseudonim + new: + create: Creează + title: Creează verificator al scrutinului + polling_stations: + new: + create: Creează + title: Creează stație de votare + votings: + actions: + confirm_destroy: Sigur dorești asta? + edit: + add_election_component: Nu ai alegeri configurate pentru acest vot. Te rugăm să o adaugi în secțiunea Componente + form: + slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică acest proces de votare. Acestea acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' + new: + create: Creează + monitoring_committee_members: + actions: + confirm_destroy: Sigur dorești asta? polling_officer_zone: polling_officers: show: + actions: + count_votes: Numără voturile din urna de vot + identify_person: Identifică și verifică o persoană + polling_officer_role_description: Ați fost desemnat să acționați în calitate de verificator al scrutinului (președinte sau manager) în unele dintre alegerile celebrate în cadrul acestei platforme. polling_stations: list: actions: Acțiuni + role: Rolul tău + voting: Votare + no_polling_stations: Nu ești încă atribuit niciunei secții de votare. + polling_officers: + actions: + confirm_destroy: Sigur dorești asta? + polling_stations: + actions: + confirm_destroy: Sigur dorești asta? layouts: decidim: election_votes_header: diff --git a/decidim-forms/config/locales/ro-RO.yml b/decidim-forms/config/locales/ro-RO.yml index f2c1bace30ec3..407269449df9c 100644 --- a/decidim-forms/config/locales/ro-RO.yml +++ b/decidim-forms/config/locales/ro-RO.yml @@ -161,7 +161,7 @@ ro: tos_agreement: Prin participare acceptați termenii și condițiile sale de utilizare step_navigation: show: - are_you_sure: Această acțiune nu poate fi anulată și nu veți putea să vă editați răspunsurile. Sunteți sigur? + are_you_sure: Această acțiune nu poate fi anulată și nu vei putea să îți editezi răspunsurile. Ești sigur(ă)? back: Înapoi continue: Continuă submit: Trimiteți diff --git a/decidim-initiatives/config/locales/ro-RO.yml b/decidim-initiatives/config/locales/ro-RO.yml index 635273982f925..6435b94ffa530 100644 --- a/decidim-initiatives/config/locales/ro-RO.yml +++ b/decidim-initiatives/config/locales/ro-RO.yml @@ -4,9 +4,9 @@ ro: initiative: decidim_user_group_id: Autor description: Descriere - offline_votes: Semnături interpersonale + offline_votes: Semnături în persoană offline_votes_for_scope: Semnături personale pentru %{scope_name} - scope_id: Domeniu + scope_id: Domeniu de interes signature_end_date: Sfârșitul perioadei de colectare a semnăturilor signature_start_date: Începutul perioadei de colectare a semnăturilor signature_type: Tip colecție semnătură @@ -22,7 +22,7 @@ ro: area_enabled: Permite autorilor să aleagă zona pentru inițiativa lor attachments_enabled: Activare atașamente banner_image: Imagine banner - child_scope_threshold_enabled: Activează semnăturile pentru domeniul de aplicare, copil + child_scope_threshold_enabled: Activează semnăturile pentru domeniul de interes copil collect_user_extra_fields: Colectarea datelor cu caracter personal ale participantului la semnătură custom_signature_end_date_enabled: Permite autorilor să aleagă sfârșitul perioadei de colectare a semnăturilor description: Descriere @@ -30,7 +30,7 @@ ro: extra_fields_legal_information: Informații juridice privind colectarea datelor cu caracter personal minimum_committee_members: Numărul minim de membri ai comitetului online_signature_enabled: Semnătură online activată - only_global_scope_enabled: Permiteți numai crearea de inițiative la nivel global + only_global_scope_enabled: Permiteți crearea de inițiative aferente doar domeniilor generale de interes promoting_committee_enabled: Activați comitetul de promovare title: Titlu undo_online_signatures_enabled: Permite participanților să își anuleze semnăturile online @@ -55,11 +55,11 @@ ro: activerecord: models: decidim/initiative: - one: Inactiv + one: Inițiativă few: Initații other: Initații decidim/initiative_comittee: - one: Compusul + one: Comitet few: Grupuri other: Grupuri decidim/initiative_vote: @@ -77,16 +77,16 @@ ro: state_eq: label: Județ values: - accepted: Insuficiente semnături + accepted: Semnături suficiente created: Creat - discarded: Renunță + discarded: Respins published: Publicat rejected: Semnături insuficiente validating: Validarea tehnică type_id_eq: label: Tip search_placeholder: - title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Căutați în %{collection} după titlu, descriere, ID sau numele autorului. + title_or_description_or_id_string_or_author_name_or_author_nickname_cont: Caută %{collection} după titlu, descriere, ID sau numele autorului. menu: initiatives: Inițiative initiatives_types: Tipuri de inițiative @@ -101,9 +101,9 @@ ro: title: Inițiative initiatives_type_scope: fields: - scope: Domeniu + scope: Domeniu de interes supports_required: Semnături necesare - name: Domeniul de aplicare al inițiativei + name: Domeniul de interes al inițiativei initiatives_types: fields: created_at: Creat la @@ -121,7 +121,7 @@ ro: initiative_title: Titlul inițiativei name_and_surname: Nume și prenume postal_code: Cod poștal - scope: Domeniu + scope: Domeniu de interes time_and_date: Ora și data timestamp: Ora titles: @@ -131,41 +131,41 @@ ro: initiatives: admin: initiative_sent_to_technical_validation: - email_intro: Inițiativa „%{resource_title}” a fost trimisă la validarea tehnică. Verificați la panoul de administrare - email_outro: Ați primit această notificare deoarece sunteți un administrator al platformei. - email_subject: Inițiativa „%{resource_title}” a fost trimisă la validare tehnică. - notification_title: Inițiativa „%{resource_title}” a fost trimisă la validarea tehnică. Verificați la panoul de administrare + email_intro: Inițiativa „%{resource_title}” a fost trimisă la validarea tehnică. Verifică-o din panoul de administrare + email_outro: Ai primit această notificare deoarece ești un administrator al platformei. + email_subject: Inițiativa „%{resource_title}” a fost trimisă spre validare tehnică. + notification_title: Inițiativa „%{resource_title}” a fost trimisă spre validarea tehnică. O poți verifica din panoul de administrare initiative_extended: email_intro: Data de încheiere a semnăturilor pentru inițiativa %{resource_title} a fost extinsă! - email_outro: Ați primit această notificare deoarece urmăriți %{resource_title}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Semnăturile inițiativei au fost prelungite! - notification_title: Data de încheiere a semnăturilor pentru inițiativa %{resource_title} a fost extinsă. + email_outro: Ai primit această notificare deoarece urmărești %{resource_title}. Poți opri notificările accesând linkul anterior. + email_subject: Termenul pentru semnarea inițiativei a fost prelungit! + notification_title: Data de încheiere a semnăturilor pentru inițiativa %{resource_title} a fost prelungită. initiative_sent_to_technical_validation: - email_intro: Inițiativa "%{resource_title}" a fost trimisă pentru validare tehnică. Puteți verifica pe panoul de administrare - email_outro: Ați primit această notificare deoarece sunteți administrator al platformei. - email_subject: Inițiativa "%{resource_title}" a fost trimisă pentru validare tehnică. - notification_title: Inițiativa "%{resource_title}" a fost trimisă pentru validare tehnică. Puteți verifica pe panoul de administrare + email_intro: Inițiativa "%{resource_title}" a fost trimisă pentru validare tehnică. O poți verifica din panoul de administrare + email_outro: Ai primit această notificare deoarece ești administrator al platformei. + email_subject: Inițiativa "%{resource_title}" a fost trimisă spre validare tehnică. + notification_title: Inițiativa "%{resource_title}" a fost trimisă spre validare tehnică. O poți verifica din panoul de administrare milestone_completed: affected_user: email_intro: Inițiativa ta %{resource_title} a obținut %{percentage}% semnături! - email_outro: Ați primit această notificare deoarece sunteți autorul inițiativei %{resource_title}. - email_subject: Piatră nouă finalizată! + email_outro: Ai primit această notificare deoarece ești autorul inițiativei %{resource_title}. + email_subject: Etapă nouă atinsă! notification_title: Inițiativa ta %{resource_title} a obținut %{percentage}% de semnături. follower: email_intro: Inițiativa %{resource_title} a obținut %{percentage}% semnături! - email_outro: Ați primit această notificare deoarece urmăriți %{resource_title}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Piatră nouă finalizată! + email_outro: Ai primit această notificare deoarece urmărești %{resource_title}. Poți opri notificările accesând linkul anterior. + email_subject: Etapă nouă atinsă! notification_title: Inițiativa %{resource_title} a obținut %{percentage}% de semnături. support_threshold_reached: email_intro: Inițiativa %{resource_title} a atins pragul de semnături - email_outro: Ați primit această notificare deoarece sunteți un administrator al platformei. + email_outro: Ai primit această notificare deoarece ești administrator al platformei. email_subject: Pragul de semnături atins notification_title: Inițiativa %{resource_title} a atins pragul de semnături gamification: badges: initiatives: conditions: - - Mergeți la spațiul de participare al Intiativelor + - Mergeți la spațiul de participare al inițiativelor - Urmează pașii necesari pentru a crea o nouă inițiativă description: Această insignă este acordată atunci când lansezi noi inițiative, colaborând cu alții pentru a o realiza. description_another: Acest participant a publicat %{score} inițiative. @@ -177,7 +177,7 @@ ro: help: participatory_spaces: initiatives: - contextual: "

    O inițiativă este o propunere care poate fi promovată de oricine din proprie inițiativă (independent de alte canale sau spații de participare) prin colectarea de semnături (digitale) pentru ca organizația să desfășoare o acțiune specifică (modifică un regulament, inițiază un proiect, schimbă numele unui departament sau al unei străzi etc. .

    Promotorii unei inițiative își pot defini obiectivele, pot aduna sprijin, dezbatere; să îl difuzeze și să definească punctele de întâlnire în care pot fi colectate semnături de la participanții sau dezbaterile deschise celorlalți participanți.

    Exemple: o iniţiativă poate aduna semnături pentru a convoca o consultare între toţi cetăţenii unei organizaţii, fie să creeze sau să convoace o adunare, sau să iniţieze un proces de majorare a bugetului pentru un teritoriu sau o zonă a organizaţiei. În timpul procesului de colectare a semnăturilor, mai mulți oameni pot adăuga la această cerere și o pot duce mai departe în organizație.

    \n" + contextual: "

    O inițiativă este o propunere care poate fi promovată de oricine din proprie voință (independent de alte canale sau spații de participare) prin colectarea de semnături (digitale) pentru ca organizația sau instituția să desfășoare o acțiune specifică (modifică un regulament, inițiază un proiect, schimbă numele unei străzi etc.).

    Promotorii unei inițiative își pot defini obiectivele, atrage sprijin, organiza dezbateri și defini puncte de întâlnire în care pot fi colectate semnături de la participanți.

    Exemple: o iniţiativă poate aduna semnături pentru a convoca o consultare între toţi membrii unei organizaţii, sau să creeze sau să convoace o Adunare Generală, sau să iniţieze un proces de majorare a bugetului pentru o anumită zonă sau domeniu de interes. În timpul procesului de colectare a semnăturilor, mai mulți oameni pot sprijinii acest demers și îl pot comunica apoi organizației sau instituției.

    " page: "

    O inițiativă este o propunere care poate fi promovată de oricine din proprie inițiativă (independent de alte canale sau spații de participare) prin colectarea de semnături (digitale) pentru ca organizația să desfășoare o acțiune specifică (modifică un regulament, inițiază un proiect, schimbă numele unui departament sau al unei străzi etc. .

    Promotorii unei inițiative își pot defini obiectivele, pot aduna sprijin, dezbatere; să îl difuzeze și să definească punctele de întâlnire în care pot fi colectate semnături de la participanții sau dezbaterile deschise celorlalți participanți.

    Exemple: o iniţiativă poate aduna semnături pentru a convoca o consultare între toţi cetăţenii unei organizaţii, fie să creeze sau să convoace o adunare, sau să iniţieze un proces de majorare a bugetului pentru un teritoriu sau o zonă a organizaţiei. În timpul procesului de colectare a semnăturilor, mai mulți oameni pot adăuga la această cerere și o pot duce mai departe în organizație.

    \n" title: Ce sunt inițiativele? initiatives: @@ -193,18 +193,18 @@ ro: description: Descriere initiative_votes_count: Numărul de voturi initiatives: Inițiative - state: Județ + state: Status committee_requests: index: - approve: Aprobați - confirm_revoke: Ești sigur? + approve: Aprobă + confirm_revoke: Sigur dorești asta? invite_to_committee_help: Distribuie acest link pentru a invita alți participanți la comitetul promotorilor no_members_yet: Nu există membri în comitetul promotorilor - revoke: Revoke - title: Membrii Comitetului + revoke: Revocă + title: Membrii comitetului content_blocks: highlighted_initiatives: - max_results: Cantitatea maximă de elemente de afișat + max_results: Număr maxim de elemente care vor fi afișate order: default: Implicit (recent) label: 'Ordonare element după:' @@ -213,10 +213,10 @@ ro: initiatives: Inițiative initiatives: edit: - accept: Acceptați inițiativa - confirm: Ești sigur? - confirm_send_to_technical_validation: Sunteţi sigur(-ă)? - discard: Renunțați la inițiativă + accept: Acceptă inițiativa + confirm: Sigur dorești asta? + confirm_send_to_technical_validation: Sigur dorești asta? + discard: Renunță la inițiativă export_pdf_signatures: Exportă fișierul PDF al semnăturilor export_votes: Exportă semnăturile reject: Refuză inițiativă @@ -235,7 +235,7 @@ ro: documents: Documente edit: Editare new: Nou - photos: Imagini + photos: Poze show: print: Tipărește update: @@ -244,22 +244,22 @@ ro: initiatives_type_scopes: create: error: A apărut o eroare - success: A fost creat un nou domeniu de aplicare pentru un anumit tip de inițiativă + success: A fost creat un nou domeniu de interes pentru un anumit tip de inițiativă destroy: - success: Domeniul de aplicare a fost eliminat cu succes + success: Domeniul de interes a fost eliminat cu succes edit: back: Înapoi - confirm_destroy: Ești sigur? + confirm_destroy: Sigur dorești asta? destroy: Ștergere - title: Editează domeniul de aplicare al tipului de inițiativă + title: Editează domeniul de interes al tipului de inițiativă update: Actualizare new: back: Înapoi - create: Crează - title: Crearea domeniului de aplicare a tipului de inițiativă + create: Creează + title: Creează tipul domeniului pentru inițiative update: error: A apărut o eroare - success: Domeniul de aplicare a fost actualizat cu succes + success: Domeniul de interes a fost actualizat cu succes initiatives_types: create: error: A apărut o eroare @@ -267,7 +267,7 @@ ro: destroy: success: Tipul de inițiativă a fost eliminat cu succes edit: - confirm_destroy: Ești sigur? + confirm_destroy: Sigur dorești asta? destroy: Ștergere update: Actualizare form: @@ -277,9 +277,9 @@ ro: options: Opţiuni title: Informaţii generale initiative_type_scopes: - title: Domeniul de aplicare al tipului de inițiativă + title: Domeniul de interes al tipului de inițiativă new: - create: Crează + create: Creează title: Noul tip de inițiativă update: error: A apărut o eroare @@ -291,10 +291,10 @@ ro: unpublish: "%{user_name} a eliminat inițiativa %{resource_name}" update: "%{user_name} a actualizat inițiativa %{resource_name}" admin_states: - accepted: Destinatar semnături + accepted: Semnături suficiente created: Creat discarded: Respins - published: Publicat + published: Publicate rejected: Semnături insuficiente validating: Validarea tehnică application_helper: @@ -303,7 +303,7 @@ ro: filter_scope_values: all: Toate filter_state_values: - accepted: Destinatar semnături + accepted: Semnături suficiente all: Toate answered: Răspuns closed: Închis @@ -316,91 +316,94 @@ ro: success: Cererea a fost aprobată. new: continue: Continuă - help_text: Sunteți pe cale să deveniți membru al comitetului de promotori al acestei inițiative + help_text: Ești pe cale de a deveni membru al comitetului de promotori al acestei inițiative revoke: success: Cererea a fost revocată. spawn: - success: Solicitarea dvs. a fost trimisă autorului de inițiativă. + success: Solicitarea ta fost trimisă autorului inițiativei. content_blocks: highlighted_initiatives: - name: Inițiative principale + name: Inițiative evidențiate create_initiative: fill_data: back: Înapoi continue: Continuă - fill_data_help: "
    • Examinați conținutul inițiativei dvs. Este ușor de înțeles titlul dvs.? Este obiectivul inițiativei dvs.?
    • Trebuie să alegeți tipul de semnătură. Persoană, online sau o combinație a ambelor
    • Care este aria geografică a inițiativei?
    " + fill_data_help: "
    • Examinează conținutul inițiativei tale. Este ușor de înțeles titlul pus de tine? E clar obiectivul inițiativei?
    • Trebuie să alegi tipul de semnătură. În persoană, online sau o combinație a ambelor
    • Care este aria geografică a inițiativei?
    " initiative_type: Tip de inițiativă more_information: "(Informaţii principale)" select_area: Selectează o zonă - select_scope: Selectează un domeniu + select_scope: Selectează un domeniu de interes finish: back: Înapoi back_to_initiatives: Înapoi la inițiative - callout_text: Felicitări! Inițiativa dvs. a fost creată cu succes. - confirm: Veți trimite inițiativa unui administrator pentru a o revizui și a o publica. Odată publicat, nu o vei putea edita. Ești sigur? + callout_text: Felicitări! Inițiativa ta a fost creată cu succes. + confirm: Vei trimite inițiativa unui administrator pentru a o revizui și a o publica. Odată publicată, nu o vei putea edita. Sigur dorești asta? edit_my_initiative: Editează inițiativa mea - go_to_my_initiatives: Mergeți la inițiativele mele - more_information: "(Informaţii principale)" - send_my_initiative: Trimite inițiativa mea la validarea tehnică + go_to_my_initiatives: Accesează inițiativele mele + more_information: "(Mai multe informații)" + send_my_initiative: Trimite inițiativa mea spre validarea tehnică finish_help: access_reminder: Poți accesa inițiativele tale prin filtrul %{link} de pe pagina de inițiative. - publish_helper_text: Reţineţi că pentru ca iniţiativa dvs. să fie publicată, trebuie să completaţi informaţiile necesare şi să le trimiteţi la validarea tehnică pentru ca un administrator să le revizuiască. + publish_helper_text: Reţine faptul că pentru ca iniţiativa ta să fie publicată, trebuie să completezi informaţiile necesare şi să le trimiți spre validarea tehnică pentru ca un administrator să le revizuiască. previous_form: back: Înapoi continue: Continuă - help: În ce constă inițiativa? Scrieți titlul și descrierea. Recomandăm un titlu scurt și concis și o descriere axată pe soluția propusă. - more_information: "(Informaţii principale)" + help: În ce constă inițiativa? Scrie titlul și descrierea. Recomandăm un titlu scurt și concis și o descriere axată pe soluția propusă. + more_information: "(Mai multe informații)" promotal_committee: back: Înapoi - individual_help_text: Acest tip de inițiativă necesită o Comisie de promovare formată din cel puțin %{committee_size} de persoane (atestatori). Trebuie să împărtășiți următorul link cu celelalte persoane care fac parte din această inițiativă. Când persoanele de contact primesc acest link vor trebui să urmeze pașii indicați. - more_information: "(Informaţii principale)" + individual_help_text: Acest tip de inițiativă necesită o Comisie de promovare formată din cel puțin %{committee_size} de persoane (atestatori). Trebuie să diseminezi următorul link cu celelalte persoane care fac parte din această inițiativă. Când persoanele de contact primesc acest link vor trebui să urmeze pașii indicați. + more_information: "(Mai multe informații)" select_initiative_type: back: Înapoi choose_html: Vreau să creez un %{title} - more_information: "(Informaţii principale)" + more_information: "(Mai multe informații)" select: Doresc să promovez această iniţiativă - select_initiative_type_help: Inițiativele reprezintă un mijloc prin care participanții pot interveni astfel încât organizația să poată întreprinde acțiuni de apărare a interesului general. Ce inițiativă doriți să lansați? + select_initiative_type_help: Inițiativele reprezintă un mijloc prin care participanții pot interveni astfel încât organizația să poată întreprinde acțiuni de apărare a interesului general. Ce inițiativă dorești să lansezi? share_committee_link: continue: Continuă invite_to_committee_help: Link pentru a invita persoane care vor face parte din comitetul promotor show_similar_initiatives: back: Înapoi - compare_help: Dacă oricare dintre următoarele inițiative este similară cu a dumneavoastră, vă încurajăm să o semnați. Propunerea dvs. va avea mai multe posibilități de a se realiza. + compare_help: Dacă oricare dintre următoarele inițiative este similară cu a dumneavoastră, te încurajăm să o semnezi. Propunerea ta va avea mai multe posibilități de a se realiza. continue: Iniţiativa mea este diferită more_information: "(Informaţii principale)" edit: - accept: Acceptați inițiativa + accept: Acceptă inițiativa back: Înapoi - confirm: Sunteţi sigur(-ă)? - discard: Renunțați la inițiativă + confirm: Sigur dorești asta? + discard: Renunță la inițiativă export_pdf_signatures: Exportă fișierul PDF al semnăturilor export_votes: Exportă semnăturile - reject: Refuză inițiativă + reject: Refuză inițiativa title: Editare inițiativă update: Actualizare events: approve_membership_request: email_intro: "%{author_nickname} a acceptat cererea ta de a face parte din comitetul promotorilor pentru inițiativa %{resource_title}." - email_outro: 'Ați primit această notificare deoarece ați aplicat la această inițiativă: %{resource_title}' - email_subject: "%{author_nickname} a acceptat cererea dvs. la comitetul promotorului" - notification_title: %{author_nickname} a acceptat cererea dvs. de a face parte din comitetul promotorului pentru următoarea inițiativă %{resource_title}. + email_outro: 'Ai primit această notificare deoarece ai aplicat pentru a face parte din comitetul promotor pentru această inițiativă: %{resource_title}' + email_subject: "%{author_nickname} a acceptat cererea ta de a intra în comitetul de promovare" + notification_title: %{author_nickname} a acceptat cererea tade a face parte din comitetul de promovare pentru următoarea inițiativă %{resource_title}. create_initiative_event: - email_intro: "%{author_name} %{author_nickname}, pe care îl urmărești, a creat o nouă inițiativă, verifică și contribuește:" - email_outro: Ați primit această notificare deoarece urmăriți %{author_nickname}. Puteți înceta să primiți notificări urmând linkul anterior. + email_intro: "%{author_name} %{author_nickname}, pe care îl urmărești, a creat o nouă inițiativă, verifică și contribuie:" + email_outro: Ai primit această notificare deoarece urmărești%{author_nickname}. Poți opri notificările accesând linkul anterior. email_subject: O nouă inițiativă a %{author_nickname} notification_title: Inițiativa %{resource_title} a fost creată de %{author_name} %{author_nickname}. endorse_initiative_event: - email_intro: "%{author_name} %{author_nickname}, pe care îl urmărești, a aprobat următoarea inițiativă, poate doriți să contribuiți la conversație:" - email_outro: Ați primit această notificare deoarece urmăriți %{author_nickname}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Inițiativă aprobată de %{author_nickname} - notification_title: Inițiativa %{resource_title} a fost aprobată de %{author_name} %{author_nickname}. + email_intro: "%{author_name} %{author_nickname}, pe care îl urmărești, a susținut următoarea inițiativă; dacă dorești, poți contribui și tu aici:" + email_outro: Ai primit această notificare deoarece urmărești%{author_nickname}. Poți opri notificările accesând linkul anterior. + email_subject: Inițiativă susținută de %{author_nickname} + notification_title: Inițiativa %{resource_title} a fost susținută de %{author_name} %{author_nickname}. revoke_membership_request: - email_intro: "%{author_nickname} a respins cererea dvs. pentru a face parte din comitetul promotorilor pentru inițiativa următoare %{resource_title}." - email_outro: 'Ați primit această notificare deoarece ați aplicat la această inițiativă: %{resource_title}.' - email_subject: "%{author_nickname} a respins cererea ta la comitetul promotorilor" + email_intro: "%{author_nickname} a respins cererea tapentru a face parte din comitetul de promovare pentru inițiativa următoare %{resource_title}." + email_outro: 'Ai primit această notificare deoarece ai cerut să iei parte la această inițiativă: %{resource_title}.' + email_subject: "%{author_nickname} a respins cererea ta la comitetul de promovare" + notification_title: %{author_nickname} a respins cererea ta de a face parte din comitetul de promovare pentru următoarea inițiativă %{resource_title}. spawn_committee_request_event: - email_intro: "%{applicant_nickname} a aplicat pentru comitetul promotor al inițiativei dumneavoastră %{resource_title}. Pentru a accepta sau respinge cererea, accesați forma de editare a inițiativei dvs." - email_outro: 'Ați primit această notificare deoarece sunteți autorul acestei inițiative: %{resource_title}' + email_intro: "%{applicant_nickname} a aplicat pentru comitetul de promovare al inițiativei tale %{resource_title}. Pentru a accepta sau respinge cererea, accesează formularul de editare al inițiativei ta." + email_outro: 'Ai primit această notificare deoarece ești autorul acestei inițiative: %{resource_title}' + email_subject: "%{applicant_nickname} vrea să se alăture inițiativei tale" + notification_title: %{applicant_nickname} a depus cerere pentru comitetul de promovare al inițiativa tale %{resource_title}. Pentru a accepta sau respinge apasă aici. form: add_attachments: Documente attachment_legend: "(Opțional) Adăugați atașamente" @@ -414,7 +417,7 @@ ro: day: Zi month: Lună year: An - help: Vă rugăm să completați următoarele câmpuri cu datele dvs. personale pentru a semna inițiativa + help: Te rugăm să completezi următoarele câmpuri cu datele tale personale pentru a semna inițiativa finish: back_to_initiative: Înapoi la inițiativă sms_code: @@ -431,9 +434,9 @@ ro: personal_data: invalid: Datele cu caracter personal nu sunt compatibile cu datele furnizate pentru autorizare. sms_code: - invalid: Codul de verificare nu se potrivește cu al nostru. Vă rugăm să verificați din nou SMS-ul pe care vi l-am trimis. + invalid: Codul de verificare nu se potrivește cu al nostru. Te rugăm să verifici din nou SMS-ul pe care ți l-am trimis. sms_phone: - invalid: Numărul de telefon este invalid sau în aşteptarea autorizaţiei. Vă rugăm să verificaţi autorizaţiile. + invalid: Numărul de telefon este invalid sau în aşteptarea autorizaţiei. Te rugăm să verific setările tale de autorizare. initiatives: author: deleted: Șters @@ -444,9 +447,10 @@ ro: other: și încă %{count} persoane committee_members: approve: Aprobă - confirm_revoke: Ești sigur? - invite_to_committee_help: Distribuie acest link pentru a invita alți participanți la comitetul promotorilor - no_members_yet: Nu există membri în comitetul promotorilor + confirm_revoke: Sigur dorești asta? + invite_to_committee_help: Distribuie acest link pentru a invita alți participanți la comitetul de promovare + no_members_yet: Nu există membri în comitetul de promovare + revoke: Revocă title: Membrii comitetului count: title: @@ -455,10 +459,10 @@ ro: other: "%{count} inițiative" filters: any: Oricare - area: Suprafață + area: Zonă author: Autor myself: Inițiativele mele - scope: Domeniu + scope: Domeniu de interes search: Caută state: Status type: Tip @@ -472,8 +476,11 @@ ro: not_authorized: authorizations_page: Vezi autorizațiile close: Inchide - explanation: Trebuie să fiți verificat pentru a crea o nouă inițiativă. + explanation: Trebuie să fii verificat pentru a crea o nouă inițiativă. title: Autorizare necesară + initiatives: + closed_initiatives_warning: În prezent, nu există inițiative deschise, dar aici poți găsi toate inițiativele anterioare. + no_initiatives_warning: Nicio inițiativă nu corespunde criteriilor de căutare. interactions: comments_count: count: @@ -490,27 +497,33 @@ ro: print: address: Adresă author_title: Autorul inițiativei - city: Localitate + city: Oraș email: Email - full_name: Numele complet + full_name: Nume complet + general_title: Cererea de admitere a unei inițiative + id_number: Numărul documentului de identificare initiative: - attachments: Documentație atașată (vă rugăm să scrieți numele fiecărui document mai jos) + attachments: Documentație atașată (te rugăm să scrii numele fiecărui document mai jos) description: 'Descriere:' title: 'Titlu:' type: Tipul de inițiativă + legal_text: Datele cu caracter personal colectate vor fi încorporate și tratate în mod confidențial de către organizație, în conformitate cu legislația actuală. phone_number: Număr de telefon place_date: Locul, data - postal_code: Cod poștal/ZIP + postal_code: Cod poștal print: Tipărește province: Județ/stat + section: 'Dacă organizația solicită acest lucru, te rugăm tipărește și completează acest formular pentru a-l depune conform indicațiilor:' signature: Semnătură result: answer_title: S-a răspuns la această inițiativă initiative_rejected_reason: Această inițiativă a fost respinsă din cauza lipsei de semnături. show: - any_vote_method: Această inițiativă adună semnături online și personale. + any_vote_method: Această inițiativă cetățenească colectează atât semnături online, cât și pe cele în persoană. + confirm: Vei trimite inițiativa unui administrator pentru a o revizui și a o publica. Odată publicată, nu o vei putea edita. Sigur dorești asta? edit: Editează - follow_description: Primiți o notificare atunci când există știri în această inițiativă + follow_description: Primește o notificare atunci când există noutăți legate de această inițiativă + offline_method: Această inițiativă colectează doar semnături în persoană. print: Imprimare inițiativă send_to_technical_validation: Trimite la validarea tehnică signatures_count: @@ -525,22 +538,22 @@ ro: votes_blocked: Semnarea este dezactivată votes_count: count: - one: SEMNĂTATE + one: Semnătura few: SEMNĂTURI other: SEMNĂTURI most_popular_initiative: Cea mai populară inițiativă - need_more_votes: Aveți nevoie de mai multe semnături + need_more_votes: Necesită mai multe semnături initiatives_mailer: creation_subject: Iniţiativa ta '%{title}' a fost creată initiative_link: - check_initiative_details: Puteți vedea detaliile inițiativei + check_initiative_details: Poți vedea detaliile inițiativei here: aici - more_information: Aici aveți mai multe informații despre procesul de creare a inițiativei. + more_information: Aici ai mai multe informații despre procesul de creare a inițiativei. progress_report_body_for: Inițiativa %{title} a atins %{percentage}% din semnăturile necesare. progress_report_for: 'Rezumat despre inițiativă: %{title}' - promotal_committee_help: Amintiți-vă că trebuie să invitați cel puțin %{member_count} persoane în comisia promotorului. Înaintați următorul link pentru a invita persoane la comisia promotoare - status_change_body_for: 'Inițiativa %{title} și-a modificat starea la: %{state}' - status_change_for: Inițiativa %{title} și-a modificat starea + promotal_committee_help: Nu uita că trebuie să inviți cel puțin %{member_count} persoane în comisia de promovare. Poți trimite link-ul următor pentru a invita persoane în comitetul de promovare + status_change_body_for: 'Inițiativa %{title} și-a schimbat statutul după cum urmează: %{state}' + status_change_for: Inițiativa %{title} și-a schimbat statutul last_activity: new_initiative: Inițiativă nouă pages: @@ -550,7 +563,7 @@ ro: see_all_initiatives: Vezi toate inițiativele show: badge_name: - accepted: Destinatar semnături + accepted: Semnături suficiente created: Creat discarded: Respins published: Publicat @@ -559,7 +572,7 @@ ro: states: accepted: Acceptat expired: Expirat - unavailable_scope: Domeniul de aplicare indisponibil + unavailable_scope: Domeniu indisponibil update: error: A apărut o eroare success: Inițiativa a fost actualizată @@ -578,25 +591,25 @@ ro: admin: initiative: attachments: Atașamente - committee_members: Membrii Comitetului + committee_members: Membrii comitetului components: Componente - information: Informare + information: Informații initiative_creation_header: back: Înapoi - fill_data: Crează - finish: Terminare - previous_form: Pornire - promotal_committee: Comitet promotor + fill_data: Creează + finish: Finalizare + previous_form: Start + promotal_committee: Comitet de promovare select_initiative_type: Alege show_similar_initiatives: Compară step: Pasul %{current} din %{total} - title: Creați o inițiativă nouă + title: Creează o inițiativă nouă initiative_header: initiative_menu_item: Inițiativă initiative_signature_creation_header: back: Înapoi fill_personal_data: Completează datele tale - finish: Terminare + finish: Finalizare finished: Semnătura inițiativei create see_steps: vezi pașii select_identity: Selectare identitate diff --git a/decidim-meetings/config/locales/ro-RO.yml b/decidim-meetings/config/locales/ro-RO.yml index 974b6de30b2fe..a0662c3569d4d 100644 --- a/decidim-meetings/config/locales/ro-RO.yml +++ b/decidim-meetings/config/locales/ro-RO.yml @@ -8,7 +8,7 @@ ro: close_meeting: attendees_count: Număr de participanți attending_organizations: Lista organizaţiilor care au participat - closing_report: Raport + closing_report: Raportează contributions_count: Numărul de contribuții proposal_ids: Propuneri formulate în cadrul ședinței meeting: @@ -166,7 +166,7 @@ ro: attachment_collections: Dosare attachments: Atașamente close: Inchide - confirm_destroy: Sunteţi sigur că doriţi să ştergeţi această întâlnire? + confirm_destroy: Ești sigur(ă) că vrei să ştergi acestă întâlnire? destroy: Ștergere edit: Editare invalid_destroy: @@ -174,7 +174,7 @@ ro: one: 'Întâlnirea nu poate fi eliminată deoarece are %{count} propunere asociată:' few: 'Întâlnirea nu poate fi eliminată deoarece are %{count} propunere asociată:' other: 'Întâlnirea nu poate fi eliminată deoarece are %{count} propuneri asociate acestuia:' - minutes: Minute + minutes: Minuta new: Ședință nouă preview: Previzualizare registrations: Înregistrări @@ -205,7 +205,7 @@ ro: end_date: Data de încheiere start_date: Data de început new: - create: Crează + create: Creează title: Agenda nouă update: invalid: A apărut o eroare la actualizarea acestei agende @@ -251,7 +251,7 @@ ro: success: Ședință închisă cu succes create: invalid: A apărut o problemă la crearea acestei întâlniri - success: Ședință creată cu succes + success: Ședință a fost creată cu succes destroy: invalid: proposals_count: @@ -275,8 +275,8 @@ ro: index: title: Întâlniri new: - create: Crează - title: Creare întâlnire + create: Creează + title: Creează întâlnire service: description: Descriere down: Jos @@ -292,17 +292,17 @@ ro: success: Întâlnire actualizată cu succes minutes: create: - invalid: A apărut o problemă la crearea acestui minut - success: Minute create cu succes + invalid: A apărut o problemă la crearea acestei minute + success: Minuta a fost creată cu succes edit: - title: Editare minute + title: Editează minuta update: Actualizare new: - create: Crează - title: Crează minute + create: Creează + title: Creează minuta update: - invalid: A apărut o eroare la actualizarea acestui minut - success: Minute actualizate cu succes + invalid: A apărut o eroare la actualizarea acestei minute + success: Minuta a fost actualizată cu succes models: meeting: name: Întâlnire @@ -344,8 +344,8 @@ ro: organizer_presenter: not_found: 'Organizatorul nu a fost găsit în baza de date (ID: %{id})' minutes: - create: "%{user_name} a creat procesul-verbal al ședinței %{resource_name} pe spațiul %{space_name}" - update: "%{user_name} a actualizat procesul-verbal al ședinței %{resource_name} pe spațiul %{space_name}" + create: "%{user_name} a creat minuta ședinței %{resource_name} în spațiul participativ %{space_name}" + update: "%{user_name} a actualizat minuta ședinței %{resource_name} în spațiul participativ %{space_name}" calendar_modal: calendar_url: URL Calendar close_window: Închide fereastra @@ -428,7 +428,7 @@ ro: form: address_help: 'Adresă: utilizată de Geocoder pentru a găsi locaţia' available_slots_help: Lăsați această opțiune la 0 dacă aveți sloturi disponibile nelimitate - create_as: Creaza o sedinta ca + create_as: Creeaza o întâlnire ca disclaimer: 'Declinare: Prin utilizarea unui sistem extern de înregistrare, știți că organizatorii %{organization} nu sunt responsabili pentru datele furnizate de utilizatori serviciului extern.' location_help: 'Locație: mesaj direcționat către utilizatori care implică locul la care să se întâlnească' location_hints_help: 'Sugestii privind locaţia: informaţii suplimentare. Exemplu: podeaua clădirii dacă este o întâlnire interpersonală, sau dacă este vorba de o întâlnire online cu acces restrâns.' @@ -440,14 +440,14 @@ ro: index: new_meeting: Ședință nouă meeting_minutes: - meeting_minutes: Procesul-verbal al şedinţei + meeting_minutes: Minutele şedinţelor related_information: Informații conexe meetings: no_meetings_warning: Nici o întâlnire nu corespunde criteriilor de căutare sau nu există nicio întrunire programată. upcoming_meetings_warning: În prezent, nu există întâlniri programate, dar aici se află pe listă toate reuniunile anterioare. new: back: Înapoi - create: Crează + create: Creează title: Creează-ți o întâlnire registration_confirm: cancel: Anulează @@ -459,9 +459,9 @@ ro: contributions: Număr de contribuții date: Data edit_meeting: Editați ședința - going: Merge + going: Particip join: Alătură-te ședinței - meeting_report: Raportul reuniunii + meeting_report: Raportul întâlnirii no_slots_available: Niciun slot disponibil organizations: Participare la organizaţii registration_code_help_text: Codul dvs. de înregistrare diff --git a/decidim-meetings/config/locales/sv.yml b/decidim-meetings/config/locales/sv.yml index c1d4d0da29432..763cd9a1bab08 100644 --- a/decidim-meetings/config/locales/sv.yml +++ b/decidim-meetings/config/locales/sv.yml @@ -94,6 +94,7 @@ sv: resources_permissions_enabled: Åtgärdsbehörigheter kan ställas in för varje möte scope_id: Omfång scopes_enabled: Omfång aktiverade + terms_and_conditions_url_for_meeting_creators: Adress till användarvillkor för mötesförfattare step: announcement: Meddelande comments_blocked: Kommentarer blockerade @@ -259,7 +260,11 @@ sv: form: address_help: 'Adress: anger en plats för Geocoder' available_slots_help: Lämna det till 0 om du har obegränsade platser + disclaimer: 'Disclaimer: När du använder ett externt anmälningssystem är du medveten om att administratörerna för %{organization} inte är ansvariga för de data som tillhandahålls av användarna till den externa tjänsten.' location_help: 'Plats: meddelande till användarna som anger mötesplats' + location_hints_help: 'Tips för att hitta platsen: ytterligare information. Exempel: våningen om det är ett fysiskt möte eller möteslösenordet om det är ett online möte.' + online_meeting_url_help: 'Länk: tillåt deltagare att koppla sig direct till ditt möte' + registration_url_help: 'Länk: tillåt deltagare att registrera sig på en extern tjänst' select_a_meeting_type: Välj mötestyp select_a_registration_type: Välj en registreringsmetod index: @@ -356,6 +361,7 @@ sv: space_type: Deltagarutrymme upcoming: Kommande last_activity: + meeting_updated_at_html: "Mötet uppdaterades på %{link}" new_meeting_at_html: "Nytt möte på %{link}" mailer: invite_join_meeting_mailer: @@ -416,8 +422,14 @@ sv: address_help: 'Adress: som används av Geocoder för att hitta platsen' available_slots_help: Lämna det till 0 om du har obegränsade platser create_as: Skapa möte som + disclaimer: 'Disclaimer: När du använder ett externt anmälningssystem är du medveten om att administratörerna för %{organization} inte är ansvariga för de data som tillhandahålls av användarna till den externa tjänsten.' location_help: 'Plats: meddelande riktat till de användare som antyder platsen att träffas på' + location_hints_help: 'Tips för att hitta platsen: ytterligare information. Exempel: våningen om det är ett fysiskt möte eller möteslösenordet om det är ett online möte.' + online_meeting_url_help: 'Länk: tillåt deltagare att koppla sig direct till ditt möte' + registration_url_help: 'Länk: tillåt deltagare att registrera sig på en extern tjänst' select_a_category: Välj en kategori + select_a_meeting_type: Välj mötestyp + select_a_registration_type: Välj en registreringsmetod index: new_meeting: Nytt möte meeting_minutes: diff --git a/decidim-pages/config/locales/ro-RO.yml b/decidim-pages/config/locales/ro-RO.yml index 23c6e5ca9636f..66b8a68ca79fb 100644 --- a/decidim-pages/config/locales/ro-RO.yml +++ b/decidim-pages/config/locales/ro-RO.yml @@ -11,7 +11,7 @@ ro: update: "%{user_name} a actualizat pagina %{resource_name} în %{space_name}" components: pages: - name: Pagină + name: Pagina settings: global: announcement: Anunţ @@ -21,11 +21,11 @@ ro: admin: models: components: - body: Corp + body: Conținut pages: edit: - save: Actualizare - title: Editare pagină + save: Actualizează + title: Editează pagina update: invalid: A apărut o eroare la salvarea paginii. - success: Pagină salvată cu succes. + success: Pagina a fost salvată cu succes. diff --git a/decidim-participatory_processes/config/locales/es.yml b/decidim-participatory_processes/config/locales/es.yml index d5c9a48d22705..9283daf2deac2 100644 --- a/decidim-participatory_processes/config/locales/es.yml +++ b/decidim-participatory_processes/config/locales/es.yml @@ -336,7 +336,7 @@ es: participatory_processes: name: Procesos participativos stats: - name: Estatísticas + name: Estadísticas title: meta_scope: Ámbito name: Título, descripción y hashtag @@ -455,7 +455,7 @@ es: debates_count: Debates endorsements_count: Adhesiones followers_count: Seguidoras - headline: Estatísticas + headline: Estadísticas meetings_count: Encuentros presenciales no_stats: No hay estadísticas aún. orders_count: Apoyos diff --git a/decidim-participatory_processes/config/locales/ja.yml b/decidim-participatory_processes/config/locales/ja.yml index 80b65799462d3..2f8d8618b5630 100644 --- a/decidim-participatory_processes/config/locales/ja.yml +++ b/decidim-participatory_processes/config/locales/ja.yml @@ -445,7 +445,7 @@ ja: answers_count: 回答 comments_count: コメント debates_count: ディベート - endorsements_count: 支持 + endorsements_count: オススメ followers_count: フォロワー headline: 統計情報 meetings_count: ミーティング diff --git a/decidim-participatory_processes/config/locales/ro-RO.yml b/decidim-participatory_processes/config/locales/ro-RO.yml index 0d6e143cdb86b..9aeb2389374df 100644 --- a/decidim-participatory_processes/config/locales/ro-RO.yml +++ b/decidim-participatory_processes/config/locales/ro-RO.yml @@ -4,7 +4,7 @@ ro: participatory_process: announcement: Anunţ area_id: Zonă - banner_image: Imagine banner + banner_image: Imagine pentru banner copy_categories: Copiază categoriile copy_components: Copiază componentele copy_steps: Copiază pașii @@ -14,43 +14,43 @@ ro: domain: Domeniu end_date: Data de încheiere hashtag: Hashtag - hero_image: Imagine pagina principală - local_area: Zonă organizație + hero_image: Imagine pentru pagina principală + local_area: Zona organizației meta_scope: Metadate privind domeniul de interes - participatory_process_group_id: Grup procese + participatory_process_group_id: Grupul proceselor participatory_scope: Ce se decide participatory_structure: Cum se decide promoted: Promovat published_at: Publicat la - related_process_ids: Procese conexe - scope_id: Domeniu - scope_type_max_depth_id: Adâncimea filtrului de aplicare - scopes_enabled: Domeniu de aplicare activat + related_process_ids: Procese asociate + scope_id: Domeniu de interes + scope_type_max_depth_id: Gradul de adâncime al filtrului privind domeniul + scopes_enabled: Domenii de interes activate short_description: Descriere scurtă show_metrics: Arată indicatori show_statistics: Arată statistici slug: URL slug start_date: Data de început - subtitle: Subtitrare + subtitle: Subtitlu target: Cine participă title: Titlu - weight: Pondere + weight: Ordinea în poziționare participatory_process_group: description: Descriere developer_group: Grup promotor - group_url: Pagină Web + group_url: Pagină web hashtag: Hashtag hero_image: Imagine local_area: Zona organizației meta_scope: Metadate privind domeniul de interes - participatory_process_ids: Procese conexe + participatory_process_ids: Procese asociate participatory_scope: Ce se decide participatory_structure: Cum se decide target: Cine participă title: Titlu participatory_process_step: - cta_path: Apel la calea de acțiune - cta_text: Apel la textul Acțiune + cta_path: URL-ul butonului Apel la acțiune + cta_text: Textul butonului Apel la acțiune description: Descriere end_date: Data de încheiere short_description: Descriere scurtă @@ -67,7 +67,7 @@ ro: document: invalid_document_type: 'Tip de document invalid. Formatele acceptate sunt: %{valid_mime_types}' models: - decidim/participatory_process_step_activated_event: Faza activată + decidim/participatory_process_step_activated_event: Etapă activată decidim/participatory_process_step_changed_event: Etapă modificată activerecord: models: @@ -76,36 +76,36 @@ ro: few: Procese participative other: Procese participative decidim/participatory_process_group: - one: Grup proces participativ - few: Grupuri participante - other: Grupuri participante + one: Grup al procesului participativ + few: Grupuri ale procesului participativ + other: Grupuri ale procesului participativ decidim/participatory_process_step: one: Etapă - few: Faze - other: Faze + few: Etape + other: Etape decidim: admin: actions: - activate: Activare - configure: Configurare + activate: Activează + configure: Configurează confirm_destroy: Confirmă ștergerea - destroy: Ștergere - duplicate: Duplicare - edit: Editare + destroy: Șterge + duplicate: Duplică + edit: Editează filter: - all_processes: Arată toate procesele - process_groups: Procesează grupuri + all_processes: Afișează toate procesele + process_groups: Grupuri ale procesului import_process: Importă new_process: Proces nou - new_process_group: Proces nou de grup + new_process_group: Grup nou de proces new_process_step: Etapă nouă new_process_user_role: Administrator nou al procesului - preview: Previzualizare + preview: Previzualizează publish: Publică resend_invitation: Retrimite invitația - unpublish: De-publicare + unpublish: Anulează publicarea menu: - participatory_process_groups: Grupuri de proces + participatory_process_groups: Grupuri ale procesului participatory_process_groups_submenu: info: Informații landing_page: Pagina principală @@ -119,7 +119,7 @@ ro: info: Informații moderations: Moderări private_users: Participanți privați - process_admins: Procesează administratori + process_admins: Administratori de proces steps: Etape models: participatory_process: @@ -133,19 +133,19 @@ ro: participatory_process_group: fields: title: Titlu - name: Procesează grup + name: Grup al procesului participatory_process_step: fields: end_date: Data de încheiere start_date: Data de început title: Titlu - name: Faza procesului participativ + name: Etapa procesului participativ participatory_process_user_role: fields: email: E-mail name: Nume role: Rol - name: Administrator proces participativ + name: Administratorul procesului participativ roles: admin: Administrator collaborator: Colaborator @@ -158,133 +158,133 @@ ro: participatory_process_copies: new: copy: Copiază - select: Selectați datele pe care doriți să le duplicați + select: Selectează datele pe care dorești să le duplici title: Duplicarea procesului participativ participatory_process_group_landing_page: edit: - active_content_blocks: Blocuri de conținut activ - inactive_content_blocks: Blocuri de conținut inactiv + active_content_blocks: Blocuri active de conținut + inactive_content_blocks: Blocuri inactive de conținut participatory_process_group_landing_page_content_blocks: edit: - update: Actualizare + update: Actualizează participatory_process_groups: destroy: error: A apărut o eroare la eliminarea grupului de proces participativ. - success: Grupul procesului participativ a fost şters. + success: Grupul procesului participativ a fost şters cu succes. edit: - title: Editare grup proces - update: Actualizare + title: Editează grupul procesului + update: Actualizează new: - create: Crează - title: Proces nou de grup + create: Creează + title: Grup nou de proces update: - error: A apărut o problemă la actualizarea acestui grup participativ. - success: Grupul procesului participativ a fost actualizat. + error: A apărut o problemă la actualizarea acestui grup de proces participativ. + success: Grupul de procese participativ a fost actualizat cu succes. participatory_process_imports: create: error: A apărut o problemă la importul acestui proces participativ. - success: Procesul participativ a fost importat. + success: Procesul participativ a fost importat cu succes. new: import: Importă - select: Selectați ce date doriți să importați - title: Importați procesul participativ + select: Selectează datele pe care dorești să le imporți + title: Importă procesul participativ participatory_process_publications: create: error: A apărut o problemă la publicarea acestui proces participativ. - success: Procesul participativ a fost publicat. + success: Procesul participativ a fost publicat cu succes. destroy: - error: S-a întâmpinat o problemă la retragerea de la publicare a acestui proces participativ. - success: Procesul participativ a fost de-publicat. + error: A apărut o problemă la anularea publicării acestui proces participativ. + success: Anularea publicării procesului participativ a fost efectuată cu succes. participatory_process_step_activations: create: - error: A apărut o problemă la activarea acestei faze a procesului participativ. - success: Procesul participativ a fost activat cu succes. + error: A apărut o problemă la activarea acestei etape a procesului participativ. + success: Etapa procesului participativ a fost activată cu succes. participatory_process_steps: create: - error: A apărut o problemă la crearea unei noi faze a procesului participativ. - success: Procesul participativ a fost creat. + error: A apărut o problemă la crearea unei noi etape a procesului participativ. + success: Etapa procesul participativ a fost creată cu succes. default_title: Introducere destroy: error: - active_step: Nu se poate șterge faza activă. - last_step: Nu se poate șterge ultima fază a unui proces. - success: Procesul participativ a fost şters cu succes. + active_step: Nu se poți șterge etapa activă. + last_step: Nu se poți șterge ultima etapă a unui proces. + success: Etapa procesului participativ a fost ştearsă cu succes. edit: - title: Editare proces participativ - update: Actualizare + title: Editează etapa procesului participativ + update: Actualizează index: - steps_title: Faze + steps_title: Etape new: - create: Crează - title: Noua fază a procesului participativ + create: Creează + title: Etapă nouă a procesului participativ ordering: - error: A existat o problemă în reordonarea acestor faze ale procesului participativ. + error: A apărut o problemă la reordonarea acestor etape ale procesului participativ. update: - error: A apărut o problemă la actualizarea acestei faze a procesului participativ. - success: Faza de participare a fost actualizată. + error: A apărut o problemă la actualizarea acestei etape a procesului participativ. + success: Etapa procesul participativ a fost actualizată cu succes. participatory_process_user_roles: create: - error: A apărut o problemă la adăugarea unui participant la acest proces participativ. + error: A apărut o problemă la adăugarea unui participant pentru acest proces participativ. success: Administratorul a fost adăugat cu succes la acest proces participativ. destroy: - success: Administratorul a fost eliminat din acest proces participativ. + success: Administratorul a fost eliminat cu succes din acest proces participativ. edit: title: Actualizează administratorul procesului participativ - update: Actualizare + update: Actualizează index: - process_admins_title: Administratori ai proceselor participative + process_admins_title: Administratori ai procesului participativ new: - create: Crează - title: Noul administrator al procesului participativ + create: Creează + title: Nou administrator al procesului participativ update: error: A apărut o eroare la actualizarea unui administrator pentru acest proces participativ. success: Administratorul a fost actualizat pentru acest proces participativ. participatory_processes: create: error: A apărut o problemă la crearea unui nou proces participativ. - success: Procesul participativ a fost creat. Configurați acum fazele sale. + success: Procesul participativ a fost creat cu succes. Configurează acum etapele acestuia. edit: - update: Actualizare + update: Actualizează index: - not_published: Nu este publicat - private: Privat + not_published: Nepublicate + private: Private public: Publice - published: Publicat + published: Publicate new: - create: Crează - title: Un nou proces participativ + create: Creează + title: Proces participativ nou update: error: A apărut o eroare la actualizarea acestui proces participativ. - success: Procesul participativ a fost actualizat. + success: Procesul participativ a fost actualizat cu succes. participatory_processes_copies: create: - error: A existat o problemă la duplicarea acestui proces participativ. - success: Procesul participativ a fost duplicat. + error: A apărut o problemă la duplicarea acestui proces participativ. + success: Procesul participativ a fost duplicat cu succes. participatory_processes_group: create: error: A apărut o problemă la crearea unui nou grup implicat în procesul participativ. - success: Grupul participativ a fost creat. + success: Grupul participativ a fost creat cu succes. titles: - participatory_process_groups: Grupuri participante + participatory_process_groups: Grupuri ale procesului participativ participatory_processes: Procese participative users: resend_invitation: error: A apărut o eroare la retrimiterea invitației. - success: Invitație retrimisă cu succes. + success: Invitația a fost retrimisă cu succes. admin_log: participatory_process: create: "%{user_name} a creat procesul participativ %{resource_name}" publish: "%{user_name} a publicat procesul participativ %{resource_name}" - unpublish: "%{user_name} nepublicat procesul participativ %{resource_name}" + unpublish: "%{user_name} a anulat publicarea pentru procesul participativ %{resource_name}" update: "%{user_name} a actualizat procesul participativ %{resource_name}" participatory_process_group: create: "%{user_name} a creat grupul de proces participativ %{resource_name}" - update: "%{user_name} a actualizat procesul participativ %{resource_name}" + update: "%{user_name} actualizat grupul de proces participativ %{resource_name}" participatory_process_step: - activate: "%{user_name} a activat faza %{resource_name} în procesul participativ %{space_name}" - create: "%{user_name} a creat faza %{resource_name} în procesul participativ %{space_name}" - delete: "%{user_name} a șters faza %{resource_name} din procesul participativ %{space_name}" - update: "%{user_name} a actualizat faza %{resource_name} în procesul participativ %{space_name}" + activate: "%{user_name} a activat etapa %{resource_name} în procesul participativ %{space_name}" + create: "%{user_name} a creat etapa %{resource_name} în procesul participativ %{space_name}" + delete: "%{user_name} a șters etapa %{resource_name} din procesul participativ %{space_name}" + update: "%{user_name} a actualizat etapa %{resource_name} din procesul participativ %{space_name}" participatory_process_user_role: create: "%{user_name} a invitat participantul %{resource_name} la procesul participativ %{space_name}" delete: "%{user_name} a eliminat participantul %{resource_name} din procesul participativ %{space_name}" @@ -292,36 +292,36 @@ ro: events: participatory_process: role_assigned: - email_intro: Ai fost atribuit ca %{role} pentru procesul participativ "%{resource_title}". - email_outro: Ați primit această notificare deoarece sunteți %{role} din procesul participativ%{resource_title}. - email_subject: Ai fost atribuit ca %{role} pentru "%{resource_title}". - notification_title: Ai fost atribuit ca %{role} pentru procesul participativ %{resource_title}. + email_intro: Ai fost atribuit drept %{role} pentru procesul participativ "%{resource_title}". + email_outro: Ai primit această notificare deoarece ești %{role} în procesul participativ "%{resource_title}". + email_subject: Ai fost atribuit drept %{role} pentru "%{resource_title}". + notification_title: Ai fost atribuit drept %{role} pentru procesul participativ %{resource_title}. step_activated: - email_intro: 'Faza %{resource_title} este acum activă pentru %{participatory_space_title}. O poți vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: O actualizare la %{participatory_space_title} - notification_title: Faza %{resource_title} este acum activă pentru %{participatory_space_title} + email_intro: 'Etapa %{resource_title} este acum activă pentru %{participatory_space_title}. O poți vedea de pe această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{participatory_space_title}. Poți anula aceste notificări de la link-ul anterior. + email_subject: O actualizare pentru %{participatory_space_title} + notification_title: Etapa %{resource_title} este acum activă pentru %{participatory_space_title} step_changed: - email_intro: 'Datele pentru faza %{resource_title} de la %{participatory_space_title} au fost actualizate. O puteți vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: O actualizare la %{participatory_space_title} - notification_title: Datele pentru faza %{resource_title} la %{participatory_space_title} au fost actualizate. + email_intro: 'Datele pentru etapa %{resource_title} din %{participatory_space_title} au fost actualizate. O poți vedea pe această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{participatory_space_title}. Poți anula aceste notificări de la link-ul anterior. + email_subject: O actualizare pentru %{participatory_space_title} + notification_title: Datele pentru etapa %{resource_title} din %{participatory_space_title} au fost actualizate. help: participatory_spaces: participatory_processes: - contextual: "

    Un proces participativ este o secvență de activități participative (de ex. mai întâi să completaţi un sondaj, apoi să faceţi propuneri, discutându-le în cadrul reuniunilor directe sau virtuale; și, în cele din urmă, prioritizarea acestora) în scopul definirii și luării unei decizii cu privire la un subiect specific.

    Exemple de procese participative sunt: un proces de alegere a membrilor comitetului (în care sunt prezentate pentru prima dată candidații), apoi să se dezbată și, în cele din urmă, să se aleagă candidatura), bugetele participative (unde se fac propuneri, a apreciat din punct de vedere economic şi a votat cu banii disponibili), un proces de planificare strategică; elaborarea în colaborare a unui regulament sau normă, conceperea unui spațiu urban sau elaborarea unui plan de politică publică.

    \n" - page: "

    Un proces participativ este o secvență de activități participative (de ex. mai întâi să completaţi un sondaj, apoi să faceţi propuneri, discutându-le în cadrul reuniunilor directe sau virtuale; și, în cele din urmă, prioritizarea acestora) în scopul definirii și luării unei decizii cu privire la un subiect specific.

    Exemple de procese participative sunt: un proces de alegere a membrilor comitetului (în care sunt prezentate pentru prima dată candidații), apoi să se dezbată și, în cele din urmă, să se aleagă candidatura), bugetele participative (unde se fac propuneri, a apreciat din punct de vedere economic şi a votat cu banii disponibili), un proces de planificare strategică; elaborarea în colaborare a unui regulament sau normă, conceperea unui spațiu urban sau elaborarea unui plan de politică publică.

    \n" + contextual: "

    Un proces participativ este o succesiune de activități participative (de exemplu, prima etapă poate fi completarea unui sondaj, urmată de formularea de propuneri, discutarea lor în cadrul unor întâlniri față în față sau virtuale și, în cele din urmă, stabilirea priorităților) cu scopul de a defini și de a lua o decizie pe o temă specifică.

    Exemple de procese participative pot fi: un proces de alegere a membrilor unui comitet (atunci când candidaturile sunt prezentate pentru prima dată, apoi dezbătute și, în final, se alege o candidatură), un buget participativ (atunci când cetățenii fac propuneri, acestea sunt evaluate din punct de vedere economic și apoi sunt votate tot de către cetățeni în limita unui buget prestabilit), un proces de planificare strategică, elaborarea în colaborare a unui regulament sau a unei norme, conceperea unui spațiu urban sau elaborarea unui plan de politică publică.

    \n" + page: "

    Un proces participativ este o succesiune de activități participative (de exemplu, prima etapă poate fi completarea unui sondaj, urmată de formularea de propuneri, discutarea lor în cadrul unor întâlniri față în față sau virtuale și, în cele din urmă, stabilirea priorităților) cu scopul de a defini și de a lua o decizie pe o temă specifică.

    Exemple de procese participative pot fi: un proces de alegere a membrilor unui comitet (atunci când candidaturile sunt prezentate pentru prima dată, apoi dezbătute și, în final, se alege o candidatură), un buget participativ (atunci când cetățenii fac propuneri, acestea sunt evaluate din punct de vedere economic și apoi sunt votate tot de către cetățeni în limita unui buget prestabilit), un proces de planificare strategică, elaborarea în colaborare a unui regulament sau a unei norme, conceperea unui spațiu urban sau elaborarea unui plan de politică publică.

    \n" title: Ce este un proces participativ? menu: processes: Procese participative metrics: participatory_processes: - description: Numărul de procese participative în această organizație + description: Numărul de procese participative ale acestei organizații object: procese participative title: Procese participative participatory_process: show: - related_assemblies: Organizații relaționate + related_assemblies: Grupuri de lucru asociate participatory_process_groups: content_blocks: html_1: @@ -348,22 +348,22 @@ ro: few: "%{count} procese" other: "%{count} procese" show: - title: Grupuri participante + title: Grupuri ale procesului participativ participatory_process_steps: index: - process_steps: Faze de proces - title: Fazele procesului participativ + process_steps: Etape ale procesului + title: Etape ale procesului participativ participatory_processes: admin: content_blocks: highlighted_processes: - max_results: Cantitatea maximă de elemente de afișat + max_results: Număr maxim de elemente care vor fi afișate new_import: accepted_types: json: JSON participatory_process_copies: form: - slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică acest proces. Acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' + slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică acest proces. Acestea acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' participatory_process_groups: form: metadata: Metadate @@ -372,24 +372,24 @@ ro: participatory_process_imports: form: document_legend: Adaugă un document - slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică acest proces. Acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' + slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică acest proces. Acestea acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' participatory_process_steps: form: - cta_path_help: 'Utilizaţi căi parţiale, nu adrese URL complete aici. Acceptă litere, numere, cratime şi tăieturi, şi trebuie să înceapă cu o literă. Dacă nu este setat, butonul nu va fi afișat. Exemplu: %{url}' + cta_path_help: 'Utilizează căi parţiale, nu adrese URL complete. Acestea acceptă litere, numere, cratime şi bare oblice, şi trebuie să înceapă cu o literă. Dacă nu este setat, butonul nu va fi afișat. Exemplu: %{url}' cta_text_help: Dacă nu este setat, butonul nu va fi afișat. participatory_processes: form: - announcement_help: Textul pe care îl introduceți aici va fi afișat utilizatorului chiar sub informațiile procesului. + announcement_help: Textul pe care îl introduci aici va fi afișat utilizatorului chiar sub informațiile procesului. duration: Durată filters: Filtre images: Imagini metadata: Metadate other: Altele - related_processes: Procese conexe - scope_type_max_depth_help: Limitați adâncimea filtrului de domeniu; Filtrul se va afișa de la general la tipul selectat. - select_an_area: Selectați o zonă - select_process_group: Selectați un grup de procese - slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică acest proces. Acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' + related_processes: Procese asociate + scope_type_max_depth_help: Limitează gradul de adâncime al filtrului privind domeniul; Filtrul afișează de la general la tipul de domeniu selectat. + select_an_area: Selectează o zonă + select_process_group: Selectează un grup de proces + slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică acest proces. Acestea acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' title: Informaţii generale visbility: Vizibilitate content_blocks: @@ -398,16 +398,16 @@ ro: index: title: Procese participative last_activity: - new_participatory_process: Un nou proces participativ + new_participatory_process: Proces participativ nou pages: home: highlighted_processes: active_processes: Procese active - active_step: Faza activă + active_step: Etapă activă more_information: Mai multe informații participate: Participă - participate_in: Participă în procesul %{resource_name} - see_all_processes: Vezi toate procesele + participate_in: Participă la procesul %{resource_name} + see_all_processes: Afișează toate procesele participatory_process_steps: index: back_to_process: Înapoi la pagina de proces @@ -423,7 +423,7 @@ ro: few: "%{count} procese" other: "%{count} procese" past: - one: 1 proces trecut + one: 1 proces anterior few: "%{count} procese anterioare" other: "%{count} procese anterioare" upcoming: @@ -431,81 +431,81 @@ ro: few: "%{count} procese viitoare" other: "%{count} procese viitoare" explanations: - no_active: Nici un proces activ + no_active: Niciun proces activ no_active_nor_upcoming: Nici un proces activ sau viitor - no_active_nor_upcoming_callout: Nu există procese active sau viitoare. Aici este o listă a celor din trecut. + no_active_nor_upcoming_callout: Nu există procese active sau viitoare. Aici este o listă a celor anterioare. names: - active: Activ + active: Active all: Toate - past: Trecute - upcoming: Urmează - see: Vedeți + past: Anterioare + upcoming: Viitoare + see: Vezi index: loading: Se încarcă rezultatele... show: area: Zonă - belongs_to_group: Acest proces aparține lui + belongs_to_group: Acest proces aparține de dates: Date developer_group: Grup promotor end_date: Data de încheiere - local_area: Zona Organizatie + local_area: Zona organizației participatory_scope: Ce se decide participatory_structure: Cum se decide private_space: Acesta este un proces privat - related_processes: Procese conexe + related_processes: Procese asociate scope: Domeniu de interes start_date: Data de început target: Cine participă - unspecified: Nu este specificat + unspecified: Nespecificat statistics: answers_count: Răspunsuri comments_count: Comentarii debates_count: Dezbateri - endorsements_count: Susținători + endorsements_count: Susțineri followers_count: Urmăritori headline: Statistici meetings_count: Întâlniri - no_stats: Încă nu există statistici. - orders_count: Suportă + no_stats: Nu există încă statistici. + orders_count: Voturi pages_count: Pagini participants_count: Participanți processes_count: Procese participative projects_count: Proiecte proposals_count: Propuneri results_count: Rezultate - supports_count: Suportă - surveys_count: Chestionare + supports_count: Voturi + surveys_count: Sondaje users_count: Participanți layouts: decidim: participatory_process_groups: participatory_process_group: - browse: Răsfoiţi - browse_resource: Răsfoiți grupul de procese %{resource_name} + browse: Caută + browse_resource: Caută grupul de proces %{resource_name} processes_count: 'Procese:' participatory_process_widgets: show: - active_step: Faza activă + active_step: Etapă activă take_part: Participă participatory_processes: index: promoted_processes: Procese evidențiate participatory_process: - active_step: 'Faza curentă:' + active_step: 'Etapa curentă:' more_info: Mai multe informații more_info_about: Mai multe informații despre procesul %{resource_name} take_part: Participă - take_part_in: Ia parte la procesul %{resource_name} + take_part_in: Participă la procesul %{resource_name} promoted_process: - active_step: 'Faza curentă:' + active_step: 'Etapa curentă:' more_info: Mai multe informații more_info_about: Mai multe informații despre procesul %{resource_name} take_part: Participă - take_part_in: Ia parte la procesul %{resource_name} + take_part_in: Participă la procesul %{resource_name} promoted_process_group: more_info: Mai multe informații process_header_steps: - step: Faza %{current} din %{total} - view_steps: Vezi fazele + step: Etapa %{current} din %{total} + view_steps: Etape ale procesului process_navigation: process_menu_item: Procesul diff --git a/decidim-participatory_processes/config/locales/sv.yml b/decidim-participatory_processes/config/locales/sv.yml index 02402e5ec991c..725eb5c069c55 100644 --- a/decidim-participatory_processes/config/locales/sv.yml +++ b/decidim-participatory_processes/config/locales/sv.yml @@ -37,11 +37,16 @@ sv: weight: Vikt participatory_process_group: description: Beskrivning + developer_group: Kampanjgrupp group_url: Webbplats hashtag: Hashtag hero_image: Bild + local_area: Organisationsområde + meta_scope: Omfångets metadata participatory_process_ids: Relaterade dialoger participatory_scope: Vad som bestäms + participatory_structure: Hur det bestäms + target: Vem deltar title: Titel participatory_process_step: cta_path: Uppmaningens sökväg @@ -152,6 +157,10 @@ sv: copy: Kopiera select: Välj vilka data som du vill duplicera title: Duplicera dialog + participatory_process_group_landing_page: + edit: + active_content_blocks: Aktiva innehållsblock + inactive_content_blocks: Inactiva innehållsblock participatory_process_group_landing_page_content_blocks: edit: update: Uppdatera diff --git a/decidim-proposals/config/locales/pl.yml b/decidim-proposals/config/locales/pl.yml index e29c8054a2365..f402628e96a58 100644 --- a/decidim-proposals/config/locales/pl.yml +++ b/decidim-proposals/config/locales/pl.yml @@ -621,7 +621,7 @@ pl: new_collaborative_draft: Nowy wspólny szkic orders: label: 'Sortuj szkice według:' - most_contributed: Najwięcej kontrybucji + most_contributed: Najbardziej wspierane random: Losowo recent: Najnowszy requests: @@ -679,7 +679,7 @@ pl: success: Szkic propozycji został usunięty. last_activity: new_proposal_at_html: "Nowa propozycja pod %{link}" - proposal_updated_at_html: "Wniosek zaktualizowany o %{link}" + proposal_updated_at_html: "Propozycja zaktualizowana o %{link}" models: collaborative_draft: fields: diff --git a/decidim-proposals/config/locales/ro-RO.yml b/decidim-proposals/config/locales/ro-RO.yml index 43a67c52e4ae4..d3d7c60bbfbc8 100644 --- a/decidim-proposals/config/locales/ro-RO.yml +++ b/decidim-proposals/config/locales/ro-RO.yml @@ -3,12 +3,12 @@ ro: attributes: collaborative_draft: address: Adresa - body: Corp + body: Conținut category_id: Categorie - decidim_scope_id: Domeniu + decidim_scope_id: Domeniu de interes has_address: Are adresă - scope_id: Domeniu - state: Județ + scope_id: Domeniu de interes + state: Stadiu title: Titlu user_group_id: Creează ciornă colaborativă ca proposal: @@ -16,12 +16,12 @@ ro: answer: Răspuns answered_at: Răspuns la automatic_hashtags: Hashtag-uri adăugate automat - body: Corp + body: Conținut category_id: Categorie - decidim_scope_id: Domeniu + decidim_scope_id: Domeniu de interes has_address: Are adresă - scope_id: Domeniu - state: Județ + scope_id: Domeniu de interes + state: Stadiu suggested_hashtags: Hashtag-uri sugerate title: Titlu user_group_id: Creați propunerea ca @@ -31,14 +31,14 @@ ro: cost_report: Raport de cost execution_period: Perioada de execuție proposals_copy: - copy_proposals: Înţeleg că aceasta va importa toate propunerile din componenta selectată în cea curentă şi că această acţiune nu poate fi inversată. - origin_component_id: Componentă pentru a copia propunerile de la + copy_proposals: Înţeleg că această acțiune va importa toate propunerile din componenta selectată în cea curentă şi că această acţiune nu poate fi inversată. + origin_component_id: Componentă de la care se copiază propunerile proposals_import: import_proposals: Importă propuneri keep_authors: Păstrează autorii originali valuation_assignment: admin_log: - valuator_role_id: Nume evaluator + valuator_role_id: Numele evaluatorului errors: models: participatory_text: @@ -50,27 +50,27 @@ ro: attachment: needs_to_be_reattached: Trebuie să fie reatașate body: - cant_be_equal_to_template: nu poate fi egal cu șablonul - identical: și titlul nu poate fi identic + cant_be_equal_to_template: nu poate fi egal cu modelul + identical: Nici titlul nu poate fi identic title: - identical: ȘI corpul nu poate fi identic + identical: Nici conținutul nu poate fi identic models: decidim/proposals/accepted_proposal_event: Propunere acceptată decidim/proposals/admin/update_proposal_category_event: Categorie de propunere modificată - decidim/proposals/admin/update_proposal_scope_event: Domeniul propunerii modificat - decidim/proposals/creation_enabled_event: Crearea propunerii este activată - decidim/proposals/endorsing_enabled_event: Propunere de aprobare activată + decidim/proposals/admin/update_proposal_scope_event: Domeniu de interes al propunerii modificat + decidim/proposals/creation_enabled_event: Crearea de propuneri este activată + decidim/proposals/endorsing_enabled_event: Susținerea propunerii este activată decidim/proposals/evaluating_proposal_event: Propunerea este în curs de evaluare decidim/proposals/proposal_mentioned_event: Propunere menționată decidim/proposals/publish_proposal_event: Propunere publicată decidim/proposals/rejected_proposal_event: Propunere respinsă - decidim/proposals/voting_enabled_event: Votare propunere activată + decidim/proposals/voting_enabled_event: Votare propunerii este activată activerecord: models: decidim/proposals/collaborative_draft: - one: Schiță colaborativă - few: Schițe colaborative - other: Schițe colaborative + one: Ciornă colaborativă + few: Ciorne colaborative + other: Ciorne colaborative decidim/proposals/proposal: one: Propunere few: Propuneri @@ -80,9 +80,9 @@ ro: few: Note other: Note decidim/proposals/proposal_vote: - one: Suport - few: Suportă - other: Suportă + one: Vot + few: Voturi + other: Voturi decidim: admin: filters: @@ -90,25 +90,25 @@ ro: category_id_eq: label: Categorie is_emendation_true: - label: Tipul + label: Tip values: 'false': Propuneri - 'true': Modificări + 'true': Amendamente scope_id_eq: label: Domeniu de interes state_eq: - label: Stare + label: Stadiu values: accepted: Acceptat - evaluating: Evaluare + evaluating: În evaluare published: Publicat - rejected: Refuzat + rejected: Respins validating: Validarea tehnică withdrawn: Retras state_null: - label: Stare + label: Stadiu values: - 'true': Nu s-a răspuns + 'true': Fără răspuns valuator_role_ids_has: label: Atribuit evaluatorului search_placeholder: @@ -116,252 +116,252 @@ ro: components: proposals: actions: - amend: Modifică - create: Crează - endorse: Aprobare - vote: Suport - withdraw: Retragere + amend: Trimite un amendament + create: Creează + endorse: Susține + vote: Votează + withdraw: Retrage name: Propuneri settings: global: allow_card_image: Permite imaginea cardului - amendments_enabled: Amendamente activate - amendments_enabled_help: Dacă este activ, configurați caracteristicile amendamentului pentru fiecare pas. - amendments_wizard_help_text: Asistent pentru amendamente text + amendments_enabled: Trimiterea de amendamente este activată + amendments_enabled_help: Dacă este activă, configurațI funcționalitățile aferente amendamentelor pentru fiecare pas. + amendments_wizard_help_text: Text de ajutor pentru amendamente announcement: Anunţ attachments_allowed: Permite atașamente - can_accumulate_supports_beyond_threshold: Poți acumula suport dincolo de prag - collaborative_drafts_enabled: Ciorne colaborative activate - comments_enabled: Comentarii activate - comments_max_length: Lungimea maximă a comentariilor (Leave 0 pentru valoarea implicită) - geocoding_enabled: Geocodare activată - minimum_votes_per_user: Minim suport per utilizator - new_proposal_body_template: Șablon nou propunere - new_proposal_body_template_help: Puteți defini textul precompletat pe care îl vor avea noile propuneri - new_proposal_help_text: Noua propunere ajută textul - official_proposals_enabled: Propuneri oficiale activate - participatory_texts_enabled: Texte participative activate - participatory_texts_enabled_readonly: Nu se poate interacționa cu această setare dacă există propuneri existente. Vă rugăm, creați o nouă `Componenta de Propuneri` dacă doriți să activați această caracteristică sau să renunțați la toate propunerile importate din meniul `Textele participative` dacă doriți să o dezactivați. - proposal_answering_enabled: Propunere de răspuns activată - proposal_edit_before_minutes: Propunerile pot fi editate de către autori înainte de expirarea acestor mai multe minute - proposal_edit_time: Modificare propunere + can_accumulate_supports_beyond_threshold: Se pot acumula voturi dincolo de pragul limită + collaborative_drafts_enabled: Ciornele colaborative au fost activate + comments_enabled: Comentariile au fost activate + comments_max_length: Număr maxim de caractere a comentariilor (păstrează 0 pentru valoarea implicită) + geocoding_enabled: Geocodarea a fost activată + minimum_votes_per_user: Număr minim de voturi pe utilizator + new_proposal_body_template: Model de conținut pentru o propunere nouă + new_proposal_body_template_help: Poți defini textul precompletat pe care îl vor avea noile propuneri + new_proposal_help_text: Text de ajutor pentru propunere nouă + official_proposals_enabled: Modulul propuneri oficiale a fost activat + participatory_texts_enabled: Modulul texte participative a fost activat + participatory_texts_enabled_readonly: Nu se poate interacționa cu această setare dacă există deja propuneri. Te rugăm, creează o nouă componenta 'Propuneri' dacă dorești să activezi această funcționalitate. Dacă vrei să o dezactivezi mergi în meniul `Texte participative`și renunță la toate propunerile importate. + proposal_answering_enabled: Modulul de răspuns pentru propuneri a fost activat + proposal_edit_before_minutes: Propunerile pot fi editate de către autori până la expirarea termenului definit mai jos în minute + proposal_edit_time: Durata editării propunerii proposal_edit_time_choices: infinite: Permite editarea propunerilor pentru o perioadă infinită de timp limited: Permite editarea propunerilor într-un anumit interval de timp - proposal_length: Lungimea maximă a corpului propunerii - proposal_limit: Limita propunerii per participant - proposal_wizard_step_1_help_text: Asistentul propunerii „Creează” pas ajutând textul - proposal_wizard_step_2_help_text: Expertul propunerii „Comparație” ajută textul - proposal_wizard_step_3_help_text: Asistentul propunerii „Finalizare” ajută textul - proposal_wizard_step_4_help_text: Asistentul propunerii „Publici” pas ajutător text - resources_permissions_enabled: Permisiunile de acțiuni pot fi setate pentru fiecare propunere + proposal_length: Lungimea maximă în caractere a conținutului propunerii + proposal_limit: Limită de propuneri pe participant + proposal_wizard_step_1_help_text: Text de ajutor pentru pasul „Creează” din crearea unei propuneri + proposal_wizard_step_2_help_text: Text de ajutor pentru pasul „Compară” din crearea unei propuneri + proposal_wizard_step_3_help_text: Text de ajutor pentru pasul „Finalizează” din crearea unei propuneri + proposal_wizard_step_4_help_text: Text de ajutor pentru pasul „Publică” din crearea unei propuneri + resources_permissions_enabled: Pentru fiecare propunere pot fi setate drepturi pentru acțiuni scope_id: Domeniu de interes - scopes_enabled: Domenii de interes activate - threshold_per_proposal: Pragul per propunere - vote_limit: Limită suport per participant + scopes_enabled: Domeniile de interes au fost activate + threshold_per_proposal: Prag per propunere + vote_limit: Limită de voturi pe participant step: - amendment_creation_enabled: Crearea de amendamente activată - amendment_creation_enabled_help: Participantul poate modifica propuneri. - amendment_promotion_enabled: Modificare promoție activată - amendment_promotion_enabled_help: Autorii mandatelor vor putea promova propunerea emendul respins. - amendment_reaction_enabled: Reacție de modificare activată - amendment_reaction_enabled_help: Autorii propunerii vor putea accepta sau respinge indemnizațiile participanților. - amendments_visibility: Amendamente de vizibilitate + amendment_creation_enabled: Crearea de amendamente a fost activată + amendment_creation_enabled_help: Participantul poate face amendamente la propuneri. + amendment_promotion_enabled: Opțiunea de a promova amendamente a fost activată + amendment_promotion_enabled_help: Autorii amendamentelor vor putea promova drept propunere amendamentul respins. + amendment_reaction_enabled: Opțiunea de reacții la amendamente a fost activată + amendment_reaction_enabled_help: Autorii propunerii vor putea accepta sau respinge amendamentele participanților. + amendments_visibility: Vizibilitatea amendamentelor amendments_visibility_choices: all: Amendamentele sunt vizibile pentru toţi participants: Amendamentele sunt vizibile doar autorilor acestora - amendments_visibility_help: Dacă opţiunea "Amendamentele sunt vizibile doar autorilor lor" este selectată, participantul trebuie logat pentru a vedea modificările făcute. + amendments_visibility_help: Dacă este selectată opţiunea "Amendamentele sunt vizibile doar autorilor lor", participantul trebuie să fie conectat pe platformă pentru a vedea amendamentele primite. announcement: Anunţ - answers_with_costs: Activează costurile pentru răspunsurile la propuneri + answers_with_costs: Activează opțiunea de cost în răspunsurile la propuneri automatic_hashtags: Hashtag-uri adăugate la toate propunerile comments_blocked: Comentarii blocate - creation_enabled: Crearea propunerii este activată - endorsements_blocked: Aprobări blocate - endorsements_enabled: Aprobări activate - proposal_answering_enabled: Propunere de răspuns activată + creation_enabled: Crearea de propuneri a fost activată + endorsements_blocked: Susțineri blocate + endorsements_enabled: Susțineri activate + proposal_answering_enabled: Modulul de răspuns pentru propuneri a fost activat publish_answers_immediately: Publică imediat răspunsurile la propunere suggested_hashtags: Hashtag-uri sugerate participanţilor pentru noi propuneri - votes_blocked: Suportă blocată - votes_enabled: Suportă activată - votes_hidden: Suportă ascunse (dacă sunt activate suport, verificarea va ascunde numărul de suporturi) + votes_blocked: Votare blocată + votes_enabled: Votare activată + votes_hidden: Voturi ascunse (dacă votarea este activată, bifarea acestei opțiuni va ascunde numărul de voturi primite) events: proposals: admin: proposal_note_created: - email_intro: Cineva a lăsat o notă cu privire la propunerea "%{resource_title}". Verifică la panoul de administrare - email_outro: Ați primit această notificare, deoarece puteți aprecia propunerea. + email_intro: Cineva a lăsat o notă cu privire la propunerea "%{resource_title}". Verifică detaliile în panoul de administrare + email_outro: Ai primit această notificare pentru a putea evalua propunerea. email_subject: Cineva a trimis o notă la propunerea %{resource_title}. - notification_title: Cineva a lăsat o notă despre propunerea %{resource_title}. Verifică la panoul de administrare + notification_title: Cineva a lăsat o notă la propunerea %{resource_title}. Verifică detaliile în panoul de administrare collaborative_draft_access_accepted: - email_intro: '%{requester_name} a fost acceptat să acceseze ca contributor al proiectului de colaborare %{resource_title}.' - email_outro: Ați primit această notificare deoarece sunteți colaborator al %{resource_title}. - email_subject: "%{requester_name} a fost acceptat pentru a accesa ca contributor al %{resource_title}." - notification_title: %{requester_name} %{requester_nickname} a fost acceptat să acceseze ca contributor al proiectului de colaborare %{resource_title}. + email_intro: '%{requester_name} a fost acceptat drept colaborator pentru ciorna colaborativă %{resource_title}.' + email_outro: Ai primit această notificare deoarece ești colaborator pentru %{resource_title}. + email_subject: "Utilizatorul %{requester_name} a fost acceptat drept colaborator pentru %{resource_title}." + notification_title: %{requester_name} %{requester_nickname} a fost acceptat drept colaborator pentru ciorna colaborativă %{resource_title}. collaborative_draft_access_rejected: - email_intro: '%{requester_name} a fost respins pentru a accesa ca contributor al proiectului de colaborare %{resource_title}.' - email_outro: Ați primit această notificare deoarece sunteți colaborator al %{resource_title}. - email_subject: "%{requester_name} a fost respins pentru a accesa ca contributor al proiectului de colaborare %{resource_title}." - notification_title: %{requester_name} %{requester_nickname} a fost respins pentru a accesa ca contributor al proiectului de colaborare %{resource_title}. + email_intro: '%{requester_name} a fost respins drept colaborator pentru ciorna colaborativă %{resource_title}.' + email_outro: Ai primit această notificare deoarece ești colaborator pentru %{resource_title}. + email_subject: "%{requester_name} a fost respins drept colaborator pentru ciorna colaborativă %{resource_title}." + notification_title: %{requester_name} %{requester_nickname} a fost respins drept colaborator pentru ciorna colaborativă %{resource_title}. collaborative_draft_access_requested: - email_intro: '%{requester_name} a solicitat acces ca contribuitor. Puteți accepta sau respinge cererea din pagina %{resource_title} de proiect colaborativ.' - email_outro: Ați primit această notificare deoarece sunteți colaborator al %{resource_title}. + email_intro: '%{requester_name} a solicitat acces drept colaborator. Poți accepta sau respinge cererea din pagina ciornei colaborative %{resource_title}.' + email_outro: Ai primit această notificare deoarece ești colaborator pentru %{resource_title}. email_subject: "%{requester_name} a solicitat acces pentru a contribui la %{resource_title}." - notification_title: %{requester_name} %{requester_nickname} a solicitat acces pentru a contribui la %{resource_title} proiect colaborativ. acceptați sau respingeți cererea. + notification_title: %{requester_name} %{requester_nickname} a solicitat acces pentru a contribui la ciorna colaborativă %{resource_title}. Te rugăm acceptă sau respinge cererea. collaborative_draft_access_requester_accepted: - email_intro: Ați fost acceptat să accesați ca contribuitor al proiectului %{resource_title} colaborativ. - email_outro: Ați primit această notificare deoarece ați solicitat să deveniți colaborator de %{resource_title}. - email_subject: Ați fost acceptat ca contribuitor de %{resource_title}. - notification_title: Ați fost acceptat să accesați ca contribuitor al proiectului colaborativ %{resource_title}. + email_intro: Ai fost acceptat drept colaborator pentru ciorna colaborativă %{resource_title}. + email_outro: Ai primit această notificare deoarece ai solicitat să devii colaborator pentru %{resource_title}. + email_subject: Ai fost acceptat drept colaborator pentru %{resource_title}. + notification_title: Ai fost acceptat drept colaborator pentru ciorna colaborativă %{resource_title}. collaborative_draft_access_requester_rejected: - email_intro: Ai fost respins să accesezi ca contributor al proiectului %{resource_title} colaborativ. - email_outro: Ați primit această notificare deoarece ați solicitat să deveniți colaborator de %{resource_title}. - email_subject: Ați fost respins ca contribuitor de %{resource_title}. - notification_title: Ați fost respins pentru a accesa ca contribuitor din proiectul colaborativ %{resource_title}. + email_intro: Ai fost respins drept colaborator pentru ciorna colaborativă %{resource_title}. + email_outro: Ai primit această notificare deoarece ai solicitat să devii colaborator pentru %{resource_title}. + email_subject: Ai fost respins drept colaborator pentru %{resource_title}. + notification_title: Ai fost respins drept colaborator pentru ciorna colaborativă %{resource_title}. collaborative_draft_withdrawn: - email_intro: %{author_name} %{author_nickname} a retras proiectul colaborativ %{resource_title}. - email_outro: Ați primit această notificare deoarece sunteți colaborator al %{resource_title}. - email_subject: "%{author_name} %{author_nickname} a retras proiectul de colaborare %{resource_title}." - notification_title: %{author_name} %{author_nickname} a retras proiectul colaborativ %{resource_title}. + email_intro: %{author_name} %{author_nickname} a retras ciorna colaborativă %{resource_title}. + email_outro: Ai primit această notificare deoarece ești colaborator pentru %{resource_title}. + email_subject: "%{author_name} %{author_nickname} a retras ciorna colaborativă %{resource_title}." + notification_title: %{author_name} %{author_nickname} a retras ciorna colaborativă %{resource_title}. creation_enabled: - email_intro: 'Acum poți crea propuneri noi în %{participatory_space_title}! Începe să participi la această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Propuneri disponibile acum în %{participatory_space_title} - notification_title: Acum puteți înainta noi propuneri în %{participatory_space_title} + email_intro: 'Acum poți crea propuneri noi pentru %{participatory_space_title}! Participă acum la această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{participatory_space_title}. Poți anula aceste notificări de la link-ul anterior. + email_subject: Propunerile sunt acum disponibile pentru %{participatory_space_title} + notification_title: Acum poți înainta noi propuneri pentru %{participatory_space_title} endorsing_enabled: - email_intro: 'Puteți aproba propuneri în %{participatory_space_title}! Începeți să participați în această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Propunerile de aprobare au început pentru %{participatory_space_title} - notification_title: Acum poți începe să aprobi propuneri în %{participatory_space_title} + email_intro: 'Poți susține propuneri pentru %{participatory_space_title}! Participă acum la această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{participatory_space_title}. Poți anula aceste notificări de la link-ul anterior. + email_subject: Poți acum susține propunerile primite pentru %{participatory_space_title} + notification_title: Poți acum începe să susții propuneri pentru %{participatory_space_title} proposal_accepted: affected_user: email_intro: 'Propunerea ta "%{resource_title}" a fost acceptată. Poți citi răspunsul în această pagină:' - email_outro: Ați primit această notificare deoarece sunteți un autor al "%{resource_title}". + email_outro: Ai primit această notificare deoarece ești autor al propunerii "%{resource_title}". email_subject: Propunerea ta a fost acceptată notification_title: Propunerea ta %{resource_title} a fost acceptată. follower: - email_intro: 'Propunerea "%{resource_title}" a fost acceptată. Puteţi citi răspunsul din această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți „%{resource_title}”. O puteți anula de la link-ul anterior. + email_intro: 'Propunerea "%{resource_title}" a fost acceptată. Poți citi răspunsul în această pagină:' + email_outro: Ai primit această notificare deoarece urmărești „%{resource_title}”. Poți anula urmărirea de la link-ul anterior. email_subject: O propunere pe care o urmărești a fost acceptată notification_title: Propunerea %{resource_title} a fost acceptată. proposal_evaluating: affected_user: - email_intro: 'Propunerea ta "%{resource_title}" este în curs de evaluare. Poți verifica un răspuns în această pagină:' - email_outro: Ați primit această notificare deoarece sunteți un autor al "%{resource_title}". + email_intro: 'Propunerea ta "%{resource_title}" este în curs de evaluare. Poți verifica răspunsul în această pagină:' + email_outro: Ai primit această notificare deoarece ești autor al propunerii "%{resource_title}". email_subject: Propunerea ta este în curs de evaluare notification_title: Propunerea ta %{resource_title} este în curs de evaluare. follower: - email_intro: 'Propunerea "%{resource_title}" este în curs de evaluare. Puteţi verifica un răspuns în această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți „%{resource_title}”. O puteți anula de la link-ul anterior. + email_intro: 'Propunerea "%{resource_title}" este în curs de evaluare. Poţi verifica răspunsul în această pagină:' + email_outro: Ai primit această notificare deoarece urmărești „%{resource_title}”. Poți anula urmărirea de la link-ul anterior. email_subject: O propunere pe care o urmărești este în curs de evaluare notification_title: Propunerea %{resource_title} este în curs de evaluare. proposal_mentioned: email_intro: Propunerea ta "%{mentioned_proposal_title}" a fost menționată în acest spațiu în comentarii. - email_outro: Ați primit această notificare deoarece sunteți un autor al "%{resource_title}". + email_outro: Ai primit această notificare deoarece ești autor al propunerii "%{resource_title}". email_subject: Propunerea ta „%{mentioned_proposal_title}” a fost menționată notification_title: Propunerea ta "%{mentioned_proposal_title}" a fost menționată în acest spațiu în comentarii. proposal_published: - email_intro: '%{author_name} %{author_nickname}, pe care îl urmărești, a publicat o nouă propunere numită "%{resource_title}". Verifică-l și adaugă:' - email_outro: Ați primit această notificare deoarece urmăriți %{author_nickname}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Noua propunere "%{resource_title}" de %{author_nickname} + email_intro: '%{author_name} %{author_nickname}, pe care îl urmărești, a publicat o nouă propunere denumită "%{resource_title}". Verifică propunerea și colaborează:' + email_outro: Ai primit această notificare deoarece urmărești %{author_nickname}. Poți înceta să primești notificări urmând linkul anterior. + email_subject: O nouă propunere "%{resource_title}" de la %{author_nickname} notification_title: Propunerea %{resource_title} a fost publicată de %{author_name} %{author_nickname}. proposal_published_for_space: - email_intro: Propunerea "%{resource_title}" a fost adăugată la "%{participatory_space_title}" pe care o urmărești. - email_outro: Ați primit această notificare deoarece urmați ""%{participatory_space_title}". Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Noua propunere "%{resource_title}" a fost adăugată la %{participatory_space_title} + email_intro: Propunerea "%{resource_title}" a fost adăugată la "%{participatory_space_title}", spațiu participativ pe care îl urmărești. + email_outro: Ai primit această notificare deoarece urmărești „%{participatory_space_title}”. Poți anula aceste notificări de la link-ul anterior. + email_subject: O nouă propunere "%{resource_title}" a fost adăugată la %{participatory_space_title} notification_title: Propunerea %{resource_title} a fost adăugată la %{participatory_space_title} proposal_rejected: affected_user: email_intro: 'Propunerea ta "%{resource_title}" a fost respinsă. Poți citi răspunsul în această pagină:' - email_outro: Ați primit această notificare deoarece sunteți un autor al "%{resource_title}". + email_outro: Ai primit această notificare deoarece ești autor al propunerii "%{resource_title}". email_subject: Propunerea ta a fost respinsă notification_title: Propunerea ta %{resource_title} a fost respinsă. follower: - email_intro: 'Propunerea "%{resource_title}" a fost respinsă. Puteţi citi răspunsul în această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți „%{resource_title}”. O puteți anula de la link-ul anterior. + email_intro: 'Propunerea "%{resource_title}" a fost respinsă. Poţi citi răspunsul în această pagină:' + email_outro: Ai primit această notificare deoarece urmărești „%{resource_title}”. Poți anula aceste notificări de la link-ul anterior. email_subject: O propunere pe care o urmărești a fost respinsă notification_title: Propunerea %{resource_title} a fost respinsă. proposal_update_category: - email_intro: 'Un administrator a actualizat categoria propunerii tale „%{resource_title}", verifică în această pagină:' - email_outro: Ați primit această notificare deoarece sunteți autorul propunerii. + email_intro: 'Un administrator a actualizat categoria propunerii tale „%{resource_title}", verifică modificarea în această pagină:' + email_outro: Ai primit această notificare deoarece ești autorul acestei propuneri. email_subject: Categoria propunerii %{resource_title} a fost actualizată - notification_title: Categoria de propuneri %{resource_title} a fost actualizată de un administrator. + notification_title: Categoria propunerii %{resource_title} a fost actualizată de către un administrator. proposal_update_scope: - email_intro: 'Un administrator a actualizat domeniul de aplicare al propunerii tale „%{resource_title}”, verifică în această pagină:' - email_outro: Ați primit această notificare deoarece sunteți autorul propunerii. - email_subject: Domeniul de aplicare al propunerii %{resource_title} a fost actualizat - notification_title: Domeniul de aplicare al propunerii %{resource_title} a fost actualizat de către un administrator. + email_intro: 'Un administrator a actualizat domeniul de interes al propunerii tale „%{resource_title}”, verifică modificarea în această pagină:' + email_outro: Ai primit această notificare deoarece ești autorul acestei propuneri. + email_subject: Domeniul de interes al propunerii %{resource_title} a fost actualizat + notification_title: Domeniul de interes al propunerii %{resource_title} a fost actualizat de către un administrator. voting_enabled: - email_intro: 'Puteți suporta propuneri în %{participatory_space_title}! Începeți să participați în această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Suportul pentru propuneri a început pentru %{participatory_space_title} - notification_title: Acum poți începe să susții propuneri în %{participatory_space_title} + email_intro: 'Poți vota propuneri pentru %{participatory_space_title}! Participă acum la această pagină:' + email_outro: Ai primit această notificare deoarece urmărești %{participatory_space_title}. Poți anula aceste notificări de la link-ul anterior. + email_subject: A început votarea propunerilor pentru %{participatory_space_title} + notification_title: Acum poți începe să votezi propuneri pentru %{participatory_space_title} gamification: badges: accepted_proposals: conditions: - - Alegeți spațiul de participare al interesului dvs. cu prezentarea propunerilor activată - - Încercați să faceți propuneri care pot fi efectuate. În acest fel este mai probabil ca acestea să fie acceptate. - description: Această insignă este acordată atunci când participați activ cu noi propuneri, iar acestea sunt acceptate. - description_another: Acest participant a acceptat %{score} propuneri. - description_own: Ai acceptat %{score} propuneri. + - Alege spațiul de participare unde e activă opțiunea de a trimite propuneri conform domeniului tău de interes + - Încercă să faci propuneri care pot fi implementate. Astfel crește probabilitatea ca acestea să fie acceptate. + description: Această insignă este acordată atunci când participi activ cu noi propuneri, iar acestea sunt acceptate. + description_another: Acest participant are %{score} propuneri acceptate. + description_own: Ai %{score} propuneri acceptate. name: Propuneri acceptate next_level_in: Obține încă %{score} propuneri acceptate pentru a atinge următorul nivel! - unearned_another: Acest participant nu a acceptat încă nicio propunere. - unearned_own: Încă nu ai primit nicio propunere. + unearned_another: Acest participant nu are încă nicio propunere acceptată. + unearned_own: Încă nu ai nicio propunere acceptată. proposal_votes: conditions: - - Navighează și petrece ceva timp citind propunerile altora - - Acordați sprijin propunerilor care vă plac, sau găsiți interesante - description: Această insignă este acordată atunci când susții propunerile altora. - description_another: Acest participant a sprijinit propunerile %{score}. - description_own: Ați oferit sprijin pentru propunerile %{score}. - name: Propunere de sprijin - next_level_in: Oferiți sprijin pentru %{score} alte propuneri pentru a atinge următorul nivel! - unearned_another: Acest participant nu a oferit încă sprijin pentru nicio propunere. - unearned_own: Încă nu ați oferit sprijin pentru nicio propunere. + - Răsfoiește paginile și petrece puțin timp citind propunerile altora + - Votează propunerilor care îți plac sau ți se par intersante + description: Această insignă este acordată atunci când votezi propunerile altora. + description_another: Acest participant a votat %{score} propuneri. + description_own: Ai votat %{score} propuneri. + name: Voturi pentru propuneri + next_level_in: Votează încă %{score} alte propuneri pentru a atinge următorul nivel! + unearned_another: Acest participant nu a votat încă nicio propunere. + unearned_own: Încă nu ai votat nicio propunere. proposals: conditions: - - Alegeți spațiul de participare al interesului dvs. cu prezentarea propunerilor activată - - Creați o nouă propunere - description: Această insignă este acordată atunci când participați activ cu noi propuneri. + - Alege spațiul de participare unde e activă opțiunea de a trimite propuneri conform domeniului tău de interes + - Creează o nouă propunere + description: Această insignă este acordată atunci când participi activ cu noi propuneri. description_another: Acest participant a creat %{score} propuneri. - description_own: Ați creat %{score} propuneri. + description_own: Ai creat %{score} propuneri. name: Propuneri next_level_in: Creează încă %{score} propuneri pentru a atinge nivelul următor! unearned_another: Acest participant nu a creat încă nicio propunere. - unearned_own: Nu ați creat încă nicio propunere. + unearned_own: Nu ai creat încă nicio propunere. metrics: accepted_proposals: description: Numărul de propuneri acceptate object: propuneri title: Propuneri acceptate endorsements: - description: Numărul de aprobări ale propunerilor - object: andosări - title: Susținători + description: Numărul de susțineri ale propunerilor + object: susțineri + title: Susțineri proposals: description: Număr de propuneri object: propuneri title: Propuneri votes: - description: Numărul de suporturi pentru propuneri - object: suportă - title: Suportă + description: Numărul de voturi pentru propuneri + object: voturi + title: Voturi participatory_spaces: highlighted_proposals: - see_all: Vezi toate (%{count}) + see_all: Afișează toate propunerile (%{count}) proposals: actions: answer_proposal: Răspundeți la propunere - edit_proposal: Editare propunere + edit_proposal: Editează propunerea import: Importă din altă componentă new: Propunere nouă - participatory_texts: Textele participative - show: Arată propunerea + participatory_texts: Texte participative + show: Afișează propunerea title: Acțiuni admin: actions: - preview: Previzualizare + preview: Previzualizează exports: proposal_comments: Comentarii proposals: Propuneri @@ -370,43 +370,43 @@ ro: name: Propunere participatory_texts: bulk-actions: - are_you_sure: Sigur doriți să renunțați la întregul proiect de text participativ? + are_you_sure: Sigur dorești să renunți la întrega ciornă de text participativ? discard_all: Renunță la toate import_doc: Importă documentul discard: - success: Toate proiectele de text participativ au fost eliminate. + success: Toate ciornele de text participativ au fost șterse. import: invalid: Formularul nu este valid! - invalid_file: Fişierul conţine o eroare, vă rugăm să încercaţi să editaţi conţinutul fişierului şi să-l re-încărcaţi din nou. - success: Felicitări, următoarele secțiuni au fost convertite în propuneri. Acum le puteți revizui și ajusta înainte de a publica. + invalid_file: Fişierul conţine o eroare, te rugăm să încerci să editezi conţinutul fişierului şi să-l reîncărci. + success: Felicitări, următoarele secțiuni au fost convertite în propuneri. Acum le poți revizui și ajusta înainte de a le publica. index: - info_1: Următoarele secțiuni au fost convertite în propuneri. Acum le puteți revizui și ajusta înainte de publicare. - publish_document: Publicare document - save_draft: Salvare ciornă - title: PREVEZI TEXTUL PARTICIPATORIEI + info_1: Următoarele secțiuni au fost convertite în propuneri. Acum le poți revizui și ajusta înainte de a le publica. + publish_document: Publică documentul + save_draft: Salvează ciorna + title: Pevizualizează textul participativ new_import: accepted_mime_types: md: Markdown odt: ODT - bottom_hint: "(Veţi putea previzualiza şi sorta secţiunile de document)" - document_legend: 'Adaugă un document mai mic de 2MB, fiecare secțiune până când 3 nivele adâncime vor fi analizate în propuneri. Formatele suportate sunt: %{valid_mime_types}' - title: Adaugă DOCUMENT - upload_document: Încărcați documentul + bottom_hint: "(Vei putea previzualiza şi sorta secţiuni din document)" + document_legend: 'Adaugă un document mai mic de 2MB. Fiecare secțiune din document, până la al treilea nivel de subtitluri, va fi convertită în propunere. Formatele acceptate sunt: %{valid_mime_types}' + title: Adaugă document + upload_document: Încărcă document publish: invalid: Propunerile nu au putut fi publicate success: Toate propunerile au fost publicate sections: article: "Articolul" - section: "Secțiune: %{title}" - sub-section: "Subsecțiune: %{title}" + section: "Secțiunea: %{title}" + sub-section: "Subsecțiunea: %{title}" update: success: Textul participativ a fost actualizat cu succes. proposal_answers: form: - accepted: Acceptat - answer_proposal: Răspuns - evaluating: Evaluare - rejected: Respins + accepted: Acceptate + answer_proposal: Răspunse + evaluating: În evaluare + rejected: Respinse title: Răspuns pentru propunerea %{title} proposal_notes: create: @@ -414,66 +414,66 @@ ro: success: Notă de propunere creată cu succes form: note: Notă - submit: Trimiteți + submit: Trimite leave_your_note: Lasă-ți nota title: Note private proposals: answer: - invalid: A apărut o problemă la răspunsul la această propunere - success: Propunere de răspuns cu succes + invalid: A apărut o problemă la răspunsul pentru această propunere + success: Răspunsul pentru propunere a fost înregistrat cu succes create: invalid: A apărut o problemă la crearea acestei propuneri - success: Propunere creată cu succes + success: Propunerea a fost creată cu succes edit: - title: Actualizare propunere - update: Actualizare + title: Actualizează propunerea + update: Actualizează form: - attachment_legend: "(Opțional) Adăugați un atașament" - created_in_meeting: Prezenta propunere provine dintr-o ședință - delete_attachment: Ștergere atașament - select_a_category: Selectați o categorie - select_a_meeting: Selectați o ședință + attachment_legend: "(Opțional) Adaugă un atașament" + created_in_meeting: Această propunere provine dintr-o întâlnire + delete_attachment: Șterge atașamentul + select_a_category: Selectează o categorie + select_a_meeting: Selectează o întâlnire index: actions: Acțiuni assign_to_valuator: Atribuie evaluatorului - assign_to_valuator_button: Atribuiți + assign_to_valuator_button: Atribuie cancel: Anulează change_category: Schimbă categoria change_scope: Schimbă domeniul - merge: Îmbinați într-unul nou - merge_button: Îmbinare + merge: Combină într-o propunere nouă + merge_button: Combină publish: Publică - publish_answers: Publicare răspunsuri - select_component: Selectaţi o componentă - selected: selectat - split: Propuneri împărțite + publish_answers: Publică răspunsuri + select_component: Selectează o componentă + selected: selectate + split: Împarte propuneri split_button: Împarte title: Propuneri - unassign_from_valuator: Designează de la evaluator - unassign_from_valuator_button: Desemnare - update: Actualizare - update_scope_button: Actualizare domeniu + unassign_from_valuator: Atribuire către evaluator anulată + unassign_from_valuator_button: Neatribuit + update: Actualizează + update_scope_button: Actualizează domeniu new: - create: Crează - title: Creați o propunere + create: Creează + title: Creează propunere publish_answers: - number_of_proposals: Răspunsurile pentru propunerile %{number} vor fi publicate. - select_a_proposal: Vă rugăm să selectaţi o propunere + number_of_proposals: Vor fi publicate răspunsuri pentru %{number} propuneri. + select_a_proposal: Te rugăm selectează o propunere show: - amendments_count: Contorizarea amendamentelor - assigned_valuators: Evaluatori alocați + amendments_count: Număr de amendamente + assigned_valuators: Evaluatori atribuiți authors: Autori - body: Corp - comments_count: Numărul de comentarii + body: Conținut + comments_count: Număr de comentarii comments_negative_count: Împotriva - comments_neutral_count: Neutral - comments_positive_count: Favor + comments_neutral_count: Neutru + comments_positive_count: În favoarea created_at: Data creării documents: Documente - endorsements_count: Număr de aprobări - endorsements_ranking: Clasament de andosări + endorsements_count: Număr de susțineri + endorsements_ranking: Clasament după susțineri endorsers: Susţinători - link: Link-ul + link: Link n_more_endorsers: one: și încă 1 few: și încă %{count} @@ -482,20 +482,20 @@ ro: proposals: Propuneri ranking: "%{ranking} din %{total}" related_meetings: Întâlniri similare - remove_assignment: Eliminare atribuire - remove_assignment_confirmation: Sigur doriți să eliminați evaluatorul din această propunere? + remove_assignment: Elimină atribuirea + remove_assignment_confirmation: Sigur dorești să elimini evaluatorul din această propunere? valuators: Evaluatori - votes_count: Suporta numarul - votes_ranking: Clasament după suport + votes_count: Număr de voturi + votes_ranking: Clasament după voturi update_category: invalid: 'Aceste propuneri aveau deja categoria %{subject_name} : %{proposals}.' - select_a_category: Vă rugăm să selectaţi o categorie - select_a_proposal: Vă rugăm să selectaţi o propunere + select_a_category: Te rugăm selectează o categorie + select_a_proposal: Te rugăm selectează o propunere success: 'Propuneri actualizate cu succes la categoria %{subject_name} : %{proposals}.' update_scope: invalid: 'Aceste propuneri aveau deja domeniul %{subject_name} : %{proposals}.' - select_a_proposal: Vă rugăm să selectaţi o propunere - select_a_scope: Vă rugăm să selectaţi un domeniu + select_a_proposal: Te rugăm selectează o propunere + select_a_scope: Te rugăm selectează un domeniu success: 'Propuneri actualizate cu succes în domeniul %{subject_name} : %{proposals}.' proposals_imports: create: @@ -504,13 +504,13 @@ ro: new: create: Importă propuneri no_components: Nu există alte componente de propunere în acest spațiu participativ din care să se importe propunerile. - select_component: Vă rugăm să selectaţi o componentă - select_states: Verificați starea propunerilor de importat + select_component: Te rugăm selectează o componentă + select_states: Verifică stadiul propunerilor de importat title: Importă propuneri proposals_merges: create: - invalid: A apărut o problemă la fuzionarea propunerilor selectate. - success: Am fuzionat cu succes propunerile într-una nouă. + invalid: A apărut o problemă la combinarea propunerilor selectate. + success: Propunerile au fost combinate cu succes într-o propunere nouă. proposals_splits: create: invalid: A apărut o problemă la separarea propunerilor selectate. @@ -518,27 +518,27 @@ ro: valuation_assignments: create: invalid: A apărut o eroare la atribuirea propunerilor unui evaluator - success: Propuneri atribuite unui evaluator cu succes + success: Propuneri au fost atribuite cu succes unui evaluator delete: - invalid: A apărut o eroare la dezatribuirea propunerilor de la un evaluator - success: Evaluator dezatribuit de la propuneri cu succes + invalid: A apărut o eroare la anularea atribuirii propunerilor de la un evaluator + success: Anularea atribuirii propunerilor de la un evaluator s-a realizat cu succes admin_log: proposal: answer: "%{user_name} a răspuns la propunerea %{resource_name} pentru spațiul %{space_name}" - create: "%{user_name} a creat propunerea %{resource_name} pentru spațiul %{space_name} ca propunere oficială" + create: "%{user_name} a creat propunerea %{resource_name} pentru spațiul %{space_name} drept propunere oficială" publish_answer: "%{user_name} a publicat răspunsul la propunerea de %{resource_name} privind spațiul %{space_name}" update: "%{user_name} a actualizat propunerea oficială %{resource_name} pentru spațiul %{space_name}" proposal_note: create: "%{user_name} a lăsat o notă privată despre propunerea %{resource_name} pentru spațiul %{space_name}" valuation_assignment: create: "%{user_name} a atribuit propunerea %{resource_name} unui evaluator" - delete: "%{user_name} nu a atribuit un evaluator din propunerea %{proposal_title}" + delete: "%{user_name} a anulat atribuirea către un evaluator pentru propunerea %{proposal_title}" answers: - accepted: Acceptat - evaluating: Evaluare - not_answered: Nu s-a răspuns - rejected: Respins - withdrawn: Retras + accepted: Acceptate + evaluating: În evaluare + not_answered: Fără răspuns + rejected: Respinse + withdrawn: Retrase application_helper: filter_category_values: all: Toate @@ -551,11 +551,11 @@ ro: filter_scope_values: all: Toate filter_state_values: - accepted: Acceptat + accepted: Acceptate all: Toate - evaluating: Evaluare - not_answered: Nu s-a răspuns - rejected: Respins + evaluating: În evaluare + not_answered: Fără răspuns + rejected: Respinse filter_type_values: all: Toate amendments: Amendamente @@ -563,101 +563,115 @@ ro: collaborative_drafts: collaborative_draft: publish: - error: A apărut o problemă la publicarea proiectului de colaborare. + error: A apărut o problemă la publicarea ciornei colaborative. irreversible_action_modal: - body: După publicarea proiectului ca propunere, proiectul nu va mai fi editabil. Propunerea nu va mai accepta autori sau contribuții noi. + body: După publicarea ciornei drept propunere, aceasta nu va mai fi editabilă. Propunerea nu va mai accepta autori sau contribuții noi. cancel: Anulează - ok: Publicare ca propunere + ok: Publică drept propunere title: Următoarea acţiune este ireversibilă - success: Proiectul de colaborare publicat cu succes ca propunere. + success: Ciorna colaborativă a fost publicată cu succes drept propunere. view_collaborative_draft: Vezi ciorna colaborativă withdraw: - error: A apărut o problemă la închiderea proiectului de colaborare. + error: A apărut o problemă la închiderea ciornei colaborative. irreversible_action_modal: - body: După închiderea proiectului, proiectul nu va mai putea fi editat. Proiectul nu va mai accepta autori sau contribuții noi. + body: După închiderea ciornei, aceasta nu va mai putea fi editată. Ciorna nu va mai accepta autori sau contribuții noi. cancel: Anulează - ok: Retrage schița colaborativă + ok: Retrage ciorna colaborativă title: Următoarea acţiune este ireversibilă - success: Schiță de colaborare retrasă cu succes. + success: Ciorna colaborativă a fost retrasă cu succes. count: drafts_count: one: "%{count} ciornă colaborativă" few: "%{count} ciorne colaborative" other: "%{count} ciorne colaborative" create: - error: A apărut o problemă la crearea acestor proiecte colaborative - success: Schiță de colaborare creată cu succes. + error: A apărut o problemă la crearea acestor ciorne colaborative + success: Ciorna colaborativă a fost creată cu succes. edit: - attachment_legend: "(Opțional) Adăugați un atașament" + attachment_legend: "(Opțional) Adaugă un atașament" back: Înapoi - select_a_category: Vă rugăm să selectaţi o categorie + select_a_category: Te rugăm selectează o categorie send: Trimite - title: Editare ciornă colaborativă + title: Editează ciorna colaborativă filters: all: Toate amendment: Amendamente category: Categorie - open: Deschideți - published: Publicat - related_to: Legat de + open: Deschise + published: Publicate + related_to: Asociate cu scope: Domeniu de interes search: Caută - state: Stare - withdrawn: Retras + state: Stadiu + withdrawn: Retrase filters_small_view: - close_modal: Închidere - filter: Filtrare + close_modal: Închide fereastra + filter: Filtrează filter_by: Filtrează după - unfold: Desfășurat + unfold: Extinde new: send: Continuă new_collaborative_draft_button: - new_collaborative_draft: Nouă ciornă de colaborare + new_collaborative_draft: Ciornă nouă colaborativă orders: - label: 'Ordonare ciorne după:' - most_contributed: Cu cele mai multe contribuții + label: 'Ordonează ciornele după:' + most_contributed: Cu cele mai multe colaborări random: Aleatoriu recent: Recente requests: accepted_request: - error: Nu a putut fi acceptat ca și colaborator, vă rugăm să încercați din nou mai târziu. + error: Nu ai putut fi acceptat drept colaborator, te rugăm să încerci din nou mai târziu. success: "@%{user} a fost acceptat ca și colaborator" access_requested: - error: Cererea dvs. nu a putut fi completată, vă rugăm să încercați din nou mai târziu. - success: Cererea dvs. de colaborare a fost trimisă + error: Cererea ta nu a putut fi finalizată, te rugăm să încerci din nou mai târziu. + success: Cererea ta de colaborare a fost trimisă cu succes collaboration_requests: - accept_request: Acceptare - reject_request: Respingere + accept_request: Acceptă + reject_request: Respinge title: Cereri de colaborare + rejected_request: + error: Nu ai putut fi respins drept colaborator, te rugăm să încerci din nou mai târziu. + success: "@%{user} a fost respins ca și colaborator" show: - info-message: Acesta este un proiect de colaborare pentru o propunere. Aceasta înseamnă că îi poți ajuta pe autorii lor să modeleze propunerea folosind secțiunea de mai jos sau să o îmbunătățească direct prin solicitarea accesului la editare. Odată ce autorii vă acordă accesul, veți putea face modificări la acest proiect. + back: Înapoi + edit: Editează ciorna colaborativă + final_proposal: propunere finală + final_proposal_help_text: Această ciornă este finalizată. Verifică propunerea finală + hidden_authors_count: + one: și încă %{count} persoană + few: și încă %{count} persoane + other: și încă %{count} persoane + info-message: Acesta este o ciornă colaborativă pentru o propunere. Aceasta înseamnă că îi poți ajuta pe autorii săi să modeleze propunerea folosind secțiunea de comentarii de mai jos sau să o îmbunătățească direct prin solicitarea accesului pentru editare. Odată ce autorii îți acordă accesul, vei putea face modificări în această ciornă. publish: Publică - publish_info: Publicați această versiune a proiectului sau + publish_info: Publică această versiune a ciornei sau published_proposal: propunere publicată - request_access: Solicită acces + request_access: Cere acces requested_access: Acces solicitat version_history: vezi istoricul versiunilor pentru această propunere - withdraw: retrage proiectul + withdraw: retrage ciorna states: - open: Deschideți - published: Publicat - withdrawn: Retras + open: Deschise + published: Publicate + withdrawn: Retrase update: - error: A apărut o problemă la salvarea proiectului colaborativ. - success: Schiță de colaborare actualizată cu succes. + error: A apărut o problemă la salvarea ciornei colaborative. + success: Ciorna colaborativă a fost actualizată cu succes. wizard_aside: back_from_collaborative_draft: Înapoi la ciorne colaborative - info: Creezi o ciornă de colaborare. + info: Creezi o ciornă colaborativă. wizard_header: title: Creează ciorna ta colaborativă + content_blocks: + highlighted_proposals: + proposals: Propuneri create: error: A apărut o problemă la salvarea propunerii. - success: Propunere creată cu succes. Salvată ca Ciornă. + success: Propunere creată cu succes. Salvată drept ciornă. destroy_draft: - error: A apărut o eroare la ștergerea proiectului colaborativ. - success: Proiectul propunerii a fost şters cu succes. + error: A apărut o eroare la ștergerea ciornei colaborative. + success: Ciorna de propunere a fost ştearsă cu succes. last_activity: - new_proposal_at_html: "Noua propunere la %{link}" + new_proposal_at_html: "Propunere nouă la %{link}" proposal_updated_at_html: "Propunere actualizată la %{link}" models: collaborative_draft: @@ -674,27 +688,27 @@ ro: official_proposal: Propunere oficială published_answer: Răspuns publicat published_at: Publicat la - scope: Domeniu - state: Status + scope: Domeniu de interes + state: Stadiu title: Titlu valuator: Evaluator valuators: Evaluatori votes: Voturi new: - limit_reached: Nu puteți crea propuneri noi deoarece ați depășit limita. + limit_reached: Nu poți crea propuneri noi deoarece ai depășit limita. participatory_text_proposal: alternative_title: Nu există niciun text participativ în acest moment buttons: - amend: Modifică + amend: Trimite un amendament comment: Comentariu comments: Comentarii proposal_votes: create: - error: A existat o problemă în sprijinirea propunerii. + error: A apăut o problemă în timpul votării propunerii. proposals: compare: continue: Continuă - no_similars_found: Bine lucrat! Nu s-au găsit propuneri similare + no_similars_found: Bine lucrat! Nu au fost găsite propuneri similare title: Propuneri similare complete: send: Trimite @@ -707,16 +721,21 @@ ro: dynamic_map_instructions: instructions:

    Puteți muta punctul de pe hartă.

    Nu uita să apeși pe butonul "Actualizare poziție" înainte de a publica propunerea ta.

    edit: - attachment_legend: "(Opțional) Adăugați un atașament" + add_documents: Documente + add_images: Fişier + attachment_legend: "(Opțional) Adaugă un atașament" back: Înapoi - select_a_category: Vă rugăm să selectaţi o categorie + delete_document: Șterge documentul + delete_image: Șterge imaginea + gallery_legend: "(Opțional) Adaugă o imagine la cardul de propunere" + select_a_category: Te rugăm selectează o categorie send: Trimite - title: Editare propunere + title: Editează propunerea edit_draft: - discard: Renunță la această schiță - discard_confirmation: Sunteți sigur că doriți să renunțați la proiectul de propunere? - send: Previzualizare - title: Editare proiect propunere + discard: Renunță la această ciornă + discard_confirmation: Sigur dorești să renunți la această ciornă de propunere? + send: Previzualizează + title: Editează ciorna de propunere filters: activity: Activitatea mea all: Toate @@ -724,37 +743,37 @@ ro: category: Categorie my_proposals: Propunerile mele origin: Origine - related_to: Legat de - scope: Domeniu + related_to: Asociate cu + scope: Domeniu de interes search: Caută - state: Status + state: Stadiu type: Tip - voted: Suportat + voted: Votate filters_small_view: close_modal: Închide fereastra - filter: Filtrare - filter_by: Filtrare după - unfold: Desfășurat + filter: Filtrează + filter_by: Filtrează după + unfold: Extinde index: collaborative_drafts_list: Accesează ciorne colaborative new_proposal: Propunere nouă - see_all_withdrawn: A se vedea toate propunerile retrase - view_proposal: Vizualizați propunerea + see_all_withdrawn: Afișează toate propunerile retrase + view_proposal: Vizualizează propunerea linked_proposals: proposal_votes: - one: suport - few: suportă - other: suportă + one: vot + few: voturi + other: voturi new: send: Continuă - title: Crează-ți propunerea + title: Creează propunerea ta orders: - label: 'Ordonare propuneri după:' + label: 'Ordonează propunerile după:' most_commented: Cele mai comentate - most_endorsed: Cele mai aprobate + most_endorsed: Cele mai susținute most_followed: Cele mai urmărite - most_voted: Cele mai acceptate - random: Aleator + most_voted: Cele mai votate + random: Aleatoriu recent: Recente with_more_authors: Cu mai mulți autori participatory_texts: @@ -762,18 +781,22 @@ ro: document_index: Indexul documentului view_index: see_index: Vezi indexul + placeholder: + address: B-dul C. D. Loga, nr. 1, cod postal 300030 preview: + announcement_body: Propunerea ta a fost salvată drept ciornă. Aceasta trebuie să fie publicată pentru a apărea pe site. + announcement_title: Propunerea ta nu a fost încă publicată modify: Modifică propunerea proposal_edit_before_minutes: - one: Veți putea edita această propunere în primul minut de la publicarea propunerii. După trecerea acestei ferestre temporale, nu veți putea edita propunerea. - few: Veți putea edita această propunere în primele %{count} minute după publicarea propunerii. După trecerea acestei ferestre temporale, nu veți putea edita propunerea. - other: Veți putea edita această propunere în primele %{count} minute după publicarea propunerii. După trecerea acestei ferestre temporale, nu veți putea edita propunerea. + one: Vei putea edita această propunere în primul minut de la publicarea sa. După trecerea acestei perioade nu vei mai putea edita propunerea. + few: Vei putea edita această propunere în primele %{count} minute după publicarea sa. După trecerea acestei perioade nu vei mai putea edita propunerea. + other: Vei putea edita această propunere în primele %{count} minute după publicarea sa. După trecerea acestei perioade nu vei mai putea edita propunerea. publish: Publică title: Publică propunerea ta update_position: Actualizează poziția proposal: - creation_date: 'Creare: %{date}' - view_proposal: Vizualizați propunerea + creation_date: 'Data creării: %{date}' + view_proposal: Vizualizează propunerea proposals: empty: Încă nu există nicio propunere empty_filters: Nu există nici o propunere cu acest criteriu @@ -781,105 +804,109 @@ ro: answer: Răspuns back_to: Înapoi la back_to_list: Înapoi la listă - changes_at_title: Amendamentul la „%{title}” + changes_at_title: Amendament pentru „%{title}” comments: Comentarii - edit_proposal: Editare propunere - endorsements_list: Lista aprobatorilor + edit_proposal: Editează propunerea + endorsements_list: Lista susținerilor estimated_cost: Cost estimat hidden_endorsers_count: one: și încă %{count} persoană few: și încă %{count} persoane other: și încă %{count} persoane - link_to_collaborative_draft_help_text: Această propunere este rezultatul unui proiect colaborativ. Examinați istoricul + link_to_collaborative_draft_help_text: Această propunere este rezultatul unei ciorne colaborative. Revizuiește istoricul colaborării link_to_collaborative_draft_text: Vezi ciorna colaborativă - link_to_promoted_emendation_help_text: Prezenta propunere este o emendare promovată - link_to_promoted_emendation_text: A se vedea emendarea respinsă. - link_to_proposal_from_emendation_help_text: Aceasta este o emendare respinsă - link_to_proposal_from_emendation_text: A se vedea propunerea + link_to_promoted_emendation_help_text: Această propunere este un amendament promovat + link_to_promoted_emendation_text: Vizualizează amendamentul respins. + link_to_proposal_from_emendation_help_text: Acesta este un amendament respins + link_to_proposal_from_emendation_text: Vezi propunerea proposal_accepted_reason: 'Această propunere a fost acceptată deoarece:' proposal_in_evaluation_reason: Această propunere este în curs de evaluare proposal_rejected_reason: 'Această propunere a fost respinsă deoarece:' read_less: Citește mai puțin read_more: Citește mai mult report: Raport - withdraw_btn_hint: Vă puteți retrage propunerea dacă vă răzgândiți, cu condiția să nu beneficiați de niciun sprijin. Propunerea nu este eliminată, ci va apărea pe lista propunerilor retrase. - withdraw_confirmation_html: Sunteți sigur că doriți să retrageți această propunere?

    Această acțiune nu poate fi anulată! - withdraw_proposal: Retragere propunere + withdraw_btn_hint: Îți poți retrage propunerea dacă te răzgândești, cu condiția să nu fi primit niciun vot. Propunerea nu va fi eliminată, ci va apărea pe lista propunerilor retrase. + withdraw_confirmation_html: Sigur dorești să retragi această propunere?

    Această acțiune nu poate fi anulată! + withdraw_proposal: Retrage propunerea tags: - changed_from: "(schimbat de la %{previous_name} de către un administrator)" + changed_from: "(un administrator a modificat numele anterior %{previous_name})" update: - title: Actualizare propunere + title: Actualizează propunerea vote_button: - already_voted: Deja acceptat - already_voted_hover: Retrage suportul - maximum_votes_reached: S-a atins limita de suport - no_votes_remaining: Nicio acceptare rămasă - vote: Suport - votes_blocked: Suportare dezactivată + already_voted: Ai votat deja + already_voted_hover: Retrage votul + maximum_votes_reached: Ai atins limita de votare + no_votes_remaining: Niciun vot rămas + vote: Votează + votes_blocked: Votare dezactivată votes_count: count: - one: SPRIJIN - few: SUPRAVEGHERI - other: SUPRAVEGHERI + one: Vot + few: Voturi + other: Voturi most_popular_proposal: Cea mai populară propunere - need_more_votes: Aveți nevoie de mai mult sprijin + need_more_votes: Ai nevoie de mai multe voturi voting_rules: can_accumulate_supports_beyond_threshold: - description: Fiecare propunere poate acumula mai mult de %{limit} acceptă + description: Fiecare propunere poate acumula mai mult de %{limit} voturi minimum_votes_per_user: - description: Trebuie să distribuiți un minim de %{votes} de sprijin între diferite propuneri. - given_enough_votes: Aţi oferit destule sprijinuri. - supports_remaining: Trebuie să susțineți încă %{remaining_votes} propuneri pentru ca sprijinul dvs. să fie luat în considerare. + description: Trebuie să distribui un minim de %{votes} voturi pentru propuneri diferite. + given_enough_votes: Ai oferit destule voturi. + supports_remaining: Trebuie să votezi încă %{remaining_votes} propuneri pentru ca votul tău să fie luat în considerare. proposal_limit: description: Poți crea până la %{limit} propuneri. threshold_per_proposal: - description: Pentru a putea fi validate propunerile trebuie să ajungă la %{limit} suport - title: 'Ajutoarele sunt supuse următoarelor norme:' + description: Pentru a putea fi validate propunerile trebuie să adune %{limit} voturi + title: 'Voturile sunt supuse următoarelor reguli:' vote_limit: - description: Puteți sprijini până la %{limit} propuneri. - left: Rămas - votes: Suportă + description: Poți vota până la %{limit} propuneri. + left: Rămase + votes: Voturi wizard_aside: back: Înapoi back_from_step_1: Înapoi la propuneri back_from_step_2: Înapoi la propuneri back_from_step_3: Înapoi la compararea propunerilor - back_from_step_4: Înapoi la editarea schiței - info: Creezi o propunere . + back_from_step_4: Înapoi la editarea ciornei + info: Creezi o propunere. wizard_steps: current_step: Pasul curent see_steps: vezi pașii - step_1: Creați propunerea dvs. + step_1: Creează propunerea ta step_2: Compară - step_3: Complete + step_3: Finalizează step_4: Publică propunerea ta step_of: Pasul %{current_step_num} din %{total_steps} title: Etapele creării propunerii proposals_picker: choose_proposals: Alege propuneri - close: Inchide + close: Închide more_proposals: Mai sunt %{number} propuneri. Rafinează căutarea pentru a le localiza. no_proposals: Nicio propunere nu corespunde criteriilor tale de căutare sau nu există nicio propunere. publish: - error: A existat o problemă la publicarea propunerii. - success: Propunere publicată cu succes. + error: A apărut o problemă la publicarea propunerii. + success: Propunerea a fost publicată cu succes. publish_answers: - success: Răspunsurile la propuneri publicate cu succes. + success: Răspunsurile pentru propuneri au fost publicate cu succes. update: error: A apărut o problemă la salvarea propunerii. - success: Propunere actualizată cu succes. + success: Propunerea a fost actualizată cu succes. update_draft: - error: A apărut o problemă la salvarea proiectului colaborativ. - success: Proiectul propunerii a fost actualizat. + error: A apărut o problemă la salvarea ciornei colaborative. + success: Ciorna colaborativă a fost actualizată cu succes. versions: + collaborative_drafts: + back_to_resource: Înapoi la ciorna colaborativă index: title: Versiuni + proposals: + back_to_resource: Înapoi la propuneri withdraw: errors: - has_supports: Această propunere nu poate fi retrasă deoarece se bucură deja de sprijin. + has_supports: Această propunere nu poate fi retrasă deoarece are deja voturi. resource_links: copied_from_component: - proposal_proposal: Propuneri conexe + proposal_proposal: Propuneri asociate included_projects: project_result: 'Rezultatele care apar în acest proiect:' included_proposals: diff --git a/decidim-sortitions/config/locales/ro-RO.yml b/decidim-sortitions/config/locales/ro-RO.yml index 3d4b4754abd68..a8c77e2dccf04 100644 --- a/decidim-sortitions/config/locales/ro-RO.yml +++ b/decidim-sortitions/config/locales/ro-RO.yml @@ -2,100 +2,100 @@ ro: activemodel: attributes: sortition: - additional_info: Informații despre sortare - decidim_category_id: Categorii ale setului de propuneri în care doriți să aplicați desenul + additional_info: Informații privind tragerea la sorți + decidim_category_id: Categorii ale setului de propuneri în care doriți să aplicați tragerea la sorți decidim_proposals_component_id: Set de propuneri - dice: Rezultatul murdăriei pe robinet. Rulează un mor cu 6 laturi sau caută o altă metodă aleatorie pentru a genera un număr de la 1 la 6, și introduceți aici numărul rezultat în fața unor martori. Acest lucru contribuie la calitatea și la garantarea caracterului aleatoriu al rezultatului. - target_items: Numărul de propuneri care urmează să fie selectate (indică numărul de propuneri pe care doriți să le selectați prin desenarea multor grupuri de propuneri pe care le-ați ales anterior) + dice: Rezultat pe baza aruncării cu zarul. Folosește un zar cu 6 fețe sau caută o altă modalitate aleatorie de a genera un număr de la 1 la 6 și introdu aici numărul rezultat în fața unor martori. Acest lucru contribuie la calitatea și garanția unui rezultat aleatoriu + target_items: Numărul de propuneri de selectat (indică numărul de propuneri pe care dorești să fie selectat prin tragere la sorți a grupului de propuneri pe care le-ai ales anterior) title: Titlu witnesses: Martori models: - decidim/sortitions/create_sortition_event: Sortare + decidim/sortitions/create_sortition_event: Tragere la sorți activerecord: models: decidim/sortitions/sortition: - one: Sortare - few: Sortări - other: Sortări + one: Tragere la sorți + few: Trageri la sorți + other: Trageri la sorți decidim: components: sortitions: - name: Sortări + name: Trageri la sorți settings: global: comments_enabled: Comentarii activate - comments_max_length: Lungimea maximă a comentariilor (Leave 0 pentru valoarea implicită) + comments_max_length: Lungimea maximă a comentariilor (Lasă 0 pentru valoarea implicită) events: sortitions: sortition_created: - email_intro: Sortarea "%{resource_title}" a fost adăugată la "%{participatory_space_title}" pe care o urmărești. - email_outro: Ați primit această notificare deoarece urmăriți „%{participatory_space_title}”. O puteți anula de la link-ul anterior. - email_subject: Sortare nouă adăugată la %{participatory_space_title} - notification_title: Sortarea %{resource_title} a fost adăugată la %{participatory_space_title} + email_intro: Tragerea la sorți "%{resource_title}" a fost adăugată la "%{participatory_space_title}”, spațiu pe care îl urmărești. + email_outro: Ai primit această notificare deoarece urmărești „%{participatory_space_title}”. Poți anula abonarea de la link-ul anterior. + email_subject: O nouă tragere la sorți a fost adăugată la %{participatory_space_title} + notification_title: Tragerea la sorți %{resource_title} a fost adăugată la %{participatory_space_title} pages: home: statistics: - sortitions_count: Sortări + sortitions_count: Trageri la sorți participatory_processes: statistics: - sortitions_count: Sortări + sortitions_count: Trageri la sorți sortitions: admin: actions: - destroy: Anulează sortarea - edit: Editare - new: Sortare nouă - show: Detalii sortare + destroy: Anulează tragerea la sorți + edit: Editează + new: Tragere la sorți nouă + show: Detalii privind tragerea la sorți models: sortition: fields: category: Categorie created_at: Data creării decidim_proposals_component: Componenta propuneri - dice: Șoareci + dice: Zar reference: Referință - request_timestamp: Timp de desenare - seed: Secret - target_items: Elemente de selectat + request_timestamp: Ora tragerii la sorți + seed: Valoare aleatorie + target_items: Articole de selectat title: Titlu name: - one: Sortare - few: Sortări - other: Sortări + one: Tragere la sorți + few: Trageri la sorți + other: Trageri la sorți sortitions: confirm_destroy: - confirm_destroy: Ești sigur că vrei să anulezi acest sortare? - destroy: Anulează sortarea - title: Anularea sortării + confirm_destroy: Ești sigur(ă) că vrei să anulezi această tragere la sorți? + destroy: Anulează tragerea la sorți + title: Anularea tragerii la sorți create: - error: A apărut o problemă la crearea unei noi sortări. - success: Sortare creată cu succes + error: A apărut o problemă la crearea unei noi trageri la sorți. + success: Tragerea la sorți a fost creată cu succes destroy: - error: Nu se poate anula sortarea. - success: Sortare anulată cu succes + error: Nu se poate anula tragerea la sorți. + success: Tragerea la sorți a fost anulată cu succes edit: - title: Actualizează informațiile despre sortare - update: Actualizare + title: Actualizează informațiile despre tragerea la sorți + update: Actualizează form: all_categories: Toate categoriile select_proposal_component: Selectează setul de propuneri - title: Sortare nouă pentru propuneri + title: Tragere la sorți nouă pentru propuneri index: - title: Sortări + title: Trageri la sorți new: - confirm: Prin apăsarea butonului următor Decidim va înregistra data şi ora (cu precizie de secunde) şi împreună cu dice rull, această informaţie va fi folosită pentru a genera o selecţie aleatorie. Acțiunea va fi ireversibilă, odată ce butonul este apăsat, rezultatul acestei remize va fi publicat, împreună cu datele introduse în acest formular și nu pot fi modificate, vă rugăm să verificați cu atenție conținutul - create: Crează - title: Sortare nouă + confirm: Prin apăsarea butonului următor Decidim va înregistra data şi ora (cu precizie de secunde) şi împreună cu aruncarea zarului, această informaţie va fi folosită pentru a genera o selecţie aleatorie. Acțiunea va fi ireversibilă, odată ce butonul este apăsat, rezultatul acestei trageri la sorți va fi publicat împreună cu datele introduse în acest formular și nu pot fi modificate. Te rugăm să verifici cu atenție conținutul + create: Creează + title: Tragere la sorți nouă show: - selected_proposals: Propuneri selectate pentru remiză + selected_proposals: Propuneri selectate pentru tragerea la sorți update: - error: A apărut o eroare la actualizarea sortării. - success: Sortare actualizată cu succes + error: A apărut o eroare la actualizarea tragerii la sorți. + success: Tragerea la sorți a fost actualizată cu succes admin_log: sortition: - create: "%{user_name} a creat sortarea %{resource_name} în %{space_name}" - delete: "%{user_name} a anulat sortarea %{resource_name} în %{space_name}" - update: "%{user_name} a actualizat sortarea %{resource_name} în %{space_name}" + create: "%{user_name} a creat tragerea la sorți %{resource_name} în %{space_name}" + delete: "%{user_name} a anulat tragerea la sorți %{resource_name} în %{space_name}" + update: "%{user_name} a actualizat tragerea la sorți %{resource_name} în %{space_name}" sortitions: count: proposals_count: @@ -103,57 +103,57 @@ ro: few: "%{count} propuneri" other: "%{count} propuneri" filters: - active: Activ + active: Active all: Toate - cancelled: Anulat + cancelled: Anulate category: Categorie - category_prompt: Selectați o categorie + category_prompt: Selectează o categorie search: Caută - state: Status + state: Stadiu filters_small_view: close_modal: Închide fereastra - filter: Filtrare - filter_by: Filtrare după - unfold: Desfășurat + filter: Filtrează + filter_by: Filtrează după + unfold: Extinde linked_sortitions: selected_proposals: Propuneri selectate orders: - label: 'Ordonează sortări după:' + label: 'Ordonează tragerile la sorți după:' random: Aleator recent: Recente results_count: count: - one: propunerea selectată + one: propunere selectată few: propuneri selectate other: propuneri selectate show: - algorithm: Codul algoritmului de sortare + algorithm: Codul algoritmului tragerii la sorți any_category: din toate categoriile back: Înapoi la listă - cancelled: Sortare anulată - candidate_proposal_ids: Ordinea și ID-urile propunerilor de sortare - candidate_proposals_info: 'Sortarea a fost efectuată dintre următoarele propuneri (%{category_label}), cu următoarele documente de identitate (în îngroșarea propunerilor selectate) ' + cancelled: Tragere la sorți anulată + candidate_proposal_ids: Ordinea și ID-ul propunerilor din tragerea la sorți + candidate_proposals_info: 'Tragerea la sorți a fost efectuată între următoarele propuneri (%{category_label}), având următoarele ID-uri (propunerile selectate apar cu caractere îngroșate) ' category: din categoria %{category} - dice_result: "(1) Rezultatul la șoareci" - introduction: 'Această pagină conţine rezultatele sortării %{reference}. Prin această sortare, %{target_items} număr de rezultate au fost selectate aleatoriu și cu o distribuție de probabilitate egală din setul de propuneri afișate la nivel inferior. Împreună cu rezultatele, informațiile afișate pe această pagină oferă toate informațiile necesare pentru a maximiza garanțiile și pentru a reproduce rezultatele. Cheia pentru calitatea acestei sortări este dubla randomizare oferită de rularea unui dicționar (verificat de către martori) și momentul precis al sortării care oferă date pentru un algoritm care generează o selecție aleatorie. Semințele în timp pentru sortare sunt atât de precise (secunde) încât este imposibil să se controleze de către oameni, oferind astfel o contribuție dublă „incontrolabilă” pentru a garanta un rezultat corect. ' + dice_result: "(1) Rezultatul aruncării zarului" + introduction: 'Această pagină conține rezultatele tragerii la sorți %{reference}. Prin intermediul acestei trageri la sorți, un număr de %{target_items} rezultate au fost selectate în mod aleatoriu și cu o distribuție egală a probabilității, din setul de propuneri afișate mai jos. Împreună cu rezultatele, informațiile afișate pe această pagină oferă toate informațiile necesare pentru o garanție maximă și pentru a reproduce rezultatele. Cheia pentru calitatea acestei trageri la sorți este caracterul aleatoriu dublu asigurat de aruncarea zarului (verificată de martori) și de ora exactă a tragerii la sorți, care oferă input pentru un algoritm care generează o selecție aleatorie. Valoarea inițială a timpului pentru tragerea la sorți este atât de precisă (secunde) încât este imposibil de controlat de către om, asigurându-se astfel un dublu input „incontrolabil” pentru a se garanta un rezultat echitabil. ' mathematical_result: Rezultatul (1) x (2) - proposals_selected_by_sortition: Propuneri selectate de sortare - sortition_reproducibility_details: Detalii de reproductibilitate sortare - time_seed: "(2) Seminţe în timp" + proposals_selected_by_sortition: Propuneri selectate prin tragere la sorți + sortition_reproducibility_details: Detalii privind replicarea tragerii la sorți + time_seed: "(2) Data și ora" witnesses: Martori sortition: - random_seed: Seedere aleatoare + random_seed: Valoare inițială aleatorie selected_proposals: one: propunere selectată few: propuneri selectate other: propuneri selectate - view: Vizualizare + view: Vizualizează sortition_author: deleted: Participant șters sortition_cancel_author: deleted: Participant șters sortitions_count: count: - one: O sortare - few: "%{count} sortări" - other: "%{count} sortări" + one: 1 tragere la sorți + few: "%{count} trageri la sorți" + other: "%{count} trageri la sorți" diff --git a/decidim-surveys/config/locales/ro-RO.yml b/decidim-surveys/config/locales/ro-RO.yml index bfc8a7c60e7ca..d8a7f8da934fc 100644 --- a/decidim-surveys/config/locales/ro-RO.yml +++ b/decidim-surveys/config/locales/ro-RO.yml @@ -1,14 +1,14 @@ ro: activemodel: models: - decidim/surveys/closed_survey_event: Sondaj terminat - decidim/surveys/opened_survey_event: Sondaj început + decidim/surveys/closed_survey_event: Sondajul s-a încheiat + decidim/surveys/opened_survey_event: Sondajul a început activerecord: models: decidim/surveys/survey: one: Sondaj - few: Chestionare - other: Chestionare + few: Sondaje + other: Sondaje decidim/surveys/survey_answer: one: Răspuns few: Răspunsuri @@ -17,52 +17,52 @@ ro: components: surveys: actions: - answer: Răspuns + answer: Răspunde name: Sondaj settings: global: announcement: Anunţ - clean_after_publish: Ștergeți răspunsurile la publicarea sondajului - ends_at: Răspunsuri acceptate până la - ends_at_help: Lăsați necompletat pentru nicio dată specifică + clean_after_publish: Șterge răspunsurile odată cu publicarea sondajului + ends_at: Răspunsuri sunt acceptate până la + ends_at_help: Lasă necompletat pentru nicio dată specifică scope_id: Domeniu de interes - scopes_enabled: Domenii de interes activate + scopes_enabled: Domenii activate starts_at: Răspunsuri acceptate de la - starts_at_help: Lăsați necompletat pentru nicio dată specifică + starts_at_help: Lasă necompletat pentru nicio dată specifică step: allow_answers: Permite răspunsuri - allow_unregistered: Permite utilizatorilor neînregistrați să răspundă la chestionar - allow_unregistered_help: Dacă este activ, nu va fi necesară nicio autentificare pentru a răspunde la chestionar. Acest lucru poate duce la date slabe sau nefiabile și va fi mai vulnerabil la atacuri automate. Utilizați cu prudență! + allow_unregistered: Permite utilizatorilor neînregistrați să răspundă la sondaj + allow_unregistered_help: Dacă este activ, nu va fi necesară autentificarea pentru a răspunde la sondaj. Acest lucru poate duce la date slabe sau nefiabile și un grad mai mare de vulnerabilitate la atacuri automate. Utilizează cu prudență! announcement: Anunţ events: surveys: survey_closed: email_intro: Sondajul %{resource_title} din %{participatory_space_title} a fost închis. - email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Un chestionar s-a terminat în %{participatory_space_title} - notification_title: Sondajul %{resource_title} în %{participatory_space_title} s-a încheiat. + email_outro: Ai primit această notificare deoarece urmărești „%{participatory_space_title}”. Poți anula aceste notificări de la link-ul anterior. + email_subject: În %{participatory_space_title} s-a încheiat un sondaj + notification_title: Sondajul %{resource_title} din %{participatory_space_title} s-a încheiat. survey_opened: - email_intro: 'Sondajul %{resource_title} în %{participatory_space_title} este acum deschis. Puteți participa la acesta din această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Un nou chestionar în %{participatory_space_title} - notification_title: Sondajul %{resource_title} în %{participatory_space_title} este acum deschis. + email_intro: 'Sondajul %{resource_title} din %{participatory_space_title} este acum deschis. Poți participa la acesta din această pagină:' + email_outro: Ai primit această notificare deoarece urmărești „%{participatory_space_title}”. Poți anula aceste notificări de la link-ul anterior. + email_subject: Un nou sondaj în %{participatory_space_title} + notification_title: Sondajul %{resource_title} din %{participatory_space_title} este acum deschis. metrics: survey_answers: description: Numărul de sondaje la care au răspuns participanții object: răspunsuri la sondaje - title: Răspunsuri la chestionare + title: Răspunsuri la sondaje surveys: admin: exports: - survey_user_answers: Răspunsurile participanților la sondaj + survey_user_answers: Răspunsuri ale participantului la sondaj surveys: update: invalid: A apărut o eroare la salvarea sondajului. - success: Chestionar salvat cu succes. + success: Sondajul a fost salvat cu succes. last_activity: - new_survey_at_html: "Nou chestionar la %{link}" + new_survey_at_html: "Sondaj nou la %{link}" surveys: answer: - invalid: A apărut o problemă în răspunsul la sondaj. - spam_detected: A apărut o problemă la răspunsul la formular. Poate aţi fost prea rapid, puteţi încerca din nou? - success: Sondaj răspuns cu succes. + invalid: A apărut o problemă în timpul răspunsului pentru sondaj. + spam_detected: A apărut o problemă în timpul răspunsului pentru sondaj. Poate ai fost prea rapid, poţi încerca din nou? + success: Răspunsul pentru sondaj a fost înregistrat cu succes. diff --git a/decidim-system/config/locales/ro-RO.yml b/decidim-system/config/locales/ro-RO.yml index e87e8e8434280..75ed926a63ae7 100644 --- a/decidim-system/config/locales/ro-RO.yml +++ b/decidim-system/config/locales/ro-RO.yml @@ -34,7 +34,7 @@ ro: decidim: system: actions: - confirm_destroy: Sunteţi sigur că doriţi să ştergeţi acest lucru? + confirm_destroy: Ești sigur(ă) că vrei să ştergi acest element? destroy: Ștergere edit: Editare new: Nou @@ -52,7 +52,7 @@ ro: index: title: Administratori new: - create: Crează + create: Creează title: Administrator nou update: error: A apărut o eroare la actualizarea administratorului. @@ -82,7 +82,7 @@ ro: name: Aplicație OAuth organization: actions: - save_and_invite: Creați organizație și invitați administrator + save_and_invite: Creează grupul de lucru și invită un administrator fields: created_at: Creat la file_upload_settings: Setări pentru încărcarea fișierului @@ -103,7 +103,7 @@ ro: form: select_organization: Selectați o organizație index: - confirm_delete: Sunteți sigur(ă) că doriți să ștergeți această aplicație? + confirm_delete: Ești sigur(ă) că vrei să ștergi această aplicație? title: Aplicații OAuth new: save: Salveaza @@ -176,7 +176,7 @@ ro: existing: Nu permiteţi participanţilor să se înregistreze, dar permiteţi participanţilor existenţi să se autentifice shared: notices: - no_organization_warning_html: Trebuie să creați o organizație pentru a începe. Asigurați-vă că ați citit %{guide} înainte de a continua. + no_organization_warning_html: Trebuie să creezi o organizație pentru a începe. Asigură-te că ai citit %{guide} înainte de a continua. our_getting_started_guide: ghidul nostru de început titles: dashboard: Panou diff --git a/decidim-templates/config/locales/ro-RO.yml b/decidim-templates/config/locales/ro-RO.yml index 74849eb804c97..8fda05f33a2f5 100644 --- a/decidim-templates/config/locales/ro-RO.yml +++ b/decidim-templates/config/locales/ro-RO.yml @@ -9,59 +9,59 @@ ro: decidim: admin: menu: - templates: Șabloane + templates: Modele templates: apply: - error: A apărut o eroare la aplicarea acestui șablon. - success: Șablonul aplicat cu succes + error: A apărut o eroare la aplicarea acestui model. + success: Modelul a fost aplicat cu succes copy: - error: A apărut o eroare la copierea acestui șablon. - success: Șablon copiat cu succes + error: A apărut o eroare la copierea acestui model. + success: Modelul a fost copiat cu succes create: - error: A apărut o eroare la crearea acestui șablon. - success: Șablon creat cu succes + error: A apărut o eroare la crearea acestui model. + success: Modelul a fost creat cu succes destroy: - success: Şablon şters cu succes - empty: Nu există încă nici un şabloan. + success: Modelul a fost şters cu succes + empty: Nu există încă nici un model. update: - error: A apărut o eroare la actualizarea acestui șablon. - success: Şablon actualizat cu succes + error: A apărut o eroare la actualizarea acestui model. + success: Modelul a fost actualizat cu succes titles: template_types: - questionnaires: Şabloane chestionar - templates: Şabloane + questionnaires: Model de chestionar + templates: Modele models: questionnaire_template: fields: questions: Număr de întrebări - title: Nume chestionar + title: Numele chestionarului template: fields: created_at: Creat la - name: Șablon + name: Model templates: admin: questionnaire_templates: choose: - create_from_template: Creați un șablon - description: Sunteți pe cale să creați un nou chestionar. Puteți alege un șablon predefinit și să-l modificați ulterior. - label: Alegeți un șablon - placeholder: Alegeți un șablon + create_from_template: Creează după model + description: Ești pe cale de a crea un nou chestionar. Poți alege un model predefinit și să-l modifici ulterior. + label: Alege un model + placeholder: Alege un model skip_template: Treci peste edit: edit: Editează - empty: Încă nu există întrebări + empty: Nu există încă întrebări questionnaire: Chestionar form: - save: Salveaza - template_title: Informatii Sablon - title: Sablon chestionar %{questionnaire_for} + save: Salvează + template_title: Informatii despre model + title: Model de chestionar %{questionnaire_for} index: - confirm_delete: Sunteți sigur că doriți să ștergeți acest șablon? - title: Şabloane chestionar + confirm_delete: Ești sigur că vrei să ștergi acest model? + title: Model de chestionar preview: current_step: Pasul %{step} of_total_steps: din %{total_steps} - tos_agreement: Prin participare acceptați termenii și condițiile sale de utilizare + tos_agreement: Prin participare accepți Termenii și condițiile sale de utilizare template_types: questionnaires: Chestionare diff --git a/decidim-verifications/config/locales/ro-RO.yml b/decidim-verifications/config/locales/ro-RO.yml index 04ef38ce8e76f..32b3399826058 100644 --- a/decidim-verifications/config/locales/ro-RO.yml +++ b/decidim-verifications/config/locales/ro-RO.yml @@ -7,15 +7,15 @@ ro: offline_explanation: Instrucțiuni pentru verificarea offline online: Online id_document_information: - document_number: Numărul documentului (cu litera) + document_number: Numărul documentului (cu literă) document_type: Tipul documentului id_document_upload: - document_number: Numărul documentului (cu litera) - document_type: Tipul documentului dvs. + document_number: Numărul documentului (cu literă) + document_type: Tipul documentului tău user: Participant verification_attachment: Copie scanată a documentului tău offline_confirmation: - email: E-mail participant + email: E-mail-ul participantului postal_letter_address: full_address: Adresa completă postal_letter_confirmation: @@ -27,12 +27,12 @@ ro: admin: menu: authorization_revocation: - before_date_info: Util dacă procesul a început deja și doriți să revocați permisiunile procesului anterior. + before_date_info: Util dacă procesul a început deja și dorești să revoci permisiunile procesului anterior. button: Revocă tot button_before: Revocă înainte de data destroy: - confirm: Anularea autorizărilor înainte de dată nu poate fi anulată. Sigur doriți să continuați? - confirm_all: Revocați toate autorizațiile nu pot fi anulate. Sigur doriți să continuați? + confirm: Revocarea înainte de data autorizării nu poate fi anulată. Ești sigur(ă) că vrei să continui? + confirm_all: Revocarea tuturor autorizațiilor nu poate fi anulată. Ești sigur(ă) că vrei să continui? destroy_nok: A apărut o problemă în timpul revocării autorizațiilor. destroy_ok: Toate autorizațiile potrivite au fost revocate. info: Există un total de %{count} participanți verificați. @@ -127,7 +127,7 @@ ro: destroy_all: success: Toate datele recensământului au fost șterse destroy: - confirm: Ştergerea recensământului nu poate fi anulată. Sunteţi sigur că doriţi să continuaţi? + confirm: Ştergerea recensământului nu poate fi anulată. Ești sigur(ă) că vrei să continui? title: Şterge toate datele recensământului index: data: Există %{count} înregistrări încărcate în total. Ultima dată de încărcare a fost pe %{due_date} @@ -254,7 +254,7 @@ ro: destroy: success: Codul de verificare a fost resetat. Vă rugăm să reintroduceţi numărul de telefon. edit: - confirm_destroy: Sigur doriți să resetați codul de verificare? + confirm_destroy: Ești sigur(ă) că vrei să resetezi codul de verificare? destroy: Resetați codul de verificare resend: Nu ai primit codul de verificare? send: Confirmare From 79fb3bfa428ef9b035698a8d8ce31f0c42f88b23 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Tue, 16 Nov 2021 17:10:50 +0100 Subject: [PATCH 65/71] New Crowdin updates (#8460) --- decidim-accountability/config/locales/eu.yml | 4 +- .../config/locales/ro-RO.yml | 20 +-- decidim-admin/config/locales/eu.yml | 14 +- decidim-admin/config/locales/pl.yml | 2 +- decidim-admin/config/locales/ro-RO.yml | 4 +- decidim-assemblies/config/locales/ro-RO.yml | 4 +- decidim-blogs/config/locales/eu.yml | 2 +- decidim-blogs/config/locales/ja.yml | 4 +- decidim-blogs/config/locales/ro-RO.yml | 2 +- decidim-budgets/config/locales/ro-RO.yml | 4 +- decidim-conferences/config/locales/ro-RO.yml | 12 +- .../config/locales/ro-RO.yml | 16 +- decidim-core/config/locales/eu.yml | 10 +- decidim-core/config/locales/ja.yml | 24 +-- decidim-core/config/locales/ro-RO.yml | 32 ++-- decidim-debates/config/locales/ja.yml | 6 +- decidim-debates/config/locales/ro-RO.yml | 66 ++++---- decidim-dev/config/locales/ja.yml | 4 +- decidim-dev/config/locales/ro-RO.yml | 8 +- decidim-elections/config/locales/fr-CA.yml | 10 ++ decidim-elections/config/locales/fr.yml | 10 ++ decidim-forms/config/locales/ro-RO.yml | 116 ++++++------- decidim-initiatives/config/locales/ja.yml | 4 +- decidim-meetings/config/locales/pl.yml | 4 +- decidim-meetings/config/locales/ro-RO.yml | 158 ++++++++--------- decidim-proposals/config/locales/ja.yml | 24 +-- decidim-proposals/config/locales/pl.yml | 10 +- decidim-sortitions/config/locales/ro-RO.yml | 2 +- decidim-system/config/locales/ro-RO.yml | 4 +- decidim-templates/config/locales/ro-RO.yml | 2 +- .../config/locales/ro-RO.yml | 160 +++++++++--------- 31 files changed, 381 insertions(+), 361 deletions(-) diff --git a/decidim-accountability/config/locales/eu.yml b/decidim-accountability/config/locales/eu.yml index dba91f0ab238c..0563bec81e8c6 100644 --- a/decidim-accountability/config/locales/eu.yml +++ b/decidim-accountability/config/locales/eu.yml @@ -204,13 +204,13 @@ eu: label: Egoera components: accountability: - name: Kontuak + name: Jarraipena settings: global: categories_label: '"Kategoriak" izena' comments_enabled: Iruzkinak gaituta comments_max_length: Iruzkinen gehieneko luzera (utzi 0 defektuz konfigurazioa mantendu nahi baduzu) - display_progress_enabled: Bistaratze aurrerapena + display_progress_enabled: Erakutsi aurrerapena heading_leaf_level_results: '"Proiektuak" izena' heading_parent_level_results: '"Emaitzak" izena' intro: Intro diff --git a/decidim-accountability/config/locales/ro-RO.yml b/decidim-accountability/config/locales/ro-RO.yml index 49c07e0311f16..4db07bc829a59 100644 --- a/decidim-accountability/config/locales/ro-RO.yml +++ b/decidim-accountability/config/locales/ro-RO.yml @@ -4,7 +4,7 @@ ro: result: decidim_accountability_status_id: Stare decidim_category_id: Categorie - decidim_scope_id: Domeniu de aplicare + decidim_scope_id: Domeniu de interes description: Descriere end_date: Data de sfârșit progress: Progres @@ -35,7 +35,7 @@ ro: actions: attachment_collections: Dosare attachments: Atașamente - confirm_destroy: Ești sigur(ă) că vrei să ștergi acest %{name}? + confirm_destroy: Sigur dorești să ștergi acest %{name}? destroy: Ștergere edit: Editare import_csv: Importă CSV @@ -147,7 +147,7 @@ ro: end_date: Dată de sfârşit id: ID progress: Progres - scope: Domeniu + scope: Domeniu de interes start_date: Dată de începere status: Stadiu title: Titlu @@ -172,7 +172,7 @@ ro: other: "%{count} rezultate" filters: all: Toate - scopes: Domeniu + scopes: Domenii de interes home: categories_label: Categorii subcategories_label: Subcategorii @@ -192,7 +192,7 @@ ro: last_updated_at: Ultima actualizare la meetings: Întâlniri proposals: Propuneri - votes: Suportă + votes: Voturi timeline: title: Evoluția proiectului admin: @@ -201,7 +201,7 @@ ro: category_id_eq: label: Categorie scope_id_eq: - label: Domeniul de aplicare + label: Domeniu de interes status_id_eq: label: Stare components: @@ -216,8 +216,8 @@ ro: heading_leaf_level_results: Nume pentru "Proiecte" heading_parent_level_results: Nume pentru "Rezultate" intro: Introducere - scope_id: Domeniu de aplicare - scopes_enabled: Domenii de aplicare activate + scope_id: Domeniu de interes + scopes_enabled: Domenii de interes activate subcategories_label: Nume pentru "Subcategorii" step: comments_blocked: Comentarii blocate @@ -225,12 +225,12 @@ ro: accountability: proposal_linked: email_intro: 'Propunerea "%{proposal_title}" a fost inclusă într-un rezultat. O puteţi vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece urmați ""%{proposal_title}". Puteți înceta să primiți notificări urmând linkul anterior. + email_outro: Ai primit această notificare deoarece urmărești „%{proposal_title}”. Poți anula aceste notificări de la link-ul anterior. email_subject: O actualizare la %{proposal_title} notification_title: Propunerea %{proposal_title} a fost inclusă în rezultatul %{resource_title}. result_progress_updated: email_intro: 'Rezultatul "%{resource_title}", care include propunerea "%{proposal_title}", este acum %{progress}% complet. Îl puteţi vedea de pe această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți „%{proposal_title}” și această propunere este inclusă în rezultatul „%{resource_title}”. Puteți înceta să primiți notificări urmând link-ul anterior. + email_outro: Ai primit această notificare deoarece urmărești „%{proposal_title}” și această propunere este inclusă în rezultatul „%{resource_title}”. Poți înceta să primești notificări urmând link-ul anterior. email_subject: O actualizare la progresul %{resource_title} notification_title: Rezultatul %{resource_title}, care include propunerea %{proposal_title}, este acum %{progress}% complet. metrics: diff --git a/decidim-admin/config/locales/eu.yml b/decidim-admin/config/locales/eu.yml index c9e6c407fd160..dddf41705e972 100644 --- a/decidim-admin/config/locales/eu.yml +++ b/decidim-admin/config/locales/eu.yml @@ -304,7 +304,7 @@ eu: headers: actions: Ekintzak name: Osagaiaren izena - scope: Osagaiaren eremua + scope: Osagaiaren esparrua type: Osagai mota new: add: Gehitu osagaia @@ -367,7 +367,7 @@ eu: 'false': Argitaratu da 'true': Ez da argitaratu scope_id_eq: - label: Eremua + label: Esparrua search_label: Search search_placeholder: name_or_nickname_or_email_cont: Bilatu %{collection} helbide elektroniko, izen edo ezizenaren arabera. @@ -622,7 +622,7 @@ eu: confirm_delete: Ziur zaude buletin hau deuseztatu nahi duzula? followers: 'jarraitzaileak ' has_been_sent_to: 'Honi bidalia: ' - no_scopes: Eremurik gabe + no_scopes: Esparrurik gabe not_sent: Ez bidalita participants: 'parte-hartzaileak ' segmented_to: 'Honentzat zatitua %{subject}: ' @@ -640,8 +640,8 @@ eu: none: Bat ere ez participants_help: Bidali albisteen buletina baieztatu duten eta zerrendan aukeratutako edozein eremu parte-hartzailetan esku hartu duten parte-hartzaile guztiei. recipients_count: 'Buletin hau erabiltzaile hauei bidaliko zaie: %{count}.' - scopes_help: Bidali albisteen buletina "Nire interesekoak" konfigurazioan edozein eremu aktibatuta duten parte-hartzaileei. - select_scopes: Iragazi "Nire interesekoak" konfigurazioan edozein eremu aktibatu duten parte-hartzaileentzat. + scopes_help: Bidali albisteen buletina "Nire interesekoak" konfigurazioan edozein esparru aktibatuta duten parte-hartzaileei. + select_scopes: Iragazi "Nire interesekoak" konfigurazioan edozein esparru aktibatu duten parte-hartzaileentzat. select_spaces: Hautatu espazioak buletina zatitzeko select_users: Hautatu zein erabiltzaileri bidali nahi diezun buletina send_to_all_users: Bidali erabiltzaile guztiei @@ -734,7 +734,7 @@ eu: inactive_content_blocks: Eduki eduki gabeko blokeak organization_homepage_content_blocks: edit: - update: eguneratzearen + update: Eguneratu participatory_space_private_users: create: error: Errore bat gertatu da partaidetza espazio honen erabiltzaile pribatua gehitzean. @@ -765,7 +765,7 @@ eu: resources: index: headers: - scope: Eremua + scope: Esparrua scope_types: create: error: Errore bat gertatu da esparru mota berri bat sortzean. diff --git a/decidim-admin/config/locales/pl.yml b/decidim-admin/config/locales/pl.yml index 29b22c22f29f3..61a37fdc3814f 100644 --- a/decidim-admin/config/locales/pl.yml +++ b/decidim-admin/config/locales/pl.yml @@ -371,7 +371,7 @@ pl: search_label: Szukaj search_placeholder: name_or_nickname_or_email_cont: Przeszukaj %{collection} według adresu e-mail, nazwiska lub nazwy użytkownika. - reported_id_string_or_reported_content_cont: Szukaj %{collection} według identyfikatora lub treści zgłoszenia. + reported_id_string_or_reported_content_cont: Przeszukaj %{collection} według identyfikatora lub treści zgłoszenia. title_cont: Przeszukaj %{collection} według tytułu. state_eq: label: Stan diff --git a/decidim-admin/config/locales/ro-RO.yml b/decidim-admin/config/locales/ro-RO.yml index 60def3402a840..11efbb1fcd56a 100644 --- a/decidim-admin/config/locales/ro-RO.yml +++ b/decidim-admin/config/locales/ro-RO.yml @@ -945,7 +945,7 @@ ro: expand: Extinde hidden: Ascuns hide: Ascunde - not_hidden: Nu este ascuns + not_hidden: Neascuns title: Acțiuni unhide: Anulează ascunderea unreport: Anulează raportarea @@ -956,7 +956,7 @@ ro: success: Resursa a fost ascunsă cu succes. unhide: invalid: A apărut o problemă la anularea ascunderii resursei. - success: Anularea ascunderii resursei a fost reaizată cu succes. + success: Anularea ascunderii resursei a fost realizată cu succes. unreport: invalid: A apărut o problemă la anularea raportării resursei. success: Anularea raportării resursei a fost efectuată cu succes. diff --git a/decidim-assemblies/config/locales/ro-RO.yml b/decidim-assemblies/config/locales/ro-RO.yml index 76236477d832b..565368ca91053 100644 --- a/decidim-assemblies/config/locales/ro-RO.yml +++ b/decidim-assemblies/config/locales/ro-RO.yml @@ -380,7 +380,7 @@ ro: read_less: Citește mai puțin read_more: Citește mai mult related_participatory_processes: Procese participative asociate - scope: Domeniu + scope: Domeniu de interes social_networks: Rețele sociale social_networks_title: Distribuie aceast grup de lucru pe target: Cine participă @@ -408,7 +408,7 @@ ro: votes_count: Voturi assembly_members: assembly_member: - designated_on: Desemnat către + designated_on: Desemnat la index: title: Membri conferences: diff --git a/decidim-blogs/config/locales/eu.yml b/decidim-blogs/config/locales/eu.yml index 3ab8f329c5091..ce25cf29ee208 100644 --- a/decidim-blogs/config/locales/eu.yml +++ b/decidim-blogs/config/locales/eu.yml @@ -11,7 +11,7 @@ eu: blogs: actions: confirm_destroy: Ziur mezua ezabatu nahi duzula? - destroy: ezabatu + destroy: Ezabatu edit: Editatu new: Post berria title: Ekintzak diff --git a/decidim-blogs/config/locales/ja.yml b/decidim-blogs/config/locales/ja.yml index 84283d683492c..40906c29575d2 100644 --- a/decidim-blogs/config/locales/ja.yml +++ b/decidim-blogs/config/locales/ja.yml @@ -66,8 +66,8 @@ ja: step: announcement: お知らせ comments_blocked: コメントをブロック - endorsements_blocked: 支持をブロック - endorsements_enabled: 支持が有効 + endorsements_blocked: オススメをブロック + endorsements_enabled: オススメが有効 events: blogs: post_created: diff --git a/decidim-blogs/config/locales/ro-RO.yml b/decidim-blogs/config/locales/ro-RO.yml index aa4449f73489c..4a385fe82d2d0 100644 --- a/decidim-blogs/config/locales/ro-RO.yml +++ b/decidim-blogs/config/locales/ro-RO.yml @@ -11,7 +11,7 @@ ro: decidim: blogs: actions: - confirm_destroy: Ești sigur(ă) că vrei să ştergi această postare? + confirm_destroy: Sigur dorești să ştergi această postare? destroy: Șterge edit: Editează new: Postare nouă diff --git a/decidim-budgets/config/locales/ro-RO.yml b/decidim-budgets/config/locales/ro-RO.yml index 277d21584558d..9f1a4871b3078 100644 --- a/decidim-budgets/config/locales/ro-RO.yml +++ b/decidim-budgets/config/locales/ro-RO.yml @@ -26,7 +26,7 @@ ro: actions: attachment_collections: Dosare attachments: Atașamente - confirm_destroy: Ești sigur(ă) că vrei să ştergi acest proiect? + confirm_destroy: Sigur dorești să ştergi acest proiect? destroy: Ștergere edit: Editare edit_projects: Gestionați proiectele @@ -154,7 +154,7 @@ ro: description: Acest proiect depășește numărul maxim de proiecte și nu poate fi adăugat. Dacă dorești, poți șterge un proiect deja selectat pentru a-l adăuga pe acesta, putând astfel vota din nou conform preferințelor tale. title: Numărul maxim de proiecte a fost depășit budget_summary: - are_you_sure: Ești sigur(ă) că vrei să îți anulezi votul? + are_you_sure: Sigur dorești să îți anulezi votul? assigned: 'Atribuit:' cancel_order: șterge votul și reia procesul checked_out: diff --git a/decidim-conferences/config/locales/ro-RO.yml b/decidim-conferences/config/locales/ro-RO.yml index ca7f4a410f671..8bc97e438c8e7 100644 --- a/decidim-conferences/config/locales/ro-RO.yml +++ b/decidim-conferences/config/locales/ro-RO.yml @@ -23,7 +23,7 @@ ro: registration_terms: Condiții de înscriere registrations_enabled: Înregistrare activată scope_id: Domeniu de interes - scopes_enabled: Domenii de interes activate + scopes_enabled: Domenii activate short_description: Descriere scurtă show_statistics: Arată statistici sign_date: Data semnării @@ -460,7 +460,7 @@ ro: collaborators: Parteneri main_promotors: Organizatori show: - login_as: Ești autentificat ca %{name} <%{email}> + login_as: Ești contectat ca %{name} <%{email}> make_conference_registration: 'Înregistrați-vă la conferință:' register: Inregistrare content_blocks: @@ -519,7 +519,7 @@ ro: registration_types: index: choose_an_option: 'Alegeți opțiunea de înregistrare:' - login_as: Ești autentificat ca %{name} <%{email}> + login_as: Ești contectat ca %{name} <%{email}> no_registrations: Fără înregistrări register: Inregistrare title: Tipuri de înregistrare @@ -527,7 +527,7 @@ ro: conference_user_login: already_account: Ai deja un cont în decidim? new_user: Utilizator nou? - sign_in: Loghează-te pentru a te înregistra la conferință + sign_in: Conectează-te pentru a te înregistra la conferință sign_up: Creează un cont în platforma Decidem pentru a vă înregistra la conferință show: details: Detalii @@ -587,8 +587,8 @@ ro: help: participatory_spaces: conferences: - contextual: "

    O conferință este o colecție de întâlniri organizate într-un program, cu un număr de persoane invitate ca vorbitori, precum și alte domenii de informare tipice marilor congrese sau evenimente sociale (înregistrare, lista organizațiilor care sponsorizează evenimentul etc.

    Exemple: O conferință poate fi un eveniment relevant pentru o organizație și membrii acesteia; sau să se desfășoare ca parte a unui proces participativ sau în urma unei consultări.

    \n" - page: "

    O conferință este o colecție de întâlniri organizate într-un program, cu un număr de persoane invitate ca vorbitori, precum și alte domenii de informare tipice marilor congrese sau evenimente sociale (înregistrare, lista organizațiilor care sponsorizează evenimentul etc.

    Exemple: O conferință poate fi un eveniment relevant pentru o organizație și membrii acesteia; sau să se desfășoare ca parte a unui proces participativ sau în urma unei consultări.

    \n" + contextual: "

    O conferință reprezintă un set de întâlniri organizate în cadrul unui program, cu un grup de persoane invitate ca vorbitori, precum și alte informații tipice marilor congrese sau evenimente sociale (modalitatea de înregistrare, lista organizațiilor care sponsorizează evenimentul etc).

    Exemple: O conferință poate fi un eveniment relevant pentru o organizație și membrii acesteia; sau să se desfășoare ca parte a unui proces participativ sau în urma unei consultări.

    \n" + page: "

    O conferință reprezintă un set de întâlniri organizate în cadrul unui program, cu un grup de persoane invitate ca vorbitori, precum și alte informații tipice marilor congrese sau evenimente sociale (modalitatea de înregistrare, lista organizațiilor care sponsorizează evenimentul etc).

    Exemple: O conferință poate fi un eveniment relevant pentru o organizație și membrii acesteia; sau să se desfășoare ca parte a unui proces participativ sau în urma unei consultări.

    \n" title: Ce sunt conferinţele? log: value_types: diff --git a/decidim-consultations/config/locales/ro-RO.yml b/decidim-consultations/config/locales/ro-RO.yml index 852ef5eaac693..ea5e5d110395a 100644 --- a/decidim-consultations/config/locales/ro-RO.yml +++ b/decidim-consultations/config/locales/ro-RO.yml @@ -3,7 +3,7 @@ ro: attributes: consultation: banner_image: Imagine banner - decidim_highlighted_scope_id: Domeniul de aplicare + decidim_highlighted_scope_id: Domeniu evidențiat description: Descriere end_voting_date: Votarea se termină introductory_image: Imagine introductivă @@ -15,21 +15,21 @@ ro: title: Titlu question: banner_image: Imagine banner - decidim_scope_id: Suprafață municipală + decidim_scope_id: Perimetru de aplicare hashtag: Hashtag hero_image: Imagine acasă i_frame_url: URL sistem de vot extern instructions: Instrucțiuni suplimentare pentru votare max_votes: Numărul maxim de voturi min_votes: Numărul minim de voturi - origin_scope: Domeniu + origin_scope: Domeniu de interes origin_title: Origine origin_url: URL Origine - participatory_scope: Domeniul de aplicare participativ + participatory_scope: Domeniul participativ promoter_group: Grup promotor question_context: Context reference: Referință - scope: Suprafață municipală + scope: Perimetru de aplicare slug: URL slug subtitle: Subtitrare vote: Sistem de vot extern @@ -102,7 +102,7 @@ ro: edit: update: Actualizare form: - slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică această consultare. Acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' + slug_help: 'URL slugs sunt utilizate pentru a genera URL-urile care indică această consultare. Acestea acceptă doar litere, numere și cratime și trebuie să înceapă cu o literă. Exemplu: %{url}' title: Informaţii generale index: not_published: Nepublicat @@ -329,8 +329,8 @@ ro: help: participatory_spaces: consultations: - contextual: "

    O consultare este un spaţiu care vă permite să adresaţi o întrebare clară tuturor persoanelor care formează o organizaţie, să facă un apel la participarea la consultare, să declanşeze şi să ordone dezbaterea pentru sau împotriva unui răspuns. Când va sosi data consultării, puteţi vota şi publica rezultatele voturilor.

    Exemple: Consultările pot fi despre aproape orice aspect care afectează o organizaţie: unele exemple schimbă numele sau logo-ul organizaţiei care oferă mai multe alternative, decizia de a nu deveni parte a unei organizații mai mari, de a valida sau respinge un nou plan strategic sau rezultatul unui grup de lucru; fie de a defini dacă pozițiile ar trebui să rămână maximum 1, 2 sau 3 mandate.

    \n" - page: "

    O consultare este un spaţiu care vă permite să adresaţi o întrebare clară tuturor persoanelor care formează o organizaţie, să facă un apel la participarea la consultare, să declanşeze şi să ordone dezbaterea pentru sau împotriva unui răspuns. Când va sosi data consultării, puteţi vota şi publica rezultatele voturilor.

    Exemple: Consultările pot fi despre aproape orice aspect care afectează o organizaţie: unele exemple schimbă numele sau logo-ul organizaţiei care oferă mai multe alternative, decizia de a nu deveni parte a unei organizații mai mari, de a valida sau respinge un nou plan strategic sau rezultatul unui grup de lucru; fie de a defini dacă pozițiile rămân maximum 1, 2 sau 3 mandate în cadrul organizației.

    \n" + contextual: "

    O consultare este un spaţiu care îți permite să adresezi o întrebare clară tuturor persoanelor care formează o organizaţie sau un grup de lucru, să faci un apel la participarea la consultare, să demarezi şi să ordonezi dezbaterea pentru sau împotriva unui răspuns. Când va sosi data consultării, poţi vota şi publica rezultatele voturilor.

    Exemple: Consultările pot fi despre aproape orice aspect care afectează o organizaţie sau un grup de lucru: câteva exemple ar fi schimbarea numelui sau logo-ul organizaţiei oferind mai multe alternative, decizia de a nu deveni parte a unei organizații mai mari, de a valida sau respinge un nou plan strategic sau rezultatul unui grup de lucru, sau de de a decide dacă pozițiile ar trebui să rămână maximum 1, 2 sau 3 mandate.

    \n" + page: "

    O consultare este un spaţiu care îți permite să adresezi o întrebare clară tuturor persoanelor care formează o organizaţie sau un grup de lucru, să faci un apel la participarea la consultare, să demarezi şi să ordonezi dezbaterea pentru sau împotriva unui răspuns. Când va sosi data consultării, poţi vota şi publica rezultatele voturilor.

    Exemple: Consultările pot fi despre aproape orice aspect care afectează o organizaţie sau un grup de lucru: câteva exemple ar fi schimbarea numelui sau logo-ul organizaţiei oferind mai multe alternative, decizia de a nu deveni parte a unei organizații mai mari, de a valida sau respinge un nou plan strategic sau rezultatul unui grup de lucru, sau de de a decide dacă pozițiile ar trebui să rămână maximum 1, 2 sau 3 mandate.

    \n" title: Ce sunt consultările? menu: consultations: Consultări diff --git a/decidim-core/config/locales/eu.yml b/decidim-core/config/locales/eu.yml index c2439c1f66b0a..92c89be98b6a7 100644 --- a/decidim-core/config/locales/eu.yml +++ b/decidim-core/config/locales/eu.yml @@ -19,7 +19,7 @@ eu: about: About email: Zure helbide elektronikoa name: Zure izena - nickname: ezizena + nickname: Ezizena password: Pasahitza password_confirmation: Berretsi pasahitza personal_url: URL pertsonala @@ -41,7 +41,7 @@ eu: decidim/user: current_password: Egungo pasahitza email: Helbide elektronikoa - name: Erabiltzaile-izena + name: Ezizena password: Pasahitza password_confirmation: Baieztatu pasahitza remember_me: Gogoratu @@ -439,11 +439,11 @@ eu: complete_profile: Osatu profila sign_up: Mesedez, osatu zure profila subtitle: Mesedez, bete inprimaki hau izen-ematea osatzeko - username_help: Izen publikoa, zuk argitaratutakoetan agertzekoa. Anonimatua bermatze aldera, edozein izen izan daiteke. + username_help: Zure mezuetan agertuko den izen publikoa. Anonimatua bermatze aldera, edozein izen izan daiteke. registrations: new: already_have_an_account?: Baduzu kontu bat? - newsletter: Informazio garrantzitsua duen noizbehinkako buletina jaso nahi dut + newsletter: Jaso nahi dut noizbehinka informazio garrantzitsua duen buletina newsletter_title: Harremanetarako baimena sign_in: Sartu sign_up: Erregistratu @@ -453,7 +453,7 @@ eu: terms: erabilera-baldintzak tos_agreement: 'Erregistratzean hau onartzen duzu: %{link}.' tos_title: Zerbitzu-baldintzak - username_help: Izen publikoa, zure mezuetan agertzekoa Anonimatua bermatze aldera, edozein izen izan daiteke. + username_help: Zure mezuetan agertuko den izen publikoa. Anonimatua bermatze aldera, edozein izen izan daiteke. sessions: new: are_you_new?: Berria zara plataforman? diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml index 8a867418773fe..a7fc059bf839f 100644 --- a/decidim-core/config/locales/ja.yml +++ b/decidim-core/config/locales/ja.yml @@ -35,7 +35,7 @@ ja: decidim/profile_updated_event: プロフィールが更新されました decidim/promote_to_admin: グループ管理者に昇格しました decidim/removed_from_group: グループから削除しました - decidim/resource_endorsed_event: 支持されたリソース + decidim/resource_endorsed_event: オススメされた activerecord: attributes: decidim/user: @@ -49,7 +49,7 @@ ja: decidim/amendment: other: 修正 decidim/endorsement: - other: 支持 + other: オススメ decidim/user: other: 参加者 decidim/user_group: @@ -256,7 +256,7 @@ ja: comments: other: コメント endorsements: - other: 承認 + other: オススメ authorization_handlers: another_dummy_authorization_handler: explanation: '「A」で始まるパスポート番号を入力して確認する' @@ -493,11 +493,11 @@ ja: update_profile: プロフィールを更新 wants_to_use_your_account_html: "%{application_name} があなたのアカウントを使用しようとしています" endorsable: - endorsements: 支持 - endorsements_count: 支持数 + endorsements: オススメ + endorsements_count: オススメ数 endorsement_buttons_cell: - already_endorsed: 支持済み - endorse: 支持する + already_endorsed: オススメ済み + endorse: オススメする endorsements: identities: done: 完了 @@ -641,10 +641,10 @@ ja: %{resource_type} として報告されたため、管理者が %{report_reasons} を削除しました。
    %{resource_content} resource_endorsed: - email_intro: 'あなたがフォローしている%{endorser_name} %{endorser_nickname}は、「%{resource_title}」を支持しました。私たちはあなたにとって興味深いことかもしれません。 チェックアウトして貢献:' + email_intro: 'あなたがフォローしている%{endorser_name} %{endorser_nickname} は、「%{resource_title}」をオススメしました。私たちはあなたにとって興味深いことかもしれません。 チェックアウトして貢献:' email_outro: '%{endorser_nickname}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。' - email_subject: "%{endorser_nickname} が新しい承認を行いました" - notification_title: %{resource_title} %{resource_type} は %{endorser_name} %{endorser_nickname}によって承認されました。 + email_subject: "%{endorser_nickname} が新しいオススメを行いました" + notification_title: %{resource_title} %{resource_type} は %{endorser_name} %{endorser_nickname}によってオススメされました。 users: profile_updated: email_intro: あなたがフォロー中の %{name} (%{nickname}) さんの プロフィールページ が更新されました。 @@ -1067,7 +1067,7 @@ ja: comments_count: コメント conferences_count: カンファレンス debates_count: ディベート - endorsements_count: 支持 + endorsements_count: オススメ headline: '%{organization} の現在の状態' meetings_count: ミーティング orders_count: 投票 @@ -1172,7 +1172,7 @@ ja: success: レポートは正常に作成され、管理者によってレビューされます。 resource_endorsements: create: - error: 承認アクション中に問題がありました。 + error: オススメする際に問題がありました。 scopes: global: グローバルスコープ picker: diff --git a/decidim-core/config/locales/ro-RO.yml b/decidim-core/config/locales/ro-RO.yml index d70f833557786..f3186b050ef38 100644 --- a/decidim-core/config/locales/ro-RO.yml +++ b/decidim-core/config/locales/ro-RO.yml @@ -30,8 +30,8 @@ ro: decidim/demoted_membership: Nu mai este un administrator de grup decidim/gamification/badge_earned_event: Insignă câștigată decidim/gamification/level_up_event: Ai crescut în nivel - decidim/join_request_accepted_event: Solicitare de înscriere acceptată - decidim/join_request_rejected_event: Solicitare de înscriere respinsă + decidim/join_request_accepted_event: Cerere de înscriere acceptată + decidim/join_request_rejected_event: Cerere de înscriere respinsă decidim/profile_updated_event: Profil actualizat decidim/promote_to_admin: Promovat ca administrator decidim/removed_from_group: Eliminat din grup @@ -92,7 +92,7 @@ ro: confirm: close: Închide fereastra ok: Da, vreau să îmi șterg contul - question: Ești sigur(ă) că vrei să-ți ștergi contul? + question: Sigur dorești să-ți ștergi contul? title: Șterge contul meu explanation: Care este motivul pentru care dorești să-ți ștergi (opțional). destroy: @@ -432,7 +432,7 @@ ro: name: Banner suberoi core: actions: - login_before_access: Te rugăm să te autentifici cu contul tău înainte de a avea acces + login_before_access: Te rugăm să te conectezi cu contul tău înainte de a accesa conținutul unauthorized: Nu sunteți autorizat să efectuați această acțiune data_portability: export: @@ -440,7 +440,7 @@ ro: show: download_data: Descarcă datele download_data_description: Un fișier care conține toate informațiile asociate contului tău va fi trimis la %{user_email}. Acest e-mail va conține un fișier .zip și o parolă pentru a-l deschide.

    Pentru a dezarhiva fişierul, aveţi nevoie de 7-Zip (pentru Windows) sau Keka (pentru MacOS). Dacă utilizați Linux, de cele mai multe ori îl veți instala în mod implicit. Dacă nu, puteți utiliza File Roller sau PeaZip). - request_data: Solicită date + request_data: Cere date datepicker: help_text: 'Format preconizat: %{datepicker_format}' devise: @@ -484,7 +484,7 @@ ro: close_modal: Închide fereastra uncheck: Mențineți nebifat notice: |- -

    Hei, ești sigur(ă) că nu vrei să primești un buletin informativ?
    +

    Hei, sigur nu vrei să primești un buletin informativ?
    Te rugăm să reconsideri bifarea din nou a căsuței de selectare a buletinului informativ de mai jos.
    Este foarte important pentru noi să poți primi e-mailuri ocazionale pentru a face anunţuri importante, poți schimba întotdeauna acest lucru pe pagina de setări pentru notificări.

    @@ -688,7 +688,7 @@ ro: result: Rezultate fingerprint: check: Verifică amprenta - explanation: Partea de text de mai jos este o reprezentare scurtă a acestui conținut. Este util să se asigure că conținutul nu a fost modificat, deoarece o singură modificare ar avea ca rezultat o valoare total diferită. + explanation: Partea de text de mai jos este o reprezentare scurtă a acestui conținut. Este util să te asiguri că acest conținut nu a fost modificat, deoarece o singură modificare ar avea ca rezultat o valoare total diferită. online_calculator_name: Calculator MD5 online replicate_help: Această amprentă este calculată folosind un algoritm de fixare SHA256. Pentru a-l copia singur/ă, poți folosi un %{online_calculator_link} şi copia datele sursă. source: Sursa @@ -767,7 +767,7 @@ ro: reached_top: Ai atins nivelul maxim pentru această insignă. group_admins: actions: - are_you_sure: Ești sigur(ă)? Acest lucru nu va elimina participantul din grup. + are_you_sure: Sigur dorești asta? Acest lucru nu va elimina participantul din grup. demote_admin: Elimină administratorul demote: error: A apărut o eroare la eliminarea acestui participant din lista de administratori @@ -796,7 +796,7 @@ ro: error: A apărut o eroare la acceptarea acestei cereri de aderare success: Solicitare de înscriere acceptată cu succes actions: - are_you_sure: Ești sigur(ă)? + are_you_sure: Sigur dorești asta? promote_to_admin: Setare ca administrator remove_from_group: Eliminare participant index: @@ -813,7 +813,7 @@ ro: success: Participantul a fost șters din grup groups: actions: - are_you_sure: Ești sigur(ă)? + are_you_sure: Sigur dorești asta? create: error: A apărut o problemă la crearea grupului success: Grup creat cu succes @@ -852,7 +852,7 @@ ro: help: main_topic: default_page: - content: "

    în %{organization} poți participa și decide cu privire la diferite subiecte, prin spaţiile pe care le vedeţi în meniul superior: Procese, Adunări, Iniţiative, Consultări.

    În cadrul fiecăruia vei găsi opțiuni diferite pentru a participa: propune individual sau împreună cu alte persoane, ia parte la dezbateri, prioritizează proiectele pentru a le pune în aplicare, participă la reuniuni directe și la alte acțiuni.

    \n" + content: "

    În %{organization} poți participa și decide cu privire la diferite subiecte, prin spaţiile participative pe care le vezi în meniul superior: Procese, Grupuri de lucru, Iniţiative, Consultări.

    În cadrul fiecăruia vei găsi opțiuni diferite pentru a participa: formulează propuneri individual sau împreună cu alte persoane, ia parte la dezbateri, prioritizează proiectele ce urmează a fi puse în aplicare, participă la întâlniri față-în-față și la alte acțiuni.

    \n" title: Ce pot face în %{organization}? description: Citește mai multe despre %{organization} title: Ajutor General @@ -1066,10 +1066,10 @@ ro: home: extended: debates: Dezbateri - debates_explanation: Dezbateți și discutați, împărtășiți opiniile dvs. și îmbogățiți subiectele relevante. + debates_explanation: Dezbați și discuți, îți împărtășești opiniile și contribui la subiectele relevante pentru tine. how_to_participate: Cum pot lua parte la un proces? meetings: Întâlniri - meetings_explanation: Află unde și când poți participa la ședințe publice. + meetings_explanation: Află unde și când poți participa la întâlniri deschise publicului. more_info: Mai multe informații proposals: Propuneri proposals_explanation: Formulează propuneri, votează propunerile existente și promovează schimbările pe care dorești să le vezi implementate. @@ -1275,7 +1275,7 @@ ro: sign_in_before_follow: Vă rugăm să vă autentificați înainte de a efectua această acțiune login_modal: close_modal: Închide fereastra - please_sign_in: Te rugăm să te autentifici + please_sign_in: Te rugăm să te conectezi sign_up: Înscrie-te participatory_space_filters: filters: @@ -1378,7 +1378,7 @@ ro: show: version_index: Versiunea %{index} welcome_notification: - default_body:

    Bună ziua {{name}}, vă mulțumin că v-ați alăturat {{organization}} și bine ați venit!

    • Dacă doriți să aveți o idee despre ceea ce puteți face aici, examinați secțiunea de Ajutor.
    • După citirea acesteia veți primi primul ecuson. Aici este lista tuturor ecusoanelor pe care le puteți obține pe măsură ce participați în cadrul {{organization}}
    • Nu în ultimul rând, puteți să vă alăturați altor persoane, să împărtășiți cu acestea experiența dvs. de implicare și participare în cadrul {{organization}}. Formulați propuneri și comentarii, dezbateți, reflectați asupra modului de a contribui la binele comun, oferiți argumente pentru a convinge, ascultați și citiți pentru a vă lăsa convinși, exprimați-vă ideile în mod concret și direct, răspundeți ferm și cu răbdare, apărați-vă ideile și mențineți o atitudine deschisă pentru a colabora și a participa la ideile altora.
    + default_body:

    Bună ziua {{name}}, îți mulțumin că te-ai alăturat {{organization}} și bine ai venit!

    • Dacă vrei să îți faci o idee despre ceea ce poți face în această platformă, citește secțiunea Ajutor.
    • După citirea acesteia vei primi prima insignă. Aici este lista tuturor insignelor pe care le poți obține pe măsură ce participi în cadrul {{organization}}
    • Nu în ultimul rând, poți să te alături altor persoane, să împărtășești cu acestea experiența ta de implicare și participare în cadrul {{organization}}. Formulează propuneri și comentarii, participă la dezbateri, reflectă asupra modului de a contribui la binele comun, oferă argumente pentru a convinge, ascultă și citește pentru a vă forma părerea, exprimă-ți ideile în mod concret și direct, răspunde ferm și cu răbdare, apără-ți ideile și menține o atitudine deschisă pentru a colabora și a participa la ideile altora.
    default_subject: Îți mulțumim că te-ai alăturat {{organization}}! wizard_step_form: wizard_aside: @@ -1488,7 +1488,7 @@ ro: registrations: destroyed: Contul tău a fost anulat cu succes. Sperăm să te revedem în curând. edit: - are_you_sure: Ești sigur(ă)? + are_you_sure: Sigur dorești asta? cancel_my_account: Anulează contul meu currently_waiting_confirmation_for_email: 'În prezent se așteaptă confirmarea pentru: %{email}' leave_blank_if_you_don_t_want_to_change_it: lasă necompletat dacă nu vrei să-l schimbi diff --git a/decidim-debates/config/locales/ja.yml b/decidim-debates/config/locales/ja.yml index 29be2350a0055..f0472291cb8c6 100644 --- a/decidim-debates/config/locales/ja.yml +++ b/decidim-debates/config/locales/ja.yml @@ -27,7 +27,7 @@ ja: debates: actions: create: 作成 - endorse: 支持 + endorse: オススメ name: ディベート settings: global: @@ -40,8 +40,8 @@ ja: announcement: お知らせ comments_blocked: コメントをブロック creation_enabled: 参加者によるディベートの作成が有効になりました - endorsements_blocked: 支持がブロックされました - endorsements_enabled: 支持を有効にする + endorsements_blocked: オススメがブロックされました + endorsements_enabled: オススメを有効にする debates: actions: close: 閉じる diff --git a/decidim-debates/config/locales/ro-RO.yml b/decidim-debates/config/locales/ro-RO.yml index 76e07774718b3..57e53862e330e 100644 --- a/decidim-debates/config/locales/ro-RO.yml +++ b/decidim-debates/config/locales/ro-RO.yml @@ -12,7 +12,7 @@ ro: instructions: Instrucţiuni de participare start_time: Începe la title: Titlu - user_group_id: Creează o dezbatere ca + user_group_id: Creați o dezbatere în calitate de models: decidim/debates/close_debate_event: Dezbatere închisă decidim/debates/create_debate_event: Dezbatere @@ -29,25 +29,25 @@ ro: debates: actions: create: Creează - endorse: Aprobare + endorse: Susține name: Dezbateri settings: global: announcement: Anunţ comments_enabled: Comentarii activate - comments_max_length: Lungimea maximă a comentariilor (Leave 0 pentru valoarea implicită) + comments_max_length: Lungimea maximă a comentariilor (Lasă 0 pentru valoarea implicită) scope_id: Domeniu de interes scopes_enabled: Domenii de interes activate step: announcement: Anunţ comments_blocked: Comentarii blocate creation_enabled: Crearea de dezbateri de către participanți este activată - endorsements_blocked: Aprobări blocate - endorsements_enabled: Aprobări activate + endorsements_blocked: Susțineri blocate + endorsements_enabled: Susțineri activate debates: actions: close: Închide - confirm_destroy: Ești sigur(ă)? + confirm_destroy: Sigur dorești asta? destroy: Ștergere edit: Editare new: '%{name} nou' @@ -55,7 +55,7 @@ ro: admin: debate_closes: edit: - close: Inchide + close: Închide title: Închide dezbaterea debates: create: @@ -98,7 +98,7 @@ ro: close: Închide description: Care este rezumatul sau concluzia acestei dezbateri? send: Închide dezbaterea - closed: Închis + closed: Închisă count: debates_count: one: "%{count} dezbatere" @@ -127,7 +127,7 @@ ro: search: Caută state: Stare state_values: - closed: Inchide + closed: Închisă open: Deschide user_groups: Grupuri filters_small_view: @@ -136,7 +136,7 @@ ro: filter_by: Filtrare după unfold: Desfășurat form: - select_a_category: Vă rugăm să selectaţi o categorie + select_a_category: Te rugăm selectează o categorie index: new_debate: Dezbatere nouă new: @@ -145,7 +145,7 @@ ro: title: Dezbatere nouă orders: commented: Cele mai comentate - label: Dezbateri de ordine + label: Ordonează dezbaterile după random: Ordine aleatorie recent: Cele mai recente updated: Actualizate recent @@ -153,10 +153,10 @@ ro: back: Înapoi la listă close_debate: Închide dezbaterea date: Data - debate_closed: Inchide + debate_closed: Închisă debate_conclusions_are: 'Dezbaterea s-a încheiat la %{date} cu următoarele concluzii:' - edit_conclusions: Editați concluziile - edit_debate: Editare dezbatere + edit_conclusions: Editează concluziile + edit_debate: Editează dezbaterea groups_count: Grupuri last_comment_by: Ultimul comentariu din partea no_comments_yet: Încă nu există comentarii @@ -171,7 +171,7 @@ ro: index: title: Versiuni versions_list: - back_to_resource: Revenire la dezbatere + back_to_resource: Înapoi la dezbatere last_activity: debate_updated_at_html: "Dezbatere actualizată la %{link}" new_debate_at_html: "Noua dezbatere la %{link}" @@ -179,7 +179,7 @@ ro: debate: fields: end_time: Data de încheiere - official_debate: Dezbatere oficială + official_debate: Dezbatere publică start_time: Data de început title: Titlu events: @@ -188,50 +188,50 @@ ro: space_followers: email_intro: |- Bună, - O nouă dezbatere "%{resource_title}" a fost creată pe spațiul participativ %{space_title} , verificați-l și contribuți: + O nouă dezbatere "%{resource_title}" a fost creată în spațiul participativ %{space_title}, citește și contribuie: email_outro: Ați primit această notificare deoarece urmați spațiul participativ al %{space_title} . Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Noua dezbatere "%{resource_title}" pe %{space_title} - notification_title: Dezbaterea %{resource_title} a fost creată pe %{space_title}. + email_subject: Dezbatere nouă "%{resource_title}" pe %{space_title} + notification_title: Dezbaterea %{resource_title} a fost creată în %{space_title}. user_followers: email_intro: |- Bună, - %{author_name} %{author_nickname}, pe care îl urmărești, a creat o nouă dezbatere "%{resource_title}". Verifică-l și adaugă: - email_outro: Ați primit această notificare deoarece urmăriți %{author_nickname}. Puteți înceta să primiți notificări urmând linkul anterior. - email_subject: Noua dezbatere "%{resource_title}" de %{author_nickname} + %{author_name} %{author_nickname}, pe care îl urmărești, a creat o nouă dezbatere "%{resource_title}". Uită-te peste și contribuie: + email_outro: Ai primit această notificare deoarece urmărești %{author_nickname}. Poți opri notificările accesând linkul anterior. + email_subject: Dezbatere nouă "%{resource_title}" - autor %{author_nickname} notification_title: %{author_name} %{author_nickname} a creat dezbaterea %{resource_title}. creation_disabled: - email_intro: 'Crearea de dezbateri nu mai este activă în %{participatory_space_title}. Puteți participa în continuare la dezbaterile deschise de pe această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. + email_intro: 'Crearea de dezbateri nu mai este activă în %{participatory_space_title}. Poți participa în continuare la dezbaterile deschise de pe această pagină:' + email_outro: Aii primit această notificare deoarece urmărești %{participatory_space_title}. Poți opri notificările accesând linkul anterior. email_subject: Crearea de dezbateri este dezactivată în %{participatory_space_title} notification_title: Crearea de dezbateri este acum dezactivată în %{participatory_space_title} creation_enabled: - email_intro: 'Acum poți începe noi dezbateri în %{participatory_space_title}! Începe să participi în această pagină:' - email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior. + email_intro: 'Acum poți începe noi dezbateri în %{participatory_space_title}! Participă acum:' + email_outro: Ai primit această notificare deoarece urmărești %{participatory_space_title}. Poți opri notificările accesând linkul anterior. email_subject: Dezbaterile sunt acum disponibile în %{participatory_space_title} notification_title: Acum poți începe noi dezbateri în %{participatory_space_title} debate_closed: affected_user: - email_intro: 'Dezbaterea pentru "%{resource_title}” a fost închisă. Puteți citi concluziile pe pagina sa:' - email_outro: Ați primit această notificare deoarece urmăriți dezbaterea "%{resource_title}". Puteți opri urmărirea de la linkul anterior. + email_intro: 'Dezbaterea pentru "%{resource_title}” a fost închisă. Poți citi concluziile pe pagina dezbaterii:' + email_outro: Ai primit această notificare deoarece urmărești dezbaterea "%{resource_title}". Te poți dezabona de la linkul anterior. email_subject: Dezbaterea pentru "%{resource_title}” a fost închisă notification_title: Dezbaterea pentru %{resource_title} a fost închisă. follower: - email_intro: 'Dezbaterea pentru "%{resource_title}” a fost închisă. Puteți citi concluziile pe pagina sa:' - email_outro: Ați primit această notificare deoarece urmăriți dezbaterea "%{resource_title}". Puteți opri urmărirea de la linkul anterior. + email_intro: 'Dezbaterea pentru "%{resource_title}” a fost închisă. Poții citi concluziile pe pagina dezbaterii:' + email_outro: Ai primit această notificare deoarece urmărești dezbaterea "%{resource_title}". Te poți dezabona accesând linkul anterior. email_subject: Dezbaterea pentru "%{resource_title}” a fost închisă notification_title: Dezbaterea pentru %{resource_title} a fost închisă. gamification: badges: commented_debates: conditions: - - Alegeți o dezbatere deschisă în care să participați - description: Această insignă este acordată atunci când participaţi activ la diferitele dezbateri, lăsând comentariile dumneavoastră. + - Alege o dezbatere deschisă la care să participi + description: Această insignă este acordată atunci când participi activ la diferitele dezbateri, lăsând comentariile tale. description_another: Acest participant a luat parte la %{score} dezbateri. description_own: Ai participat la %{score} dezbateri. name: Dezbateri next_level_in: Participați la încă %{score} dezbateri pentru a ajunge la următorul nivel! unearned_another: Acest participant nu a luat încă parte la nicio dezbatere. - unearned_own: Încă nu aţi participat la nicio dezbatere. + unearned_own: Încă nu ai luat parte la nicio dezbatere. metrics: debates: description: Numărul de dezbateri create diff --git a/decidim-dev/config/locales/ja.yml b/decidim-dev/config/locales/ja.yml index f614e170282aa..a380a113204f1 100644 --- a/decidim-dev/config/locales/ja.yml +++ b/decidim-dev/config/locales/ja.yml @@ -21,8 +21,8 @@ ja: b: B の選択 c: C の選択 step: - endorsements_blocked: 支持をブロック - endorsements_enabled: 支持を有効にする + endorsements_blocked: オススメをブロック + endorsements_enabled: オススメを有効にする readonly_step_attribute: 読み取り専用ステップ属性 dummy: admin: diff --git a/decidim-dev/config/locales/ro-RO.yml b/decidim-dev/config/locales/ro-RO.yml index 8f1e4556a1be9..bb44968d7927f 100644 --- a/decidim-dev/config/locales/ro-RO.yml +++ b/decidim-dev/config/locales/ro-RO.yml @@ -3,7 +3,7 @@ ro: attributes: dummy_resource: created_at: Creat la - decidim_scope_id: Domeniu + decidim_scope_id: Domeniu de interes field: Câmpul meu start_date: Data de început title: Titlu @@ -21,8 +21,8 @@ ro: b: Alegere B c: Alegere C step: - endorsements_blocked: Aprobări blocate - endorsements_enabled: Aprobări activate + endorsements_blocked: Susțineri blocate + endorsements_enabled: Susțineri activate readonly_step_attribute: Atribut pas Readonly dummy: admin: @@ -53,4 +53,4 @@ ro: dummies_count_medium: Test mediu resource_links: test_link: - dummy_resource_dummy: Legat de manechin + dummy_resource_dummy: Test asociat diff --git a/decidim-elections/config/locales/fr-CA.yml b/decidim-elections/config/locales/fr-CA.yml index d29a82d81a0ce..b473624d1c066 100644 --- a/decidim-elections/config/locales/fr-CA.yml +++ b/decidim-elections/config/locales/fr-CA.yml @@ -372,6 +372,7 @@ fr-CA: title: Titre election: fields: + bb_status: Statut du Tableau d'affichage end_time: Prend fin à start_time: Commence à title: Titre @@ -427,6 +428,11 @@ fr-CA: tally_steps: back: Retour description: Les résultats de cette élection sont calculés dans le Bulletin Board et pour compléter ce processus, votre participation en tant que garant est nécessaire. + keys: + end_tally: Dépouillement terminé + tally: + cast: Valider le dépouillement + share: Partager le décompte list: status: Statut task: Tâche @@ -437,11 +443,15 @@ fr-CA: completed: Terminé pending: En attente processing: Traitement en cours + title: Dépouillement pour %{election} update: error: Le statut de l'élection n'a pas été mis à jour. success: 'Le statut de l''élection est : %{status}' menu: trustee_zone: Espace de garant + no_bulletin_board: + body: Un tableau d'affichage configuré est requis pour cette section. Contactez l'administrateur pour plus de détails. + title: Désolé, le tableau d'affichage n'est pas encore configuré. trustees: show: elections: diff --git a/decidim-elections/config/locales/fr.yml b/decidim-elections/config/locales/fr.yml index 7b6e885910f06..297900a5b8225 100644 --- a/decidim-elections/config/locales/fr.yml +++ b/decidim-elections/config/locales/fr.yml @@ -372,6 +372,7 @@ fr: title: Titre election: fields: + bb_status: Statut du Tableau d'affichage end_time: Prend fin à start_time: Commence à title: Titre @@ -427,6 +428,11 @@ fr: tally_steps: back: Retour description: Les résultats de cette élection sont calculés dans le Bulletin Board et pour compléter ce processus, votre participation en tant que garant est nécessaire. + keys: + end_tally: Dépouillement terminé + tally: + cast: Valider le dépouillement + share: Partager le décompte list: status: Statut task: Tâche @@ -437,11 +443,15 @@ fr: completed: Terminé pending: En attente processing: Traitement en cours + title: Dépouillement pour %{election} update: error: Le statut de l'élection n'a pas été mis à jour. success: 'Le statut de l''élection est : %{status}' menu: trustee_zone: Espace de garant + no_bulletin_board: + body: Un tableau d'affichage configuré est requis pour cette section. Contactez l'administrateur pour plus de détails. + title: Désolé, le tableau d'affichage n'est pas encore configuré. trustees: show: elections: diff --git a/decidim-forms/config/locales/ro-RO.yml b/decidim-forms/config/locales/ro-RO.yml index 407269449df9c..d67b2e2faad6e 100644 --- a/decidim-forms/config/locales/ro-RO.yml +++ b/decidim-forms/config/locales/ro-RO.yml @@ -4,13 +4,13 @@ ro: answer: body: Răspuns choices: Opțiuni - selected_choices: Alegeri selectate + selected_choices: Opțiuni selectate question: max_choices: Numărul maxim de opțiuni question_type: Tip questionnaire_question: - mandatory: Mandatory - max_characters: Limita de caractere (lăsați la 0 dacă nu este limită) + mandatory: Obligatoriu + max_characters: Limita de caractere (lăsați la 0 dacă nu este nicio limită) errors: models: answer: @@ -20,23 +20,23 @@ ro: body: too_long: este prea lung choices: - missing: nu sunt complete + missing: nu sunt completate too_many: sunt prea multe questionnaire: - request_invalid: A apărut o eroare la procesarea cererii. Vă rugăm să încercați din nou + request_invalid: A apărut o eroare la procesarea cererii. Te rugăm să încerci din nou decidim: forms: admin: models: components: description: Descriere - tos: Termenii serviciului + tos: Condiţii de utilizare questionnaires: actions: back: Înapoi la întrebări - show: Arată răspunsurile + show: Afișează răspunsurile answer_option: - answer_option: Opțiune răspuns + answer_option: Opțiune de răspuns free_text: Text liber remove: Elimină statement: Declarație @@ -44,76 +44,76 @@ ro: actions: back: Înapoi la răspunsuri export: Exportă - show: Arată răspunsurile - empty: Încă nu există răspunsuri + show: Afişează răspunsurile + empty: Niciun răspuns încă export: answer: title: 'Răspuns #%{number}' export_response: - title: chestionar_utilizator_răspunsuri_%{token} + title: survey_user_answers_%{token} index: title: "%{total} total răspunsuri" show: title: 'Răspuns #%{number}' display_condition: - answer_option: Opțiune răspuns + answer_option: Opțiune de răspuns condition_question: Întrebare condition_type: Condiție condition_types: - answered: Răspuns - equal: Egal + answered: Răspunse + equal: Egal cu match: Include textul - not_answered: Nu s-a răspuns - not_equal: Nu este egal + not_answered: Fără răspuns + not_equal: Nu este egal cu condition_value: Text inclus - display_condition: Condiție de afișare - mandatory: Această condiție trebuie îndeplinită întotdeauna indiferent de statutul altor condiții + display_condition: Afișează condiția + mandatory: Această condiție trebuie îndeplinită întotdeauna indiferent de stadiul altor condiții remove: Elimină - save_warning: Amintiţi-vă să salvaţi formularul înainte de configurarea condiţiilor de afişare - select_answer_option: Selectați opțiunea de răspuns + save_warning: Ține minte să salvezi chestionarul înainte de configurarea condiţiilor de afişare + select_answer_option: Selectează opțiunea de răspuns select_condition_question: Selectează o întrebare - select_condition_type: Selectați un tip de condiție + select_condition_type: Selectează un tip de condiție edit: save: Salvează - title: Editare chestionar + title: Editează chestionarul form: add_question: Adaugă întrebare add_separator: Adaugă separator - already_answered_warning: Formularul a primit deja un răspuns de la unii utilizatori astfel încât nu îi puteți modifica întrebările. + already_answered_warning: Au fost înregistrare deja câteva răspunsuri de la utilizatori pentru acest chestionar. De aceea, nu mai poți modifica întrebările. collapse: Restrânge toate întrebările expand: Extinde toate întrebările - preview: Previzualizare - title: Editare formular pentru %{questionnaire_for} - unpublished_warning: Formularul nu este publicat. Puteți modifica întrebările, dar acest lucru va șterge răspunsurile curente. + preview: Previzualizează + title: Editează chestionarul pentru %{questionnaire_for} + unpublished_warning: Chestionarul nu este publicat. Poți modifica întrebările, dar această acțiune va duce la stergerea automată a răspunsurilor curente. matrix_row: matrix_row: Rând remove: Elimină statement: Declarație question: - add_answer_option: Adaugă opțiune răspuns - add_display_condition: Adăugați o condiție de afișare - add_display_condition_info: Salvați formularul pentru a configura condițiile de afișare + add_answer_option: Adaugă opțiune de răspuns + add_display_condition: Adaugă condiție de afișare + add_display_condition_info: Salvează formularul pentru a configura condițiile de afișare add_matrix_row: Adaugă rând any: Oricare collapse: Restrânge description: Descriere - down: Jos + down: Mergi în jos expand: Extinde question: Întrebare remove: Elimină statement: Declarație - up: Sus + up: Mergi în sus separator: - down: Jos + down: Mergi în jos remove: Elimină separator: Separator - up: Sus + up: Mergi în sus update: - invalid: A apărut o eroare la salvarea formularului. - success: Formular salvat cu succes. + invalid: A apărut o eroare la salvarea chestionarului. + success: Chestionarul a fost salvat cu succes. errors: answer: - body: Corpul nu poate fi gol + body: Conținutul nu poate fi gol files: extension_allowlist: 'Formate acceptate:' images: @@ -121,58 +121,58 @@ ro: dimensions_info: 'Această imagine va fi:' processors: resize_and_pad: Redimensionat și padded la - resize_to_fit: Redimensionat pentru a se potrivi + resize_to_fit: Redimensionată pentru a se potrivi question_types: files: Fișiere long_answer: Răspuns lung - matrix_multiple: Matricea (opțiune multiplă) - matrix_single: Matricea (opțiunea unică) - multiple_option: Opțiune multiplă + matrix_multiple: Matrice (mai multe opțiuni) + matrix_single: Matrice (opțiune unică) + multiple_option: Mai multe opțiuni short_answer: Răspuns scurt single_option: Opțiune unică sorting: Sortare questionnaires: answer: - invalid: A apărut o problemă cu răspunsul la formular. + invalid: A apărut o problemă la completarea chestionarului. max_choices_alert: Există prea multe alegeri selectate - success: Formularul a răspuns cu succes. + success: Chestionarul a fost completat cu succes. question: - max_choices: 'Max alegeri: %{n}' + max_choices: 'Număr maxim de alegeri: %{n}' show: answer_questionnaire: - anonymous_user_message: Autentifică-te cu contul tău sau înregistrează-te pentru a răspunde la formular. - title: Răspundeți la formular + anonymous_user_message: Autentifică-te cu contul tău sau înregistrează-te pentru a răspunde la chestionar. + title: Completează chestionarul current_step: Pasul %{step} of_total_steps: din %{total_steps} questionnaire_answered: - body: Ați răspuns deja la acest formular. - title: Răspuns deja + body: Ai completat deja la acest chestionar. + title: Un răspuns a fost deja trimis questionnaire_closed: - body: Formularul este închis și nu se poate răspunde. + body: Chestionarul este închis și nu mai poate fi completat. title: Formular închis questionnaire_for_private_users: - body: Formularul este disponibil doar pentru utilizatorii privați - title: Formular închis + body: Chestionarul este disponibil doar pentru utilizatorii privați + title: Chestionar închis questionnaire_js_disabled: - body: Unele dintre funcțiile acestui formular vor fi dezactivate. Pentru a vă îmbunătăți experiența, vă rugăm să activați JavaScript în browser-ul dvs. + body: Unele dintre funcționalitățile acestui chestionar vor fi dezactivate. Pentru a îți îmbunătăți experiența, te rugăm să activezi JavaScript în browser-ul tău. title: JavaScript este dezactivat questionnaire_not_published: - body: Acest formular nu este publicat încă. - tos_agreement: Prin participare acceptați termenii și condițiile sale de utilizare + body: Acest chestionar nu este încă publicat. + tos_agreement: Prin participare accepți Termenii și condițiile sale de utilizare step_navigation: show: - are_you_sure: Această acțiune nu poate fi anulată și nu vei putea să îți editezi răspunsurile. Ești sigur(ă)? + are_you_sure: Această acțiune nu poate fi anulată și nu vei putea să îți editezi răspunsurile. Sigur dorești asta? back: Înapoi continue: Continuă - submit: Trimiteți + submit: Trimite user_answers_serializer: body: Răspuns completion: Finalizare - created_at: Răspuns pornit + created_at: Răspuns completat la id: ID răspuns - ip_hash: Hash IP + ip_hash: IP Hash question: Întrebare registered: Înregistrat session_token: Identificator utilizator unregistered: Neînregistrat - user_status: Statusul utilizatorului + user_status: Stadiul utilizatorului diff --git a/decidim-initiatives/config/locales/ja.yml b/decidim-initiatives/config/locales/ja.yml index 0672e96462350..77af63b5e2595 100644 --- a/decidim-initiatives/config/locales/ja.yml +++ b/decidim-initiatives/config/locales/ja.yml @@ -386,8 +386,8 @@ ja: endorse_initiative_event: email_intro: "あなたがフォローしている%{author_name} %{author_nickname}は、次のイニシアチブを承認しました。会話に貢献したい場合もあります:" email_outro: '%{author_nickname}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。' - email_subject: '%{author_nickname} によって支持されたイニシアチブ。' - notification_title: %{resource_title} イニシアチブは、 %{author_name} %{author_nickname} によって承認されました。 + email_subject: '%{author_nickname} によってオススメされたイニシアチブ' + notification_title: %{resource_title} イニシアチブは、 %{author_name} %{author_nickname} によってオススメされました。 revoke_membership_request: email_intro: "%{author_nickname} は、以下のイニシアチブ %{resource_title} の推進委員会に参加する申請を拒否しました。" email_outro: 'この通知を受け取ったのは、イニシアチブ %{resource_title} に応募したためです。' diff --git a/decidim-meetings/config/locales/pl.yml b/decidim-meetings/config/locales/pl.yml index a0ce8be948cc3..b26eb01b26dd0 100644 --- a/decidim-meetings/config/locales/pl.yml +++ b/decidim-meetings/config/locales/pl.yml @@ -61,7 +61,7 @@ pl: decidim/meetings/meeting: one: Spotkanie few: Spotkania - many: Spotkania + many: Spotkań other: Spotkania decidim/meetings/minutes: one: Minuta @@ -71,7 +71,7 @@ pl: decidim/meetings/registration: one: Rejestracja few: Rejestracje - many: Rejestracje + many: Rejestracji other: Rejestracje decidim: admin: diff --git a/decidim-meetings/config/locales/ro-RO.yml b/decidim-meetings/config/locales/ro-RO.yml index a0662c3569d4d..a12fc7da21dbd 100644 --- a/decidim-meetings/config/locales/ro-RO.yml +++ b/decidim-meetings/config/locales/ro-RO.yml @@ -15,7 +15,7 @@ ro: address: Adresa available_slots: Sloturi disponibile pentru această ședință decidim_category_id: Categorie - decidim_scope_id: Domeniu + decidim_scope_id: Domeniu de interes decidim_user_group_id: Grup de utilizatori description: Descriere end_time: Ora de încheiere @@ -31,7 +31,7 @@ ro: registrations_enabled: Înregistrări activate start_time: Ora de începere title: Titlu - transparent: Transparență + transparent: Transparentă type_of_meeting: Tip minutes: audio_url: URL audio @@ -78,8 +78,8 @@ ro: success: Întâlnire duplicată cu succes. new: copy: Copiază - select: Selectați datele pe care doriți să le duplicați - title: Întâlnire duplicată + select: Selectați datele pe care le dorești duplicate + title: Duplicarea reuniunii components: meetings: actions: @@ -94,7 +94,7 @@ ro: default_registration_terms: Condiții de înregistrare implicite enable_pads_creation: Activează crearea de pad-uri registration_code_enabled: Cod de înregistrare activat - resources_permissions_enabled: Permisiunile de acțiuni pot fi setate pentru fiecare întâlnire + resources_permissions_enabled: Drepturile de acțiune pot fi setate pentru fiecare întâlnire scope_id: Domeniu de interes scopes_enabled: Domenii de interes activate terms_and_conditions_url_for_meeting_creators: URL condiții pentru întrunirea creatorilor @@ -108,44 +108,44 @@ ro: meeting_closed: affected_user: email_intro: 'Întâlnirea ta „%{resource_title}” a fost închisă. Poți citi concluziile din pagina sa:' - email_outro: Ați primit această notificare deoarece ați organizat întâlnirea "%{resource_title}". + email_outro: Ai primit această notificare deoarece aii organizat întâlnirea "%{resource_title}". email_subject: Întâlnirea "%{resource_title}" a fost închisă notification_title: Ședința %{resource_title} a fost închisă. follower: email_intro: 'Întâlnirea "%{resource_title}" a fost închisă. Poți citi concluziile din pagina sa:' - email_outro: Ați primit această notificare deoarece urmăriți ședința „%{resource_title}”. O puteți anula de la link-ul anterior. + email_outro: Ai primit această notificare deoarece urmărești ședința „%{resource_title}”. Poți opri notificările accesând link-ul anterior. email_subject: Întâlnirea "%{resource_title}" a fost închisă notification_title: Ședința %{resource_title} a fost închisă. meeting_created: email_intro: Întâlnirea "%{resource_title}" a fost adăugată la "%{participatory_space_title}" pe care o urmărești. - email_outro: Ați primit această notificare deoarece urmăriți „%{participatory_space_title}”. O puteți anula de la link-ul anterior. + email_outro: Ai primit această notificare deoarece urmărești „%{participatory_space_title}”. Poți opri notificările accesând link-ul anterior. email_subject: Ședință nouă adăugată la %{participatory_space_title} notification_title: Întâlnirea %{resource_title} a fost adăugată la %{participatory_space_title} meeting_registration_confirmed: - notification_title: Înregistrarea dvs. pentru ședința %{resource_title} a fost confirmată. Codul dvs. de înregistrare este %{registration_code}. + notification_title: Înregistrarea ta la ședința %{resource_title} a fost confirmată. Codul tău de înregistrare este %{registration_code}. meeting_registrations_over_percentage: email_intro: Sloturile alocate pentru întâlnirea "%{resource_title}" sunt de peste %{percentage}%. - email_outro: Ați primit această notificare deoarece sunteți un administrator al spațiului participativ al ședinței. + email_outro: Ai primit această notificare deoarece ești administrator al spațiului participativ al ședinței. email_subject: Sloturile alocate pentru întâlnirea "%{resource_title}" sunt de peste %{percentage}% notification_title: Sloturile alocate pentru ședința de %{resource_title} sunt de peste %{percentage}%. meeting_updated: - email_intro: 'Întâlnirea "%{resource_title}" a fost actualizată. Puteți citi noua versiune din pagina sa:' - email_outro: Ați primit această notificare deoarece urmăriți ședința „%{resource_title}”. O puteți anula de la link-ul anterior. + email_intro: 'Întâlnirea "%{resource_title}" a fost actualizată. Poți citi noua versiune din pagina sa:' + email_outro: Ai primit această notificare deoarece urmărești întâlnirea „%{resource_title}”. O puteți anula de la link-ul anterior. email_subject: Întâlnirea „%{resource_title}” a fost actualizată notification_title: Ședința %{resource_title} a fost actualizată. registration_code_validated: - email_intro: Codul dvs. de înregistrare "%{registration_code}" pentru întâlnirea "%{resource_title}" a fost validat. - email_outro: Ați primit această notificare deoarece codul dvs. de înregistrare pentru ședința „%{resource_title}” a fost validat. - email_subject: Codul dvs. de înregistrare "%{registration_code}" pentru întâlnirea "%{resource_title}" a fost validat - notification_title: Codul dvs. de înregistrare "%{registration_code}" pentru ședința %{resource_title} a fost validat. + email_intro: Codul tău de înregistrare "%{registration_code}" pentru întâlnirea "%{resource_title}" a fost validat. + email_outro: Ai primit această notificare deoarece codul tău de înregistrare pentru întâlnirea „%{resource_title}” a fost validat. + email_subject: Codul tău de înregistrare "%{registration_code}" pentru întâlnirea "%{resource_title}" a fost validat + notification_title: Codul tău de înregistrare "%{registration_code}" pentru ședința %{resource_title} a fost validat. registrations_enabled: - email_intro: 'Întâlnirea "%{resource_title}" a permis înregistrări. Vă puteți înregistra pe pagina sa:' - email_outro: Ați primit această notificare deoarece urmăriți ședința „%{resource_title}”. O puteți anula de la link-ul anterior. + email_intro: 'Întâlnirea "%{resource_title}" a permis înregistrări. Te poți înregistra pe pagina sa:' + email_outro: Ai primit această notificare deoarece te-ai înregistrat pentru întâlnirea „%{resource_title}”. O poți anula de la link-ul anterior. email_subject: Întâlnirea "%{resource_title}" a permis înregistrări. notification_title: Întâlnirea %{resource_title} a permis înregistrări. upcoming_meeting: email_intro: Întâlnirea „%{resource_title}” va începe în mai puțin de 48 de ore. - email_outro: Ați primit această notificare deoarece urmăriți ședința „%{resource_title}”. O puteți anula de la link-ul anterior. + email_outro: Ai primit această notificare deoarece te-ai înregistrate pentru întâlnirea „%{resource_title}”. O puteți anula de la link-ul anterior. email_subject: Întâlnirea „%{resource_title}” va începe în mai puțin de 48 de ore. notification_title: Ședința %{resource_title} va începe în mai puțin de 48 de ore. gamification: @@ -153,11 +153,11 @@ ro: attended_meetings: conditions: - Înregistrează-te la întâlnirile la care vrei să participi - description: Această insignă este acordată atunci când participați la mai multe reuniuni față în față. + description: Această insignă este acordată atunci când participi la mai multe întâlniri față în față. description_another: Acest participant a participat la %{score} întâlniri. description_own: Ai participat la %{score} întâlniri. - name: Participanții la reuniuni - next_level_in: Participă încă %{score} întâlniri pentru a atinge următorul nivel! + name: Întâlniri la care ai participat + next_level_in: Participă la încă %{score} întâlniri pentru a atinge următorul nivel! unearned_another: Acest participant nu a participat încă la nicio întâlnire. unearned_own: Încă nu ai participat la nicio ședință. meetings: @@ -165,17 +165,17 @@ ro: agenda: Agendă attachment_collections: Dosare attachments: Atașamente - close: Inchide - confirm_destroy: Ești sigur(ă) că vrei să ştergi acestă întâlnire? + close: Închide + confirm_destroy: Sigur dorești să ştergi acestă întâlnire? destroy: Ștergere edit: Editare invalid_destroy: proposals_count: - one: 'Întâlnirea nu poate fi eliminată deoarece are %{count} propunere asociată:' - few: 'Întâlnirea nu poate fi eliminată deoarece are %{count} propunere asociată:' + one: 'Întâlnirea nu poate fi eliminată deoarece are %{count} propuneri asociate:' + few: 'Întâlnirea nu poate fi eliminată deoarece are %{count} propuneri asociate:' other: 'Întâlnirea nu poate fi eliminată deoarece are %{count} propuneri asociate acestuia:' minutes: Minuta - new: Ședință nouă + new: Noua întâlnire preview: Previzualizare registrations: Înregistrări title: Acțiuni @@ -216,7 +216,7 @@ ro: registrations: Înregistrări invite_join_meeting_mailer: invite: - decline: Refuzați invitația + decline: Refuză invitația invited_you_to_join_a_meeting: "%{invited_by} te-a invitat să te alături unei întâlniri la %{application}. Poți să o refuzi sau să o accepți prin intermediul linkurilor de mai jos." join: Alătură-te ședinței '%{meeting_title}' invites: @@ -229,7 +229,7 @@ ro: invite: Invită invite_explanation: Participantul va fi invitat să se alăture întâlnirii şi organizaţiei. non_user: Participant neexistent - select_user: Selectați un participant + select_user: Selecteză un participant index: filter: accepted: Acceptat @@ -243,7 +243,7 @@ ro: search: Caută meeting_closes: edit: - close: Inchide + close: Închide title: Închide ședința meetings: close: @@ -265,13 +265,13 @@ ro: form: address_help: 'Adresă: utilizată de Geocoder pentru a găsi locaţia' available_slots_help: Lăsați la 0 dacă aveți locuri nelimitate disponibile - disclaimer: 'Declinare: Prin utilizarea unui sistem extern de înregistrare, știți că organizatorii %{organization} nu sunt responsabili pentru datele furnizate de utilizatori serviciului extern.' + disclaimer: 'Declinare: Prin utilizarea unui sistem extern de înregistrare, acceptați faptul că organizatorii %{organization} nu sunt responsabili pentru datele furnizate de utilizatorii serviciului extern.' location_help: 'Locație: mesaj direcționat către utilizatori care implică locul la care să se întâlnească' - location_hints_help: 'Sugestii privind locaţia: informaţii suplimentare. Exemplu: podeaua clădirii dacă este o întâlnire interpersonală, sau dacă este vorba de o întâlnire online cu acces restrâns.' - online_meeting_url_help: 'Link: permiteți participanților să se conecteze direct la întâlnirea dvs' - registration_url_help: 'Link: permiteți participanților să acceseze serviciul extern pe care îl utilizați pentru înregistrare' - select_a_meeting_type: Vă rugăm să selectați un tip de ședință - select_a_registration_type: Vă rugăm să selectaţi un tip de înregistrare + location_hints_help: 'Sugestii privind locaţia: informaţii suplimentare. Exemplu: parterul clădirii dacă este o întâlnire în personaă, sau parola pentru intrare dacă este vorba de o întâlnire online cu acces restrâns.' + online_meeting_url_help: 'Link: permite participanților să se conecteze direct la întâlnirea ta' + registration_url_help: 'Link: permite participanților să acceseze serviciul extern pe care îl utilizezi pentru înregistrare' + select_a_meeting_type: Te rugăm să selectezi un tip de ședință + select_a_registration_type: Te rugăm să selectezi un tip de înregistrare index: title: Întâlniri new: @@ -309,18 +309,18 @@ ro: registrations: edit: save: Salvează - validate: Validate + validate: Validare validate_registration_code: Validează codul de înregistrare form: available_slots_help: Lăsați la 0 dacă aveți sloturi nelimitate disponibile. invites: Invitații - recommendation_message: Din motive de confidenţialitate vă recomandăm să ştergeţi acest formular atunci când nu mai aveţi nevoie de el. În mod implicit, aceasta este la 3 luni după încheierea ședinței. + recommendation_message: Din motive de confidenţialitate îți recomandăm să şterge acest formular atunci când nu mai ai nevoie de el. Acest lucru se întâmplă în mod automat la 3 luni după încheierea ședinței. registration_form: Formular de înregistrare registrations_count: one: A existat %{count} înregistrări. few: Au fost %{count} înregistrări. other: Au fost %{count} înregistrări. - reserved_slots_help: Lăsați la 0 dacă nu aveți sloturi rezervate + reserved_slots_help: Lasă la 0 dacă nu există locuri rezervate reserved_slots_less_than: Trebuie să fie mai mic sau egal cu %{count} title: Înregistrări update: @@ -365,19 +365,19 @@ ro: past: Trecute search: Caută space_type: Spaţiu participativ - upcoming: Urmează + upcoming: Viitoare last_activity: meeting_updated_at_html: "Întâlnire actualizată la %{link}" new_meeting_at_html: "O nouă ședință la %{link}" mailer: invite_join_meeting_mailer: invite: - subject: Invitația de a se alătura unei reuniuni + subject: Invitația de a se alătura unei întâlniri registration_mailer: confirmation: - subject: Înregistrarea întâlnirii dvs. a fost confirmată + subject: Înregistrarea întâlnirii tale a fost confirmată meeting: - not_allowed: Nu aveţi permisiunea să vizualizaţi această întâlnire + not_allowed: Nu ai dreptul de a vizualiza această întâlnire meeting_closes: edit: back: Înapoi @@ -391,7 +391,7 @@ ro: other: "%{count} întâlniri" create: invalid: A apărut o problemă la crearea acestei întâlniri. - success: Ați creat o ședință cu succes. + success: Ai creat întâlnirea cu succes. edit: back: Înapoi title: Editează-ți ședința @@ -404,7 +404,7 @@ ro: date_values: all: Toate past: Trecute - upcoming: Urmează + upcoming: Viitoare my_meetings: Întâlnirile mele origin: Origine origin_values: @@ -412,9 +412,9 @@ ro: citizens: Cetățeni official: Oficial user_groups: Grupuri - scope: Domeniu + scope: Domeniu de interes search: Caută - type: Tipul + type: Tip type_values: all: Toate hybrid: Ambele @@ -427,24 +427,24 @@ ro: unfold: Desfășurat form: address_help: 'Adresă: utilizată de Geocoder pentru a găsi locaţia' - available_slots_help: Lăsați această opțiune la 0 dacă aveți sloturi disponibile nelimitate + available_slots_help: Lasă această opțiune la 0 dacă ai sloturi disponibile nelimitate create_as: Creeaza o întâlnire ca - disclaimer: 'Declinare: Prin utilizarea unui sistem extern de înregistrare, știți că organizatorii %{organization} nu sunt responsabili pentru datele furnizate de utilizatori serviciului extern.' + disclaimer: 'Declinare: Prin utilizarea unui sistem extern de înregistrare, luați la cunoștiință că organizatorii %{organization} nu sunt responsabili pentru datele furnizate de utilizatori serviciului extern.' location_help: 'Locație: mesaj direcționat către utilizatori care implică locul la care să se întâlnească' - location_hints_help: 'Sugestii privind locaţia: informaţii suplimentare. Exemplu: podeaua clădirii dacă este o întâlnire interpersonală, sau dacă este vorba de o întâlnire online cu acces restrâns.' - online_meeting_url_help: 'Link: permiteți participanților să se conecteze direct la întâlnirea dvs' - registration_url_help: 'Link: permiteți participanților să acceseze serviciul extern pe care îl utilizați pentru înregistrare' - select_a_category: Vă rugăm să selectaţi o categorie - select_a_meeting_type: Vă rugăm să selectați un tip de ședință - select_a_registration_type: Vă rugăm să selectaţi un tip de înregistrare + location_hints_help: 'Sugestii privind locaţia: informaţii suplimentare. Exemplu: parterul clădirii dacă este o întâlnire în persoană, sau parola dacă este vorba de o întâlnire online cu acces restrâns.' + online_meeting_url_help: 'Link: permite participanților să se conecteze direct la întâlnirea ta' + registration_url_help: 'Link: permite participanților să acceseze serviciul extern pe care îl folosești pentru înregistrare' + select_a_category: Te rugăm să selectezi o categorie + select_a_meeting_type: Te rugăm să selectezi un tip de ședință + select_a_registration_type: Te rugăm să selectezi un tip de înregistrare index: - new_meeting: Ședință nouă + new_meeting: Întâlnire nouă meeting_minutes: meeting_minutes: Minutele şedinţelor - related_information: Informații conexe + related_information: Informații asociate meetings: no_meetings_warning: Nici o întâlnire nu corespunde criteriilor de căutare sau nu există nicio întrunire programată. - upcoming_meetings_warning: În prezent, nu există întâlniri programate, dar aici se află pe listă toate reuniunile anterioare. + upcoming_meetings_warning: În prezent, nu există întâlniri programate, dar aici se află pe listă toate întâlnirile anterioare. new: back: Înapoi create: Creează @@ -458,13 +458,13 @@ ro: close_meeting: Închide ședința contributions: Număr de contribuții date: Data - edit_meeting: Editați ședința + edit_meeting: Editează întâlnirea going: Particip - join: Alătură-te ședinței + join: Participă la întâlnire meeting_report: Raportul întâlnirii no_slots_available: Niciun slot disponibil - organizations: Participare la organizaţii - registration_code_help_text: Codul dvs. de înregistrare + organizations: Organizații participante + registration_code_help_text: Codul tău de înregistrare registration_state: validated: VALIDAT validation_pending: VALIDARE PENDARE @@ -475,9 +475,9 @@ ro: view: Vizualizare update: invalid: A apărut o eroare la actualizarea ședinței. - success: Ați actualizat întâlnirea cu succes. + success: Ai actualizat întâlnirea cu succes. meetings_map: - view_meeting: Vezi ședință + view_meeting: Vizualizează întâlnirea models: invite: fields: @@ -494,26 +494,26 @@ ro: closed: Închis end_time: Data de încheiere map: Hartă - official_meeting: Ședința oficială + official_meeting: Întâlnire publică start_time: Data de început title: Titlu read_more: "(citește mai mult)" registration_mailer: confirmation: confirmed_html: Înregistrarea dvs. pentru ședința %{title} a fost confirmată. - details: Detaliile şedinţei vor fi găsite în ataşament. - registration_code: Codul dvs. de înregistrare este %{code}. + details: Vei găsi detaliile întâlnirii în atașament. + registration_code: Codul tău de înregistrare este %{code}. registration_type: on_different_platform: Pe o platformă diferită on_this_platform: Pe această platformă registration_disabled: Înregistrare Dezactivată registrations: create: - invalid: A apărut o problemă la această întâlnire. - success: V-ați alăturat cu succes întâlnirii. Deoarece v-ați înregistrat pentru această întâlnire, veți fi anunțat dacă sunt actualizări despre ea. + invalid: A apărut o problemă la intrarea în ședință. + success: Te-ai alăturat cu succes întâlnirii. Deoarece te-ai înregistrat pentru această întâlnire, vei fi anunțat dacă apar noutăți. decline_invitation: invalid: A existat o problemă la refuzarea invitaţiei. - success: Ați refuzat invitația cu succes. + success: Ai refuzat invitația cu succes. destroy: invalid: A existat o problemă la părăsirea acestei reuniuni. success: Ai părăsit şedinţa cu succes. @@ -523,29 +523,29 @@ ro: online: Online types: private_meeting: Întâlnire privată - transparent: Transparență + transparent: Transparent versions: - back_to_resource: Înapoi la ședință + back_to_resource: Intră din nou în întâlnire metrics: meetings: - description: Numărul de şedinţe create + description: Numărul de întâlniri create object: ședințe title: Întâlniri participatory_spaces: highlighted_meetings: past_meetings: Întâlniri anterioare - see_all: Vezi toate (%{count}) + see_all: Afișează toate întâlnirile (%{count}) upcoming_meetings: Întâlniri viitoare upcoming_meeting_for_card: - upcoming_meeting: Şedinţa viitoare + upcoming_meeting: Întâlnire viitoare resource_links: meetings_through_proposals: meeting_result: 'Rezultate asociate:' - result_meeting: 'Întâlniri conexe:' + result_meeting: 'Întâlniri asociate:' proposals_from_meeting: - meeting_proposal: 'Propuneri conexe:' - proposal_meeting: 'Întâlniri conexe:' + meeting_proposal: 'Propuneri asociate:' + proposal_meeting: 'Întâlniri asociate:' devise: mailer: join_meeting: - subject: Invitația de a se alătura unei reuniuni + subject: Ești invitat să te alături întâlnirii diff --git a/decidim-proposals/config/locales/ja.yml b/decidim-proposals/config/locales/ja.yml index 0502a1d6c332a..45996226cdf50 100644 --- a/decidim-proposals/config/locales/ja.yml +++ b/decidim-proposals/config/locales/ja.yml @@ -110,7 +110,7 @@ ja: actions: amend: 修正 create: 作成 - endorse: 支持する + endorse: オススメする vote: サポート withdraw: 撤回する name: 提案 @@ -168,8 +168,8 @@ ja: automatic_hashtags: すべての提案に下記のハッシュタグを追加する comments_blocked: コメントをブロック creation_enabled: 提案の作成を有効にする - endorsements_blocked: 支持をブロック - endorsements_enabled: 支持を有効にする + endorsements_blocked: オススメをブロック + endorsements_enabled: オススメを有効にする proposal_answering_enabled: 提案への回答を有効にする publish_answers_immediately: 提案の回答をすぐに公開 suggested_hashtags: 提案作成時に参加者に提案するハッシュタグ @@ -220,7 +220,7 @@ ja: email_subject: '%{participatory_space_title} で現在利用可能な提案' notification_title: 新しい提案%{participatory_space_title}で提出できるようになりました。 endorsing_enabled: - email_intro: 'あなたは %{participatory_space_title}で提案を支持することができます! このページへの参加を開始します:' + email_intro: 'あなたは %{participatory_space_title} で提案をオススメすることができます! このページへの参加を開始します:' email_outro: '%{participatory_space_title}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。' email_subject: '%{participatory_space_title} の推薦提案が開始されました' notification_title: 提案の支持 %{participatory_space_title} を開始することができます。 @@ -328,9 +328,9 @@ ja: object: 提案 title: 承認された提案 endorsements: - description: 提案への承認数 - object: 承認 - title: 支持 + description: 提案へのオススメ数 + object: オススメ + title: オススメ proposals: description: 提案数 object: 提案 @@ -462,9 +462,9 @@ ja: comments_positive_count: お気に入り created_at: 作成日 documents: ドキュメント - endorsements_count: 支持数 - endorsements_ranking: 承認によるランキング - endorsers: Endorsers + endorsements_count: オススメ数 + endorsements_ranking: オススメランキング + endorsers: オススメしている人 link: リンク n_more_endorsers: other: 他 %{count} 名 @@ -752,7 +752,7 @@ ja: orders: label: '提案の順序:' most_commented: コメントが多い順 - most_endorsed: 最も支持された + most_endorsed: 最もオススメされた most_followed: 最もフォローされている most_voted: 最もサポートされています random: Random @@ -787,7 +787,7 @@ ja: changes_at_title: '「%{title} 」に修正' comments: コメント edit_proposal: 提案を編集 - endorsements_list: 承認者一覧 + endorsements_list: オススメ一覧 estimated_cost: 推定コスト hidden_endorsers_count: other: '%{count} 人以上' diff --git a/decidim-proposals/config/locales/pl.yml b/decidim-proposals/config/locales/pl.yml index f402628e96a58..3f4990af51bff 100644 --- a/decidim-proposals/config/locales/pl.yml +++ b/decidim-proposals/config/locales/pl.yml @@ -70,22 +70,22 @@ pl: decidim/proposals/collaborative_draft: one: Wspólny szkic few: Wspólne szkice - many: Wspólne szkice + many: Wspólne szkiców other: Wspólne szkice decidim/proposals/proposal: one: Propozycja few: Propozycje - many: Propozycje + many: Propozycji other: Propozycje decidim/proposals/proposal_note: one: Uwaga few: Uwagi - many: Uwagi + many: Uwag other: Uwagi decidim/proposals/proposal_vote: one: Wsparcie - few: Wsparć - many: Wsparcia + few: Wsparcia + many: Wsparć other: Wsparcia decidim: admin: diff --git a/decidim-sortitions/config/locales/ro-RO.yml b/decidim-sortitions/config/locales/ro-RO.yml index a8c77e2dccf04..d42b5fc0efac0 100644 --- a/decidim-sortitions/config/locales/ro-RO.yml +++ b/decidim-sortitions/config/locales/ro-RO.yml @@ -64,7 +64,7 @@ ro: other: Trageri la sorți sortitions: confirm_destroy: - confirm_destroy: Ești sigur(ă) că vrei să anulezi această tragere la sorți? + confirm_destroy: Sigur dorești să anulezi această tragere la sorți? destroy: Anulează tragerea la sorți title: Anularea tragerii la sorți create: diff --git a/decidim-system/config/locales/ro-RO.yml b/decidim-system/config/locales/ro-RO.yml index 75ed926a63ae7..424b9a158a59f 100644 --- a/decidim-system/config/locales/ro-RO.yml +++ b/decidim-system/config/locales/ro-RO.yml @@ -34,7 +34,7 @@ ro: decidim: system: actions: - confirm_destroy: Ești sigur(ă) că vrei să ştergi acest element? + confirm_destroy: Sigur dorești să ştergi acest element? destroy: Ștergere edit: Editare new: Nou @@ -103,7 +103,7 @@ ro: form: select_organization: Selectați o organizație index: - confirm_delete: Ești sigur(ă) că vrei să ștergi această aplicație? + confirm_delete: Sigur dorești să ștergi această aplicație? title: Aplicații OAuth new: save: Salveaza diff --git a/decidim-templates/config/locales/ro-RO.yml b/decidim-templates/config/locales/ro-RO.yml index 8fda05f33a2f5..e5ba740990b2b 100644 --- a/decidim-templates/config/locales/ro-RO.yml +++ b/decidim-templates/config/locales/ro-RO.yml @@ -57,7 +57,7 @@ ro: template_title: Informatii despre model title: Model de chestionar %{questionnaire_for} index: - confirm_delete: Ești sigur că vrei să ștergi acest model? + confirm_delete: Sigur dorești să ștergi acest model? title: Model de chestionar preview: current_step: Pasul %{step} diff --git a/decidim-verifications/config/locales/ro-RO.yml b/decidim-verifications/config/locales/ro-RO.yml index 32b3399826058..0a0432a440412 100644 --- a/decidim-verifications/config/locales/ro-RO.yml +++ b/decidim-verifications/config/locales/ro-RO.yml @@ -15,7 +15,7 @@ ro: user: Participant verification_attachment: Copie scanată a documentului tău offline_confirmation: - email: E-mail-ul participantului + email: E-mail participant postal_letter_address: full_address: Adresa completă postal_letter_confirmation: @@ -27,58 +27,58 @@ ro: admin: menu: authorization_revocation: - before_date_info: Util dacă procesul a început deja și dorești să revoci permisiunile procesului anterior. + before_date_info: Este util dacă procesul a început deja și dorești să revoci drepturile procesului anterior. button: Revocă tot button_before: Revocă înainte de data destroy: - confirm: Revocarea înainte de data autorizării nu poate fi anulată. Ești sigur(ă) că vrei să continui? - confirm_all: Revocarea tuturor autorizațiilor nu poate fi anulată. Ești sigur(ă) că vrei să continui? + confirm: Revocarea înainte de data autorizării nu poate fi anulată. Sigur dorești să continui? + confirm_all: Revocarea tuturor autorizațiilor nu poate fi anulată. Sigur dorești să continui? destroy_nok: A apărut o problemă în timpul revocării autorizațiilor. - destroy_ok: Toate autorizațiile potrivite au fost revocate. + destroy_ok: Toate autorizațiile corelate au fost revocate. info: Există un total de %{count} participanți verificați. no_data: Niciun participant verificat - title: Autorizații revocate + title: Revocarea autorizațiilor authorization_workflows: Autorizații admin_log: organization: update_id_documents_config: "%{user_name} a actualizat configurația pentru autorizarea documentelor de identitate" user: - grant_id_documents_offline_verification: "%{user_name} a verificat %{resource_name} folosind o autorizație de identitate offline" + grant_id_documents_offline_verification: "%{user_name} a verificat %{resource_name} utilizând o verificare offline a documentelor de identitate" authorization_handlers: admin: csv_census: help: - - Administratorii încarcă un CSV cu e-mailurile participanților acceptați + - Administratorii încarcă un CSV cu e-mail-urile participanților acceptați - Doar participanții cu un e-mail în fișierul CSV pot fi verificați id_documents: help: - Utilizatorii completează informațiile lor de identitate și încarcă o copie a documentului lor. - - Ați completat informațiile prezente în imaginea încărcată. - - Informaţiile trebuie să corespundă cu orice utilizator completat. - - Dacă nu puteți vedea în mod clar informația sau nu puteți să o verificați, puteți respinge cererea și utilizatorul va putea să o rezolve. + - Ai completat informațiile prezente în imaginea încărcată. + - Informaţiile trebuie să corespundă cu ce a completat utilizatorul. + - Dacă nu vezi informațiile clar sau nu le poți verifica, poți respinge cererea și utilizatorul va putea să o corecteze. postal_letter: help: - Participanții solicită un cod de verificare pentru a fi trimis la adresa lor. - Trimiți scrisoarea la adresa lor cu codul de verificare. - - Marcați litera ca trimisă. - - Odată ce marcați litera ca fiind trimisă, participantul va putea introduce codul și va putea fi verificat. + - Marchează scrisoarea drept trimisă. + - Odată ce marchezi scrisoarea drept trimisă, participantul va putea introduce codul și va putea fi verificat. csv_census: explanation: Obține verificarea folosind recensământul organizației name: Recensământul organizației - direct: Directă + direct: Direct help: Ajutor id_documents: - explanation: Încărcați documentele dvs. de identitate pentru a vă putea verifica identitatea + explanation: Încarcă documentele tale de identitate pentru a-ți putea verifica identitatea name: Documente de identitate - multistep: Multi-pas + multistep: Mai multe etape name: Nume postal_letter: - explanation: Îți vom trimite o scrisoare poștală cu un cod pe care va trebui să-l introduci pentru a putea verifica adresa ta - name: Cod poştal + explanation: Îți vom trimite o scrisoare poștală cu un cod pe care va trebui să-l introduci pentru a-ți putea verifica adresa + name: Cod primit prin scrisoare poștală events: verifications: verify_with_managed_user: - notification_title: Participantul %{resource_title} a încercat să se verifice cu datele participantului %{managed_user_name} + notification_title: Participantul %{resource_title} a încercat să își verifice contul cu datele participantului %{managed_user_name} verifications: authorizations: authorization_metadata: @@ -87,25 +87,25 @@ ro: create: error: A apărut o eroare la crearea autorizației. success: Ai fost autorizat cu succes. - unconfirmed: Trebuie să vă confirmaţi adresa de e-mail pentru a vă autoriza singur. + unconfirmed: Trebuie să îți confirmi adresa de e-mail pentru a te autoriza singur. destroy: error: A apărut o eroare la ștergerea autorizației. - success: Aţi şters cu succes autorizaţia. + success: Ai şters cu succes autorizaţia. first_login: actions: - another_dummy_authorization_handler: Verifică cu un alt exemplu de operator de autorizare - csv_census: Verifică împotriva recensământului organizaţiei - dummy_authorization_handler: Verifică împotriva exemplarului de manipulator de autorizare - dummy_authorization_workflow: Verificați împotriva exemplului fluxului de lucru de autorizare - id_documents: Fiți verificat prin încărcarea documentului de identitate + another_dummy_authorization_handler: Verifică în raport cu un alt exemplu de responsabil de autorizare + csv_census: Verifică în raport cu recensământul organizaţiei + dummy_authorization_handler: Verifică în raport cu exemplul de responsabil de autorizare + dummy_authorization_workflow: Verifică în raport cu exemplul fluxului de lucru de autorizare + id_documents: Obține verificarea prin încărcarea documentului de identitate postal_letter: Obține verificarea prin primirea unui cod de verificare prin poștă sms: Obține verificarea prin primirea unui cod de verificare prin SMS title: Verifică-ți identitatea - verify_with_these_options: 'Acestea sunt opțiunile disponibile pentru a vă verifica identitatea:' + verify_with_these_options: 'Acestea sunt opțiunile disponibile pentru a îți verifica identitatea:' index: expired_verification: Verificarea a expirat pending_verification: Verificare în așteptare - show_renew_info: Clic pentru a reînnoi verificarea + show_renew_info: Apăsați pentru a reînnoi verificarea unauthorized_verification: Verificare nouă new: authorize: Trimite @@ -114,73 +114,73 @@ ro: cancel: Anulează close: închide continue: Continuă - info_renew: Dacă doriți să actualizați datele, continuați cu reînnoirea - title: Reînnoire verificare - skip_verification: Puteți sări peste asta pentru moment și %{link} + info_renew: Dacă dorești să actualizezi datele, continuă cu reînnoirea + title: Reînnoiește verificarea + skip_verification: Poți sări peste asta pentru moment și %{link} start_exploring: începe explorarea csv_census: admin: census: create: error: A apărut o eroare la importarea recensământului. - success: Importat cu succes %{count} elemente (%{errors} erori) + success: S-au importat cu succes %{count} elemente (%{errors} erori) destroy_all: success: Toate datele recensământului au fost șterse destroy: - confirm: Ştergerea recensământului nu poate fi anulată. Ești sigur(ă) că vrei să continui? + confirm: Ştergerea recensământului nu poate fi anulată. Sigur dorești să continui? title: Şterge toate datele recensământului index: data: Există %{count} înregistrări încărcate în total. Ultima dată de încărcare a fost pe %{due_date} empty: Nu există date de recensământ. Utilizați formularul de mai jos pentru a-l importa folosind un fișier CSV. - title: Date recensământ curente + title: Date de recensământ curente instructions: - body: Pentru a face acest lucru, trebuie să introduceţi administrarea sistemului şi să adăugaţi autorizaţiile csv_recensământ în organizaţie - title: Trebuie să activați recensământul CSV pentru această organizație + body: Pentru a face acest lucru, trebuie să introduci administrarea sistemului şi să adaugi autorizaţiile csv_recensământ în organizaţie + title: Trebuie să activezi recensământul CSV pentru această organizație new: file: "fișier .csv cu date de e-mail" - info: 'Trebuie să fie un fișier în format CSV cu o singură coloană cu adresa de e-mail:' - submit: Incarca fisier + info: 'Trebuie să fie un fișier în format CSV cu o singură coloană cu adresele de e-mail:' + submit: Încarcă fișier title: Încarcă un nou recensământ authorizations: new: error: Nu am putut verifica contul tău sau nu ești în recensământul organizației. - success: Contul dvs. a fost verificat cu succes. + success: Contul tău a fost verificat cu succes. dummy_authorization: extra_explanation: postal_codes: - one: Participarea este limitată la participanții cu codul poștal %{postal_codes}. - few: 'Participarea este limitată la participanții cu oricare dintre următoarele coduri poștale: %{postal_codes}.' - other: 'Participarea este limitată la participanții cu oricare dintre următoarele coduri poștale: %{postal_codes}.' - scope: Participarea este limitată la participanții cu domeniul de aplicare %{scope_name}. + one: Participarea este limitată la cei cu codul poștal %{postal_codes}. + few: 'Participarea este limitată la cei cu oricare dintre următoarele coduri poștale: %{postal_codes}.' + other: 'Participarea este limitată la cei cu oricare dintre următoarele coduri poștale: %{postal_codes}.' + scope: Participarea este limitată la participanții cu domeniul de interes %{scope_name}. user_postal_codes: - one: Participarea este limitată la participanții cu codul poștal %{postal_codes}, iar codul poștal este %{user_postal_code}. - few: 'Participarea este limitată la participanții cu codul poștal %{postal_codes}, iar codul poștal este %{user_postal_code}.' - other: 'Participarea este limitată la participanții cu oricare dintre următoarele coduri poștale: %{postal_codes}. Codul tău poștal este %{user_postal_code}.' - user_scope: Participarea este limitată la participanții cu domeniul de aplicare %{scope_name}, și domeniul dvs. de aplicare este %{user_scope_name}. + one: Participarea este limitată la cei cu codul poștal %{postal_codes}, iar codul poștal tău este %{user_postal_code}. + few: 'Participarea este limitată la cei cu oricare dintre codurile poștale %{postal_codes}, iar codul tău poștal este %{user_postal_code}.' + other: 'Participarea este limitată la cei cu oricare dintre următoarele coduri poștale: %{postal_codes}. Codul tău poștal este %{user_postal_code}.' + user_scope: Participarea este limitată la participanții cu domeniul de interes %{scope_name}, și domeniul tău de interes este %{user_scope_name}. id_documents: admin: config: edit: title: Configurarea documentelor de identitate - update: Actualizare + update: Actualizează update: error: A apărut o eroare la actualizarea configurației. - success: Configuratie actualizata cu succes + success: Configurație actualizată cu succes confirmations: create: - error: Verificarea nu se potrivește. Vă rugăm să încercați din nou sau să respingeți verificarea astfel încât participantul să o poată modifica + error: Verificarea nu se potrivește. Te rugăm încercă din nou sau respinge verificarea astfel încât participantul să o poată modifica success: Participant verificat cu succes new: - introduce_user_data: Introducerea datelor în imagine - reject: Respingere + introduce_user_data: Introdu datele din imagine + reject: Respinge verify: Verifică offline_confirmations: create: - error: Verificarea nu se potrivește. Vă rugăm să încercați din nou sau să-i spuneți participantului să o modifice + error: Verificarea nu se potrivește. Te rugăm încercă din nou sau spune participantului să o modifice success: Participant verificat cu succes new: cancel: Anulează - introduce_user_data: Introduceți e-mailul participantului și datele din document + introduce_user_data: Introdu adresa de e-mail a participantului și datele documentului verify: Verifică pending_authorizations: index: @@ -193,29 +193,29 @@ ro: success: Verificare respinsă. Participantul va fi îndemnat să își modifice documentele authorizations: choose: - choose_a_type: 'Vă rugăm să selectați cum doriți să fiți verificat:' + choose_a_type: 'Te rugăm selectează cum preferi verificarea:' offline: Offline online: Online - title: Verificați-vă folosind documentul de identitate + title: Verifică-te folosind documentul de identitate create: error: A apărut o eroare la încărcarea documentului tău success: Document încărcat cu succes edit: being_reviewed: Revizuim documentele tale. Vei fi verificat în curând - offline: Folosește verificare offline + offline: Folosește verificarea offline online: Folosește verificarea online - rejection_clarity: Asigurați-vă că informația este clar vizibilă în imaginea încărcată - rejection_correctness: Asigurați-vă că informațiile introduse sunt corecte + rejection_clarity: Asigură-te că informația este clar vizibilă în imaginea încărcată + rejection_correctness: Asigură-te că informațiile introduse sunt corecte rejection_notice: A apărut o problemă cu verificarea ta. Te rugăm să încerci din nou - send: Solicitare verificare din nou + send: Cere verificarea din nou new: - send: Solicitare verificare - title: Încarcă documentul de identitate + send: Cere verificare + title: Încarcă documentul tău de identitate update: error: A apărut o eroare la reîncărcarea documentului success: Document reîncărcat cu succes - dni: DNI - nie: NIE + dni: CI + nie: Viză de flotant/permis de ședere pentru rezidenți passport: Pașaport postal_letter: admin: @@ -226,45 +226,45 @@ ro: mark_as_sent: Marchează ca trimis not_yet_sent: Încă nu a fost trimis title: Verificări în curs - username: Porecla + username: Pseudonim verification_code: Cod de verificare postages: create: - error: Eroare la marcarea literei ca trimisă + error: Eroare la marcarea scrisorii drept trimisă success: Scrisoarea a fost marcată ca fiind trimisă authorizations: create: error: A apărut o problemă cu cererea ta success: Mulțumim! Vom trimite un cod de verificare la adresa ta edit: - send: Confirmare - title: Introduceți codul de verificare primit - waiting_for_letter: Vom trimite în curând o scrisoare la adresa ta cu codul de verificare + send: Confirmă + title: Introdu codul de verificare primit + waiting_for_letter: Vom trimite în curând o scrisoare la adresa ta cu codul tău de verificare new: send: Trimite-mi o scrisoare - title: Solicită codul de verificare + title: Cere codul tău de verificare update: - error: Codul de verificare nu se potrivește cu al nostru. Te rugăm să verifici din nou scrisoarea pe care ți-am trimis-o + error: Codul tău de verificare nu se potrivește cu al nostru. Te rugăm să verifici din nou scrisoarea pe care ți-am trimis-o success: Felicitări. Ai fost verificat cu succes sms: authorizations: create: error: A apărut o problemă cu cererea ta - success: Mulțumesc! Am trimis un SMS pe telefonul tău. + success: Mulțumim! Am trimis un SMS pe numărul tău de telefon. destroy: - success: Codul de verificare a fost resetat. Vă rugăm să reintroduceţi numărul de telefon. + success: Codul de verificare a fost resetat. Te rugăm să reintroduci numărul tău de telefon. edit: - confirm_destroy: Ești sigur(ă) că vrei să resetezi codul de verificare? - destroy: Resetați codul de verificare + confirm_destroy: Sigur dorești să resetezi codul de verificare? + destroy: Resetează codul de verificare resend: Nu ai primit codul de verificare? - send: Confirmare - title: Introduceți codul de verificare primit + send: Confirmă + title: Introdu codul de verificare primit new: send: Trimite-mi un SMS - title: Solicită codul de verificare + title: Cere codul tău de verificare update: - error: Codul de verificare nu se potrivește cu al nostru. Vă rugăm să verificați din nou SMS-ul pe care vi l-am trimis. + error: Codul tău de verificare nu se potrivește cu al nostru. Te rugăm să verifici din nou SMS-ul pe care ți l-am trimis. success: Felicitări. Ai fost verificat cu succes. errors: messages: - uppercase_only_letters_numbers: trebuie să fie majusculă și să conțină doar litere și/sau numere + uppercase_only_letters_numbers: trebuie să fie toate caracterele cu majusculă și să conțină doar litere și/sau numere From 44fb937b3aee7022ab135b383e1c138c57a2a90f Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Tue, 23 Nov 2021 13:03:15 +0100 Subject: [PATCH 66/71] New Crowdin updates (#8526) --- decidim-accountability/config/locales/eu.yml | 2 +- decidim-conferences/config/locales/cs.yml | 2 +- decidim-elections/config/locales/ja.yml | 102 ++++++++++++++++++- 3 files changed, 99 insertions(+), 7 deletions(-) diff --git a/decidim-accountability/config/locales/eu.yml b/decidim-accountability/config/locales/eu.yml index 0563bec81e8c6..68c077b3bc031 100644 --- a/decidim-accountability/config/locales/eu.yml +++ b/decidim-accountability/config/locales/eu.yml @@ -215,7 +215,7 @@ eu: heading_parent_level_results: '"Emaitzak" izena' intro: Intro scope_id: Esparrua - scopes_enabled: Esparru gaituak + scopes_enabled: Esparruak gaituak subcategories_label: Izena "Azpikategoriak" izenarekin step: comments_blocked: Iruzkinak blokeatuta diff --git a/decidim-conferences/config/locales/cs.yml b/decidim-conferences/config/locales/cs.yml index b02d14472b7c3..e8c281ed5883b 100644 --- a/decidim-conferences/config/locales/cs.yml +++ b/decidim-conferences/config/locales/cs.yml @@ -537,7 +537,7 @@ cs: details: Podrobnosti introduction: Úvod objectives: Cíle - related_assemblies: Související sestavy + related_assemblies: Související shromáždění related_consultations: Související konzultace related_participatory_processes: Související procesy účasti statistics: diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index 4e5af54521f86..1546bec2e61ed 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -587,6 +587,8 @@ ja: help: participatory_spaces: votings: + contextual: "

    投票は、組織を形成するすべての人に明確な質問を投げかけ、投票への参加を呼びかけ、回答の賛否の議論に火をつけ、注文をつけることができるスペースです。投票日が来たら、投票を行い、その結果を公開することができます。

    例: 投票は組織に影響するどのようなことにも利用できます。例えば、いくつかの案から組織の名前やロゴを選んで変更したり、より大きな組織の一部になるかどうかをイエスかノーかで決定したり、新しい戦略計画やワーキンググループの結果の検証や拒否したり、ポジションが最大で 1、2、3 の委任のままであるべきかどうかを決定したりできます。

    \n" + page: "

    投票は、組織を形成するすべての人に明確な質問を投げかけ、投票への参加を呼びかけ、回答の賛否の議論に火をつけ、注文をつけることができるスペースです。投票日が来たら、投票を行い、その結果を公開することができます。

    例: 投票は組織に影響するどのようなことにも利用できます。例えば、いくつかの案から組織の名前やロゴを選んで変更したり、より大きな組織の一部になるかどうかをイエスかノーかで決定したり、新しい戦略計画やワーキンググループの結果の検証や拒否したり、ポジションが最大で 1、2、3 の委任のままであるべきかどうかを決定したりできます。

    \n" title: 投票とは何ですか? menu: votings: 投票 @@ -683,7 +685,16 @@ ja: existing_user: 既存の参加者 non_user: 新しい参加者を招待 select_user: 名前、メールアドレス、ニックネームで検索 + user_type: 参加者の種類 + index: + title: 監視委員会 + new: + create: 作成 + title: 監視委員会メンバーを作成 polling_officers: + create: + invalid: この投票委員の作成中に問題が発生しました + success: 投票委員を作成しました destroy: invalid: この投票担当者を削除する際に問題が発生しました success: 投票委員を削除しました @@ -705,31 +716,112 @@ ja: more_polling_officers: あと %{number} 人の投票委員がいます。検索を絞り込んで探しましょう。 no_polling_officers: 検索条件に一致する投票委員がいないか、または投票委員が存在しません。 polling_stations: + create: + invalid: 投票所の作成中に問題が発生しました + success: 投票所を作成しました + destroy: + invalid: 投票所を削除する際に問題が発生しました + success: 投票所を削除しました + edit: + title: 投票所を編集 + update: 投票所を更新 form: - polling_station_president_help: '投票管理者:投票所の代表を務める担当者。 投票委員がすでに投票所に設置されていること、および他の投票所に割り当てられていないことを確認してください' + address_help: '住所: ジオコーダーが場所を見つけるために使用' + location_help: '場所: 投票所の正確な場所を知らせるための投票者向けメッセージ' + location_hints_help: '場所のヒント: 追加情報。例:投票所がある建物のフロア。' + polling_station_managers_help: '投票所管理者: 投票所の管理を行う担当者。担当者がすでに投票委員として作成されていること、および他の投票所に割り当てられていないことを確認してください' + polling_station_president_help: '投票所責任者:投票所の代表を務める担当者。 投票委員がすでに投票所に設置されていること、および他の投票所に割り当てられていないことを確認してください' select_president: 投票所の投票管理者として投票委員を選択してください + index: + title: 投票所 + new: + create: 作成 + title: 投票所の作成 + update: + invalid: 投票所の更新中に問題が発生しました + success: 投票所を更新しました + titles: + votings: 投票 votings: + actions: + confirm_destroy: 本当に削除してよろしいですか? + destroy: 削除 + new_voting: 新しい投票スペース + publish: 公開 + unpublish: 非公開にする + create: + invalid: 投票の作成中に問題が発生しました + success: 投票が正常に作成されました edit: + add_election_component: この投票用に設定された選挙がありません。コンポーネントセクションに追加してください。 assign_missing_officers: 投票管理者またはマネージャーがいない投票所があります。投票所セクションからアサインしてください + update: 更新 + form: + select_a_voting_type: 投票方式を選択してください + title: タイトル + voting_type: + hybrid: ハイブリッド + in_person: 対面 + online: オンライン + new: + create: 作成 + title: 新しい投票 + publish: + success: 投票が正常に公開されました + unpublish: + success: 投票を非公開にしました + admin_log: + voting: + create: "%{user_name} が %{resource_name} の投票を作成しました" + publish: "%{user_name} が %{resource_name} の投票を公開しました" + unpublish: "%{user_name} が %{resource_name} の投票を非公開にしました" + content_blocks: + highlighted_votings: + name: 注目の投票 + monitoring_committee_members: + actions: + confirm_destroy: 本当に削除してよろしいですか? + destroy: 削除 + new: 新規メンバー + title: アクション + pages: + home: + highlighted_votings: + active_votings: アクティブな投票 + see_all_votings: すべての投票を表示 polling_officer_zone: polling_officers: show: actions: count_votes: 投票箱の投票数をカウント - identify_person: 本人確認と本人確認を行う + identify_person: 本人の特定と検証を行う polling_officer_role_description: あなたは、このプラットフォームで行われるいくつかの選挙で、投票所の責任者(長またはマネージャー) として行動するように割り当てられています。 polling_stations: list: actions: アクション address: 住所 name: 名前 - role: あなたの役割 + role: 役割 voting: 投票 no_polling_stations: まだどの投票所にも割り当てられていません。 title: 投票所 polling_officers: + actions: + confirm_destroy: 本当に削除してよろしいですか? + destroy: 削除 + new: 新規作成 + title: アクション roles: - president: 投票管理者 + manager: マネージャー + president: 投票責任者 + unassigned: 未割り当て + polling_stations: + actions: + confirm_destroy: 本当に削除してよろしいですか? + destroy: 削除 + edit: 編集 + new: 新規作成 + title: アクション votings: count: title: @@ -770,7 +862,7 @@ ja: hybrid: ハイブリッド in_person: 対面 online: オンライン - voting_types_label: 投票タイプ + voting_types_label: 投票方式 layouts: decidim: election_votes_header: From c058a9d5057306a57efe37d195c3c3263b248051 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Tue, 14 Dec 2021 11:27:50 +0100 Subject: [PATCH 67/71] New Crowdin updates (#8571) --- decidim-accountability/config/locales/ja.yml | 12 +-- decidim-admin/config/locales/ja.yml | 102 +++++++++--------- decidim-assemblies/config/locales/ja.yml | 28 ++--- decidim-blogs/config/locales/ja.yml | 4 +- decidim-budgets/config/locales/ja.yml | 10 +- decidim-comments/config/locales/ja.yml | 4 +- decidim-conferences/config/locales/ja.yml | 42 ++++---- decidim-consultations/config/locales/ja.yml | 4 +- decidim-core/config/locales/fr.yml | 6 +- decidim-core/config/locales/ja.yml | 70 ++++++------ decidim-core/config/locales/pl.yml | 6 +- decidim-debates/config/locales/ja.yml | 4 +- decidim-elections/config/locales/ja.yml | 11 +- decidim-forms/config/locales/ja.yml | 2 +- decidim-initiatives/config/locales/ja.yml | 24 ++--- decidim-meetings/config/locales/ja.yml | 8 +- .../config/locales/it.yml | 6 +- .../config/locales/ja.yml | 6 +- decidim-proposals/config/locales/it.yml | 4 +- decidim-proposals/config/locales/ja.yml | 26 ++--- decidim-sortitions/config/locales/ja.yml | 10 +- decidim-system/config/locales/ja.yml | 2 +- decidim-verifications/config/locales/fr.yml | 2 +- decidim-verifications/config/locales/ja.yml | 62 +++++------ 24 files changed, 232 insertions(+), 223 deletions(-) diff --git a/decidim-accountability/config/locales/ja.yml b/decidim-accountability/config/locales/ja.yml index 5a526c1f24e69..f4ad3eaca6659 100644 --- a/decidim-accountability/config/locales/ja.yml +++ b/decidim-accountability/config/locales/ja.yml @@ -80,7 +80,7 @@ ja: success: 結果を更新しました shared: subnav: - statuses: Statuses + statuses: ステータス statuses: create: invalid: ステータスの作成中に問題が発生しました @@ -91,9 +91,9 @@ ja: title: ステータスの編集 update: ステータスを更新 index: - title: Statuses + title: ステータス new: - create: 状態を作成 + create: ステータスを作成 title: 新しいステータス update: invalid: ステータスの更新中に問題が発生しました @@ -101,9 +101,9 @@ ja: timeline_entries: create: invalid: このエントリの作成中に問題が発生しました - success: Entry successfully created + success: エントリが正常に作成されました。 destroy: - success: Entry successfully deleted + success: エントリが正常に削除されました。 edit: title: エントリを編集 update: エントリを更新 @@ -114,7 +114,7 @@ ja: title: 新しい項目 update: invalid: このエントリの更新中に問題が発生しました - success: Entry successfully updated + success: エントリが正常に更新されました。 admin_log: result: create: "%{user_name} が結果 %{resource_name} を %{space_name} に作成しました" diff --git a/decidim-admin/config/locales/ja.yml b/decidim-admin/config/locales/ja.yml index d50dbf3e670c3..b756bcb485dec 100644 --- a/decidim-admin/config/locales/ja.yml +++ b/decidim-admin/config/locales/ja.yml @@ -42,13 +42,13 @@ ja: customize_welcome_notification: ウェルカム通知をカスタマイズ default_locale: 既定のロケール: description: 説明 - enable_omnipresent_banner: Show omnipresent banner - facebook_handler: Facebook handler + enable_omnipresent_banner: Omnipresentバナーを表示 + facebook_handler: Facebook ハンドラー favicon: アイコン force_authentication: 認証の強制 force_users_to_authenticate_before_access_organization: 組織にアクセスする前にユーザーの認証を強制する from: メールアドレスから - github_handler: GitHub handler + github_handler: GitHub ハンドラー header_snippets: ヘッダスニペットを表示 highlight_alternative_color: 代替のハイライト highlight_color: 強調表示 @@ -60,7 +60,7 @@ ja: highlighted_content_banner_short_description: 短い説明 highlighted_content_banner_title: タイトル host: ホスト - instagram_handler: Instagram handler + instagram_handler: Instagram ハンドラー logo: ロゴ machine_translation_display_priority: 機械翻訳表示の優先度 machine_translation_display_priority_original: 元のテキストを最初にする @@ -78,26 +78,26 @@ ja: primary_color: プライマリ(プライマリ) reference_prefix: 参照の接頭辞: rich_text_editor_in_public_views: 参加者にリッチテキストエディタを有効にする - secondary_color: Secondary + secondary_color: セカンダリ secondary_hosts: セカンダリホスト send_welcome_notification: ウェルカム通知を送信 success_color: 成功 time_zone: タイムゾーン - tos_version: Terms of service version - twitter_handler: Twitter handler + tos_version: 利用規約のバージョン + twitter_handler: Twitter ハンドラー user_groups_enabled: グループを有効にする users_registration_mode: ユーザー登録モード warning_color: 警告 - welcome_notification_body: Welcome通知本文 + welcome_notification_body: ウェルカム通知本文 welcome_notification_subject: ウェルカム通知の件名 - youtube_handler: YouTube handler + youtube_handler: YouTube ハンドラー scope: code: コード name: 名前 organization: 組織 parent_id: 親 - scope_type: スコープの種類 - scope_type_id: スコープの種類 + scope_type: スコープ種別 + scope_type_id: スコープ種別 scope_type: name: 名前 organization: 組織 @@ -164,7 +164,7 @@ ja: newsletter: new: 新しいニュースレター participatory_space_private_user: - new: 新しい参加スペースのプライベートユーザー + new: 新しい参加型スペースのプライベートユーザー per_page: ページごと permissions: アクセス許可 reject: 拒否 @@ -188,19 +188,19 @@ ja: title: 管理者向け利用規約 area_types: create: - error: 新しいエリアタイプの作成中に問題が発生しました。 - success: エリアタイプが正常に作成されました。 + error: 新しいエリア種別の作成中に問題が発生しました。 + success: エリア種別が正常に作成されました。 destroy: - success: エリアタイプを削除しました + success: エリア種別を削除しました edit: - title: エリアタイプの編集 + title: エリア種別の編集 update: 更新 new: - create: エリアタイプを作成 - title: 新しいエリアタイプ + create: エリア種別を作成 + title: 新しいエリア種別 update: - error: このエリアタイプの更新中に問題が発生しました。 - success: エリアタイプが正常に更新されました + error: このエリア種別の更新中に問題が発生しました。 + success: エリア種別が正常に更新されました areas: create: error: 新しいエリアの作成中に問題が発生しました。 @@ -335,7 +335,7 @@ ja: dashboard: show: view_more_logs: もっとログを見る - welcome: Decidim Admin Panelへようこそ。 + welcome: Decidim 管理画面へようこそ。 exports: export_as: "%{name} を %{export_format} 形式で取得" formats: @@ -453,7 +453,7 @@ ja: admin_log: 管理者アクティビティログ admins: 管理者 appearance: 外観 - area_types: エリアの種類 + area_types: エリア種別 areas: エリア configuration: 設定 dashboard: ダッシュボード @@ -464,7 +464,7 @@ ja: newsletters: ニュースレター participants: 参加者 reported_users: 報告済みユーザー - scope_types: スコープの種類 + scope_types: スコープ種別 scopes: スコープ settings: 設定 static_pages: ページ @@ -476,7 +476,7 @@ ja: models: area: fields: - area_type: エリアの種類 + area_type: エリア種別 name: 名前 area_type: fields: @@ -510,11 +510,11 @@ ja: subject: 件名 name: ニュースレター participatory_space_private_user: - name: 参加スペースプライベート参加者 + name: 参加型スペースプライベート参加者 scope: fields: name: 名前 - scope_type: スコープの種類 + scope_type: スコープ種別 scope_type: fields: name: 名前 @@ -577,7 +577,7 @@ ja: report: reasons: does_not_belong: 属していません - offensive: 攻撃 + offensive: 攻撃的 spam: スパム reports: index: @@ -636,9 +636,9 @@ ja: all_users_help: 確認済みのすべてのユーザーにニュースレターを送信します。 confirm_deliver: このニュースレターを配信してもよろしいですか?この操作は元に戻せません。 deliver: ニュースレターを配信する - followers_help: リスト内の選択した参加スペースに従っているすべての確認済みユーザーにニュースレターを送信します。 + followers_help: リスト内の選択した参加型スペースに従っているすべての確認済みユーザーにニュースレターを送信します。 none: なし - participants_help: 選択した参加スペースに参加しているすべての確認済みユーザーにニュースレターを送信します。 + participants_help: 選択した参加型スペースに参加しているすべての確認済みユーザーにニュースレターを送信します。 recipients_count: このニュースレターは、 %{count} のユーザーに送信されます。 scopes_help: アカウントの「私の興味」設定で選択したスコープのいずれかを有効にしているユーザーにニュースレターを送信します。 select_scopes: アカウントの「趣味」設定で選択したスコープを有効にしているユーザーをフィルタリングします。 @@ -691,7 +691,7 @@ ja: description: 直接参加者に連絡する必要がある場合は,表示ボタンをクリックしてメールアドレスを見ることができます.このアクションは記録されます. email_address: メールアドレス full_name: フルネーム - hidden: hidden + hidden: 非表示 show: 表示 title: 参加者のメールアドレスを表示 unblock: @@ -727,7 +727,7 @@ ja: images: layout_appearance_title: レイアウトを編集 preview: プレビュー - omnipresent_banner_appearance_title: Edit omnipresent banner + omnipresent_banner_appearance_title: Omnipresentバナーを編集 organization_homepage: edit: active_content_blocks: アクティブなコンテンツブロック @@ -737,17 +737,17 @@ ja: update: 更新 participatory_space_private_users: create: - error: この参加スペースにプライベート参加者を追加する際に問題が発生しました。 - success: 参加スペースのプライベート参加者アクセスが正常に作成されました。 + error: この参加型スペースにプライベート参加者を追加する際に問題が発生しました。 + success: 参加型スペースのプライベート参加者アクセスが正常に作成されました。 destroy: - error: この参加スペースのプライベート参加者を削除する際に問題が発生しました。 - success: 参加スペースのプライベート参加者アクセスが正常に破棄されました。 + error: この参加型スペースのプライベート参加者を削除する際に問題が発生しました。 + success: 参加型スペースのプライベート参加者アクセスが正常に破棄されました。 index: import_via_csv: CSV形式でインポート - title: 参加スペースプライベート参加者 + title: 参加型スペースプライベート参加者 new: create: 作成 - title: 新しい参加空間のプライベート参加者。 + title: 新しい参加型スペースのプライベート参加者。 participatory_space_private_users_csv_imports: create: invalid: CSVファイルの読み込みに問題が発生しました。 @@ -768,19 +768,19 @@ ja: scope: スコープ scope_types: create: - error: 新しいスコープタイプの作成中に問題が発生しました。 - success: スコープタイプが正常に作成されました。 + error: 新しいスコープ種別の作成中に問題が発生しました。 + success: スコープ種別が正常に作成されました。 destroy: - success: スコープの種類が削除されました + success: スコープ種別が削除されました edit: - title: スコープの種類を編集 + title: スコープ種別を編集 update: 更新 new: - create: スコープの種類を作成 + create: スコープ種別を作成 title: 新しいスコープ update: - error: このスコープタイプの更新中に問題が発生しました。 - success: スコープの種類が正常に更新されました + error: このスコープ種別の更新中に問題が発生しました。 + success: スコープ種別が正常に更新されました scopes: create: error: 新しいスコープの作成中に問題が発生しました。 @@ -859,7 +859,7 @@ ja: success: ページが正常に更新されました titles: admin_log: 管理者ログ - area_types: エリアの種類 + area_types: エリア種別 areas: エリア authorization_workflows: 確認方法 dashboard: ダッシュボード @@ -868,7 +868,7 @@ ja: metrics: 指標 panel: 管理者 participants: 参加者 - scope_types: スコープの種類 + scope_types: スコープ種別 scopes: スコープ static_pages: ページ statistics: アクティビティ @@ -920,9 +920,9 @@ ja: users_statistics: users_count: admins: 管理者 - last_day: 最終日 - last_month: Last month - last_week: 先週の + last_day: 過去24時間 + last_month: 過去1ヶ月間 + last_week: 過去1週間 no_users_count_statistics_yet: まだユーザー数の統計がありません participants: 参加者 view_public_page: 公開ページを表示 @@ -943,9 +943,9 @@ ja: moderations: actions: expand: 展開 - hidden: Hidden + hidden: 非表示 hide: 非表示 - not_hidden: 非表示にしない + not_hidden: 表示 title: アクション unhide: Unhide unreport: 報告解除 diff --git a/decidim-assemblies/config/locales/ja.yml b/decidim-assemblies/config/locales/ja.yml index 56c5dccff895f..3cd5000c15f65 100644 --- a/decidim-assemblies/config/locales/ja.yml +++ b/decidim-assemblies/config/locales/ja.yml @@ -6,7 +6,7 @@ ja: assembly: area_id: エリア assembly_type: 参加スペース種別 - assembly_type_other: Assembly type other + assembly_type_other: その他(参加スペース) banner_image: バナー画像 closing_date: 終了日 closing_date_reason: 終了日時の理由 @@ -31,7 +31,7 @@ ja: included_at: 含まれた日 instagram: Instagram internal_organisation: 内部組織 - is_transparent: 透明な + is_transparent: 透明性 local_area: 組織エリア meta_scope: スコープメタデータ parent_id: 親の参加スペース @@ -133,7 +133,7 @@ ja: assembly_imports: create: error: この参加スペースのインポート中に問題が発生しました。 - success: アセンブリは正常にインポートされました。 + success: 参加スペースは正常にインポートされました。 new: import: インポート select: インポートしたいデータを選択 @@ -172,7 +172,7 @@ ja: title: 参加スペース管理者を更新する update: 更新 index: - assembly_admins_title: 組立管理者 + assembly_admins_title: 参加スペース管理者 new: create: 作成 title: 新しい参加スペース管理者です。 @@ -206,7 +206,7 @@ ja: promoted: 強調表示 published: 公開済み title: タイトル - name: Assembly + name: 参加スペース assembly_member: fields: ceased_date: 終了日 @@ -227,9 +227,9 @@ ja: name: 参加スペース管理者 roles: admin: 管理者 - collaborator: 共同編集者 + collaborator: コラボレーター moderator: モデレーター - valuator: Valuator + valuator: 評価者 titles: assemblies: 参加スペース assemblies_types: 参加スペース種別 @@ -329,9 +329,9 @@ ja: public: 一般 filter: all: すべてのタイプ - commission: Commission + commission: コミッション consultative_advisory: 協議/アドバイザリ - executive: Executive + executive: 役員会 government: 政府 help: '表示:' others: その他 @@ -361,11 +361,11 @@ ja: developer_group: プロモーターグループ duration: 持続期間 included_at: 含まれた日 - indefinite_duration: 不定義 + indefinite_duration: 無期限 internal_organisation: 内部組織 is_transparent: 'false': 不透明な - 'true': transparent + 'true': 透明性 local_area: 組織エリア participatory_scope: 決定されるもの participatory_structure: どのように決められますか? @@ -427,7 +427,7 @@ ja: participatory_spaces: assemblies: contextual: "

    参加スペースとは、組織の特定の領域や範囲について決定を下すために定期的に会合を開く組織のメンバーのグループです。

    会議体は非公開のものもあれば、公開されているものもあります。公開されている場合は、その集会に参加することができます (例えば、定員に余裕があれば出席したり、議題にポイントを追加したり、この組織の提案や決定に対してコメントしたりすることができます)。

    例:総会(年に一度開催され、組織の主要な活動方針と執行機関を投票で決定する)、平等諮問評議会(組織内の男女比率等を改善する方法についての提案を行うために2ヶ月ごとに開催される)、評価委員会(プロセスを監視するために毎月開催される)、保証機関(意思決定手続きを改善するために事件や虐待、提案を収集する)などは、すべて会議体の例です。

    \n" - page: "

    参加スペースとは、組織の特定の領域や範囲について決定を下すために定期的に会合を開く組織のメンバーのグループです。

    会議体は非公開のものもあれば、公開されているものもあります。公開されている場合は、その集会に参加することができます (例えば、定員に余裕があれば出席したり、議題にポイントを追加したり、この組織の提案や決定に対してコメントしたりすることができます)。

    例:総会(年に一度開催され、組織の主要な活動方針と執行機関を投票で決定する)、平等諮問評議会(組織内の男女比率等を改善する方法についての提案を行うために2ヶ月ごとに開催される)、評価委員会(プロセスを監視するために毎月開催される)、保証機関(意思決定手続きを改善するために事件や虐待、提案を収集する)などは、すべて会議体の例です。

    \n" + page: "

    参加型スペースとは、組織の特定の領域や範囲について決定を下すために定期的に会合を開く組織のメンバーのグループです。

    会議体は非公開のものもあれば、公開されているものもあります。公開されている場合は、その集会に参加することができます (例えば、定員に余裕があれば出席したり、議題にポイントを追加したり、この組織の提案や決定に対してコメントしたりすることができます)。

    例:総会(年に一度開催され、組織の主要な活動方針と執行機関を投票で決定する)、平等諮問評議会(組織内の男女比率等を改善する方法についての提案を行うために2ヶ月ごとに開催される)、評価委員会(プロセスを監視するために毎月開催される)、保証機関(意思決定手続きを改善するために事件や虐待、提案を収集する)などは、すべて会議体の例です。

    \n" title: 参加スペースとは? log: value_types: @@ -440,7 +440,7 @@ ja: metrics: assemblies: description: 作成された参加スペース数 - object: assemblies + object: 参加スペース title: 参加スペース pages: home: @@ -468,7 +468,7 @@ ja: children: '参加スペース: ' organizational_chart: 組織図 promoted_assemblies: ハイライトされた参加スペース - reset_chart: Reset + reset_chart: リセット order_by_assemblies: assemblies: other: "%{count} 個の参加スペース" diff --git a/decidim-blogs/config/locales/ja.yml b/decidim-blogs/config/locales/ja.yml index 40906c29575d2..8bee8ddcde34a 100644 --- a/decidim-blogs/config/locales/ja.yml +++ b/decidim-blogs/config/locales/ja.yml @@ -71,10 +71,10 @@ ja: events: blogs: post_created: - email_intro: The post "%{resource_title}" has been published in "%{participatory_space_title}" that you are following. + email_intro: あなたがフォローしている "%{participatory_space_title}" で投稿 "%{resource_title}" が公開されました。 email_outro: '「%{participatory_space_title}」をフォローしているため、この通知を受け取りました。前のリンクからこの通知をアンフォローすることができます。' email_subject: '%{participatory_space_title} に新しい投稿が公開されました' - notification_title: The post %{resource_title} has been published in %{participatory_space_title} + notification_title: '%{participatory_space_title} で投稿 %{resource_title} が公開されました' pages: home: statistics: diff --git a/decidim-budgets/config/locales/ja.yml b/decidim-budgets/config/locales/ja.yml index aeb480763b93c..da4408a9a97d3 100644 --- a/decidim-budgets/config/locales/ja.yml +++ b/decidim-budgets/config/locales/ja.yml @@ -88,7 +88,7 @@ ja: success: "%{number} 件の提案がプロジェクトにインポートされました" new: create: プロジェクトへの提案をインポート - no_components: この参加スペースには、プロジェクトにインポートするための他の提案コンポーネントはありません。 + no_components: この参加型スペースには、プロジェクトにインポートするための他の提案コンポーネントはありません。 select_component: コンポーネントを選択してください title: 提案のインポート admin_log: @@ -131,9 +131,9 @@ ja: order_summary_mailer: order_summary: selected_projects: '選択したプロジェクトは次のとおりです。' - subject: '%{space_name} 参加スペースに投票しました' - voted_on_space: '%{budget_name} 参加スペースの %{space_name} 予算に投票しました。' - voted_on_space_with_scope: '%{budget_name} (%{space_name}) の %{scope_name} 参加スペースの %{scope_type} 予算に投票しました。' + subject: 参加型スペース%{space_name} に投票しました + voted_on_space: '%{budget_name} 参加型スペースの %{space_name} 予算に投票しました。' + voted_on_space_with_scope: '%{budget_name} (%{space_name}) の %{scope_name} 参加型スペースの %{scope_type} 予算に投票しました。' projects: budget_confirm: are_you_sure: 気が変わった場合は、後で投票を変更できます。 @@ -203,7 +203,7 @@ ja: highest_cost: 最高コスト label: 'プロジェクトを注文:' lowest_cost: 最低コスト - most_voted: Most voted + most_voted: 投票順 random: ランダムな注文 selected: 選択済 project: diff --git a/decidim-comments/config/locales/ja.yml b/decidim-comments/config/locales/ja.yml index ce1ec7320cb03..16648e905c762 100644 --- a/decidim-comments/config/locales/ja.yml +++ b/decidim-comments/config/locales/ja.yml @@ -89,12 +89,12 @@ ja: email_intro: "%{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:" email_outro: '%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのユーザーのフォローを解除することができます。' email_subject: '%{author_name} から %{resource_title} に対して新しいコメントがあります' - notification_title: There is a new comment by %{author_name} %{author_nickname} in %{resource_title}. + notification_title: %{author_name} %{author_nickname} より %{resource_title} に対して新しいコメントがあります. comment_by_followed_user_group: email_intro: 'グループ %{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:' email_outro: '%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのグループのフォローを解除できます。' email_subject: '%{author_name} から %{resource_title} に対して新しいコメントがあります' - notification_title: There is a new comment by %{author_name} %{author_nickname} in %{resource_title}. + notification_title: %{author_name} %{author_nickname} より %{resource_title} に対して新しいコメントがあります. comment_created: email_intro: "%{resource_title} はコメントされました。このページでコメントを読むことができます:" email_outro: '"%{resource_title}" 、またはその参加者をフォローしているためこの通知を受け取りました。前のリンクからフォローを解除することができます。' diff --git a/decidim-conferences/config/locales/ja.yml b/decidim-conferences/config/locales/ja.yml index 51448dc8f1712..0f8ba706ad0cf 100644 --- a/decidim-conferences/config/locales/ja.yml +++ b/decidim-conferences/config/locales/ja.yml @@ -29,7 +29,7 @@ ja: sign_date: 署名日 signature: 署名 signature_name: 署名の名前 - slogan: Slogan + slogan: スローガン slug: URL スラグ start_date: 開始日 title: タイトル @@ -194,7 +194,7 @@ ja: media_links: メディアリンク moderations: モデレーション partners: パートナー - registration_types: 登録タイプ + registration_types: 登録種別 registrations: 登録 user_registrations: ユーザー登録 models: @@ -206,7 +206,7 @@ ja: title: タイトル conference_speaker: fields: - affiliation: Affiliation + affiliation: 所属 full_name: フルネーム position: ポジション name: カンファレンススピーカー @@ -218,9 +218,9 @@ ja: name: カンファレンス管理 roles: admin: 管理者 - collaborator: 共同編集者 + collaborator: コラボレーター moderator: モデレーター - valuator: Valuator + valuator: 評価者 media_link: fields: date: 日付 @@ -235,11 +235,11 @@ ja: partner_type: タイプ name: パートナー types: - collaborator: 共同編集者 + collaborator: コラボレーター main_promotor: 主プロモーター(プロモーター) registration_type: fields: - conference_meetings: カンファレンスの会議 + conference_meetings: カンファレンスのミーティング price: 価格 registrations_count: 登録数 title: タイトル @@ -270,18 +270,18 @@ ja: registration_types: create: error: このカンファレンスに登録タイプを追加する際に問題がありました。 - success: カンファレンスの登録タイプを追加しました。 + success: カンファレンスの登録種別を追加しました。 destroy: - success: カンファレンスの登録タイプを削除しました。 + success: カンファレンスの登録種別を削除しました。 edit: - title: 登録タイプの更新。 + title: 登録種別の更新。 update: 更新 new: create: 作成 - title: 新規登録タイプ + title: 新規登録種別 update: - error: このカンファレンスの登録タイプの更新に問題がありました。 - success: カンファレンスの登録タイプを更新しました。 + error: このカンファレンスの登録種別の更新に問題がありました。 + success: カンファレンスの登録種別を更新しました。 titles: conferences: カンファレンス admin_log: @@ -335,7 +335,7 @@ ja: attendee_type: 参加者の種類 existing_user: 既存の参加者 invite_explanation: 参加者は、カンファレンスや組織にも招待されます。 - non_user: 非既存の参加者 + non_user: 非参加者 select_user: 参加者を選択 index: filter: @@ -344,20 +344,20 @@ ja: rejected: 拒否 sent: 送信済み filter_by: フィルター - invite_attendee: Invite participant + invite_attendee: 参加者の招待 invites: 招待 search: 検索 new: explanation: 参加者はカンファレンスに招待されます。 参加者の電子メールが組織に登録されていない場合、同様に組織に招待されます。 invite: 招待 - new_invite: Invite participant + new_invite: 参加者の招待 conference_registrations: index: registrations: 登録 conference_speakers: form: existing_user: 既存の参加者 - non_user: Non participant + non_user: 非参加者 select_user: 参加者を選択 user_type: 参加者の種類 index: @@ -382,9 +382,9 @@ ja: title: パートナー registration_types: form: - select_conference_meetings: カンファレンス会議の選択 + select_conference_meetings: カンファレンスミーティングの選択 index: - title: 登録タイプ + title: 登録種別 send_conference_diploma_mailer: diploma: diploma_html: 添付ファイルに、カンファレンス %{title} の出席証明書があります。 @@ -514,7 +514,7 @@ ja: login_as: '%{name} <%{email} >としてログインしています' no_registrations: 登録なし register: 登録 - title: 登録タイプ + title: 登録種別 shared: conference_user_login: already_account: 既にアカウントをお持ちですか? @@ -553,7 +553,7 @@ ja: notification_title: カンファレンス %{resource_title} の登録が確認されました。 conference_registrations_over_percentage: email_intro: '"%{resource_title}" カンファレンス参加率は %{percentage} %を超えています。' - email_outro: あなたはカンファレンスの参加スペースの管理者であるため、この通知を受け取りました。 + email_outro: あなたはカンファレンスの参加型スペースの管理者であるため、この通知を受け取りました。 email_subject: '「%{resource_title}」カンファレンス参加率は %{percentage} %を超えています' notification_title: %{resource_title} カンファレンス参加率は %{percentage} %を超えています。 conference_updated: diff --git a/decidim-consultations/config/locales/ja.yml b/decidim-consultations/config/locales/ja.yml index 3e6c9a1f53064..cde91f81316df 100644 --- a/decidim-consultations/config/locales/ja.yml +++ b/decidim-consultations/config/locales/ja.yml @@ -228,7 +228,7 @@ ja: consultations: orders: label: '議案の並び替え:' - random: Random + random: ランダム recent: 直近のもの show: dates: 日付 @@ -264,7 +264,7 @@ ja: see_all_consultations: すべての議案を見る voting_ends_in: other: 投票は %{count} 日で終了します - voting_ends_today: 投票は今日終了 + voting_ends_today: 本日投票終了 question: take_part: 参加する view_results: 結果を表示 diff --git a/decidim-core/config/locales/fr.yml b/decidim-core/config/locales/fr.yml index dd305396234a1..3beff380d2925 100644 --- a/decidim-core/config/locales/fr.yml +++ b/decidim-core/config/locales/fr.yml @@ -11,7 +11,7 @@ fr: document_number: Numéro de document email: Courriel name: Nom - nickname: Nom d'utilisateur + nickname: Pseudonyme phone: Téléphone report: details: Commentaires supplémentaires @@ -19,7 +19,7 @@ fr: about: A propos de moi email: Votre email name: Votre nom - nickname: Surnom + nickname: Pseudonyme password: Mot de passe password_confirmation: Confirmez votre mot de passe personal_url: Site internet personnel @@ -41,7 +41,7 @@ fr: decidim/user: current_password: Mot de passe actuel email: Email - name: Surnom + name: Pseudonyme password: Mot de passe password_confirmation: Confirmation du mot de passe remember_me: Retenir le mot de passe diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml index a7fc059bf839f..f1fbe41e64c46 100644 --- a/decidim-core/config/locales/ja.yml +++ b/decidim-core/config/locales/ja.yml @@ -64,11 +64,11 @@ ja: not_inside_organization: ファイルはどの組織にも添付されていません date: formats: - decidim_short: "%d/%m/%Y" - decidim_short_with_month_name_short: "%d %b %Y" - decidim_with_day_and_month_name: "%A %d %b %Y" - decidim_with_month_name: "%d %B %Y" - decidim_with_month_name_short: "%d %b" + decidim_short: "%Y/%m/%d" + decidim_short_with_month_name_short: "%Y %b %d" + decidim_with_day_and_month_name: "%Y %b %d %A" + decidim_with_month_name: "%Y %B %d" + decidim_with_month_name_short: "%b %d" decidim: accessibility: external_link: 外部リンク @@ -281,9 +281,9 @@ ja: expires_at: '%{timestamp} で期限切れ' foo_authorization: fields: - bar: バー + bar: Bar foo: Foo - name: Foo authorization + name: Foo 認証 granted_at: '%{timestamp} で付与されます' renew: 検証を更新する sms: @@ -344,8 +344,8 @@ ja: collaborative_draft: 共同草案 comment: コメント debate: ディベート - initiative: 取り組み - meeting: 会議 + initiative: イニシアチブ + meeting: ミーティング post: 投稿 proposal: 提案 question: 質問 @@ -621,15 +621,15 @@ ja: email_subject: あなたは %{user_group_name} グループから削除されました! notification_title: %{user_group_name} グループから削除されました。 user_group_created: - email_intro: '%{user_group_name}という名前の新しいユーザーグループが作成されました。 管理パネル で確認できるようになりました。' + email_intro: '%{user_group_name} という名前の新しいユーザーグループが作成されました。 管理画面 で確認できるようになりました。' email_outro: あなたはプラットフォームの管理者であるため、この通知を受け取りました。 email_subject: 新しいユーザーグループが作成されました - notification_title: '%{user_group_name} ユーザーグループが作成されました。 管理パネル で確認できるようになりました。' + notification_title: '%{user_group_name} ユーザーグループが作成されました。 管理画面 で確認できるようになりました。' user_group_updated: email_intro: ユーザーグループ「 %{user_group_name} 」がプロフィールページをアップデートし、未承認のままになっています。 管理画面から承認してください。 email_outro: あなたはプラットフォームの管理者であるため、この通知を受け取りました。 email_subject: ユーザーグループがプロファイルを更新しました - notification_title: '%{user_group_name} ユーザーグループがプロファイルを更新し、未検証のままにしました。 管理パネル で確認できるようになりました。' + notification_title: '%{user_group_name} ユーザーグループがプロファイルを更新し、未検証のままにしました。 管理画面 で確認できるようになりました。' notification_event: notification_title: %{resource_title} にイベントが発生しました。 reports: @@ -777,7 +777,7 @@ ja: actions: are_you_sure: よろしいですか? promote_to_admin: 管理者にする - remove_from_group: Remove participant + remove_from_group: 参加者の削除 index: current_members_without_admins: '現在のメンバー (管理者なし):' manage_members: メンバーの管理 @@ -831,14 +831,14 @@ ja: help: main_topic: default_page: - content: "

    %{organization} では、トップメニューにあるスペース(参加型プロセスや参加スペース、取り組み、議案)から、さまざまなトピックに参加したり、決定したりすることができます。

    それぞれのスペースには、参加するためのさまざまなオプションが用意されています: (個人または他の人と一緒に) 提案をする 、ディベートに参加する、実施するプロジェクトの優先順位を決める、対面会議に出席する、その他のアクションを行う等。

    \n" + content: "

    %{organization} では、トップメニューにあるスペース(参加型プロセスや参加スペース、取り組み、議案)から、さまざまなトピックに参加したり、決定したりすることができます。

    それぞれのスペースには、参加するためのさまざまなオプションが用意されています: (個人または他の人と一緒に)提案をする 、ディベートに参加する、実施するプロジェクトの優先順位を決める、対面ミーティングに出席する、その他のアクションを行う等。

    \n" title: '%{organization} で何ができますか?' description: '%{organization} についてもっと読む' title: 一般的なヘルプ last_activities: activities: no_activities_warning: アクティビティがありません - all: すべてのアクティビティタイプ + all: すべてのアクティビティ種別 index: last_activity: 最後のアクティビティ resource_type: タイプ @@ -854,13 +854,13 @@ ja: update_with_space: "%{user_name} さんが %{resource_name} で %{space_name} を更新しました" value_types: area_presenter: - not_found: 'The area was not found on the データベース (ID: %{id})' + not_found: 'エリアがデータベース上に見つかりませんでした (ID: %{id})' area_type_presenter: - not_found: 'The area type was not found on the database (ID: %{id})' + not_found: 'エリア種別がデータベース上に見つかりませんでした (ID: %{id})' scope_presenter: - not_found: 'The scope was not found on the database(ID: %{id})' + not_found: 'スコープがデータベース上に見つかりませんでした (ID: %{id})' scope_type_presenter: - not_found: 'The scope type was not found on the データベース (ID: %{id})' + not_found: 'スコープ種別がデータベース上に見つかりませんでした (ID: %{id})' managed_users: expired_session: 出席者の現在の管理セッションの有効期限が切れています。 map: @@ -1141,7 +1141,7 @@ ja: edit_profile: プロフィールを編集 edit_user_group: グループプロファイルを編集 fill_in_email_to_confirm_it: グループのメールアドレスを入力して確認してください - invite_user: Invite participant + invite_user: 参加者の招待 join_user_group: グループに参加するリクエスト leave_user_group: グループから退出する manage_user_group_admins: 管理者の管理 @@ -1161,7 +1161,7 @@ ja: details: 詳細 hello: こんにちは、 %{name} さん。 id: ID - participatory_space: 参加者のスペース + participatory_space: 参加型スペース reason: 理由: report_html:

    次の コンテンツ が報告されました。

    see_report: 報告を見る @@ -1551,7 +1551,7 @@ ja: made_with_open_source: このサイトは フリーソフトウェアで作られています。 header: close_menu: メニューを閉じる - navigation: Navigation + navigation: ナビゲーション sign_in: ログイン sign_up: 新規登録 impersonation_warning: @@ -1607,25 +1607,25 @@ ja: password_too_long: 長すぎます password_too_short: 短すぎます social_share_button: - delicious: おいしいです + delicious: Delicious douban: Douban - email: Eメールアドレス + email: Eメール facebook: Facebook google_bookmark: Google ブックマーク google_plus: Google+ - hacker_news: ハッカーニュース + hacker_news: Hacker News linkedin: Linkedin pinterest: Pinterest qq: Qzone reddit: Reddit share_to: '%{name} に共有' telegram: Telegram - tumblr: タンブラー + tumblr: Tumblr twitter: Twitter vkontakte: Vkontakte wechat: WeChat wechat_footer: WeChatを開き、「ディスカバー」ボタンをクリックし、「QRコードをスキャン」メニューをクリックします。 - weibo: Sina Weibo + weibo: Weibo whatsapp_app: WhatsApp whatsapp_web: WhatsApp xing: Xing @@ -1633,18 +1633,18 @@ ja: formats: day_of_month: "%b %d" day_of_week: "%a" - day_of_week_long: "%a %e" - day_of_year: "%d.%m.%y" - decidim_day_of_year: "%d %B %Y" - decidim_short: "%d/%m/%Y %H:%M" - default: "%a, %d %b %Y %H:%M:%S %z" + day_of_week_long: "%e %a" + day_of_year: "%y.%m.%d" + decidim_day_of_year: "%Y %B %d" + decidim_short: "%Y/%m/%d %H:%M" + default: "%Y %d %b (%a) %H:%M:%S %z" devise: mailer: invitation_instructions: - accept_until_format: "%B %d, %Y %I:%M %p" + accept_until_format: "%Y %B %d, %I:%M %p" long: "%B %d, %Y %H:%M" long_dashed: "%Y-%m-%d %H:%M:%S" - short: "%d/%m/%Y %H:%M" + short: "%Y/%m/%d %H:%M" time_of_day: "%H:%M" versions: directions: @@ -1653,7 +1653,7 @@ ja: dropdown: choose_diff_view_html: 'HTML ビューモード:' choose_diff_view_mode: 'ビューモードを比較:' - option_escaped: Escaped + option_escaped: エスケープあり option_split: 並べて表示 option_unescaped: エスケープなし option_unified: 統合された diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index 3ef8e2475e259..2c8804da07b89 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -406,7 +406,7 @@ pl: button_url: Adres url przycisku CTA description: Opis footer_sub_hero: - name: Banner podrzędny stopki + name: Baner podrzędny stopki hero: name: Obraz główny hero_settings_form: @@ -433,7 +433,7 @@ pl: stats: name: Statystyki organizacji sub_hero: - name: Banner podrzędny + name: Baner podrzędny core: actions: login_before_access: Zaloguj się na swoje konto, żeby mieć dostęp @@ -676,7 +676,7 @@ pl: click_button: 'Kliknij poniższy przycisk, aby pobrać swoje dane.
    Plik będzie dostępny do %{date}.
    Będziesz potrzebował 7-Zip (Windows), Keka (MacOS) lub PeaZip (Linux) do otwarcia pliku. Hasło: %{password}' download: Pobieranie export: - ready: Znajdź załączoną wersję eksportowanego pliku. + ready: Mail zawiera załączony plik eksportu. subject: Twój eksport "%{name}" jest gotowy filters: linked_classes: diff --git a/decidim-debates/config/locales/ja.yml b/decidim-debates/config/locales/ja.yml index f0472291cb8c6..2aba6f279c9a1 100644 --- a/decidim-debates/config/locales/ja.yml +++ b/decidim-debates/config/locales/ja.yml @@ -184,8 +184,8 @@ ja: space_followers: email_intro: |- こんにちは、 - %{resource_title}参加スペースに新しいディベート「 %{space_title} 」が作成されました。チェックして貢献: - email_outro: '%{space_title} の参加スペースをフォローしているため、この通知を受信しました。前のリンクに続く通知の受信を停止できます。' + %{resource_title} 参加型スペースに新しいディベート「 %{space_title} 」が作成されました。チェックして貢献: + email_outro: '%{space_title} の参加型スペースをフォローしているため、この通知を受信しました。前のリンクに続く通知の受信を停止できます。' email_subject: '%{resource_title}に新しいディベート " %{space_title}"' notification_title: %{resource_title} のディベートは %{space_title} に作成されました。 user_followers: diff --git a/decidim-elections/config/locales/ja.yml b/decidim-elections/config/locales/ja.yml index 1546bec2e61ed..7eb6d1fb1d821 100644 --- a/decidim-elections/config/locales/ja.yml +++ b/decidim-elections/config/locales/ja.yml @@ -582,8 +582,10 @@ ja: votings: polling_officers: polling_station_assigned: + email_intro: "あなたは %{resource_title}の投票において、投票所 %{polling_station_name} の%{role} がアサインされました。\nあなたは投票委員ゾーンで投票所を管理できます." email_outro: '%{polling_station_name} の%{role} として割り当てられているため、この通知を受け取りました。' email_subject: あなたは投票所%{polling_station_name} の %{role} です。 + notification_title: あなたは %{resource_title}の投票において、投票所 %{polling_station_name} の%{role} です。 help: participatory_spaces: votings: @@ -758,6 +760,7 @@ ja: update: 更新 form: select_a_voting_type: 投票方式を選択してください + slug_help: 'URLスラグは、この投票を指すURLを生成するために使用されます。 使用できるのはアルファベット、数字、ダッシュのみで、アルファベットから始める必要があります。例: %{url}' title: タイトル voting_type: hybrid: ハイブリッド @@ -770,6 +773,9 @@ ja: success: 投票が正常に公開されました unpublish: success: 投票を非公開にしました + update: + invalid: 投票の更新中に問題が発生しました + success: 投票が正常に更新されました admin_log: voting: create: "%{user_name} が %{resource_name} の投票を作成しました" @@ -789,12 +795,15 @@ ja: highlighted_votings: active_votings: アクティブな投票 see_all_votings: すべての投票を表示 + votings_button_title: すべての投票を表示する投票ページへのリンク polling_officer_zone: + menu: + polling_officer_zone: 投票委員ゾーン polling_officers: show: actions: count_votes: 投票箱の投票数をカウント - identify_person: 本人の特定と検証を行う + identify_person: 本人確認と検証を行う polling_officer_role_description: あなたは、このプラットフォームで行われるいくつかの選挙で、投票所の責任者(長またはマネージャー) として行動するように割り当てられています。 polling_stations: list: diff --git a/decidim-forms/config/locales/ja.yml b/decidim-forms/config/locales/ja.yml index 3c5cfd91ee96d..14dbc57368cb7 100644 --- a/decidim-forms/config/locales/ja.yml +++ b/decidim-forms/config/locales/ja.yml @@ -9,7 +9,7 @@ ja: max_choices: 選択肢の最大数 question_type: タイプ questionnaire_question: - mandatory: Mandatory + mandatory: 必須 max_characters: 文字数制限 (制限がない場合は0にしてください) errors: models: diff --git a/decidim-initiatives/config/locales/ja.yml b/decidim-initiatives/config/locales/ja.yml index 77af63b5e2595..118c6658074dc 100644 --- a/decidim-initiatives/config/locales/ja.yml +++ b/decidim-initiatives/config/locales/ja.yml @@ -19,7 +19,7 @@ ja: initiatives_committee_member: user: 委員会メンバー initiatives_type: - area_enabled: 作成者が取り組みの領域を選択できるようにする + area_enabled: 作成者がイニシアチブの領域を選択できるようにする attachments_enabled: 添付ファイルを有効化 banner_image: バナー画像 child_scope_threshold_enabled: 下層スコープの署名を有効にする @@ -30,7 +30,7 @@ ja: extra_fields_legal_information: 個人データの収集に関する法的情報 minimum_committee_members: 委員の最小数 online_signature_enabled: オンライン署名は有効です - only_global_scope_enabled: グローバルスコープの取り組みの作成のみを許可する + only_global_scope_enabled: グローバルスコープのイニシアチブの作成のみを許可する promoting_committee_enabled: 推進委員会を有効にする title: タイトル undo_online_signatures_enabled: 参加者がオンライン署名を取り消すことを有効にする @@ -55,7 +55,7 @@ ja: activerecord: models: decidim/initiative: - other: 取り組み + other: イニシアチブ decidim/initiative_comittee: other: Comittes decidim/initiative_vote: @@ -63,7 +63,7 @@ ja: decidim: admin: actions: - new_initiative_type: 新しい取り組み種別 + new_initiative_type: 新しいイニシアチブ種別 filters: initiatives: decidim_area_id_eq: @@ -83,7 +83,7 @@ ja: title_or_description_or_id_string_or_author_name_or_author_nickname_cont: '%{collection} をタイトル、説明、ID、または著者名で検索します。' menu: initiatives: イニシアチブ - initiatives_types: 取り組み種別 + initiatives_types: イニシアチブ種別 models: initiatives: fields: @@ -207,7 +207,7 @@ ja: initiatives: イニシアチブ initiatives: edit: - accept: 取り組みを承認する + accept: イニシアチブを承認する confirm: よろしいですか? confirm_send_to_technical_validation: 本当によろしいですか? discard: イニシアチブを破棄する @@ -267,11 +267,11 @@ ja: form: authorizations: 認証設定 child_scope_threshold_enabled_help: 'この設定では、対面での署名収集をサポートせず、サブスコープの署名フラグを有効にし、スコープとユーザーを関連付ける承認ハンドラと連携します。オーソリゼーションの設定で、下記のオーソリゼーションを必ず選択してください。これが機能するためには、1つのスコープ - N個のサブスコープというように、階層的に構成されている必要があります。この設定がどのように機能するかについては、このリンクを参照してください。' - only_global_scope_enabled_help: '「子スコープ署名」を有効にし、グローバルスコープを親スコープとして設定する場合、このフラグをチェックします。 これを有効にすると、取り組み作成ウィザードで取り組みタイプの選択がスキップされます。 この設定の仕組みについての詳細は、この リンク を参照してください。' + only_global_scope_enabled_help: '「子スコープ署名」を有効にし、グローバルスコープを親スコープとして設定する場合、このフラグをチェックします。 これを有効にすると、イニシアチブ作成ウィザードでイニシアチブ種別の選択がスキップされます。 この設定の仕組みについての詳細は、この リンク を参照してください。' options: オプション title: 一般情報 initiative_type_scopes: - title: イニシアチブの種別のスコープ + title: イニシアチブ種別のスコープ new: create: 作成 title: 新しいイニシアチブ種別 @@ -346,7 +346,7 @@ ja: more_information: "(詳細)" promotal_committee: back: 戻る - individual_help_text: この種類のイニシアチブでは、少なくとも%{committee_size} のメンバー(証人) で構成される推進委員会が必要です。以下のリンクを、この取り組みに参加している他の人々と共有する必要があります。あなたの連絡先がこのリンクを受け取ったら、指示された手順に従う必要があります。 + individual_help_text: この種類のイニシアチブでは、少なくとも%{committee_size} のメンバー(証人) で構成される推進委員会が必要です。以下のリンクを、このイニシアチブに参加している他の人々と共有する必要があります。あなたの連絡先がこのリンクを受け取ったら、指示された手順に従う必要があります。 more_information: "(詳細)" select_initiative_type: back: 戻る @@ -428,7 +428,7 @@ ja: personal_data: invalid: 個人データは、承認のために提供されたデータと一致しません。 sms_code: - invalid: 認証コードが私たちのものと一致しません。SMSを送信したことを再確認してください。 + invalid: 確認コードが私たちのものと一致しません。SMSを送信したことを再確認してください。 sms_phone: invalid: 電話番号が無効または承認待ちです。認証を確認してください。 initiatives: @@ -478,8 +478,8 @@ ja: orders: label: 'イニシアチブの並べ替え:' most_commented: コメントが多い順 - most_voted: 最も署名されたもの - random: Random + most_voted: 署名されている順 + random: ランダム recent: 直近のもの recently_published: 直近に公開 print: diff --git a/decidim-meetings/config/locales/ja.yml b/decidim-meetings/config/locales/ja.yml index f09f698236891..fab0f393c321f 100644 --- a/decidim-meetings/config/locales/ja.yml +++ b/decidim-meetings/config/locales/ja.yml @@ -220,7 +220,7 @@ ja: existing_user: 既存の参加者 invite: 招待 invite_explanation: 参加者は、ミーティングや組織にも招待されます。 - non_user: 非既存の参加者 + non_user: 非参加者 select_user: 参加者を選択 index: filter: @@ -338,7 +338,7 @@ ja: calendar_url: カレンダー URL close_window: ウィンドウを閉じる export_calendar: カレンダーをエクスポート - conference_venues: ミーティング会場 + conference_venues: カンファレンス会場 content_blocks: upcoming_events: name: 今後の予定 @@ -352,7 +352,7 @@ ja: meetings: ミーティング past: 過去 search: 検索 - space_type: 参加者のスペース + space_type: 参加型スペース upcoming: 近日公開 last_activity: meeting_updated_at_html: "ミーティングが %{link} に更新されました" @@ -507,7 +507,7 @@ ja: online: オンライン types: private_meeting: プライベートミーティング - transparent: 透明度 + transparent: 透明性 versions: back_to_resource: ミーティングに戻る metrics: diff --git a/decidim-participatory_processes/config/locales/it.yml b/decidim-participatory_processes/config/locales/it.yml index 51e42640737cc..b62ab0db37fe6 100644 --- a/decidim-participatory_processes/config/locales/it.yml +++ b/decidim-participatory_processes/config/locales/it.yml @@ -34,7 +34,7 @@ it: subtitle: Sottotitolo target: Chi partecipa title: Titolo - weight: Peso + weight: Ordinamento nella barra dei componenti participatory_process_group: description: Descrizione developer_group: Gruppo promotore @@ -459,14 +459,14 @@ it: meetings_count: Eventi no_stats: Non ci sono ancora statistiche. orders_count: Voti - pages_count: Pagine + pages_count: Pagine di testo participants_count: Partecipanti processes_count: Processi projects_count: Progetti proposals_count: Proposte results_count: Risultati supports_count: Voti - surveys_count: indagini + surveys_count: Questionari users_count: Partecipanti layouts: decidim: diff --git a/decidim-participatory_processes/config/locales/ja.yml b/decidim-participatory_processes/config/locales/ja.yml index 2f8d8618b5630..0f73927767c5a 100644 --- a/decidim-participatory_processes/config/locales/ja.yml +++ b/decidim-participatory_processes/config/locales/ja.yml @@ -84,7 +84,7 @@ ja: configure: 設定 confirm_destroy: 削除の確認 destroy: 削除 - duplicate: Duplicate + duplicate: 複製 edit: 編集 filter: all_processes: すべての参加型プロセスを表示 @@ -142,9 +142,9 @@ ja: name: 参加型プロセス管理者 roles: admin: 管理者 - collaborator: 共同編集者 + collaborator: コラボレーター moderator: モデレーター - valuator: Valuator + valuator: 評価者 user: fields: invitation_accepted_at: 招待が承認されました diff --git a/decidim-proposals/config/locales/it.yml b/decidim-proposals/config/locales/it.yml index 18d6df8e169b1..2a298ee1bb719 100644 --- a/decidim-proposals/config/locales/it.yml +++ b/decidim-proposals/config/locales/it.yml @@ -120,7 +120,7 @@ it: name: Proposte settings: global: - allow_card_image: Consenti l'immagine della scheda + allow_card_image: Abilita l'immagine di copertina per le proposte amendments_enabled: Emendamenti abilitati amendments_enabled_help: Se attivo, configura le caratteristiche di emendamento per ogni passo. amendments_wizard_help_text: Creazione guidata emendamenti @@ -350,7 +350,7 @@ it: actions: answer_proposal: Proposta di Risposta edit_proposal: Modifica proposta - import: Importa da un altro componente + import: Importa da un altro componente proposte new: Nuova proposta participatory_texts: Testi partecipativi show: Mostra proposta diff --git a/decidim-proposals/config/locales/ja.yml b/decidim-proposals/config/locales/ja.yml index 45996226cdf50..38741651f8af9 100644 --- a/decidim-proposals/config/locales/ja.yml +++ b/decidim-proposals/config/locales/ja.yml @@ -38,7 +38,7 @@ ja: keep_authors: オリジナルの作者を保持 valuation_assignment: admin_log: - valuator_role_id: バリュエーター名 + valuator_role_id: 評価者名 errors: models: participatory_text: @@ -442,7 +442,7 @@ ja: split_button: 分割 title: 提案 unassign_from_valuator: 評価者からの割り当てを解除 - unassign_from_valuator_button: アサインを解除 + unassign_from_valuator_button: 割り当ての解除 update: 更新 update_scope_button: スコープの更新 new: @@ -474,7 +474,7 @@ ja: related_meetings: 関連するミーティング remove_assignment: 課題を削除 remove_assignment_confirmation: この提案から評価者を削除してもよろしいですか? - valuators: Valuators + valuators: 評価者 votes_count: サポート数 votes_ranking: サポートによるランキング update_category: @@ -507,11 +507,11 @@ ja: success: 提案を新しいものに分割しました。 valuation_assignments: create: - invalid: バリュエーターに提案を割り当てる際にエラーが発生しました + invalid: 評価者に提案を割り当てる際にエラーが発生しました success: 評価者に割り当てられた提案 delete: - invalid: バリュエーターからの提案の割り当てを解除中にエラーが発生しました - success: プロポーザルから正常に割り当てられていません + invalid: 評価者からの提案の割り当てを解除中にエラーが発生しました + success: 評価者としての提案への割り当てが正常に解除されました admin_log: proposal: answer: "%{user_name} が %{resource_name} スペースで %{space_name} の提案に回答しました" @@ -604,12 +604,12 @@ ja: orders: label: '下書きの注文:' most_contributed: 最も貢献したもの - random: Random + random: ランダム recent: 最近のもの requests: accepted_request: error: コラボレーターとして受け入れることができませんでした。後でもう一度お試しください。 - success: "@%{user} は共同作業者として正常に承認されました" + success: "@%{user} はコラボレーターとして正常に承認されました" access_requested: error: リクエストを完了できませんでした。後でもう一度お試しください。 success: 共同作業のリクエストが正常に送信されました @@ -619,7 +619,7 @@ ja: title: コラボレーションリクエスト rejected_request: error: コラボレーターとして拒否できませんでした。後でもう一度やり直してください。 - success: "@%{user} は共同作業者として正常に拒否されました" + success: "@%{user} はコラボレーターとして正常に拒否されました" show: back: 戻る edit: 共同作業の下書きを編集 @@ -677,8 +677,8 @@ ja: scope: スコープ state: ステータス title: タイトル - valuator: Valuator - valuators: Valuators + valuator: 評価者 + valuators: 評価者 votes: 投票 new: limit_reached: 制限を超えたため、新しい提案を作成することはできません。 @@ -754,8 +754,8 @@ ja: most_commented: コメントが多い順 most_endorsed: 最もオススメされた most_followed: 最もフォローされている - most_voted: 最もサポートされています - random: Random + most_voted: サポートされている順 + random: ランダム recent: 最近のもの with_more_authors: より多くの著者と一緒に participatory_texts: diff --git a/decidim-sortitions/config/locales/ja.yml b/decidim-sortitions/config/locales/ja.yml index 485cb78ce1ab7..cff7c547f462a 100644 --- a/decidim-sortitions/config/locales/ja.yml +++ b/decidim-sortitions/config/locales/ja.yml @@ -8,7 +8,7 @@ ja: dice: ダイロールの結果。 6面ダイをロールするか、1から6まで数字を生成する別のランダムな方法を探します そして目撃者の前にナンバーを入力します。 これにより、品質と結果のランダム性を保証します target_items: 選択される提案の数 (選択した提案のグループをたくさん描画して選択したい提案の数を示します) title: タイトル - witnesses: Witnes + witnesses: 目撃者 models: decidim/sortitions/create_sortition_event: 並べ替え activerecord: @@ -113,7 +113,7 @@ ja: selected_proposals: 選択された提案 orders: label: '並べ替え順:' - random: Random + random: ランダム recent: 最近のもの results_count: count: @@ -125,16 +125,16 @@ ja: cancelled: キャンセルされた並べ替え candidate_proposal_ids: 並べ替え提案の順序とID candidate_proposals_info: '次の提案の中でソートが行われました (%{category_label}), 以下のIDを持つ(選択した提案を太字で) ' - category: from the %{category} category + category: '%{category} カテゴリから' dice_result: "(1)サイコロ結果" introduction: 'このページには、ソート %{reference} の結果が含まれています。このソートにより、%{target_items} の数の結果が、以下に表示されている提案の集合から同確率でランダムに選択されています。結果とともにこのページに表示される情報は、保証を最大化し、結果を再現するために必要なすべての情報を提供します。このソートの品質の鍵となるのは、転がるサイコロ(目撃者による検証) による二重のランダム性と、ランダムな選択を生成するアルゴリズムの入力となるソートの正確な時間です。ソートのタイムシードは、人間がコントロールすることが不可能な正確さ(秒単位) を持っているため、公平な結果を保証するための二重の「コントロール不可能な」入力を提供しています。 ' mathematical_result: 結果 (1) x (2) proposals_selected_by_sortition: 並べ替えによって選択された提案 sortition_reproducibility_details: 並べ替え再現性の詳細 time_seed: "(2) 時間の種" - witnesses: Witnes + witnesses: 目撃者 sortition: - random_seed: ランダムな種 + random_seed: 乱数のシード selected_proposals: other: 提案を選択しました view: 表示 diff --git a/decidim-system/config/locales/ja.yml b/decidim-system/config/locales/ja.yml index c74d6c72ad969..2a6719cdc7aa1 100644 --- a/decidim-system/config/locales/ja.yml +++ b/decidim-system/config/locales/ja.yml @@ -158,7 +158,7 @@ ja: icon_path: アイコンのパス twitter: api_key: API キー - api_secret: API secret + api_secret: APIシークレット smtp_settings: fieldsets: sender: 送信者 diff --git a/decidim-verifications/config/locales/fr.yml b/decidim-verifications/config/locales/fr.yml index db4d590c832a1..6402addc5ad7d 100644 --- a/decidim-verifications/config/locales/fr.yml +++ b/decidim-verifications/config/locales/fr.yml @@ -224,7 +224,7 @@ fr: mark_as_sent: Marquer comme envoyé not_yet_sent: Pas encore envoyé title: Vérifications en cours - username: Nom d'utilisateur + username: Pseudonyme verification_code: Code de vérification postages: create: diff --git a/decidim-verifications/config/locales/ja.yml b/decidim-verifications/config/locales/ja.yml index 5623f06169689..62aa41f4b6f0c 100644 --- a/decidim-verifications/config/locales/ja.yml +++ b/decidim-verifications/config/locales/ja.yml @@ -19,10 +19,10 @@ ja: postal_letter_address: full_address: フルアドレス postal_letter_confirmation: - verification_code: 認証コード + verification_code: 確認コード postal_letter_postage: full_address: フルアドレス - verification_code: 認証コード + verification_code: 確認コード decidim: admin: menu: @@ -58,23 +58,23 @@ ja: - はっきりと情報を見ることができない、またはそれを検証することができない場合。 リクエストを拒否すると、ユーザーはそれを修正することができます。 postal_letter: help: - - 参加者は、確認コードを自分のアドレスに送信するように要求します。 - - 確認コードを入力して手紙を彼らのアドレスに送信します。 - - 手紙を送信済みとしてマークします。 - - 手紙を送信済みとしてマークすると、参加者はコードを紹介して確認することができます。 + - 参加者は、確認コードを自分の住所に送信するように依頼します。 + - 確認コードが記載された郵便物を参加者の住所に送信します。 + - 郵便物を送信済みとしてマークします。 + - 郵便物を送信済みとしてマークすると、参加者はコードを入力して検証することができます。 csv_census: explanation: 組織センサスを使用して認証を取得する name: 組織の国勢調査 - direct: Direct + direct: ダイレクト help: ヘルプ id_documents: - explanation: 本人確認のため身分証明書をアップロードしてください - name: 本人確認ドキュメント + explanation: 本人確認のため本人確認書類をアップロードしてください + name: 本人確認書類 multistep: 複数ステップ name: 名前 postal_letter: - explanation: 住所を確認するために入力する必要があるコードを記載した郵便手紙をお送りします。 - name: 郵便番号によるコード + explanation: 住所を確認するために入力するコードを記載した郵便物をお送りします。 + name: 郵便物によるコード events: verifications: verify_with_managed_user: @@ -98,8 +98,8 @@ ja: dummy_authorization_handler: 認証ハンドラーの例に対して確認する dummy_authorization_workflow: 認証ワークフローの例に対して確認する id_documents: 本人確認書類をアップロードして認証を取得する - postal_letter: 郵便番号で確認コードを受信して認証する - sms: SMS認証コードを受信して認証を取得する + postal_letter: 郵便物で確認コードを受信して認証する + sms: SMS確認コードを受信して認証を取得する title: 本人確認を行う verify_with_these_options: '本人確認には以下のオプションがあります。' index: @@ -167,7 +167,7 @@ ja: error: 検証が一致しません。再試行するか、参加者が修正できるように検証を拒否してください success: 参加者を確認しました new: - introduce_user_data: 写真のデータを紹介する + introduce_user_data: 写真のデータを入力する reject: 拒否 verify: 確認する offline_confirmations: @@ -176,7 +176,7 @@ ja: success: 参加者を確認しました new: cancel: キャンセル - introduce_user_data: 参加者のメールアドレスと文書データを紹介 + introduce_user_data: 参加者のメールアドレスと文書データを入力 verify: 確認する pending_authorizations: index: @@ -186,7 +186,7 @@ ja: verification_number: '認証 #%{n}' rejections: create: - success: 本人確認が拒否されました。参加者は書類の修正を求められます。 + success: 本人確認が拒否されました。参加者は書類を修正するよう求められます。 authorizations: choose: choose_a_type: '確認方法を選択してください:' @@ -223,24 +223,24 @@ ja: not_yet_sent: 送信されていません title: 現在検証中 username: アカウントID - verification_code: 認証コード + verification_code: 確認コード postages: create: - error: エラーマーキング文字を送信しました - success: Letter successfully marked as sent + error: 郵便物送信済みのマーキング時エラー + success: 郵便物の送信済みにマークされました authorizations: create: error: リクエストに問題がありました - success: ありがとうございます!あなたのアドレスに認証コードを送信します + success: ありがとうございます!あなたのアドレスに確認コードを送信します edit: send: 確認する - title: 受信した認証コードを紹介する - waiting_for_letter: 確認コードを記載した手紙をお送りします。 + title: 受信した確認コードを入力する + waiting_for_letter: 確認コードを記載した郵便物をお送りします。 new: - send: 手紙を送る - title: 認証コードをリクエストする + send: 郵便物を送る + title: 確認コードをリクエストする update: - error: あなたの認証コードが私たちのものと一致しません。私たちがあなたに送った手紙を再確認してください。 + error: 入力された確認コードが郵送したものと一致しません。お送りした郵送物を再確認してください。 success: おめでとうございます。正常に検証されました sms: authorizations: @@ -248,18 +248,18 @@ ja: error: リクエストに問題がありました success: ありがとうございます!あなたの携帯電話にSMSを送信しました。 destroy: - success: 認証コードが正常にリセットされました。電話番号を再入力してください。 + success: 確認コードが正常にリセットされました。電話番号を再入力してください。 edit: confirm_destroy: 確認コードをリセットしてもよろしいですか? - destroy: 認証コードをリセット - resend: 認証コードが届かなかった? + destroy: 確認コードをリセット + resend: 確認コードを受け取っていませんか? send: 確認する - title: 受信した認証コードを紹介する + title: 受信した確認コードを入力する new: send: SMSを送信 - title: 認証コードをリクエストする + title: 確認コードをリクエストする update: - error: 認証コードが私たちのものと一致しません。SMSを送信したことを再確認してください。 + error: 確認コードが私たちのものと一致しません。SMSを送信したことを再確認してください。 success: おめでとうございます。認証に成功しました。 errors: messages: From b8432eb9b60223a6a5a54a3b44248a891fc7a1d1 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Tue, 21 Dec 2021 09:22:55 +0100 Subject: [PATCH 68/71] New Crowdin updates (#8615) --- decidim-accountability/config/locales/fr.yml | 6 ++--- .../config/locales/pt-BR.yml | 2 +- decidim-admin/config/locales/pt-BR.yml | 2 +- decidim-assemblies/config/locales/fr.yml | 2 +- decidim-assemblies/config/locales/pt-BR.yml | 2 +- decidim-blogs/config/locales/pt-BR.yml | 2 +- decidim-budgets/config/locales/pt-BR.yml | 2 +- decidim-comments/config/locales/pt-BR.yml | 2 +- decidim-conferences/config/locales/pt-BR.yml | 2 +- .../config/locales/pt-BR.yml | 2 +- decidim-core/config/locales/ja.yml | 2 +- decidim-core/config/locales/pl.yml | 4 ++-- decidim-core/config/locales/pt-BR.yml | 2 +- decidim-debates/config/locales/pt-BR.yml | 2 +- decidim-dev/config/locales/pt-BR.yml | 2 +- decidim-elections/config/locales/fr-CA.yml | 10 ++++++++ decidim-elections/config/locales/fr.yml | 10 ++++++++ decidim-elections/config/locales/pt-BR.yml | 2 +- decidim-forms/config/locales/pt-BR.yml | 2 +- decidim-initiatives/config/locales/pt-BR.yml | 2 +- decidim-meetings/config/locales/fr.yml | 6 ++--- decidim-meetings/config/locales/pt-BR.yml | 2 +- decidim-pages/config/locales/pt-BR.yml | 2 +- .../config/locales/fi.yml | 2 +- .../config/locales/fr.yml | 24 +++++++++---------- .../config/locales/pt-BR.yml | 2 +- decidim-proposals/config/locales/pt-BR.yml | 2 +- decidim-sortitions/config/locales/pt-BR.yml | 2 +- decidim-surveys/config/locales/fr.yml | 6 ++--- decidim-surveys/config/locales/pt-BR.yml | 2 +- decidim-system/config/locales/pt-BR.yml | 2 +- decidim-templates/config/locales/pt-BR.yml | 2 +- .../config/locales/pt-BR.yml | 2 +- 33 files changed, 69 insertions(+), 49 deletions(-) diff --git a/decidim-accountability/config/locales/fr.yml b/decidim-accountability/config/locales/fr.yml index a4a238dff1b2c..9e1eca4ca7d3a 100644 --- a/decidim-accountability/config/locales/fr.yml +++ b/decidim-accountability/config/locales/fr.yml @@ -4,7 +4,7 @@ fr: result: decidim_accountability_status_id: Progression decidim_category_id: Catégorie - decidim_scope_id: Périmètre d'application + decidim_scope_id: Secteur description: Description end_date: Date de fin progress: Avancement @@ -38,7 +38,7 @@ fr: destroy: Supprimer edit: Modifier import_csv: Importer un fichier CSV - new: Nouveau %{name} + new: Nouvelle %{name} preview: Aperçu timeline_entries: Évolution de la réalisation title: Actions @@ -170,7 +170,7 @@ fr: other: "%{count} réalisations" filters: all: Tous - scopes: Périmètre d'application + scopes: Secteurs home: categories_label: Catégories subcategories_label: Sous-catégories diff --git a/decidim-accountability/config/locales/pt-BR.yml b/decidim-accountability/config/locales/pt-BR.yml index 73a5ceed84fc2..2c527c570d317 100644 --- a/decidim-accountability/config/locales/pt-BR.yml +++ b/decidim-accountability/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: result: diff --git a/decidim-admin/config/locales/pt-BR.yml b/decidim-admin/config/locales/pt-BR.yml index af7f4ca1b714a..17d7b6e1e17f9 100644 --- a/decidim-admin/config/locales/pt-BR.yml +++ b/decidim-admin/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: area: diff --git a/decidim-assemblies/config/locales/fr.yml b/decidim-assemblies/config/locales/fr.yml index 430a8d30e9230..36c01507f3a1b 100644 --- a/decidim-assemblies/config/locales/fr.yml +++ b/decidim-assemblies/config/locales/fr.yml @@ -336,7 +336,7 @@ fr: consultative_advisory: Consultatif executive: Exécutif government: Gouvernement - help: 'Spectacle:' + help: 'Afficher:' others: Autres participatory: Participatif working_group: Groupe de travail diff --git a/decidim-assemblies/config/locales/pt-BR.yml b/decidim-assemblies/config/locales/pt-BR.yml index e229a3200d05c..3388e5eeb3216 100644 --- a/decidim-assemblies/config/locales/pt-BR.yml +++ b/decidim-assemblies/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: assemblies_setting: diff --git a/decidim-blogs/config/locales/pt-BR.yml b/decidim-blogs/config/locales/pt-BR.yml index 531c1d6ba0ae1..d6f4d382d8fed 100644 --- a/decidim-blogs/config/locales/pt-BR.yml +++ b/decidim-blogs/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: models: decidim/blogs/create_post_event: Nova postagem no blog diff --git a/decidim-budgets/config/locales/pt-BR.yml b/decidim-budgets/config/locales/pt-BR.yml index c3193df4cd89e..50d66fbffeb53 100644 --- a/decidim-budgets/config/locales/pt-BR.yml +++ b/decidim-budgets/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: budget: diff --git a/decidim-comments/config/locales/pt-BR.yml b/decidim-comments/config/locales/pt-BR.yml index dda84599796dd..e0e59af53d008 100644 --- a/decidim-comments/config/locales/pt-BR.yml +++ b/decidim-comments/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: models: decidim/comments/comment_by_followed_user_event: Comente diff --git a/decidim-conferences/config/locales/pt-BR.yml b/decidim-conferences/config/locales/pt-BR.yml index 82aafffdb7a32..bcdd015843b3b 100644 --- a/decidim-conferences/config/locales/pt-BR.yml +++ b/decidim-conferences/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: conference: diff --git a/decidim-consultations/config/locales/pt-BR.yml b/decidim-consultations/config/locales/pt-BR.yml index a4422f31701f9..e17065620e1ce 100644 --- a/decidim-consultations/config/locales/pt-BR.yml +++ b/decidim-consultations/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: consultation: diff --git a/decidim-core/config/locales/ja.yml b/decidim-core/config/locales/ja.yml index f1fbe41e64c46..93b5d8850b85a 100644 --- a/decidim-core/config/locales/ja.yml +++ b/decidim-core/config/locales/ja.yml @@ -40,7 +40,7 @@ ja: attributes: decidim/user: current_password: 現在のパスワード - email: Eメールアドレス + email: メールアドレス name: アカウントID password: パスワード password_confirmation: パスワードの確認 diff --git a/decidim-core/config/locales/pl.yml b/decidim-core/config/locales/pl.yml index 2c8804da07b89..667113d54c1a7 100644 --- a/decidim-core/config/locales/pl.yml +++ b/decidim-core/config/locales/pl.yml @@ -463,7 +463,7 @@ pl: newsletter: Chcę otrzymywać okazjonalne newslettery z istotnymi informacjami newsletter_title: Zgoda na subskrybcję nickname_help: Twój pseudonim w %{organization}. Może zawierać tylko litery, cyfry, '-' i '_'. - password_help: "Minimalna liczba znaków: %{minimun_characters}; nie może być zbyt powszechny (np. 123456) i musi różnić się od Twojego pseudonimu i adresu e-mail." + password_help: "Minimalna liczba znaków: %{minimun_characters}; nie może być zbyt powszechne (np. 123456) i musi różnić się od Twojego pseudonimu i adresu e-mail." sign_in: Zaloguj się sign_up: Zarejestruj się sign_up_as: @@ -1479,7 +1479,7 @@ pl: change_your_password: Zmień swoje hasło confirm_new_password: Potwierdź nowe hasło new_password: Nowe hasło - password_help: "Minimalna liczba znaków: %{minimun_characters}; nie może być zbyt powszechny (np. 123456) i musi różnić się od Twojego pseudonimu i adresu e-mail." + password_help: "Minimalna liczba znaków: %{minimun_characters}; nie może być zbyt powszechne (np. 123456) i musi różnić się od Twojego pseudonimu i adresu e-mail." new: forgot_your_password: Zapomniałeś hasła? send_me_reset_password_instructions: Wyślij mi instrukcje resetowania hasła diff --git a/decidim-core/config/locales/pt-BR.yml b/decidim-core/config/locales/pt-BR.yml index 5bae784b74fe3..fa141557b3873 100644 --- a/decidim-core/config/locales/pt-BR.yml +++ b/decidim-core/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: account: diff --git a/decidim-debates/config/locales/pt-BR.yml b/decidim-debates/config/locales/pt-BR.yml index 5cd013e80345e..0c72417eb8156 100644 --- a/decidim-debates/config/locales/pt-BR.yml +++ b/decidim-debates/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: debate: diff --git a/decidim-dev/config/locales/pt-BR.yml b/decidim-dev/config/locales/pt-BR.yml index 83a0655a6e747..abade94cf0917 100644 --- a/decidim-dev/config/locales/pt-BR.yml +++ b/decidim-dev/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: dummy_resource: diff --git a/decidim-elections/config/locales/fr-CA.yml b/decidim-elections/config/locales/fr-CA.yml index b473624d1c066..c0502799c9fdf 100644 --- a/decidim-elections/config/locales/fr-CA.yml +++ b/decidim-elections/config/locales/fr-CA.yml @@ -616,6 +616,16 @@ fr-CA: promoted: Mise en avant published: Publié title: Titre + monitoring_committee_members: + form: + select_user: Recherche par nom, email ou pseudo + user_type: Type de participant + polling_officers: + form: + existing_user: Participant existant + non_user: Inviter un nouveau participant + select_user: Recherche par nom, email ou pseudo + user_type: Type du participant polling_stations: create: invalid: Une erreur est survenue lors de la création de ce bureau de vote diff --git a/decidim-elections/config/locales/fr.yml b/decidim-elections/config/locales/fr.yml index 297900a5b8225..3fcf886b23977 100644 --- a/decidim-elections/config/locales/fr.yml +++ b/decidim-elections/config/locales/fr.yml @@ -616,6 +616,16 @@ fr: promoted: Mise en avant published: Publié title: Titre + monitoring_committee_members: + form: + select_user: Recherche par nom, email ou pseudo + user_type: Type de participant + polling_officers: + form: + existing_user: Participant existant + non_user: Inviter un nouveau participant + select_user: Recherche par nom, email ou pseudo + user_type: Type du participant polling_stations: create: invalid: Une erreur est survenue lors de la création de ce bureau de vote diff --git a/decidim-elections/config/locales/pt-BR.yml b/decidim-elections/config/locales/pt-BR.yml index 7b38731480c77..42aad9089cb17 100644 --- a/decidim-elections/config/locales/pt-BR.yml +++ b/decidim-elections/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: answer: diff --git a/decidim-forms/config/locales/pt-BR.yml b/decidim-forms/config/locales/pt-BR.yml index e726bb3ffa536..bf6d59a0cc752 100644 --- a/decidim-forms/config/locales/pt-BR.yml +++ b/decidim-forms/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: answer: diff --git a/decidim-initiatives/config/locales/pt-BR.yml b/decidim-initiatives/config/locales/pt-BR.yml index d472c4f239a6d..99089df83e84f 100644 --- a/decidim-initiatives/config/locales/pt-BR.yml +++ b/decidim-initiatives/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: initiative: diff --git a/decidim-meetings/config/locales/fr.yml b/decidim-meetings/config/locales/fr.yml index 17d67cc7bc51b..b1519621b979a 100644 --- a/decidim-meetings/config/locales/fr.yml +++ b/decidim-meetings/config/locales/fr.yml @@ -126,7 +126,7 @@ fr: email_subject: Les places réservées pour la rencontre "%{resource_title}" dépassent %{percentage}% notification_title: Les places réservées pour la rencontre %{resource_title} dépassent %{percentage}%. meeting_updated: - email_intro: 'La rencontre "%{resource_title}" a été mise à jour. Vous pouvez accéder à la nouvelle version depuis sa page :' + email_intro: 'La rencontre "%{resource_title}" a été mise à jour. Vous pouvez accéder aux modifications sur la page de la rencontre :' email_outro: Vous avez reçu cette notification, car vous suivez la rencontre "%{resource_title}". Vous pouvez arrêter de la suivre à partir du lien précédent. email_subject: La rencontre "%{resource_title}" a été mise à jour notification_title: La rencontre %{resource_title} a été mise à jour. @@ -171,7 +171,7 @@ fr: one: 'La rencontre ne peut être supprimée car %{count} proposition y est rattachée:' other: 'La rencontre ne peut être supprimée car %{count} propositions y sont rattachées:' minutes: Compte rendu - new: Nouvelle réunion + new: Nouvelle rencontre preview: Aperçu registrations: Inscriptions title: Actions @@ -362,7 +362,7 @@ fr: upcoming: À venir last_activity: meeting_updated_at_html: "Débat mis à jour à %{link}" - new_meeting_at_html: "Nouvelle réunion à %{link}" + new_meeting_at_html: "Nouvelle rencontre dans %{link}" mailer: invite_join_meeting_mailer: invite: diff --git a/decidim-meetings/config/locales/pt-BR.yml b/decidim-meetings/config/locales/pt-BR.yml index 3635af9caa2ee..f9d7619c21e00 100644 --- a/decidim-meetings/config/locales/pt-BR.yml +++ b/decidim-meetings/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: agenda: diff --git a/decidim-pages/config/locales/pt-BR.yml b/decidim-pages/config/locales/pt-BR.yml index 00ebe5d0c4558..0335c187ea8dc 100644 --- a/decidim-pages/config/locales/pt-BR.yml +++ b/decidim-pages/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activerecord: models: decidim/pages/page: diff --git a/decidim-participatory_processes/config/locales/fi.yml b/decidim-participatory_processes/config/locales/fi.yml index 646b5d7b64455..626d5e3cfd56e 100644 --- a/decidim-participatory_processes/config/locales/fi.yml +++ b/decidim-participatory_processes/config/locales/fi.yml @@ -418,7 +418,7 @@ fi: other: "%{count} prosessia" past: one: 1 aikaisempi prosessi - other: "%{count} aikaisempaa prosesseja" + other: "%{count} aikaisempaa prosessia" upcoming: one: 1 tuleva prosessi other: "%{count} tulevaa prosessia" diff --git a/decidim-participatory_processes/config/locales/fr.yml b/decidim-participatory_processes/config/locales/fr.yml index 6c100cfc72ce3..bfc1c3a80d7b8 100644 --- a/decidim-participatory_processes/config/locales/fr.yml +++ b/decidim-participatory_processes/config/locales/fr.yml @@ -72,8 +72,8 @@ fr: activerecord: models: decidim/participatory_process: - one: Processus participatif - other: Processus participatifs + one: Concertation + other: Concertations decidim/participatory_process_group: one: Groupe de concertations other: Groupes de concertations @@ -226,13 +226,13 @@ fr: destroy: success: Utilisateur supprimé avec succès de cette concertation. edit: - title: Mettre à jour l'administrateur du processus participatif + title: Mettre à jour l'administrateur de la concertation update: Mettre à jour index: process_admins_title: Administrateurs de la concertation new: create: Créer - title: Nouvel administrateur du processus participatif + title: Nouvel administrateur de la concertation update: error: Une erreur s'est produite lors de la mise à jour d'un utilisateur pour cette concertation. success: L'utilisateur a été mis à jour avec succès pour cette concertation. @@ -289,10 +289,10 @@ fr: events: participatory_process: role_assigned: - email_intro: Vous avez été assigné en tant que %{role} pour le processus participatif "%{resource_title}". - email_outro: Vous avez reçu cette notification parce que vous êtes %{role} du processus participatif "%{resource_title}". + email_intro: Vous avez été assigné en tant que %{role} pour la concertation "%{resource_title}". + email_outro: Vous avez reçu cette notification parce que vous êtes %{role} de la concertation "%{resource_title}". email_subject: Vous avez été assigné comme %{role} pour "%{resource_title}". - notification_title: Vous avez été assigné en tant que %{role} pour le processus participatif %{resource_title}. + notification_title: Vous avez été assigné en tant que %{role} pour la concertation %{resource_title}. step_activated: email_intro: 'L''étape %{resource_title} vient d''être activée pour %{participatory_space_title}. Vous pouvez désormais la consulter sur cette page :' email_outro: Vous venez de recevoir cette notification car vous suivez %{participatory_space_title}. Vous pouvez à tout moment arrêter de recevoir ces notifications en suivant le lien précédent. @@ -306,8 +306,8 @@ fr: help: participatory_spaces: participatory_processes: - contextual: "

    Un processus de participation est une séquence d'activités de participation (par exemple , premier remplir un sondage, puis faire des propositions, les discuter en face-à-face ou virtuelles, et enfin les hiérarchiser) dans le but de définir et de prendre une décision sur un sujet spécifique.

    Exemples de processus participatifs: un processus d’élection des membres du comité (où les candidatures sont d'abord présentées, puis débattues et finalement une candidature est choisie), les budgets participatifs (où les propositions sont faites, évaluées économiquement et votées avec l'argent disponible), un processus de planification stratégique, la rédaction collaborative d'un règlement ou d'une norme, la conception d'un espace urbain ou la production d'un plan de politique publique.

    \n" - page: "

    Un processus de participation est une séquence d'activités de participation (par exemple , premier remplir un sondage, puis faire des propositions, les discuter en face-à-face ou virtuelles, et enfin les hiérarchiser) dans le but de définir et de prendre une décision sur un sujet spécifique.

    Exemples de processus participatifs: un processus d’élection des membres du comité (où les candidatures sont d'abord présentées, puis débattues et finalement une candidature est choisie), les budgets participatifs (où les propositions sont faites, évaluées économiquement et votées avec l'argent disponible), un processus de planification stratégique, la rédaction collaborative d'un règlement ou d'une norme, la conception d'un espace urbain ou la production d'un plan de politique publique.

    \n" + contextual: "

    Une concertation est une séquence d'activités de participation (par exemple remplir un sondage, puis faire des propositions, les discuter en face-à-face ou en ligne, et enfin les hiérarchiser) dans le but de définir et de prendre une décision sur un sujet spécifique.

    Exemples de processus participatifs: un processus d’élection des membres du comité (où les candidatures sont d'abord présentées, puis débattues et finalement une candidature est choisie), les budgets participatifs (où les propositions sont faites, évaluées économiquement et votées selon l'argent disponible), un processus de planification stratégique, la rédaction collaborative d'un règlement ou d'une norme, la conception d'un espace urbain ou la production d'un plan de politique publique.

    \n" + page: "

    Une concertation est une séquence d'activités de participation (par exemple remplir un sondage, puis faire des propositions, les discuter en face-à-face ou en ligne, et enfin les hiérarchiser) dans le but de définir et de prendre une décision sur un sujet spécifique.

    Exemples de processus participatifs: un processus d’élection des membres du comité (où les candidatures sont d'abord présentées, puis débattues et finalement une candidature est choisie), les budgets participatifs (où les propositions sont faites, évaluées économiquement et votées selon l'argent disponible), un processus de planification stratégique, la rédaction collaborative d'un règlement ou d'une norme, la conception d'un espace urbain ou la production d'un plan de politique publique.

    \n" title: Qu'est-ce qu'une concertation ? menu: processes: Concertations @@ -427,9 +427,9 @@ fr: no_active_nor_upcoming: Aucune concertation active ni à venir no_active_nor_upcoming_callout: Il n'y a pas de concertations actives ni à venir. Voici une liste des concertations passées. names: - active: Actifs - all: Tous - past: Passés + active: Actives + all: Toutes + past: Passées upcoming: À venir see: Voir index: diff --git a/decidim-participatory_processes/config/locales/pt-BR.yml b/decidim-participatory_processes/config/locales/pt-BR.yml index a5f3309112e7b..c68b927df7f2f 100644 --- a/decidim-participatory_processes/config/locales/pt-BR.yml +++ b/decidim-participatory_processes/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: participatory_process: diff --git a/decidim-proposals/config/locales/pt-BR.yml b/decidim-proposals/config/locales/pt-BR.yml index f130db2cd88c0..f5014645a12a1 100644 --- a/decidim-proposals/config/locales/pt-BR.yml +++ b/decidim-proposals/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: collaborative_draft: diff --git a/decidim-sortitions/config/locales/pt-BR.yml b/decidim-sortitions/config/locales/pt-BR.yml index 4db012bb848af..2228c2342fbb2 100644 --- a/decidim-sortitions/config/locales/pt-BR.yml +++ b/decidim-sortitions/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: sortition: diff --git a/decidim-surveys/config/locales/fr.yml b/decidim-surveys/config/locales/fr.yml index a6d364a6ba934..233dfa0983a65 100644 --- a/decidim-surveys/config/locales/fr.yml +++ b/decidim-surveys/config/locales/fr.yml @@ -37,11 +37,11 @@ fr: survey_closed: email_intro: L'enquête %{resource_title} proposée dans %{participatory_space_title} est maintenant terminée. email_outro: Vous venez de recevoir une notification venant de %{participatory_space_title}. Vous pouvez à tout moment arrêter de recevoir des notifications en suivant le lien précédent. - email_subject: L'enquête de l'espace participatif %{participatory_space_title} est terminée + email_subject: L'enquête de la concertation %{participatory_space_title} est terminée notification_title: L'enquête %{resource_title} ouverte dans %{participatory_space_title} est terminée. survey_opened: - email_intro: 'L''enquête %{resource_title} est désormais ouverte dans l''espace participatif %{participatory_space_title}. Vous pouvez y participer depuis la page suivante :' - email_outro: Vous avez reçu cette notification car vous suivez l'espace participatif %{participatory_space_title}. Vous pouvez arrêter de recevoir ces notifications à partir du lien précédent. + email_intro: 'L''enquête %{resource_title} est désormais ouverte dans la concertation %{participatory_space_title}. Vous pouvez y participer depuis la page suivante :' + email_outro: Vous avez reçu cette notification car vous suivez la concertation %{participatory_space_title}. Vous pouvez arrêter de recevoir ces notifications à partir du lien précédent. email_subject: Une nouvelle enquête a été créée dans %{participatory_space_title} notification_title: 'L''enquête %{resource_title} est ouverte. Vous pouvez y participer en vous rendant sur le lien suivant : %{participatory_space_title}.' metrics: diff --git a/decidim-surveys/config/locales/pt-BR.yml b/decidim-surveys/config/locales/pt-BR.yml index 17bf00ae31496..675d25c60bdfe 100644 --- a/decidim-surveys/config/locales/pt-BR.yml +++ b/decidim-surveys/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: models: decidim/surveys/closed_survey_event: Estudo finalizado diff --git a/decidim-system/config/locales/pt-BR.yml b/decidim-system/config/locales/pt-BR.yml index a2225ba00ac24..bceea89f637f7 100644 --- a/decidim-system/config/locales/pt-BR.yml +++ b/decidim-system/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: oauth_application: diff --git a/decidim-templates/config/locales/pt-BR.yml b/decidim-templates/config/locales/pt-BR.yml index c7024cca3c31f..e383b97eb4e87 100644 --- a/decidim-templates/config/locales/pt-BR.yml +++ b/decidim-templates/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: questionnaire: diff --git a/decidim-verifications/config/locales/pt-BR.yml b/decidim-verifications/config/locales/pt-BR.yml index 8bdd15d44e533..fcb957261262c 100644 --- a/decidim-verifications/config/locales/pt-BR.yml +++ b/decidim-verifications/config/locales/pt-BR.yml @@ -1,4 +1,4 @@ -pt: +pt-BR: activemodel: attributes: config: From 1c93317cb30e761e0c81081458d9a66eda622768 Mon Sep 17 00:00:00 2001 From: decidim-bot Date: Thu, 23 Dec 2021 10:10:14 +0100 Subject: [PATCH 69/71] New Crowdin updates (#8637) --- decidim-accountability/config/locales/val-ES.yml | 1 + decidim-admin/config/locales/val-ES.yml | 1 + decidim-assemblies/config/locales/val-ES.yml | 1 + decidim-blogs/config/locales/val-ES.yml | 1 + decidim-budgets/config/locales/val-ES.yml | 1 + decidim-comments/config/locales/val-ES.yml | 1 + decidim-conferences/config/locales/val-ES.yml | 1 + decidim-consultations/config/locales/val-ES.yml | 1 + decidim-core/config/locales/val-ES.yml | 1 + decidim-debates/config/locales/val-ES.yml | 1 + decidim-dev/config/locales/val-ES.yml | 1 + decidim-elections/config/locales/val-ES.yml | 1 + decidim-forms/config/locales/val-ES.yml | 1 + decidim-initiatives/config/locales/val-ES.yml | 1 + decidim-meetings/config/locales/val-ES.yml | 1 + decidim-pages/config/locales/val-ES.yml | 1 + decidim-participatory_processes/config/locales/val-ES.yml | 1 + decidim-proposals/config/locales/val-ES.yml | 1 + decidim-sortitions/config/locales/val-ES.yml | 1 + decidim-surveys/config/locales/val-ES.yml | 1 + decidim-system/config/locales/val-ES.yml | 1 + decidim-templates/config/locales/val-ES.yml | 1 + decidim-verifications/config/locales/val-ES.yml | 1 + 23 files changed, 23 insertions(+) create mode 100644 decidim-accountability/config/locales/val-ES.yml create mode 100644 decidim-admin/config/locales/val-ES.yml create mode 100644 decidim-assemblies/config/locales/val-ES.yml create mode 100644 decidim-blogs/config/locales/val-ES.yml create mode 100644 decidim-budgets/config/locales/val-ES.yml create mode 100644 decidim-comments/config/locales/val-ES.yml create mode 100644 decidim-conferences/config/locales/val-ES.yml create mode 100644 decidim-consultations/config/locales/val-ES.yml create mode 100644 decidim-core/config/locales/val-ES.yml create mode 100644 decidim-debates/config/locales/val-ES.yml create mode 100644 decidim-dev/config/locales/val-ES.yml create mode 100644 decidim-elections/config/locales/val-ES.yml create mode 100644 decidim-forms/config/locales/val-ES.yml create mode 100644 decidim-initiatives/config/locales/val-ES.yml create mode 100644 decidim-meetings/config/locales/val-ES.yml create mode 100644 decidim-pages/config/locales/val-ES.yml create mode 100644 decidim-participatory_processes/config/locales/val-ES.yml create mode 100644 decidim-proposals/config/locales/val-ES.yml create mode 100644 decidim-sortitions/config/locales/val-ES.yml create mode 100644 decidim-surveys/config/locales/val-ES.yml create mode 100644 decidim-system/config/locales/val-ES.yml create mode 100644 decidim-templates/config/locales/val-ES.yml create mode 100644 decidim-verifications/config/locales/val-ES.yml diff --git a/decidim-accountability/config/locales/val-ES.yml b/decidim-accountability/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-accountability/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-admin/config/locales/val-ES.yml b/decidim-admin/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-admin/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-assemblies/config/locales/val-ES.yml b/decidim-assemblies/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-assemblies/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-blogs/config/locales/val-ES.yml b/decidim-blogs/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-blogs/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-budgets/config/locales/val-ES.yml b/decidim-budgets/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-budgets/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-comments/config/locales/val-ES.yml b/decidim-comments/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-comments/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-conferences/config/locales/val-ES.yml b/decidim-conferences/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-conferences/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-consultations/config/locales/val-ES.yml b/decidim-consultations/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-consultations/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-core/config/locales/val-ES.yml b/decidim-core/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-core/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-debates/config/locales/val-ES.yml b/decidim-debates/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-debates/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-dev/config/locales/val-ES.yml b/decidim-dev/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-dev/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-elections/config/locales/val-ES.yml b/decidim-elections/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-elections/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-forms/config/locales/val-ES.yml b/decidim-forms/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-forms/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-initiatives/config/locales/val-ES.yml b/decidim-initiatives/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-initiatives/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-meetings/config/locales/val-ES.yml b/decidim-meetings/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-meetings/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-pages/config/locales/val-ES.yml b/decidim-pages/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-pages/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-participatory_processes/config/locales/val-ES.yml b/decidim-participatory_processes/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-participatory_processes/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-proposals/config/locales/val-ES.yml b/decidim-proposals/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-proposals/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-sortitions/config/locales/val-ES.yml b/decidim-sortitions/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-sortitions/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-surveys/config/locales/val-ES.yml b/decidim-surveys/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-surveys/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-system/config/locales/val-ES.yml b/decidim-system/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-system/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-templates/config/locales/val-ES.yml b/decidim-templates/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-templates/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: diff --git a/decidim-verifications/config/locales/val-ES.yml b/decidim-verifications/config/locales/val-ES.yml new file mode 100644 index 0000000000000..fa70518d04b9b --- /dev/null +++ b/decidim-verifications/config/locales/val-ES.yml @@ -0,0 +1 @@ +val: From 83b4a968592c78710e2bcf19750b0811640de7fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Thu, 17 Mar 2022 19:47:03 +0100 Subject: [PATCH 70/71] fix machintranslation detecionts on amendments --- decidim-core/app/cells/decidim/diff_cell.rb | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/decidim-core/app/cells/decidim/diff_cell.rb b/decidim-core/app/cells/decidim/diff_cell.rb index 7ebcb26f799ec..1e623bbc259d0 100644 --- a/decidim-core/app/cells/decidim/diff_cell.rb +++ b/decidim-core/app/cells/decidim/diff_cell.rb @@ -65,9 +65,15 @@ def diff_data def available_locales_for(data) locales = { I18n.locale.to_s => true } - locales.merge!(data[:old_value].transform_values(&:present?)) if data[:old_value].is_a?(Hash) - locales.merge!(data[:new_value].transform_values(&:present?)) if data[:new_value].is_a?(Hash) + locales.merge! valid_locale_keys(data[:old_value]) if data[:old_value].is_a?(Hash) + locales.merge! valid_locale_keys(data[:new_value]) if data[:new_value].is_a?(Hash) + locales.filter { |k| I18n.locale_available?(k) } + end + + def valid_locale_keys(input) + locales = input.transform_values(&:present?) + locales.merge!(input["machine_translations"].transform_values(&:present?)) if input["machine_translations"].is_a?(Hash) locales end @@ -100,13 +106,19 @@ def output_split_diff(data, direction, format, locale) end def value_from_locale(value, format, locale) - text = value.is_a?(Hash) ? value[locale].dup : value.dup + text = value.is_a?(Hash) ? find_locale_value(value, locale).dup : value.dup return text.to_s if format == :html || text.blank? convert_to_text(text, 100) end + def find_locale_value(input, locale) + return input[locale] if input.has_key?(locale) + + input.dig("machine_translations", locale) + end + # Gives the option to view HTML unescaped for better user experience. # Official means created from admin (where rich text editor is enabled). def show_html_view_dropdown? From 5312bb946f5440edb9746421c0b95f95873bc485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Verg=C3=A9s?= Date: Mon, 21 Mar 2022 13:14:35 +0100 Subject: [PATCH 71/71] do not apply diff for machine translations against official translations --- decidim-core/app/cells/decidim/diff_cell.rb | 26 ++++++++++++------- .../lib/decidim/translatable_attributes.rb | 1 - 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/decidim-core/app/cells/decidim/diff_cell.rb b/decidim-core/app/cells/decidim/diff_cell.rb index 1e623bbc259d0..d66c07a41c8a9 100644 --- a/decidim-core/app/cells/decidim/diff_cell.rb +++ b/decidim-core/app/cells/decidim/diff_cell.rb @@ -83,8 +83,8 @@ def valid_locale_keys(input) # Returns an HTML-safe string. def output_unified_diff(data, format, locale) Diffy::Diff.new( - value_from_locale(data[:old_value], format, locale), - value_from_locale(data[:new_value], format, locale), + old_new_values(data, format, locale)[0], + old_new_values(data, format, locale)[1], allow_empty_diff: false, include_plus_and_minus_in_html: true ).to_s(:html) @@ -97,26 +97,32 @@ def output_unified_diff(data, format, locale) # Returns an HTML-safe string. def output_split_diff(data, direction, format, locale) Diffy::SplitDiff.new( - value_from_locale(data[:old_value], format, locale), - value_from_locale(data[:new_value], format, locale), + old_new_values(data, format, locale)[0], + old_new_values(data, format, locale)[1], allow_empty_diff: false, format: :html, include_plus_and_minus_in_html: true ).send(direction) end - def value_from_locale(value, format, locale) - text = value.is_a?(Hash) ? find_locale_value(value, locale).dup : value.dup + def old_new_values(data, format, locale) + original_translations = data[:old_value].filter { |key, value| value.present? && key != "machine_translations" } + [ + value_from_locale(data[:old_value], format, locale), + value_from_locale(data[:new_value], format, locale, original_translations) + ] + end + + def value_from_locale(value, format, locale, skip_machine_keys = {}) + text = value.is_a?(Hash) ? find_locale_value(value, locale, skip_machine_keys).dup : value.dup return text.to_s if format == :html || text.blank? convert_to_text(text, 100) end - def find_locale_value(input, locale) - return input[locale] if input.has_key?(locale) - - input.dig("machine_translations", locale) + def find_locale_value(input, locale, skip_machine_keys = {}) + input[locale].presence || skip_machine_keys[locale].presence || input.dig("machine_translations", locale) end # Gives the option to view HTML unescaped for better user experience. diff --git a/decidim-core/lib/decidim/translatable_attributes.rb b/decidim-core/lib/decidim/translatable_attributes.rb index 7408024cf95dc..d40cb355d8af4 100644 --- a/decidim-core/lib/decidim/translatable_attributes.rb +++ b/decidim-core/lib/decidim/translatable_attributes.rb @@ -79,7 +79,6 @@ def translated_attribute(attribute, given_organization = nil) given_organization ||= try(:current_organization) given_organization ||= try(:organization) organization_locale = given_organization.try(:default_locale) - attribute[I18n.locale.to_s].presence || machine_translation_value(attribute, given_organization) || attribute[organization_locale].presence ||