From 759c7207d5a05be8458b630077f47d1c6821aeef Mon Sep 17 00:00:00 2001 From: Elliot Condon Date: Thu, 19 Jul 2018 12:11:52 +0200 Subject: [PATCH] 5.7.0 --- acf.php | 43 +- assets/css/acf-field-group.css | 43 +- assets/css/acf-global.css | 187 +- assets/css/acf-input.css | 219 +- assets/js/acf-field-group.js | 4945 ++- assets/js/acf-field-group.min.js | 2 +- assets/js/acf-input.js | 26077 ++++++++-------- assets/js/acf-input.min.js | 7 +- includes/admin/admin-field-group.php | 128 +- includes/admin/admin.php | 2 +- .../tools/class-acf-admin-tool-export.php | 6 +- .../field-group-field-conditional-logic.php | 61 +- includes/admin/views/field-group-field.php | 35 +- includes/admin/views/field-group-fields.php | 4 +- .../admin/views/field-group-locations.php | 2 +- includes/admin/views/field-group-options.php | 41 +- includes/admin/views/install-network.php | 20 +- includes/admin/views/install.php | 21 +- includes/api/api-field.php | 54 +- includes/api/api-helpers.php | 58 +- includes/api/api-input.php | 6 +- includes/assets.php | 477 + includes/compatibility.php | 13 +- includes/fields.php | 200 +- includes/fields/class-acf-field-checkbox.php | 7 +- .../fields/class-acf-field-date_picker.php | 67 +- .../class-acf-field-date_time_picker.php | 46 +- includes/fields/class-acf-field-file.php | 34 +- .../fields/class-acf-field-google-map.php | 112 +- includes/fields/class-acf-field-image.php | 33 +- includes/fields/class-acf-field-oembed.php | 35 +- includes/fields/class-acf-field-radio.php | 7 +- .../fields/class-acf-field-relationship.php | 36 +- includes/fields/class-acf-field-select.php | 97 +- includes/fields/class-acf-field-taxonomy.php | 39 +- .../fields/class-acf-field-true_false.php | 14 +- includes/fields/class-acf-field-wysiwyg.php | 87 +- includes/form.php | 277 + includes/forms/form-attachment.php | 65 +- includes/forms/form-comment.php | 6 +- includes/forms/form-customizer.php | 12 +- includes/forms/form-post.php | 14 +- includes/forms/form-taxonomy.php | 102 +- includes/forms/form-user.php | 345 +- includes/forms/form-widget.php | 113 +- includes/input.php | 522 - includes/media.php | 98 +- includes/updates.php | 252 +- .../class-acf-walker-nav-menu-edit.php | 2 +- .../class-acf-walker-taxonomy-field.php | 2 +- lang/acf-ar.mo | Bin 56988 -> 57049 bytes lang/acf-ar.po | 885 +- lang/acf-de_DE.mo | Bin 53130 -> 53417 bytes lang/acf-de_DE.po | 1044 +- lang/acf-de_DE_formal.mo | Bin 53313 -> 53600 bytes lang/acf-de_DE_formal.po | 1044 +- lang/acf-hr_HR.mo | Bin 0 -> 50022 bytes lang/acf-hr_HR.po | 3293 ++ lang/acf-it_IT.mo | Bin 51651 -> 51482 bytes lang/acf-it_IT.po | 1264 +- lang/acf-pt_PT.mo | Bin 51977 -> 52125 bytes lang/acf-pt_PT.po | 1698 +- lang/acf-ro_RO.mo | Bin 39698 -> 43147 bytes lang/acf-ro_RO.po | 1884 +- lang/acf.pot | 1267 +- pro/admin/admin-options-page.php | 8 +- pro/admin/admin-settings-updates.php | 38 +- pro/admin/views/html-settings-updates.php | 5 - pro/assets/css/acf-pro-field-group.css | 41 +- pro/assets/css/acf-pro-input.css | 132 +- pro/assets/js/acf-pro-field-group.js | 777 +- pro/assets/js/acf-pro-field-group.min.js | 2 +- pro/assets/js/acf-pro-input.js | 3405 +- pro/assets/js/acf-pro-input.min.js | 2 +- pro/fields/class-acf-field-clone.php | 2 +- .../class-acf-field-flexible-content.php | 232 +- pro/fields/class-acf-field-gallery.php | 29 +- pro/fields/class-acf-field-repeater.php | 147 +- readme.txt | 14 + 79 files changed, 26526 insertions(+), 25762 deletions(-) create mode 100644 includes/assets.php create mode 100644 includes/form.php delete mode 100644 includes/input.php create mode 100644 lang/acf-hr_HR.mo create mode 100644 lang/acf-hr_HR.po diff --git a/acf.php b/acf.php index 2869e0e..b17d3b3 100644 --- a/acf.php +++ b/acf.php @@ -3,7 +3,7 @@ Plugin Name: Advanced Custom Fields PRO Plugin URI: https://www.advancedcustomfields.com/ Description: Customise WordPress with powerful, professional and intuitive fields. -Version: 5.6.10 +Version: 5.7.0 Author: Elliot Condon Author URI: http://www.elliotcondon.com/ Copyright: Elliot Condon @@ -18,7 +18,7 @@ if( ! class_exists('ACF') ) : class ACF { /** @var string The plugin version number */ - var $version = '5.6.10'; + var $version = '5.7.0'; /** @var array The plugin settings array */ var $settings = array(); @@ -140,11 +140,12 @@ class ACF { // core + acf_include('includes/assets.php'); acf_include('includes/ajax.php'); acf_include('includes/cache.php'); acf_include('includes/compatibility.php'); acf_include('includes/deprecated.php'); - acf_include('includes/input.php'); + acf_include('includes/form.php'); acf_include('includes/json.php'); acf_include('includes/local.php'); acf_include('includes/loop.php'); @@ -194,7 +195,6 @@ class ACF { add_action('init', array($this, 'init'), 5); add_action('init', array($this, 'register_post_types'), 5); add_action('init', array($this, 'register_post_status'), 5); - add_action('init', array($this, 'register_assets'), 5); // filters @@ -475,39 +475,6 @@ class ACF { } - /* - * register_assets - * - * This function will register scripts and styles - * - * @type function - * @date 22/10/2015 - * @since 5.3.2 - * - * @param n/a - * @return n/a - */ - - function register_assets() { - - // vars - $version = acf_get_setting('version'); - $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; - - - // scripts - wp_register_script('acf-input', acf_get_url("assets/js/acf-input{$min}.js"), array('jquery', 'jquery-ui-core', 'jquery-ui-sortable', 'jquery-ui-resizable'), $version ); - wp_register_script('acf-field-group', acf_get_url("assets/js/acf-field-group{$min}.js"), array('acf-input'), $version ); - - - // styles - wp_register_style('acf-global', acf_get_url('assets/css/acf-global.css'), array(), $version ); - wp_register_style('acf-input', acf_get_url('assets/css/acf-input.css'), array('acf-global'), $version ); - wp_register_style('acf-field-group', acf_get_url('assets/css/acf-field-group.css'), array('acf-input'), $version ); - - } - - /* * posts_where * @@ -737,4 +704,4 @@ acf(); endif; // class_exists check -?> \ No newline at end of file +?> diff --git a/assets/css/acf-field-group.css b/assets/css/acf-field-group.css index 8b9c9da..8773e84 100644 --- a/assets/css/acf-field-group.css +++ b/assets/css/acf-field-group.css @@ -58,7 +58,6 @@ box-shadow: none; /* metabox */ /* links */ - /* no fields */ /* table header */ /* show keys */ /* fields */ @@ -75,10 +74,6 @@ outline: none; box-shadow: none; } -#acf-field-group-fields .no-fields-message { - padding: 15px 15px; - background: #fff; -} #acf-field-group-fields .li-field-order { width: 20%; } @@ -109,6 +104,16 @@ #acf-field-group-fields .acf-field-list { background: #F9F9F9; margin-top: -1px; + /* no fields */ + /* empty */ +} +#acf-field-group-fields .acf-field-list .no-fields-message { + padding: 15px 15px; + background: #fff; + display: none; +} +#acf-field-group-fields .acf-field-list.-empty .no-fields-message { + display: block; } /* field object */ .acf-field-object { @@ -118,6 +123,20 @@ /* meta */ /* handle */ /* open */ + /* + // debug + &[data-save="meta"] { + > .handle { + border-left: #ffb700 solid 5px !important; + } + } + + &[data-save="settings"] { + > .handle { + border-left: #0ec563 solid 5px !important; + } + } +*/ /* hover */ /* settings */ /* conditional logic */ @@ -207,7 +226,8 @@ .acf-field-object.open > .handle .acf-required { color: #fff; } -.acf-field-object:hover > .handle .row-options { +.acf-field-object:hover > .handle .row-options, +.acf-field-object.-hover > .handle .row-options { visibility: visible; } .acf-field-object > .settings { @@ -230,6 +250,7 @@ } .rule-groups .rule-group { margin: 0 0 5px; + /* Don't allow user to delete the first field group */ } .rule-groups .rule-group h4 { margin: 0 0 3px; @@ -246,15 +267,19 @@ .rule-groups .rule-group td.remove { width: 28px; vertical-align: middle; +} +.rule-groups .rule-group td.remove a { visibility: hidden; } -.rule-groups .rule-group tr:hover td.remove { +.rule-groups .rule-group tr:hover td.remove a { visibility: visible; } -/* Don't allow user to delete the first field group */ -.rule-groups .rule-group:first-child tr:first-child td.remove { +.rule-groups .rule-group:first-child tr:first-child td.remove a { visibility: hidden !important; } +.rule-groups .rule-group select:empty { + background: #f8f8f8; +} /*--------------------------------------------------------------------------------------------- * * Options diff --git a/assets/css/acf-global.css b/assets/css/acf-global.css index 492e079..05b5160 100644 --- a/assets/css/acf-global.css +++ b/assets/css/acf-global.css @@ -16,14 +16,6 @@ * General * *--------------------------------------------------------------------------------------------*/ -/* box-sizing */ -/* -[class^="acf-"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -*/ /* Horizontal List */ .acf-hl { padding: 0; @@ -71,18 +63,15 @@ padding: 0; float: none; } -/* Full width */ -img.acf-fw { - width: 100%; -} -/* Browser */ -.acf-visible { - display: block; - visibility: visible; -} +/* Visibility */ .acf-hidden { - display: none; - visibility: visible; + display: none !important; +} +.acf-empty { + display: table-cell !important; +} +.acf-empty * { + display: none !important; } /* Float */ .acf-fl { @@ -178,6 +167,7 @@ img.acf-fw { padding: 5px 10px; position: absolute; font-size: 12px; + line-height: 1.4em; z-index: 900000; /* tip */ /* positions */ @@ -229,6 +219,9 @@ img.acf-fw { border-left-color: #2F353E; border-right-width: 0; } +.acf-tooltip .acf-overlay { + z-index: -1; +} /* confirm */ .acf-tooltip.-confirm { z-index: 900001; @@ -240,9 +233,42 @@ img.acf-fw { .acf-tooltip.-confirm a:hover { text-decoration: underline; } -.acf-tooltip.-confirm a.-red { +.acf-tooltip.-confirm a[data-event="confirm"] { color: #F55E4F; } +.acf-overlay { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + cursor: default; +} +.acf-tooltip-target { + position: relative; + z-index: 900002; +} +/*--------------------------------------------------------------------------------------------- +* +* loading +* +*---------------------------------------------------------------------------------------------*/ +.acf-loading-overlay { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + cursor: default; + z-index: 99; + background: rgba(249, 249, 249, 0.5); +} +.acf-loading-overlay i { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} /*--------------------------------------------------------------------------------------------- * * callout @@ -614,48 +640,52 @@ a.acf-icon.-cancel.grey:hover { .acf-box .footer p { margin: 0; } -/* error */ -.acf-error-message { +/*-------------------------------------------------------------------------------------------- +* +* acf-notice +* +*--------------------------------------------------------------------------------------------*/ +.acf-notice { position: relative; display: block; - background: #F55E4F; + color: #fff; margin: 5px 0 15px; - padding: 1px 12px; - min-height: 0px; - border-left: #dd4232 solid 4px; + padding: 3px 12px; + background: #2a9bd9; + border-left: #2183b9 solid 4px; } -.acf-error-message p { - font-size: 13px !important; +.acf-notice p { + font-size: 13px; line-height: 1.5; margin: 0.5em 0; - padding: 2px; text-shadow: none; - color: #fff; + color: inherit; } -.acf-error-message .acf-icon { +.acf-notice a.acf-notice-dismiss { position: absolute; + border-color: transparent; top: 9px; right: 12px; - background-color: #dd4232; - border-color: transparent; color: #fff; + background: rgba(0, 0, 0, 0.1); } -/* important to include .-cancel to override .acf-icon.-cancel class */ -.acf-error-message .acf-icon.-cancel:hover { - background-color: #191e23; - color: #F55E4F; +.acf-notice a.acf-notice-dismiss:hover { + background: rgba(0, 0, 0, 0.2); } -/* success */ -.acf-error-message.-success { - background-color: #46b450; - border-color: #32973b; +.acf-notice.-dismiss { + padding-right: 40px; } -.acf-error-message.-success .acf-icon { - background-color: #32973b; +.acf-notice.-error { + background: #F55E4F; + border-color: #f33b28; } -.acf-error-message.-success .acf-icon.-cancel:hover { - background-color: #191e23; - color: #46b450; +.acf-notice.-success { + background: #46b450; + border-color: #3b9743; +} +.acf-notice.-warning { + background: #fd8d3b; + border-color: #fd7613; } /*-------------------------------------------------------------------------------------------- * @@ -955,6 +985,7 @@ html[dir="rtl"] .acf-columns-2 .acf-column-2 { left: 0; right: 0; bottom: 0; + text-align: center; } #acf-popup .bg { position: absolute; @@ -965,59 +996,69 @@ html[dir="rtl"] .acf-columns-2 .acf-column-2 { z-index: 0; background: rgba(0, 0, 0, 0.25); } -#acf-popup .acf-popup-box { - position: absolute; - z-index: 1; - width: 300px; - height: 300px; - left: 50%; - top: 50%; - margin: -150px 0 0 -150px; - border-color: #aaaaaa; +#acf-popup:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; } -#acf-popup .title .acf-icon { +#acf-popup .acf-popup-box { + display: inline-block; + vertical-align: middle; + z-index: 1; + min-width: 300px; + min-height: 160px; + border-color: #aaaaaa; + box-shadow: 0 5px 30px -5px rgba(0, 0, 0, 0.25); + text-align: left; +} +html[dir="rtl"] #acf-popup .acf-popup-box { + text-align: right; +} +#acf-popup .acf-popup-box .title { + min-height: 15px; + line-height: 15px; +} +#acf-popup .acf-popup-box .title .acf-icon { position: absolute; top: 10px; right: 10px; } -html[dir="rtl"] #acf-popup .title .acf-icon { +html[dir="rtl"] #acf-popup .acf-popup-box .title .acf-icon { right: auto; left: 10px; } -#acf-popup .acf-popup-box .inner, +#acf-popup .acf-popup-box .inner { + min-height: 50px; + padding: 0; + margin: 15px; +} #acf-popup .acf-popup-box .loading { position: absolute; - top: 44px; + top: 45px; left: 0; right: 0; bottom: 0; - z-index: 1; -} -#acf-popup .acf-popup-box .loading { - background: rgba(0, 0, 0, 0.1); z-index: 2; - border-top: #DDDDDD solid 1px; + background: rgba(0, 0, 0, 0.1); display: none; } -#acf-popup .acf-popup-box .loading .acf-loading { +#acf-popup .acf-popup-box .loading i { position: absolute; top: 50%; left: 50%; - margin: -10px 0 0 -10px; + transform: translate(-50%, -50%); } -#acf-popup .inner > *:first-child { - margin-top: 0; -} -/* submit p */ .acf-submit { margin-bottom: 0; + line-height: 28px; } .acf-submit span { float: right; color: #999; } -.acf-submit .acf-loading { - display: none; +.acf-submit span.-error { + color: #dd4232; } .acf-submit .button { margin-right: 5px; @@ -1129,7 +1170,7 @@ html[dir="rtl"] #acf-popup .title .acf-icon { width: 25%; } /* mobile */ -@media screen and (max-width: 782px) { +@media screen and (max-width: 640px) { .acf-hl[data-cols] { margin-left: 0; margin-right: 0; diff --git a/assets/css/acf-input.css b/assets/css/acf-input.css index 292b163..c25ffba 100644 --- a/assets/css/acf-input.css +++ b/assets/css/acf-input.css @@ -52,24 +52,33 @@ .acf-field .acf-input > p.description { margin-top: 5px; } -.acf-field .acf-error-message { - background: #F55E4F; - color: #fff; - margin: 0 0 10px; - display: inline-block; - border-radius: 3px; - border-left: none; +.acf-field .acf-notice { + margin: 0 0 15px; + background: #edf2ff; + color: #2183b9; + border: none; } -.acf-field .acf-error-message:after { - content: ""; - display: block; - width: 0; - height: 0; - border: transparent 5px solid; - border-top-color: #F55E4F; - position: absolute; - bottom: -10px; - left: 10px; +.acf-field .acf-notice .acf-notice-dismiss { + background: transparent; + color: inherit; +} +.acf-field .acf-notice .acf-notice-dismiss:hover { + background: #fff; +} +.acf-field .acf-notice.-dismiss { + padding-right: 40px; +} +.acf-field .acf-notice.-error { + background: #ffe6e6; + color: #d12626; +} +.acf-field .acf-notice.-success { + background: #eefbe8; + color: #32a23b; +} +.acf-field .acf-notice.-warning { + background: #fff3e6; + color: #d16226; } .acf-fieldtd, .acf-fieldtr { @@ -216,7 +225,7 @@ html[dir="rtl"] .acf-fields.-left > .acf-field > .acf-label { html[dir="rtl"] .acf-fields.-left > .acf-field > .acf-input { float: right; } -@media screen and (max-width: 782px) { +@media screen and (max-width: 640px) { .acf-fields.-left > .acf-field:before { display: none; } @@ -265,9 +274,6 @@ html[dir="rtl"] .acf-fields.-left > .acf-field > .acf-input { *--------------------------------------------------------------------------------------------*/ .acf-postbox { position: relative; - /* position high */ - /* inside */ - /* hndle */ } #acf_after_title-sortables .acf-postbox { margin: 20px 0 0; @@ -293,8 +299,7 @@ html[dir="rtl"] .acf-fields.-left > .acf-field > .acf-input { .acf-postbox > .hndle .acf-hndle-cog:hover { color: #777777; } -.acf-postbox > .hndle:hover .acf-hndle-cog, -.acf-postbox > .hndle.hover .acf-hndle-cog { +.acf-postbox:hover > .hndle .acf-hndle-cog { display: block; } .acf-postbox .acf-replace-with-fields { @@ -777,7 +782,7 @@ html[dir="rtl"] ul.acf-checkbox-list input[type="radio"] { background: #48a8f4; } .acf-button-group input { - display: none; + display: none !important; } .acf-button-group label { margin: 0 0 0 -1px; @@ -1291,6 +1296,9 @@ html[dir="rtl"] .acf-relationship .selection .values .acf-icon { outline: none; box-shadow: none; } +.acf-tab-group li a:empty { + display: none; +} html[dir="rtl"] .acf-tab-group li { margin: 0 0 0 0.5em; } @@ -1329,7 +1337,7 @@ html[dir="rtl"] .acf-tab-group li { /* mobile */ /* rtl */ } -@media screen and (max-width: 782px) { +@media screen and (max-width: 640px) { .acf-fields.-left > .acf-tab-wrap .acf-tab-group { padding-left: 10px; } @@ -1571,8 +1579,7 @@ html[dir="rtl"] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group { border-bottom: #DFDFDF solid 1px; padding: 5px 10px; } -.acf-oembed .title h4, -.acf-oembed .title input[type="text"] { +.acf-oembed .title .input-search { margin: 0; font-size: 14px; line-height: 30px; @@ -1584,16 +1591,9 @@ html[dir="rtl"] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group { font-family: inherit; cursor: text; } -.acf-oembed .title .search { - height: auto; - border: 0 none; -} .acf-oembed .title .acf-actions { padding: 6px; } -.acf-oembed .title:hover .acf-actions { - display: block; -} .acf-oembed .canvas { position: relative; min-height: 250px; @@ -1613,28 +1613,15 @@ html[dir="rtl"] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group { position: absolute; top: 50%; left: 50%; - margin: -21px 0 0 -21px; + transform: translate(-50%, -50%); z-index: 0; height: 42px; width: 42px; font-size: 42px; color: #999; } -.acf-oembed .canvas .canvas-loading { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; +.acf-oembed .canvas .acf-loading-overlay { background: rgba(255, 255, 255, 0.9); - display: none; - z-index: 2; -} -.acf-oembed .canvas .canvas-loading i { - position: absolute; - top: 50%; - left: 50%; - margin: -10px 0 0 -10px; } .acf-oembed .canvas .canvas-error { position: absolute; @@ -1651,42 +1638,14 @@ html[dir="rtl"] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group { display: inline; } .acf-oembed.has-value .canvas { - min-height: 0; + min-height: 50; } -/* states */ -.acf-oembed .title-value { - display: none; +.acf-oembed.has-value .input-search { + font-weight: bold; } -.acf-oembed .title-search { +.acf-oembed.has-value .title:hover .acf-actions { display: block; } -.acf-oembed.has-value .title-value { - display: block; -} -.acf-oembed.has-value .title-search { - display: none; -} -.acf-oembed.has-value .canvas .acf-icon { - display: none; -} -.acf-oembed.is-editing .title-value { - display: none; -} -.acf-oembed.is-editing .title-search { - display: block; -} -.acf-oembed.is-loading .canvas-loading { - display: block; -} -.acf-oembed.is-loading .title .acf-icon { - display: none; -} -.acf-oembed.has-error .canvas-error { - display: block; -} -.acf-oembed.has-error .canvas .acf-icon { - display: none; -} /*-------------------------------------------------------------------------------------------- * * Image @@ -1871,7 +1830,7 @@ html[dir="rtl"] .acf-file-uploader .file-info { .acf-taxonomy-field:hover .acf-actions { display: block; } -.acf-taxonomy-field[data-type="select"] .acf-actions { +.acf-taxonomy-field[data-ftype="select"] .acf-actions { padding: 0; margin: -9px; } @@ -2193,7 +2152,6 @@ tr.acf-accordion + tr.acf-accordion { /* misc */ .media-modal { /* compat-item */ - /* fix % margin which causes .acf-uploadedTo to drop down below select */ /* allow line breaks in upload error */ /* fix required span */ /* sidebar */ @@ -2203,18 +2161,6 @@ tr.acf-accordion + tr.acf-accordion { .media-modal .compat-field-acf-blank { display: none !important; } -.media-modal select.attachment-filters { - margin-right: 6px !important; - vertical-align: middle; -} -.media-modal .acf-uploadedTo { - line-height: 28px; - height: 28px; - display: inline-block; - position: relative; - margin: 11px 6px 0 0; - vertical-align: middle; -} .media-modal .upload-error-message { white-space: pre-wrap; } @@ -2262,6 +2208,7 @@ tr.acf-accordion + tr.acf-accordion { line-height: 18px; color: #AAAAAA; font-size: 12px; + /* mobile sm */ } .media-modal .acf-expand-details:focus, .media-modal .acf-expand-details:active { @@ -2288,6 +2235,11 @@ tr.acf-accordion + tr.acf-accordion { .media-modal .acf-expand-details .is-closed { display: block; } +@media (max-width: 640px) { + .media-modal .acf-expand-details { + display: none; + } +} /* expanded */ .media-modal.acf-expanded { /* toggle */ @@ -2371,6 +2323,18 @@ tr.acf-accordion + tr.acf-accordion { .acf-media-modal .media-embed .setting.link-to { display: none; } +@media screen and (min-width: 1024px) { + .acf-media-modal .media-modal-content .media-frame .media-toolbar-secondary { + max-width: none; + } + .acf-media-modal .media-modal-content .media-frame .media-toolbar-secondary select.attachment-filters { + width: auto; + min-width: 150px; + max-width: none; + margin: 11px 6px 0 0; + vertical-align: middle; + } +} /*--------------------------------------------------------------------------------------------- * * ACF Media Model (Select Mode) @@ -2390,7 +2354,6 @@ tr.acf-accordion + tr.acf-accordion { /* hide elements */ /* full width */ /* tidy up incorrect distance */ - /* WP4 */ /* title box shadow (to match media grid) */ /* sidebar */ /* mobile md */ @@ -2411,9 +2374,6 @@ tr.acf-accordion + tr.acf-accordion { right: 0; } .acf-media-modal.-edit .media-frame-content { - top: 56px; -} -body.major-4 .acf-media-modal.-edit .media-frame-content { top: 50px; } .acf-media-modal.-edit .media-frame-title { @@ -2499,7 +2459,7 @@ body.major-4 .acf-media-modal.-edit .media-frame-content { } .form-table > tbody > .acf-field > .acf-label { padding: 20px 10px 20px 0; - width: 200px; + width: 210px; /* rtl */ } html[dir="rtl"] .form-table > tbody > .acf-field > .acf-label { @@ -2526,6 +2486,62 @@ html[dir="rtl"] .form-table > tbody > .acf-tab-wrap td { .form-table > tbody .form-table th.acf-th { width: auto; } +#your-profile, +#createuser { + /* override for user css */ + /* allow sub fields to display correctly */ +} +#your-profile .acf-field input[type="text"], +#createuser .acf-field input[type="text"], +#your-profile .acf-field input[type="password"], +#createuser .acf-field input[type="password"], +#your-profile .acf-field input[type="number"], +#createuser .acf-field input[type="number"], +#your-profile .acf-field input[type="search"], +#createuser .acf-field input[type="search"], +#your-profile .acf-field input[type="email"], +#createuser .acf-field input[type="email"], +#your-profile .acf-field input[type="url"], +#createuser .acf-field input[type="url"], +#your-profile .acf-field select, +#createuser .acf-field select { + max-width: 25em; +} +#your-profile .acf-field textarea, +#createuser .acf-field textarea { + max-width: 500px; +} +#your-profile .acf-field .acf-field input[type="text"], +#createuser .acf-field .acf-field input[type="text"], +#your-profile .acf-field .acf-field input[type="password"], +#createuser .acf-field .acf-field input[type="password"], +#your-profile .acf-field .acf-field input[type="number"], +#createuser .acf-field .acf-field input[type="number"], +#your-profile .acf-field .acf-field input[type="search"], +#createuser .acf-field .acf-field input[type="search"], +#your-profile .acf-field .acf-field input[type="email"], +#createuser .acf-field .acf-field input[type="email"], +#your-profile .acf-field .acf-field input[type="url"], +#createuser .acf-field .acf-field input[type="url"], +#your-profile .acf-field .acf-field textarea, +#createuser .acf-field .acf-field textarea, +#your-profile .acf-field .acf-field select, +#createuser .acf-field .acf-field select { + max-width: none; +} +#registerform h2 { + margin: 1em 0; +} +#registerform .acf-field .acf-label { + margin-bottom: 0; +} +#registerform .acf-field .acf-label label { + font-weight: normal; + font-size: 14px; +} +#registerform p.submit { + text-align: right; +} /*-------------------------------------------------------------------------------------------- * * Term @@ -2592,9 +2608,6 @@ p.submit .acf-spinner { font-weight: normal; margin: 0; } -.widget form > .acf-error-message { - margin-top: 15px; -} /*-------------------------------------------------------------------------------------------- * * Nav Menu diff --git a/assets/js/acf-field-group.js b/assets/js/acf-field-group.js index ffbaf3c..f9820d1 100644 --- a/assets/js/acf-field-group.js +++ b/assets/js/acf-field-group.js @@ -1,2185 +1,2267 @@ -(function($){ +(function($, undefined){ - acf.field_group = acf.model.extend({ + /** + * fieldGroupManager + * + * Generic field group functionality + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + + var fieldGroupManager = new acf.Model({ - // vars - $fields: null, - $locations: null, - $options: null, - - actions: { - 'ready': 'init' - }, + id: 'fieldGroupManager', events: { - 'submit #post': 'submit', - 'click a[href="#"]': 'preventDefault', - 'click .submitdelete': 'trash', - 'mouseenter .acf-field-list': 'sortable' + 'submit #post': 'onSubmit', + 'click a[href="#"]': 'onClick', + 'click .submitdelete': 'onClickTrash', }, - - /* - * init - * - * This function will run on document ready and initialize the module - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - init: function(){ - - // $el - this.$fields = $('#acf-field-group-fields'); - this.$locations = $('#acf-field-group-locations'); - this.$options = $('#acf-field-group-options'); - - - // disable validation - acf.validation.active = 0; - + filters: { + 'find_fields_args': 'filterFindFieldArgs' }, - - /* - * sortable - * - * This function will add sortable to the feild group list - * sortable is added on mouseover to speed up page load - * - * @type function - * @date 28/10/2015 - * @since 5.3.2 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - sortable: function( e ){ - - // bail early if already sortable - if( e.$el.hasClass('ui-sortable') ) { - - return; - - } - - - // vars - var self = this; - - - // sortable - e.$el.sortable({ - handle: '.acf-sortable-handle', - connectWith: '.acf-field-list', - start: function(e, ui){ - ui.placeholder.height( ui.item.height() ); - }, - update: function(event, ui){ - - // vars - var $el = ui.item; - - - // render - self.render_fields(); - - - // actions - acf.do_action('sortstop', $el); - - } - }); - - }, - - - /* - * preventDefault - * - * This helper will preventDefault on all events for empty links - * - * @type function - * @date 18/08/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - preventDefault: function( e ){ - - e.preventDefault(); - - }, - - - /* - * get_selector - * - * This function will return a valid selector for finding a field object - * - * @type function - * @date 15/01/2015 - * @since 5.1.5 - * - * @param s (string) - * @return (string) - */ - - get_selector: function( s ) { - - // defaults - s = s || ''; - - - // vars - var selector = '.acf-field-object'; - - - // search - if( s ) { - - // append - selector += '-' + s; - - - // replace underscores (split/join replaces all and is faster than regex!) - selector = selector.split('_').join('-'); - - } - - - // return - return selector; - - }, - - - /* - * render_fields - * - * This function is triggered by a change in field order, and will update the field icon number - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - render_fields: function(){ - - // reference - var self = this; - - - // update order numbers - $('.acf-field-list').each(function(){ - - // vars - var $fields = $(this).children('.acf-field-object'); - - - // loop over fields - $fields.each(function( i ){ - - // update meta - self.update_field_meta( $(this), 'menu_order', i ); - - - // update icon number - $(this).children('.handle').find('.acf-icon').html( i+1 ); - - }); - - - // show no fields message - if( !$fields.exists() ){ - - $(this).children('.no-fields-message').show(); - - } else { - - $(this).children('.no-fields-message').hide(); - - } - - }); - - }, - - - /* - * get_field_meta - * - * This function will return an input value for a field - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @param name - * @return (string) - */ - - get_field_meta: function( $el, name ){ - - //console.log( 'get_field_meta(%o, %o)', $el, name ); - - // vars - var $input = $el.find('> .meta > .input-' + name); - - - // bail early if no input - if( !$input.exists() ) { - - //console.log( '- aborted due to no input' ); - return false; - - } - - - // return - return $input.val(); - - }, - - - /* - * update_field_meta - * - * This function will update an input value for a field - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @param name - * @param value - * @return n/a - */ - - update_field_meta: function( $el, name, value ){ - - //console.log( 'update_field_meta(%o, %o, %o)', $el, name, value ); - - // vars - var $input = $el.find('> .meta > .input-' + name); - - - // create hidden input if doesn't exist - if( !$input.exists() ) { - - // vars - var html = $el.find('> .meta > .input-ID').outerHTML(); - - - // replcae - html = acf.str_replace('ID', name, html); - - - // update $input - $input = $(html); - - - // reset value - $input.val( value ); - - - // append - $el.children('.meta').append( $input ); - - //console.log( '- created new input' ); - - } - - - // bail early if no change - if( $input.val() == value ) { - - //console.log( '- aborted due to no change in input value' ); - return; - } - - - // update value - $input.val( value ); - - - // bail early if updating save - if( name == 'save' ) { - - //console.log( '- aborted due to name == save' ); - return; - - } - - - // meta has changed, update save - this.save_field( $el, 'meta' ); - - }, - - - /* - * delete_field_meta - * - * This function will return an input value for a field - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @param name - * @return (string) - */ - - delete_field_meta: function( $el, name ){ - - //console.log( 'delete_field_meta(%o, %o, %o)', $el, name ); - - // vars - var $input = $el.find('> .meta > .input-' + name); - - - // bail early if not exists - if( !$input.exists() ) { - - //console.log( '- aborted due to no input' ); - return; - - } - - - // remove - $input.remove(); - - - // meta has changed, update save - this.save_field( $el, 'meta' ); - - }, - - - /* - * save_field - * - * This function will update the changed input for a given field making sure it is saved on submit - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ - - save_field: function( $el, type ){ - - //console.log('save_field(%o %o)', $el, type); - - // defaults - type = type || 'settings'; - - - // vars - var value = this.get_field_meta( $el, 'save' ); - - - // bail early if already 'settings' - if( value == 'settings' ) { - - return; - - } - - - // bail early if no change - if( value == type ) { - - return; - - } - - - // update meta - this.update_field_meta( $el, 'save', type ); - - - // action for 3rd party customization - acf.do_action('save_field', $el, type); - - }, - - - /* - * submit - * - * This function is triggered when submitting the form and provides validation prior to posting the data - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param n/a - * @return (boolean) - */ - - submit: function( e ){ - - // reference - var self = this; - + onSubmit: function( e, $el ){ // vars var $title = $('#titlewrap #title'); - - // title empty + // empty if( !$title.val() ) { // prevent default e.preventDefault(); - // unlock form - acf.validation.toggle( e.$el, 'unlock' ); - + acf.validation.unlockForm( $el ); // alert - alert( acf._e('title_is_required') ); - + alert( acf.__('Field group title is required') ); // focus $title.focus(); - } - - - // close / delete fields - $('.acf-field-object').each(function(){ - - // vars - var save = self.get_field_meta( $(this), 'save'), - ID = self.get_field_meta( $(this), 'ID'), - open = $(this).hasClass('open'); - - - // close - if( open ) { - - self.close_field( $(this) ); - - } - - - // remove unnecessary inputs - if( save == 'settings' ) { - - // allow all settings to save (new field, changed field) - - } else if( save == 'meta' ) { - - $(this).children('.settings').find('[name^="acf_fields[' + ID + ']"]').remove(); - - } else { - - $(this).find('[name^="acf_fields[' + ID + ']"]').remove(); - - } - - }); - }, + onClick: function( e ){ + e.preventDefault(); + }, - /* - * trash - * - * This function is triggered when moving the field group to trash - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param n/a - * @return (boolean) - */ - - trash: function( e ){ - - var result = confirm( acf._e('move_to_trash') ); - + onClickTrash: function( e ){ + var result = confirm( acf.__('Move to trash. Are you sure?') ); if( !result ) { - e.preventDefault(); - } - }, + filterFindFieldArgs: function( args ){ + args.visible = true; + return args; + } + }); + + + /** + * screenOptionsManager + * + * Screen options functionality + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ - /* - * render_field - * - * This function will update the field's info - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ + var screenOptionsManager = new acf.Model({ - render_field: function( $el ){ + id: 'screenOptionsManager', + wait: 'prepare', + + events: { + 'change': 'onChange' + }, + + initialize: function(){ // vars - var label = $el.find('.field-label:first').val(), - name = $el.find('.field-name:first').val(), - type = $el.find('.field-type:first option:selected').text(), - required = $el.find('.field-required:first').prop('checked'), - $handle = $el.children('.handle'); + var $div = $('#adv-settings'); + var $append = $('#acf-append-show-on-screen'); + // append + $div.find('.metabox-prefs').append( $append.html() ); + $div.find('.metabox-prefs br').remove(); + + // clean up + $append.remove(); + + // initialize + this.$el = $('#acf-field-key-hide'); + this.addEvents(); + + // render + this.render(); + }, + + isChecked: function(){ + return this.$el.prop('checked'); + }, + + onChange: function( e, $el ) { + var val = this.isChecked() ? 1 : 0; + acf.updateUserSetting('show_field_keys', val); + this.render(); + }, + + render: function(){ + if( this.isChecked() ) { + $('#acf-field-group-fields').addClass('show-field-keys'); + } else { + $('#acf-field-group-fields').removeClass('show-field-keys'); + } + } + + }); + + + /** + * appendFieldManager + * + * Appends fields together + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + + var appendFieldManager = new acf.Model({ + + actions: { + 'new_field' : 'onNewField' + }, + + onNewField: function( field ){ + + // bail ealry if not append + if( !field.has('append') ) return; + + // vars + var append = field.get('append'); + var $sibling = field.$el.siblings('[data-name="' + append + '"]').first(); + + // bail early if no sibling + if( !$sibling.length ) return; + + // ul + var $div = $sibling.children('.acf-input'); + var $ul = $div.children('ul'); + + // create ul + if( !$ul.length ) { + $div.wrapInner(''); + $ul = $div.children('ul'); + } + + // li + var html = field.$('.acf-input').html(); + var $li = $('
  • ' + html + '
  • '); + $ul.append( $li ); + $ul.attr('data-cols', $ul.children().length ); + + // clean up + field.remove(); + } + }); + +})(jQuery); + +(function($, undefined){ + + acf.FieldObject = acf.Model.extend({ + + // class used to avoid nested event triggers + eventScope: '.acf-field-object', + + // events + events: { + 'click .edit-field': 'onClickEdit', + 'click .delete-field': 'onClickDelete', + 'click .duplicate-field': 'duplicate', + 'click .move-field': 'move', + + 'change .field-type': 'onChangeType', + 'change .field-required': 'onChangeRequired', + 'blur .field-label': 'onChangeLabel', + 'blur .field-name': 'onChangeName', + + 'change': 'onChange', + 'changed': 'onChanged', + }, + + // data + data: { + + // Similar to ID, but used for HTML puposes. + // It is possbile for a new field to have an ID of 0, but an id of 'field_123' */ + id: 0, + + // The field key ('field_123') + key: '', + + // The field type (text, image, etc) + type: '', + + // The $post->ID of this field + //ID: 0, + + // The field's parent + //parent: 0, + + // The menu order + //menu_order: 0 + }, + + setup: function( $field ){ + + // set $el + this.$el = $field; + + // inherit $field data (id, key, type) + this.inherit( $field ); + + // load additional props + // - this won't trigger 'changed' + this.prop('ID'); + this.prop('parent'); + this.prop('menu_order'); + }, + + $input: function( name ){ + return $('#' + this.getInputId() + '-' + name); + }, + + $settings: function(){ + return this.$('.acf-field-settings:first > .acf-field'); + }, + + $setting: function( name ){ + return this.$('.acf-field-settings:first > .acf-field-setting-' + name); + }, + + getParent: function(){ + return acf.getFieldObjects({ child: this.$el, limit: 1 }).pop(); + }, + + getParents: function(){ + return acf.getFieldObjects({ child: this.$el }); + }, + + getFields: function(){ + return acf.getFieldObjects({ parent: this.$el }); + }, + + getInputName: function(){ + return 'acf_fields[' + this.get('id') + ']'; + }, + + getInputId: function(){ + return 'acf_fields-' + this.get('id'); + }, + + newInput: function( name, value ){ + + // vars + var inputId = this.getInputId(); + var inputName = this.getInputName(); + + // append name + if( name ) { + inputId += '-'+name; + inputName += '['+name+']'; + } + + // create input (avoid HTML + JSON value issues) + var $input = $('').attr({ + id: inputId, + name: inputName, + value: value + }); + this.$('> .meta').append( $input ); + + // return + return $input; + }, + + getProp: function( name ){ + + // check data + if( this.has(name) ) { + return this.get(name); + } + + // get input value + var $input = this.$input( name ); + //console.log($input ); + var value = $input.length ? $input.val() : null; + + // set data silently (cache) + this.set(name, value, true); + + // return + return value; + }, + + setProp: function( name, value ) { + + // get input + var $input = this.$input( name ); + var prevVal = $input.val(); + + // create if new + if( !$input.length ) { + $input = this.newInput( name, value ); + } + + // remove + if( value === null ) { + $input.remove(); + + // update + } else { + $input.val( value ); + } + + //console.log('setProp', name, value, this); + + // set data silently (cache) + if( !this.has(name) ) { + //console.log('setting silently'); + this.set(name, value, true); + + // set data allowing 'change' event to fire + } else { + //console.log('setting loudly!'); + this.set(name, value); + } + + // return + return this; + + }, + + prop: function( name, value ){ + if( value !== undefined ) { + return this.setProp( name, value ); + } else { + return this.getProp( name ); + } + }, + + props: function( props ){ + Object.keys( props ).map(function( key ){ + this.setProp( key, props[key] ); + }, this); + }, + + getLabel: function(){ + + // get label with empty default + var label = this.prop('label'); + if( label === '' ) { + label = acf.__('(no label)') + } + + // return + return label; + }, + + getName: function(){ + return this.prop('name'); + }, + + getType: function(){ + return this.prop('type'); + }, + + getTypeLabel: function(){ + var type = this.prop('type'); + var types = acf.get('fieldTypes'); + return ( types[type] ) ? types[type].label : type; + }, + + getKey: function(){ + return this.prop('key'); + }, + + initialize: function(){ + // do nothing + }, + + render: function(){ + + // vars + var $handle = this.$('.handle:first'); + var menu_order = this.prop('menu_order'); + var label = this.getLabel(); + var name = this.prop('name'); + var type = this.getTypeLabel(); + var key = this.prop('key'); + var required = this.$input('required').prop('checked'); + + // update menu order + $handle.find('.acf-icon').html( parseInt(menu_order) + 1 ); + + // update required + if( required ) { + label += ' *'; + } // update label $handle.find('.li-field-label strong a').html( label ); - - - // update required - $handle.find('.li-field-label .acf-required').remove(); - - if( required ) { - - $handle.find('.li-field-label strong').append('*'); - - } - - + // update name $handle.find('.li-field-name').text( name ); - // update type $handle.find('.li-field-type').text( type ); + // update key + $handle.find('.li-field-key').text( key ); // action for 3rd party customization - acf.do_action('render_field_handle', $el, $handle); - + acf.doAction('render_field_object', this); }, + refresh: function(){ + acf.doAction('refresh_field_object', this); + }, - /* - * edit_field - * - * This function is triggered when clicking on a field. It will open / close a fields settings - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ + isOpen: function() { + return this.$el.hasClass('open'); + }, - edit_field: function( $field ){ + onClickEdit: function( e ){ + this.isOpen() ? this.close() : this.open(); + }, + + open: function(){ - // toggle - if( $field.hasClass('open') ) { + // vars + var $settings = this.$el.children('.settings'); - this.close_field( $field ); + // open + $settings.slideDown(); + this.$el.addClass('open'); + + // action (open) + acf.doAction('open_field_object', this); + this.trigger('openFieldObject'); + + // action (show) + acf.doAction('show', $settings); + }, + + close: function(){ + + // vars + var $settings = this.$el.children('.settings'); + + // close + $settings.slideUp(); + this.$el.removeClass('open'); + + // action (close) + acf.doAction('close_field_object', this); + this.trigger('closeFieldObject'); + + // action (hide) + acf.doAction('hide', $settings); + }, + + serialize: function(){ + return acf.serialize( this.$el, this.getInputName() ); + }, + + save: function( type ){ + + // defaults + type = type || 'settings'; // meta, settings + + // vars + var save = this.getProp('save'); + + // bail if already saving settings + if( save === 'settings' ) { + return; + } + + // prop + this.setProp('save', type); + + // debug + this.$el.attr('data-save', type); + + // action + acf.doAction('save_field_object', this, type); + }, + + submit: function(){ + + // vars + var inputName = this.getInputName(); + var save = this.get('save'); + + // close + if( this.isOpen() ) { + this.close(); + } + + // allow all inputs to save + if( save == 'settings' ) { + // do nothing + + // allow only meta inputs to save + } else if( save == 'meta' ) { + this.$('> .settings [name^="' + inputName + '"]').remove(); + // prevent all inputs from saving } else { - - this.open_field( $field ); - + this.$('[name^="' + inputName + '"]').remove(); } + // action + acf.doAction('submit_field_object', this); }, - - /* - * open_field - * - * This function will open a fields settings - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ - - open_field: function( $el ){ + onChange: function(){ + //console.log('onChange'); + this.save(); - // bail early if already open - if( $el.hasClass('open') ) { + // action for 3rd party customization + acf.doAction('change_field_object', this); + }, + + onChanged: function( e, name, value ){ - return false; - + // ignore 'save' + if( name == 'save' ) { + return; } + // save meta + if( ['menu_order', 'parent'].indexOf(name) > -1 ) { + this.save('meta'); + + // save field + } else { + this.save(); + } + + // render + if( ['menu_order', 'label', 'required', 'name', 'type', 'key'].indexOf(name) > -1 ) { + this.render(); + } + + // action for 3rd party customization + acf.doAction('change_field_object_' + name, this, value); + }, + + onChangeLabel: function( e, $el ){ + + // set + var label = $el.val(); + this.set('label', label); + + // render name + if( this.prop('name') == '' ) { + var name = acf.applyFilters('generate_field_object_name', acf.strSanitize(label), this); + this.prop('name', name); + } + }, + + onChangeName: function( e, $el){ + + // set + var name = $el.val(); + this.set('name', name); + + // error + if( name.substr(0, 6) === 'field_' ) { + alert( acf.__('The string "field_" may not be used at the start of a field name') ); + } + }, + + onChangeRequired: function( e, $el ){ + + // set + var required = $el.prop('checked') ? 1 : 0; + this.set('required', required); + }, + + delete: function( args ){ + + // defaults + args = acf.parseArgs(args, { + animate: true + }); + + // add to remove list + var id = this.prop('ID'); + + if( id ) { + var $input = $('#_acf_delete_fields'); + var newVal = $input.val() + '|' + id; + $input.val( newVal ); + } + + // action + acf.doAction('delete_field_object', this); + + // animate + if( args.animate ) { + this.removeAnimate(); + } else { + this.remove(); + } + }, + + onClickDelete: function( e, $el ){ // add class - $el.addClass('open'); - - - // action for 3rd party customization - acf.do_action('open_field', $el); - - - // animate toggle - $el.children('.settings').animate({ 'height' : 'toggle' }, 250 ); + this.$el.addClass('-hover'); + // add tooltip + var self = this; + var tooltip = acf.newTooltip({ + confirmRemove: true, + target: $el, + confirm: function(){ + self.delete( true ); + }, + cancel: function(){ + self.$el.removeClass('-hover'); + } + }); }, - - /* - * close_field - * - * This function will open a fields settings - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ - - close_field: function( $el ){ - - // bail early if already closed - if( !$el.hasClass('open') ) { - - return false; - - } - - - // remove class - $el.removeClass('open'); - - - // action for 3rd party customization - acf.do_action('close_field', $el); - - - // animate toggle - $el.children('.settings').animate({ 'height' : 'toggle' }, 250 ); - - }, - - - /* - * wipe_field - * - * This function will prepare a new field by updating the input names - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ - - wipe_field: function( $el ){ + removeAnimate: function(){ // vars - var id = $el.attr('data-id'), - key = $el.attr('data-key'), - new_id = acf.get_uniqid(), - new_key = 'field_' + new_id; - - - // update attr - $el.attr('data-id', new_id); - $el.attr('data-key', new_key); - $el.attr('data-orig', key); - - - // update hidden inputs - this.update_field_meta( $el, 'ID', '' ); - this.update_field_meta( $el, 'key', new_key ); - - - // update attributes - $el.find('[id*="' + id + '"]').each(function(){ - - $(this).attr('id', $(this).attr('id').replace(id, new_id) ); - + var field = this; + var $list = this.$el.parent(); + var $fields = acf.findFieldObjects({ + sibling: this.$el }); - $el.find('[name*="' + id + '"]').each(function(){ - - $(this).attr('name', $(this).attr('name').replace(id, new_id) ); - + // remove + acf.remove({ + target: this.$el, + endHeight: $fields.length ? 0 : 50, + complete: function(){ + field.remove(); + acf.doAction('removed_field_object', field, $list); + } }); - - // update key - $el.find('> .handle .pre-field-key').text( new_key ); - - - // remove sortable classes - $el.find('.ui-sortable').removeClass('ui-sortable'); - - - // action for 3rd party customization - acf.do_action('wipe_field', $el); - + // action + acf.doAction('remove_field_object', field, $list); }, - - /* - * add_field - * - * This function will add a new field to a field list - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $fields - * @return n/a - */ - - add_field: function( $fields ){ - - // clone tr - var $el = $( $('#tmpl-acf-field').html() ), - $label = $el.find('.field-label:first'), - $name = $el.find('.field-name:first'); - - - // update names - this.wipe_field( $el ); - - - // append to table - $fields.append( $el ); - - - // clear name - $label.val(''); - $name.val(''); - - - // focus after form has dropped down - setTimeout(function(){ - - $label.focus(); - - }, 251); - - - // update order numbers - this.render_fields(); - - - // trigger append - acf.do_action('append', $el); - - - // open up form - this.edit_field( $el ); - - - // action for 3rd party customization - acf.do_action('add_field', $el); - - }, - - - /* - * duplicate_field - * - * This function will duplicate a field - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return $el2 - */ - - duplicate_field: function( $el ){ - - // allow acf to modify DOM - acf.do_action('before_duplicate', $el); - + duplicate: function(){ // vars - var $el2 = $el.clone(), - $label = $el2.find('.field-label:first'), - $name = $el2.find('.field-name:first'); + var newKey = acf.uniqid('field_'); + // duplicate + var $newField = acf.duplicate({ + target: this.$el, + search: this.get('id'), + replace: newKey, + }); - // remove JS functionality - acf.do_action('remove', $el2); + // set new key + $newField.attr('data-key', newKey); + // get instance + var newField = acf.getFieldObject( $newField ); - // update names - this.wipe_field( $el2 ); - - - // allow acf to modify DOM - acf.do_action('after_duplicate', $el, $el2); - - - // append to table - $el.after( $el2 ); - - - // trigger append - acf.do_action('append', $el2); - - - // focus after form has dropped down - setTimeout(function(){ - - $label.focus(); - - }, 251); - - - // update order numbers - this.render_fields(); - - - // open up form - if( $el.hasClass('open') ) { - - this.close_field( $el ); - + // open / close + if( this.isOpen() ) { + this.close(); } else { - - this.open_field( $el2 ); - + newField.open(); } + // focus label + var $label = newField.$setting('label input'); + setTimeout(function(){ + $label.focus(); + }, 251); - // update new_field label / name - var label = $label.val(), - name = $name.val(), - end = name.split('_').pop(), - copy = acf._e('copy'); + // update newField label / name + var label = newField.prop('label'); + var name = newField.prop('name'); + var end = name.split('_').pop(); + var copy = acf.__('copy'); + // increase suffix "1" + if( $.isNumeric(end) ) { + var i = (end*1) + 1; + label = label.replace( end, i ); + name = name.replace( end, i ); - // look at last word - if( end.indexOf(copy) === 0 ) { - + // increase suffix "(copy1)" + } else if( end.indexOf(copy) === 0 ) { var i = end.replace(copy, '') * 1; - i = i ? i+1 : 2; + i = i ? i+1 : 2; // replace label = label.replace( end, copy + i ); name = name.replace( end, copy + i ); - + + // add default "(copy)" } else { - label += ' (' + copy + ')'; name += '_' + copy; - } + newField.prop('ID', 0); + newField.prop('label', label); + newField.prop('name', name); + newField.prop('key', newKey); - $label.val( label ); - $name.val( name ); - - - // save field - this.save_field( $el2 ); - - - // render field - this.render_field( $el2 ); - - - // action for 3rd party customization - acf.do_action('duplicate_field', $el2); - - - // return - return $el2; - + // action + acf.doAction('duplicate_field_object', this, newField); + acf.doAction('append_field_object', newField); }, - - /* - * move_field - * - * This function will launch a popup to move a field to another field group - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $field - * @return n/a - */ - - move_field: function( $field ){ - - // reference - var self = this; - - - // AJAX data - var ajax_data = acf.prepare_for_ajax({ - action: 'acf/field_group/move_field', - field_id: this.get_field_meta( $field, 'ID' ) - }); - + wipe: function(){ // vars - var warning = false; + var prevId = this.get('id'); + var prevKey = this.get('key'); + var newKey = acf.uniqid('field_'); - - // validate - if( !ajax_data.field_id ) { - - // Case: field not saved to DB - warning = true; - - } else if( this.get_field_meta( $field, 'save' ) == 'settings' ) { - - // Case: field's settings have changed - warning = true; - - } else { - - // Case: sub field's settings have changed - $field.find('.acf-field-object').each(function(){ - - if( !self.get_field_meta( $(this), 'ID' ) ) { - - // Case: field not saved to DB - warning = true; - return false; - - } else if( self.get_field_meta( $(this), 'save' ) == 'settings' ) { - - // Case: field's settings have changed - warning = true; - - } - - }); - - } - - - // bail early if can't move - if( warning ) { - - alert( acf._e('move_field_warning') ); - return; - - } - - - // open popup - acf.open_popup({ - title : acf._e('move_field'), - loading : true, - height : 145 + // rename + acf.rename({ + target: this.$el, + search: prevId, + replace: newKey, }); + // data + this.set('id', newKey); + this.set('prevId', prevId); + this.set('prevKey', prevKey); - // get HTML - $.ajax({ - url: acf.get('ajaxurl'), - data: ajax_data, - type: 'post', - dataType: 'html', - success: function(html){ - - self.move_field_confirm( $field, html ); - - } - }); + // props + this.prop('key', newKey); + this.prop('ID', 0); + // attr + this.$el.attr('data-key', newKey); + this.$el.attr('data-id', newKey); + + // action + acf.doAction('wipe_field_object', this); }, - - /* - * move_field_confirm - * - * This function will move a field to another field group - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - move_field_confirm: function( $field, html ){ + move: function(){ - // reference - var self = this; + // helper + var hasChanged = function( field ){ + return (field.get('save') == 'settings'); + }; + // vars + var changed = hasChanged(this); - // update popup - acf.update_popup({ - content : html - }); + // has sub fields changed + if( !changed ) { + acf.getFieldObjects({ + parent: this.$el + }).map(function( field ){ + changed = hasChanged(field) || field.changed; + }); + } + // bail early if changed + if( changed ) { + alert( acf.__('This field cannot be moved until its changes have been saved') ); + return; + } - // AJAX data - var ajax_data = acf.prepare_for_ajax({ - 'action' : 'acf/field_group/move_field', - 'field_id' : this.get_field_meta($field, 'ID'), - 'field_group_id' : 0 - }); - - - // submit form - $('#acf-move-field-form').on('submit', function(){ - - ajax_data.field_group_id = $(this).find('select').val(); + // step 1. + var id = this.prop('ID'); + var field = this; + var popup = false; + var step1 = function(){ + // popup + popup = acf.newPopup({ + title: acf.__('Move Custom Field'), + loading: true, + width: '300px' + }); + + // ajax + var ajaxData = { + action: 'acf/field_group/move_field', + field_id: id + }; // get HTML $.ajax({ url: acf.get('ajaxurl'), - data: ajax_data, + data: acf.prepareForAjax(ajaxData), type: 'post', dataType: 'html', - success: function(html){ - - acf.update_popup({ - content : html - }); - - - // remove the field without actually deleting it - self.remove_field( $field ); - - } + success: step2 }); + }; + + var step2 = function( html ){ - return false; + // update popup + popup.loading(false); + popup.content(html); - }); + // submit form + popup.on('submit', 'form', step3); + }; + + var step3 = function( e, $el ){ + + // prevent + e.preventDefault(); + + // disable + acf.startButtonLoading( popup.$('.button') ); + + // ajax + var ajaxData = { + action: 'acf/field_group/move_field', + field_id: id, + field_group_id: popup.$('select').val() + }; + + // get HTML + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'html', + success: step4 + }); + }; + + var step4 = function( html ){ + + // update popup + popup.content(html); + + // remove element + field.removeAnimate(); + }; + + // start + step1(); }, - - /* - * delete_field - * - * This function will delete a field - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @param animation - * @return n/a - */ - - delete_field: function( $el, animation ){ + onChangeType: function( e, $el ){ - // defaults - animation = animation || true; - - - // vars - var id = this.get_field_meta($el, 'ID'); - - - // add to remove list - if( id ) { - - var $input = $('#_acf_delete_fields'); - $input.val( $input.val() + '|' + id ); - + // clea previous timout + if( this.changeTimeout ) { + clearTimeout(this.changeTimeout); } - - // action for 3rd party customization - acf.do_action('delete_field', $el); - - - // bail early if no animation - if( animation ) { - - this.remove_field( $el ); - - } - + // set new timeout + // - prevents changing type multiple times whilst user types in newType + this.changeTimeout = this.setTimeout(function(){ + this.changeType( $el.val() ); + }, 300); }, - - /* - * remove_field - * - * This function will visualy remove a field - * - * @type function - * @date 24/10/2014 - * @since 5.0.9 - * - * @param $el - * @param animation - * @return n/a - */ - - remove_field: function( $el ){ - - // reference - var self = this; - + changeType: function( newType ){ // vars - var $field_list = $el.closest('.acf-field-list'); - - - // set layout - $el.css({ - height : $el.height(), - width : $el.width(), - position : 'absolute' - }); - - - // wrap field - $el.wrap( '
    ' ); - - - // fade $el - $el.animate({ opacity : 0 }, 250); - - - // close field - var end_height = 0, - $show = false; - - - if( !$field_list.children('.acf-field-object').length ) { - - $show = $field_list.children('.no-fields-message'); - end_height = $show.outerHeight(); - - } - - $el.parent('.temp-field-wrap').animate({ height : end_height }, 250, function(){ - - // show another element - if( $show ) { - - $show.show(); - - } - - - // action for 3rd party customization - acf.do_action('remove', $(this)); - - - // remove $el - $(this).remove(); - - - // render fields becuase they have changed - self.render_fields(); - - }); - - }, - - - /* - * change_field_type - * - * This function will update the field's settings based on the new field type - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $select - * @return n/a - */ - - change_field_type: function( $select ){ - - // vars - var $tbody = $select.closest('tbody'), - $el = $tbody.closest('.acf-field-object'), - $parent = $el.parent().closest('.acf-field-object'), - - key = $el.attr('data-key'), - old_type = $el.attr('data-type'), - new_type = $select.val(); - - - // update class - $el.removeClass( 'acf-field-object-' + acf.str_replace('_', '-', old_type) ); - $el.addClass( 'acf-field-object-' + acf.str_replace('_', '-', new_type) ); - - - // update atts - $el.attr('data-type', new_type); - $el.data('type', new_type); + var prevType = this.prop('type'); + var prevClass = acf.strSlugify( 'acf-field-object-' + prevType ); + var newClass = acf.strSlugify( 'acf-field-object-' + newType ); + // update props + this.$el.removeClass(prevClass).addClass(newClass); + this.$el.attr('data-type', newType); + this.$el.data('type', newType); // abort XHR if this field is already loading AJAX data - if( $el.data('xhr') ) { - - $el.data('xhr').abort(); - + if( this.has('xhr') ) { + this.get('xhr').abort(); } - - // get settings - var $settings = $tbody.children('.acf-field[data-setting="' + old_type + '"]'); - - // save field settings html - acf.update( key + '_settings_' + old_type, $settings ); - - // remove settings + // store settings + var $tbody = this.$('> .settings > table > tbody'); + var $settings = $tbody.children('[data-setting="' + prevType + '"]'); + this.set( 'settings-' + prevType, $settings ); $settings.detach(); - - // render field - this.render_field( $el ); - - - // show field options if they already exist - $newettings = acf.get( key + '_settings_' + new_type ); - - if( $newettings ) { - - // append settings - $tbody.children('.acf-field[data-name="conditional_logic"]').before( $newettings ); - - - // remove field settings html - acf.update( key + '_settings_' + new_type, false ); - - - // trigger event - acf.do_action('change_field_type', $el); - - - // return + + // show settings + if( this.has('settings-' + newType) ) { + var $newSettings = this.get('settings-' + newType); + this.$setting('conditional_logic').before( $newSettings ); + this.set('type', newType); + //this.refresh(); return; } + // load settings + var $loading = $('
    '); + this.$setting('conditional_logic').before( $loading ); - // add loading - var $tr = $('
    '); - - - // add $tr - $tbody.children('.acf-field[data-name="conditional_logic"]').before( $tr ); - - - var ajax_data = { - action : 'acf/field_group/render_field_settings', - nonce : acf.o.nonce, - parent : acf.o.post_id, - field_group : acf.o.post_id, - prefix : $select.attr('name').replace('[type]', ''), - type : new_type - }; - - - // parent - if( $parent.exists() ) { - - ajax_data.parent = this.get_field_meta( $parent, 'ID' ); - - } - + // ajax + var ajaxData = { + action: 'acf/field_group/render_field_settings', + field: this.serialize(), + prefix: this.getInputName() + }; // ajax var xhr = $.ajax({ - url: acf.o.ajaxurl, - data: ajax_data, - type: 'post', - dataType: 'html', - success: function( html ){ - - // bail early if no html - if( !html ) { - - return; - - } - - - // vars - var $new_tr = $(html); - - - // replace - $tr.after( $new_tr ); - - - // trigger event - acf.do_action('append', $new_tr); - acf.do_action('change_field_type', $el); - - - }, - complete : function(){ - - // this function will also be triggered by $el.data('xhr').abort(); - $tr.remove(); - - } - }); - - - // update el data - $el.data('xhr', xhr); - - }, - - /* - * change_field_label - * - * This function is triggered when changing the field's label - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ - - change_field_label: function( $el ) { - - // vars - var $label = $el.find('.field-label:first'), - $name = $el.find('.field-name:first'), - type = $el.attr('data-type'); - - - // render name - if( $name.val() == '' ) { - - // vars - var s = $label.val(); - - - // sanitize - s = acf.str_sanitize(s); - - - // update name - $name.val( s ).trigger('change'); - - } - - - // render field - this.render_field( $el ); - - - // action for 3rd party customization - acf.do_action('change_field_label', $el); - - }, - - /* - * change_field_name - * - * This function is triggered when changing the field's name - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ - - change_field_name: function( $el ) { - - // vars - var $name = $el.find('.field-name:first'); - - if( $name.val().substr(0, 6) === 'field_' ) { - - alert( acf._e('field_name_start') ); - - setTimeout(function(){ - - $name.focus(); - - }, 1); - - } - - - // action for 3rd party customization - acf.do_action('change_field_name', $el); - - } - - }); - - - /* - * field - * - * This model will handle field events - * - * @type function - * @date 19/08/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - acf.field_group.field = acf.model.extend({ - - events: { - 'click .edit-field': 'edit', - 'click .duplicate-field': 'duplicate', - 'click .move-field': 'move', - 'click .delete-field': 'delete', - 'click .add-field': 'add', - - 'change .field-type': 'change_type', - 'blur .field-label': 'change_label', - 'blur .field-name': 'change_name', - - 'keyup .field-label': 'render', - 'keyup .field-name': 'render', - 'change .field-required': 'render', - - 'change .acf-field-object input': 'save', - 'change .acf-field-object textarea': 'save', - 'change .acf-field-object select': 'save' - }, - - event: function( e ){ - - // append $field - e.$field = e.$el.closest('.acf-field-object'); - - - // return - return e; - - }, - - - /* - * events - * - * description - * - * @type function - * @date 19/08/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - edit: function( e ){ - - acf.field_group.edit_field( e.$field ); - - }, - - duplicate: function( e ){ - - acf.field_group.duplicate_field( e.$field ); - - }, - - move: function( e ){ - - acf.field_group.move_field( e.$field ); - - }, - - delete: function( e ){ - - acf.field_group.delete_field( e.$field ); - - }, - - add: function( e ){ - - var $list = e.$el.closest('.acf-field-list-wrap').children('.acf-field-list'); - - acf.field_group.add_field( $list ); - - }, - - change_type: function( e ){ - - acf.field_group.change_field_type( e.$el ); - - }, - - change_label: function( e ){ - - acf.field_group.change_field_label( e.$field ); - - }, - - change_name: function( e ){ - - acf.field_group.change_field_name( e.$field ); - - }, - - render: function( e ){ - - acf.field_group.render_field( e.$field ); - - }, - - save: function( e ){ - - acf.field_group.save_field( e.$field ); - - } - - }); - - - /* - * conditions - * - * This model will handle conditional logic events - * - * @type function - * @date 19/08/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - acf.field_group.conditional_logic = acf.model.extend({ - - actions: { - 'open_field': 'render_field', - 'change_field_label': 'render_fields', - 'change_field_type': 'render_fields' - }, - - events: { - 'click .add-conditional-rule': 'add_rule', - 'click .add-conditional-group': 'add_group', - 'click .remove-conditional-rule': 'remove_rule', - 'change .conditional-toggle': 'change_toggle', - 'change .conditional-rule-param': 'change_param' - }, - - - /* - * render_fields - * - * description - * - * @type function - * @date 19/08/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - render_fields: function(){ - - var self = this; - - $('.acf-field-object.open').each(function(){ - - self.render_field( $(this) ); - - }); - - }, - - - /* - * render_field - * - * This function will render the conditional logic fields for a given field - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $field - * @return n/a - */ - - render_field: function( $field ){ - - // reference - var self = this; - - - // vars - var key = $field.attr('data-key'); - var $lists = $field.parents('.acf-field-list'); - var $tr = $field.find('.acf-field-setting-conditional_logic:last'); - - - // choices - var choices = []; - - - // loop over ancestor lists - $.each( $lists, function( i ){ - - // vars - var group = (i == 0) ? acf._e('sibling_fields') : acf._e('parent_fields'); - - - // loop over fields - $(this).children('.acf-field-object').each(function(){ - - // vars - var $this_field = $(this), - this_key = $this_field.attr('data-key'), - this_type = $this_field.attr('data-type'), - this_label = $this_field.find('.field-label:first').val(); - - - // validate - if( $.inArray(this_type, ['select', 'checkbox', 'true_false', 'radio', 'button_group']) === -1 ) { - - return; - - } else if( this_key == key ) { - - return; - - } - - - // add this field to available triggers - choices.push({ - value: this_key, - label: this_label, - group: group - }); - - }); - - }); - - - // empty? - if( !choices.length ) { - - choices.push({ - value: '', - label: acf._e('no_fields') - }); - - } - - - // create select fields - $tr.find('.rule').each(function(){ - - self.render_rule( $(this), choices ); - - }); - - }, - - - /* - * populate_triggers - * - * description - * - * @type function - * @date 22/08/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - render_rule: function( $tr, triggers ) { - - // vars - var $trigger = $tr.find('.conditional-rule-param'), - $value = $tr.find('.conditional-rule-value'); - - - // populate triggers - if( triggers ) { - - acf.render_select( $trigger, triggers ); - - } - - - // vars - var $field = $('.acf-field-object[data-key="' + $trigger.val() + '"]'), - field_type = $field.attr('data-type'), - choices = []; - - - // populate choices - if( field_type == "true_false" ) { - - choices.push({ - 'value': 1, - 'label': acf._e('checked') - }); - - // select - } else if( field_type == "select" || field_type == "checkbox" || field_type == "radio" || field_type == "button_group" ) { - - // vars - var lines = $field.find('.acf-field[data-name="choices"] textarea').val().split("\n"); - - $.each(lines, function(i, line){ - - // explode - line = line.split(':'); - - - // default label to value - line[1] = line[1] || line[0]; - - - // append - choices.push({ - 'value': $.trim( line[0] ), - 'label': $.trim( line[1] ) - }); - - }); - - - // allow null - var $allow_null = $field.find('.acf-field[data-name="allow_null"]'); - - if( $allow_null.exists() ) { - - if( $allow_null.find('input:checked').val() == '1' ) { - - choices.unshift({ - 'value': '', - 'label': acf._e('null') - }); - - } - - } - - } - - - // update select - acf.render_select( $value, choices ); - - }, - - - /* - * change_toggle - * - * This function is triggered by changing the 'Conditional Logic' radio button - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $input - * @return n/a - */ - - change_toggle: function( e ){ - - // vars - var $input = e.$el, - checked = e.$el.prop('checked'), - $td = $input.closest('.acf-input'); - - - if( checked ) { - - $td.find('.rule-groups').show(); - $td.find('.rule-groups').find('[name]').prop('disabled', false); - - } else { - - $td.find('.rule-groups').hide(); - $td.find('.rule-groups').find('[name]').prop('disabled', true); - - } - - }, - - - /* - * change_trigger - * - * This function is triggered by changing a 'Conditional Logic' trigger - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $select - * @return n/a - */ - - change_param: function( e ){ - - // vars - var $rule = e.$el.closest('.rule'); - - - // render - this.render_rule( $rule ); - - }, - - - /* - * add_rule - * - * This function will add a new rule below the specified $tr - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $tr - * @return n/a - */ - - add_rule: function( e ){ - - // vars - var $tr = e.$el.closest('tr'); - - - // duplicate - $tr2 = acf.duplicate( $tr ); - - - // save field - $tr2.find('select:first').trigger('change'); - - }, - - - /* - * remove_rule - * - * This function will remove the $tr and potentially the group - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $tr - * @return n/a - */ - - remove_rule: function( e ){ - - // vars - var $tr = e.$el.closest('tr'); - - - // save field - $tr.find('select:first').trigger('change'); - - - if( $tr.siblings('tr').length == 0 ) { - - // remove group - $tr.closest('.rule-group').remove(); - - } - - - // remove tr - $tr.remove(); - - - }, - - - /* - * add_group - * - * This function will add a new rule group to the given $groups container - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $tr - * @return n/a - */ - - add_group: function( e ){ - - // vars - var $groups = e.$el.closest('.rule-groups'), - $group = $groups.find('.rule-group:last'); - - - // duplicate - $group2 = acf.duplicate( $group ); - - - // update h4 - $group2.find('h4').text( acf._e('or') ); - - - // remove all tr's except the first one - $group2.find('tr:not(:first)').remove(); - - - // save field - $group2.find('select:first').trigger('change'); - - } - - }); - - - /* - * locations - * - * This model will handle location rule events - * - * @type function - * @date 19/08/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - acf.field_group.locations = acf.model.extend({ - - events: { - 'click .add-location-rule': 'add_rule', - 'click .add-location-group': 'add_group', - 'click .remove-location-rule': 'remove_rule', - 'change .refresh-location-rule': 'change_rule' - }, - - - /* - * add_rule - * - * This function will add a new rule below the specified $tr - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $tr - * @return n/a - */ - - add_rule: function( e ){ - - // vars - var $tr = e.$el.closest('tr'); - - - // duplicate - $tr2 = acf.duplicate( $tr ); - - - // action - //acf.do_action('add_location_rule', $tr2); - - }, - - - /* - * remove_rule - * - * This function will remove the $tr and potentially the group - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $tr - * @return n/a - */ - - remove_rule: function( e ){ - - // vars - var $tr = e.$el.closest('tr'); - - - // action - //acf.do_action('remove_location_rule', $tr); - - - // remove - if( $tr.siblings('tr').length == 0 ) { - - // remove group - $tr.closest('.rule-group').remove(); - - } else { - - // remove tr - $tr.remove(); - - } - - }, - - - /* - * add_group - * - * This function will add a new rule group to the given $groups container - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $tr - * @return n/a - */ - - add_group: function( e ){ - - // vars - var $groups = e.$el.closest('.rule-groups'), - $group = $groups.find('.rule-group:last'); - - - // duplicate - $group2 = acf.duplicate( $group ); - - - // update h4 - $group2.find('h4').text( acf._e('or') ); - - - // remove all tr's except the first one - $group2.find('tr:not(:first)').remove(); - - - // vars - //var $tr = $group2.find('tr'); - - - // action - //acf.do_action('add_location_rule', $tr); - - }, - - - /* - * change_rule - * - * This function is triggered when changing a location rule trigger - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $select - * @return n/a - */ - - change_rule: function( e ){ - - // vars - var $rule = e.$el.closest('tr'); - var $group = $rule.closest('.rule-group'); - var prefix = $rule.find('td.param select').attr('name').replace('[param]', ''); - - - // ajax data - var ajaxdata = { - action: 'acf/field_group/render_location_rule', - rule: acf.serialize( $rule, prefix ), - }; - - - // append to data - ajaxdata.rule.id = $rule.attr('data-id'); - ajaxdata.rule.group = $group.attr('data-id'); - - - // ajax - $.ajax({ url: acf.get('ajaxurl'), - data: acf.prepare_for_ajax(ajaxdata), + data: acf.prepareForAjax(ajaxData), type: 'post', dataType: 'html', + context: this, success: function( html ){ - // bail early if no html + // bail early if no settings if( !html ) return; + // append settings + $loading.after( html ); - // update - $rule.replaceWith( html ); - - - // action - //acf.do_action('change_location_rule', $rule); - + // events + acf.doAction('append', $tbody); + }, + complete: function(){ + // also triggered by xhr.abort(); + $loading.remove(); + this.set('type', newType); + //this.refresh(); } }); + // set + this.set('xhr', xhr); + + }, + + updateParent: function(){ + + // vars + var ID = acf.get('post_id'); + + // check parent + var parent = this.getParent(); + if( parent ) { + ID = parent.prop('ID') || parent.prop('key'); + } + + // update + this.prop('parent', ID); + } + + }); + +})(jQuery); + +(function($, undefined){ + + /** + * mid + * + * Calculates the model ID for a field type + * + * @date 15/12/17 + * @since 5.6.5 + * + * @param string type + * @return string + */ + + var modelId = function( type ) { + return acf.strPascalCase( type || '' ) + 'FieldSetting'; + }; + + /** + * registerFieldType + * + * description + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.registerFieldSetting = function( model ){ + var proto = model.prototype; + var mid = modelId(proto.type + ' ' + proto.name); + this.models[ mid ] = model; + }; + + /** + * newField + * + * description + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.newFieldSetting = function( field ){ + + // vars + var type = field.get('setting') || ''; + var name = field.get('name') || ''; + var mid = modelId( type + ' ' + name ); + var model = acf.models[ mid ] || null; + + // bail ealry if no setting + if( model === null ) return false; + + // instantiate + var setting = new model( field ); + + // return + return setting; + }; + + /** + * acf.getFieldSetting + * + * description + * + * @date 19/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.getFieldSetting = function( field ) { + + // allow jQuery + if( field instanceof jQuery ) { + field = acf.getField(field); + } + + // return + return field.setting; + }; + + /** + * settingsManager + * + * description + * + * @date 6/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var settingsManager = new acf.Model({ + actions: { + 'new_field': 'onNewField' + }, + onNewField: function( field ){ + field.setting = acf.newFieldSetting( field ); } }); + /** + * acf.FieldSetting + * + * description + * + * @date 6/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.FieldSetting = acf.Model.extend({ + + field: false, + type: '', + name: '', + wait: 'ready', + eventScope: '.acf-field', + + events: { + 'change': 'render' + }, + + setup: function( field ){ + + // vars + var $field = field.$el; + + // set props + this.$el = $field; + this.field = field; + this.$fieldObject = $field.closest('.acf-field-object'); + this.fieldObject = acf.getFieldObject( this.$fieldObject ); + + // inherit data + $.extend(this.data, field.data); + }, + + initialize: function(){ + this.render(); + }, + + render: function(){ + // do nothing + } + }); /* - * field + * Date Picker * - * This model sets up many of the field's interactions + * This field type requires some extra logic for its settings * * @type function - * @date 21/02/2014 - * @since 3.5.1 + * @date 24/10/13 + * @since 5.0.0 * * @param n/a * @return n/a */ - acf.field_group.field_object = acf.model.extend({ + var DisplayFormatFieldSetting = acf.FieldSetting.extend({ + type: '', + name: '', + render: function(){ + var $input = this.$('input[type="radio"]:checked'); + if( $input.val() != 'other' ) { + this.$('input[type="text"]').val( $input.val() ); + } + } + }); + + var DatePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'date_picker', + name: 'display_format' + }); + + var DatePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'date_picker', + name: 'return_format' + }); + + acf.registerFieldSetting( DatePickerDisplayFormatFieldSetting ); + acf.registerFieldSetting( DatePickerReturnFormatFieldSetting ); + + /* + * Date Time Picker + * + * This field type requires some extra logic for its settings + * + * @type function + * @date 24/10/13 + * @since 5.0.0 + * + * @param n/a + * @return n/a + */ + + var DateTimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'date_time_picker', + name: 'display_format' + }); + + var DateTimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'date_time_picker', + name: 'return_format' + }); + + acf.registerFieldSetting( DateTimePickerDisplayFormatFieldSetting ); + acf.registerFieldSetting( DateTimePickerReturnFormatFieldSetting ); + + /* + * Time Picker + * + * This field type requires some extra logic for its settings + * + * @type function + * @date 24/10/13 + * @since 5.0.0 + * + * @param n/a + * @return n/a + */ + + var TimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({ + type: 'time_picker', + name: 'display_format' + }); + + var TimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({ + name: 'time_picker', + name: 'return_format' + }); + + acf.registerFieldSetting( TimePickerDisplayFormatFieldSetting ); + acf.registerFieldSetting( TimePickerReturnFormatFieldSetting ); + +})(jQuery); + +(function($, undefined){ + + /** + * ConditionalLogicFieldSetting + * + * description + * + * @date 3/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var ConditionalLogicFieldSetting = acf.FieldSetting.extend({ + type: '', + name: 'conditional_logic', + events: { + 'change .conditions-toggle': 'onChangeToggle', + 'click .add-conditional-group': 'onClickAddGroup', + 'focus .condition-rule-field': 'onFocusField', + 'change .condition-rule-field': 'onChangeField', + 'change .condition-rule-operator': 'onChangeOperator', + 'click .add-conditional-rule': 'onClickAdd', + 'click .remove-conditional-rule': 'onClickRemove' + }, + + $rule: false, + + scope: function( $rule ){ + this.$rule = $rule; + return this; + }, + + ruleData: function( name, value ){ + return this.$rule.data.apply( this.$rule, arguments ); + }, + + $input: function( name ){ + return this.$rule.find('.condition-rule-' + name); + }, + + $td: function( name ){ + return this.$rule.find('td.' + name); + }, + + $toggle: function(){ + return this.$('.conditions-toggle'); + }, + + $control: function(){ + return this.$('.rule-groups'); + }, + + $groups: function(){ + return this.$('.rule-group'); + }, + + $rules: function(){ + return this.$('.rule'); + }, + + open: function(){ + var $div = this.$control(); + $div.show(); + acf.enable( $div ); + }, + + close: function(){ + var $div = this.$control(); + $div.hide(); + acf.disable( $div ); + }, + + render: function(){ + + // show + if( this.$toggle().prop('checked') ) { + this.renderRules(); + this.open(); + + // hide + } else { + this.close(); + } + }, + + renderRules: function(){ + + // vars + var self = this; + + // loop + this.$rules().each(function(){ + self.renderRule( $(this) ); + }); + }, + + renderRule: function( $rule ){ + this.scope( $rule ); + this.renderField(); + this.renderOperator(); + this.renderValue(); + }, + + renderField: function(){ + + // vars + var choices = []; + var validFieldTypes = []; + var cid = this.fieldObject.cid; + var $select = this.$input('field'); + + // loop + acf.getFieldObjects().map(function( fieldObject ){ + + // vars + var choice = { + id: fieldObject.getKey(), + text: fieldObject.getLabel() + }; + + // bail early if is self + if( fieldObject.cid === cid ) { + choice.text += acf.__('(this field)'); + choice.disabled = true; + } + + // get selected field conditions + var conditionTypes = acf.getConditionTypes({ + fieldType: fieldObject.getType() + }); + + // bail early if no types + if( !conditionTypes.length ) { + choice.disabled = true; + } + + // calulate indents + var indents = fieldObject.getParents().length; + choice.text = '- '.repeat(indents) + choice.text; + + // append + choices.push(choice); + }); + + // allow for scenario where only one field exists + if( !choices.length ) { + choices.push({ + id: '', + text: acf.__('No toggle fields available'), + }); + } + + // render + acf.renderSelect( $select, choices ); + + // set + this.ruleData('field', $select.val()); + }, + + renderOperator: function(){ + + // bail early if no field selected + if( !this.ruleData('field') ) { + return; + } + + // vars + var $select = this.$input('operator'); + var val = $select.val(); + var choices = []; + + // set saved value on first render + // - this allows the 2nd render to correctly select an option + if( $select.val() === null ) { + acf.renderSelect($select, [{ + id: this.ruleData('operator'), + text: '' + }]); + } + + // get selected field + var $field = acf.findFieldObject( this.ruleData('field') ); + var field = acf.getFieldObject( $field ); + + // get selected field conditions + var conditionTypes = acf.getConditionTypes({ + fieldType: field.getType() + }); + + // html + conditionTypes.map(function( model ){ + choices.push({ + id: model.prototype.operator, + text: acf.strEscape(model.prototype.label) + }); + }); + + // render + acf.renderSelect( $select, choices ); + + // set + this.ruleData('operator', $select.val()); + }, + + renderValue: function(){ + + // bail early if no field selected + if( !this.ruleData('field') || !this.ruleData('operator') ) { + return; + } + + // vars + var $select = this.$input('value'); + var $td = this.$td('value'); + var val = $select.val(); + + // get selected field + var $field = acf.findFieldObject( this.ruleData('field') ); + var field = acf.getFieldObject( $field ); + + // get selected field conditions + var conditionTypes = acf.getConditionTypes({ + fieldType: field.getType(), + operator: this.ruleData('operator') + }); + + // html + var conditionType = conditionTypes[0].prototype; + var choices = conditionType.choices( field ); + + // create html: array + if( choices instanceof Array ) { + var $newSelect = $(''); + acf.renderSelect( $newSelect, choices ); + + // create html: string () + } else { + var $newSelect = $(choices); + } + + // append + $select.detach(); + $td.html( $newSelect ); + + // copy attrs + // timeout needed to avoid browser bug where "disabled" attribute is not applied + setTimeout(function(){ + ['class', 'name', 'id'].map(function( attr ){ + $newSelect.attr( attr, $select.attr(attr)); + }); + }, 0); + + // select existing value (if not a disabled input) + if( !$newSelect.prop('disabled') ) { + acf.val( $newSelect, val, true ); + } + + // set + this.ruleData('value', $newSelect.val()); + }, + + onChangeToggle: function(){ + this.render(); + }, + + onClickAddGroup: function( e, $el ){ + this.addGroup(); + }, + + addGroup: function(){ + + // vars + var $group = this.$('.rule-group:last'); + + // duplicate + var $group2 = acf.duplicate( $group ); + + // update h4 + $group2.find('h4').text( acf.__('or') ); + + // remove all tr's except the first one + $group2.find('tr').not(':first').remove(); + + // save field + this.fieldObject.save(); + }, + + onFocusField: function( e, $el ){ + this.renderField(); + }, + + onChangeField: function( e, $el ){ + + // scope + this.scope( $el.closest('.rule') ); + + // set data + this.ruleData('field', $el.val()); + + // render + this.renderOperator(); + this.renderValue(); + }, + + onChangeOperator: function( e, $el ){ + + // scope + this.scope( $el.closest('.rule') ); + + // set data + this.ruleData('operator', $el.val()); + + // render + this.renderValue(); + }, + + onClickAdd: function( e, $el ){ + + // duplciate + var $rule = acf.duplicate( $el.closest('.rule') ); + + // render + this.renderRule( $rule ); + }, + + onClickRemove: function( e, $el ){ + + // vars + var $rule = $el.closest('.rule'); + + // save field + this.fieldObject.save(); + + // remove group + if( $rule.siblings('.rule').length == 0 ) { + $rule.closest('.rule-group').remove(); + } + + // remove + $rule.remove(); + } + }); + + acf.registerFieldSetting( ConditionalLogicFieldSetting ); + + + /** + * conditionalLogicHelper + * + * description + * + * @date 20/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var conditionalLogicHelper = new acf.Model({ + actions: { + 'duplicate_field_objects': 'onDuplicateFieldObjects', + }, + + onDuplicateFieldObjects: function( children, newField, prevField ){ + + // vars + var data = {}; + var $selects = $(); + + // reference change in key + children.map(function( child ){ + + // store reference of changed key + data[ child.get('prevKey') ] = child.get('key'); + + // append condition select + $selects = $selects.add( child.$('.condition-rule-field') ); + }); + + // loop + $selects.each(function(){ + + // vars + var $select = $(this); + var val = $select.val(); + + // bail early if val is not a ref key + if( !val || !data[val] ) { + return; + } + + // modify selected option + $select.find('option:selected').attr('value', data[val]); + + // set new val + $select.val( data[val] ); + + }); + }, + }); +})(jQuery); + +(function($, undefined){ + + /** + * acf.findFieldObject + * + * Returns a single fieldObject $el for a given field key + * + * @date 1/2/18 + * @since 5.7.0 + * + * @param string key The field key + * @return jQuery + */ + + acf.findFieldObject = function( key ){ + return acf.findFieldObjects({ + key: key, + limit: 1 + }); + }; + + /** + * acf.findFieldObjects + * + * Returns an array of fieldObject $el for the given args + * + * @date 1/2/18 + * @since 5.7.0 + * + * @param object args + * @return jQuery + */ + + acf.findFieldObjects = function( args ){ + + // vars + args = args || {}; + var selector = '.acf-field-object'; + var $fields = false; + + // args + args = acf.parseArgs(args, { + id: '', + key: '', + type: '', + limit: false, + list: null, + parent: false, + sibling: false, + child: false, + }); + + // id + if( args.id ) { + selector += '[data-id="' + args.id + '"]'; + } + + // key + if( args.key ) { + selector += '[data-key="' + args.key + '"]'; + } + + // type + if( args.type ) { + selector += '[data-type="' + args.type + '"]'; + } + + // query + if( args.list ) { + $fields = args.list.children( selector ); + } else if( args.parent ) { + $fields = args.parent.find( selector ); + } else if( args.sibling ) { + $fields = args.sibling.siblings( selector ); + } else if( args.child ) { + $fields = args.child.parents( selector ); + } else { + $fields = $( selector ); + } + + // limit + if( args.limit ) { + $fields = $fields.slice( 0, args.limit ); + } + + // return + return $fields; + }; + + /** + * acf.getFieldObject + * + * Returns a single fieldObject instance for a given $el|key + * + * @date 1/2/18 + * @since 5.7.0 + * + * @param string|jQuery $field The field $el or key + * @return jQuery + */ + + acf.getFieldObject = function( $field ){ + + // allow key + if( typeof $field === 'string' ) { + $field = acf.findFieldObject( $field ); + } + + // instantiate + var field = $field.data('acf'); + if( !field ) { + field = acf.newFieldObject( $field ); + } + + // return + return field; + }; + + /** + * acf.getFieldObjects + * + * Returns an array of fieldObject instances for the given args + * + * @date 1/2/18 + * @since 5.7.0 + * + * @param object args + * @return array + */ + + acf.getFieldObjects = function( args ){ + + // query + var $fields = acf.findFieldObjects( args ); + + // loop + var fields = []; + $fields.each(function(){ + var field = acf.getFieldObject( $(this) ); + fields.push( field ); + }); + + // return + return fields; + }; + + /** + * acf.newFieldObject + * + * Initializes and returns a new FieldObject instance + * + * @date 1/2/18 + * @since 5.7.0 + * + * @param jQuery $field The field $el + * @return object + */ + + acf.newFieldObject = function( $field ){ + + // instantiate + var field = new acf.FieldObject( $field ); + + // action + acf.doAction('new_field_object', field); + + // return + return field; + }; + + /** + * actionManager + * + * description + * + * @date 15/12/17 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var eventManager = new acf.Model({ + + priority: 5, + + initialize: function(){ + + // actions + var actions = [ + 'prepare', + 'ready', + 'append', + 'remove' + ]; + + // loop + actions.map(function( action ){ + this.addFieldActions( action ); + }, this); + }, + + addFieldActions: function( action ){ + + // vars + var pluralAction = action + '_field_objects'; // ready_field_objects + var singleAction = action + '_field_object'; // ready_field_object + var singleEvent = action + 'FieldObject'; // readyFieldObject + + // global action + var callback = function( $el /*, arg1, arg2, etc*/ ){ + + // vars + var fieldObjects = acf.getFieldObjects({ parent: $el }); + + // call plural + if( fieldObjects.length ) { + + /// get args [$el, arg1] + var args = acf.arrayArgs( arguments ); + + // modify args [pluralAction, fields, arg1] + args.splice(0, 1, pluralAction, fieldObjects); + acf.doAction.apply(null, args); + } + }; + + // plural action + var pluralCallback = function( fieldObjects /*, arg1, arg2, etc*/ ){ + + /// get args [fields, arg1] + var args = acf.arrayArgs( arguments ); + + // modify args [singleAction, fields, arg1] + args.unshift(singleAction); + + // loop + fieldObjects.map(function( fieldObject ){ + + // modify args [singleAction, field, arg1] + args[1] = fieldObject; + acf.doAction.apply(null, args); + }); + }; + + // single action + var singleCallback = function( fieldObject /*, arg1, arg2, etc*/ ){ + + /// get args [$field, arg1] + var args = acf.arrayArgs( arguments ); + + // modify args [singleAction, $field, arg1] + args.unshift(singleAction); + + // action variations (ready_field/type=image) + var variations = ['type', 'name', 'key']; + variations.map(function( variation ){ + args[0] = singleAction + '/' + variation + '=' + fieldObject.get(variation); + acf.doAction.apply(null, args); + }); + + // modify args [arg1] + args.splice(0, 2); + + // event + fieldObject.trigger(singleEvent, args); + }; + + // add actions + acf.addAction(action, callback, 5); + acf.addAction(pluralAction, pluralCallback, 5); + acf.addAction(singleAction, singleCallback, 5); + + } + }); + + /** + * fieldManager + * + * description + * + * @date 4/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var fieldManager = new acf.Model({ + + id: 'fieldManager', + + events: { + 'submit #post': 'onSubmit', + 'mouseenter .acf-field-list': 'onHoverSortable', + 'click .add-field': 'onClickAdd', + }, + + actions: { + 'removed_field_object': 'onRemovedField', + 'sortstop_field_object': 'onReorderField', + 'delete_field_object': 'onDeleteField', + 'change_field_object_type': 'onChangeFieldType', + 'duplicate_field_object': 'onDuplicateField' + }, + + onSubmit: function( e, $el ){ + + // vars + var fields = acf.getFieldObjects(); + + // loop + fields.map(function( field ){ + field.submit(); + }); + }, + + setFieldMenuOrder: function( field ){ + this.renderFields( field.$el.parent() ); + }, + + onHoverSortable: function( e, $el ){ + + // bail early if already sortable + if( $el.hasClass('ui-sortable') ) return; + + // sortable + $el.sortable({ + handle: '.acf-sortable-handle', + connectWith: '.acf-field-list', + start: function(e, ui){ + var field = acf.getFieldObject( ui.item ); + ui.placeholder.height( ui.item.height() ); + acf.doAction('sortstart_field_object', field, $el); + }, + update: function( e, ui ){ + var field = acf.getFieldObject( ui.item ); + acf.doAction('sortstop_field_object', field, $el); + } + }); + }, + + onRemovedField: function( field, $list ){ + this.renderFields( $list ); + }, + + onReorderField: function( field, $list ){ + field.updateParent(); + this.renderFields( $list ); + }, + + onDeleteField: function( field ){ + + // delete children + field.getFields().map(function( child ){ + child.delete({ animate: false }); + }); + }, + + onChangeFieldType: function( field ){ + // this caused sub fields to disapear if changing type back... + //this.onDeleteField( field ); + }, + + onDuplicateField: function( field, newField ){ + + // check for children + var children = newField.getFields(); + if( children.length ) { + + // loop + children.map(function( child ){ + + // wipe field + child.wipe(); + + // update parent + child.updateParent(); + }); + + // action + acf.doAction('duplicate_field_objects', children, newField, field); + } + + // set menu order + this.setFieldMenuOrder( newField ); + }, + + renderFields: function( $list ){ + + // vars + var fields = acf.getFieldObjects({ + list: $list + }); + + // no fields + if( !fields.length ) { + $list.addClass('-empty'); + return; + } + + // has fields + $list.removeClass('-empty'); + + // prop + fields.map(function( field, i ){ + field.prop('menu_order', i); + }); + }, + + onClickAdd: function( e, $el ){ + var $list = $el.closest('.acf-tfoot').siblings('.acf-field-list'); + this.addField( $list ); + }, + + addField: function( $list ){ + + // vars + var html = $('#tmpl-acf-field').html(); + var $el = $(html); + var prevId = $el.data('id'); + var newKey = acf.uniqid('field_'); + + // duplicate + var $newField = acf.duplicate({ + target: $el, + search: prevId, + replace: newKey, + append: function( $el, $el2 ){ + $list.append( $el2 ); + } + }); + + // get instance + var newField = acf.getFieldObject( $newField ); + + // props + newField.prop('key', newKey); + newField.prop('ID', 0); + newField.prop('label', ''); + newField.prop('name', ''); + + // attr + $newField.attr('data-key', newKey); + $newField.attr('data-id', newKey); + + // update parent prop + newField.updateParent(); + + // focus label + var $label = newField.$input('label'); + setTimeout(function(){ + $label.focus(); + }, 251); + + // open + newField.open(); + + // set menu order + this.renderFields( $list ); + + // action + acf.doAction('add_field_object', newField); + acf.doAction('append_field_object', newField); + } + }); + +})(jQuery); + +(function($, undefined){ + + /** + * locationManager + * + * Field group location rules functionality + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + + var locationManager = new acf.Model({ + + id: 'locationManager', + wait: 'ready', + + events: { + 'click .add-location-rule': 'onClickAddRule', + 'click .add-location-group': 'onClickAddGroup', + 'click .remove-location-rule': 'onClickRemoveRule', + 'change .refresh-location-rule': 'onChangeRemoveRule' + }, + + initialize: function(){ + this.$el = $('#acf-field-group-locations'); + }, + + onClickAddRule: function( e, $el ){ + this.addRule( $el.closest('tr') ); + }, + + onClickRemoveRule: function( e, $el ){ + this.removeRule( $el.closest('tr') ); + }, + + onChangeRemoveRule: function( e, $el ){ + this.changeRule( $el.closest('tr') ); + }, + + onClickAddGroup: function( e, $el ){ + this.addGroup(); + }, + + addRule: function( $tr ){ + acf.duplicate( $tr ); + }, + + removeRule: function( $tr ){ + if( $tr.siblings('tr').length == 0 ) { + $tr.closest('.rule-group').remove(); + } else { + $tr.remove(); + } + }, + + changeRule: function( $rule ){ + + // vars + var $group = $rule.closest('.rule-group'); + var prefix = $rule.find('td.param select').attr('name').replace('[param]', ''); + + // ajaxdata + var ajaxdata = {}; + ajaxdata.action = 'acf/field_group/render_location_rule'; + ajaxdata.rule = acf.serialize( $rule, prefix ); + ajaxdata.rule.id = $rule.data('id'); + ajaxdata.rule.group = $group.data('id'); + + // temp disable + acf.disable( $rule.find('td.value') ); + + // ajax + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxdata), + type: 'post', + dataType: 'html', + success: function( html ){ + if( !html ) return; + $rule.replaceWith( html ); + } + }); + }, + + addGroup: function(){ + + // vars + var $group = this.$('.rule-group:last'); + + // duplicate + $group2 = acf.duplicate( $group ); + + // update h4 + $group2.find('h4').text( acf.__('or') ); + + // remove all tr's except the first one + $group2.find('tr').not(':first').remove(); + } + }); + +})(jQuery); + +(function($, undefined){ + + var _acf = acf.getCompatibility( acf ); + + /** + * fieldGroupCompatibility + * + * Compatibility layer for extinct acf.field_group + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + + _acf.field_group = { + + save_field: function( $field, type ){ + type = (type !== undefined) ? type : 'settings'; + acf.getFieldObject( $field ).save( type ); + }, + + delete_field: function( $field, animate ){ + animate = (animate !== undefined) ? animate : true; + acf.getFieldObject( $field ).delete({ + animate: animate + }); + }, + + update_field_meta: function( $field, name, value ){ + acf.getFieldObject( $field ).prop( name, value ); + }, + + delete_field_meta: function( $field, name ){ + acf.getFieldObject( $field ).prop( name, null ); + } + }; + + /** + * fieldGroupCompatibility.field_object + * + * Compatibility layer for extinct acf.field_group.field_object + * + * @date 15/12/17 + * @since 5.7.0 + * + * @param void + * @return void + */ + + _acf.field_group.field_object = acf.model.extend({ // vars type: '', @@ -2342,830 +2424,79 @@ * @return n/a */ - acf.field_group.field_objects = acf.model.extend({ + var actionManager = new acf.Model({ actions: { - 'save_field' : '_save_field', - 'open_field' : '_open_field', - 'close_field' : '_close_field', - 'wipe_field' : '_wipe_field', - 'add_field' : '_add_field', - 'duplicate_field' : '_duplicate_field', - 'delete_field' : '_delete_field', - 'change_field_type' : '_change_field_type', - 'change_field_label' : '_change_field_label', - 'change_field_name' : '_change_field_name', - 'render_field_settings' : '_render_field_settings' + 'open_field_object': 'onOpenFieldObject', + 'close_field_object': 'onCloseFieldObject', + 'add_field_object': 'onAddFieldObject', + 'duplicate_field_object': 'onDuplicateFieldObject', + 'delete_field_object': 'onDeleteFieldObject', + 'change_field_object_type': 'onChangeFieldObjectType', + 'change_field_object_label': 'onChangeFieldObjectLabel', + 'change_field_object_name': 'onChangeFieldObjectName', + 'change_field_object_parent': 'onChangeFieldObjectParent', + 'sortstop_field_object': 'onChangeFieldObjectParent' }, - _save_field: function( $el ){ - - acf.do_action('save_field/type=' + $el.data('type'), $el); + onOpenFieldObject: function( field ){ + acf.doAction('open_field', field.$el); + acf.doAction('open_field/type=' + field.get('type'), field.$el); + acf.doAction('render_field_settings', field.$el); + acf.doAction('render_field_settings/type=' + field.get('type'), field.$el); }, - _open_field: function( $el ){ - - acf.do_action('open_field/type=' + $el.data('type'), $el); - acf.do_action('render_field_settings', $el); - + onCloseFieldObject: function( field ){ + acf.doAction('close_field', field.$el); + acf.doAction('close_field/type=' + field.get('type'), field.$el); }, - _close_field: function( $el ){ - - acf.do_action('close_field/type=' + $el.data('type'), $el); - + onAddFieldObject: function( field ){ + acf.doAction('add_field', field.$el); + acf.doAction('add_field/type=' + field.get('type'), field.$el); }, - _wipe_field: function( $el ){ - - acf.do_action('wipe_field/type=' + $el.data('type'), $el); - + onDuplicateFieldObject: function( field ){ + acf.doAction('duplicate_field', field.$el); + acf.doAction('duplicate_field/type=' + field.get('type'), field.$el); }, - _add_field: function( $el ){ - - acf.do_action('add_field/type=' + $el.data('type'), $el); - + onDeleteFieldObject: function( field ){ + acf.doAction('delete_field', field.$el); + acf.doAction('delete_field/type=' + field.get('type'), field.$el); }, - _duplicate_field: function( $el ){ - - acf.do_action('duplicate_field/type=' + $el.data('type'), $el); + onChangeFieldObjectType: function( field ){ + acf.doAction('change_field_type', field.$el); + acf.doAction('change_field_type/type=' + field.get('type'), field.$el); + acf.doAction('render_field_settings', field.$el); + acf.doAction('render_field_settings/type=' + field.get('type'), field.$el); }, - _delete_field: function( $el ){ - - acf.do_action('delete_field/type=' + $el.data('type'), $el); - + onChangeFieldObjectLabel: function( field ){ + acf.doAction('change_field_label', field.$el); + acf.doAction('change_field_label/type=' + field.get('type'), field.$el); }, - _change_field_type: function( $el ){ - - acf.do_action('change_field_type/type=' + $el.data('type'), $el); - acf.do_action('render_field_settings', $el); + onChangeFieldObjectName: function( field ){ + acf.doAction('change_field_name', field.$el); + acf.doAction('change_field_name/type=' + field.get('type'), field.$el); }, - _change_field_label: function( $el ){ - - acf.do_action('change_field_label/type=' + $el.data('type'), $el); - - }, - - _change_field_name: function( $el ){ - - acf.do_action('change_field_name/type=' + $el.data('type'), $el); - - }, - - _render_field_settings: function( $el ){ - - acf.do_action('render_field_settings/type=' + $el.data('type'), $el); - + onChangeFieldObjectParent: function( field ){ + acf.doAction('update_field_parent', field.$el); } - - }); - - - - /* - * Append - * - * This model handles all logic to append fields together - * - * @type function - * @date 12/02/2015 - * @since 5.5.0 - * - * @param n/a - * @return n/a - */ - - acf.field_group.append = acf.model.extend({ - - actions: { - 'render_field_settings' : '_render_field_settings' - }, - - render: function( $el ){ - - // vars - var append = $el.data('append'); - - - // find sibling - $sibling = $el.siblings('[data-name="' + append + '"]'); - - - // bail early if no sibling - if( !$sibling.exists() ) return; - - - // vars - var $wrap = $sibling.children('.acf-input'), - $ul = $wrap.children('.acf-hl'); - - - // append ul if doesn't exist - if( !$ul.exists() ) { - - $wrap.wrapInner(''); - - $ul = $wrap.children('.acf-hl'); - - } - - - // create $li - var $li = $('
  • ').append( $el.children('.acf-input').children() ); - - - // append $li - $ul.append( $li ); - - - // update cols - $ul.attr('data-cols', $ul.children().length ); - - - // remove - $el.remove(); - - }, - - _render_field_settings: function( $el ){ - - // reference - var self = this; - - - // loop - $el.find('.acf-field[data-append]').each(function(){ - - self.render( $(this) ); - - }); - - } - - }); - - - - /* - * Select - * - * This field type requires some extra logic for its settings - * - * @type function - * @date 24/10/13 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - var acf_settings_select = acf.field_group.field_object.extend({ - - type: 'select', - - actions: { - 'render_settings': 'render' - }, - - events: { - 'change .acf-field-setting-ui input': 'render' - }, - - render: function( $el ){ - - // ui checked - if( this.setting('ui input[type="checkbox"]').prop('checked') ) { - - this.setting('ajax').show(); - - // ui not checked - } else { - - this.setting('ajax').hide(); - this.setting('ajax input[type="checkbox"]').prop('checked', false).trigger('change'); - - } - - } - - }); - - - /* - * Radio - * - * This field type requires some extra logic for its settings - * - * @type function - * @date 24/10/13 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - var acf_settings_radio = acf.field_group.field_object.extend({ - - type: 'radio', - - actions: { - 'render_settings': 'render' - }, - - events: { - 'change .acf-field-setting-other_choice input': 'render' - }, - - render: function( $el ){ - - // other_choice checked - if( this.setting('other_choice input[type="checkbox"]').prop('checked') ) { - - this.setting('save_other_choice').show(); - - // other_choice not checked - } else { - - this.setting('save_other_choice').hide(); - this.setting('save_other_choice input[type="checkbox"]').prop('checked', false).trigger('change'); - - } - - } - - }); - - - /* - * Radio - * - * This field type requires some extra logic for its settings - * - * @type function - * @date 24/10/13 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - var acf_settings_checkbox = acf.field_group.field_object.extend({ - - type: 'checkbox', - - actions: { - 'render_settings': 'render' - }, - - events: { - 'change .acf-field-setting-allow_custom input': 'render' - }, - - render: function( $el ){ - - // other_choice checked - if( this.setting('allow_custom input[type="checkbox"]').prop('checked') ) { - - this.setting('save_custom').show(); - - // other_choice not checked - } else { - - this.setting('save_custom').hide(); - this.setting('save_custom input[type="checkbox"]').prop('checked', false).trigger('change'); - - } - - } - - }); - - - /* - * True false - * - * This field type requires some extra logic for its settings - * - * @type function - * @date 24/10/13 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - var acf_settings_true_false = acf.field_group.field_object.extend({ - - type: 'true_false', - - actions: { - 'render_settings': 'render' - }, - - events: { - 'change .acf-field-setting-ui input': 'render' - }, - - render: function( $el ){ - - // ui checked - if( this.setting('ui input[type="checkbox"]').prop('checked') ) { - - this.setting('ui_on_text').show(); - this.setting('ui_off_text').show(); - - // ui not checked - } else { - - this.setting('ui_on_text').hide(); - this.setting('ui_off_text').hide(); - - } - - } - - }); - - - /* - * Date Picker - * - * This field type requires some extra logic for its settings - * - * @type function - * @date 24/10/13 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - var acf_settings_date_picker = acf.field_group.field_object.extend({ - - type: 'date_picker', - - actions: { - 'render_settings': 'render' - }, - - events: { - 'change .acf-field-setting-display_format input': 'render', - 'change .acf-field-setting-return_format input': 'render' - }, - - render: function( $el ){ - - this.render_list( this.setting('display_format') ); - this.render_list( this.setting('return_format') ); - - }, - - render_list: function( $setting ){ - - // vars - var $ul = $setting.find('ul'), - $radio = $ul.find('input[type="radio"]:checked'), - $other = $ul.find('input[type="text"]'); - - - // display val - if( $radio.val() != 'other' ) { - - $other.val( $radio.val() ); - - } - - } - - }); - - - /* - * Date Time Picker - * - * This field type requires some extra logic for its settings - * - * @type function - * @date 24/10/13 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - var acf_settings_date_time_picker = acf_settings_date_picker.extend({ - - type: 'date_time_picker' - - }); - - - /* - * Time Picker - * - * This field type requires some extra logic for its settings - * - * @type function - * @date 24/10/13 - * @since 5.0.0 - * - * @param n/a - * @return n/a - */ - - var acf_settings_date_time_picker = acf_settings_date_picker.extend({ - - type: 'time_picker' - - }); - - - /* - * tab - * - * description - * - * @type function - * @date 12/02/2015 - * @since 5.1.5 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - var acf_settings_tab = acf.field_group.field_object.extend({ - - type: 'tab', - - actions: { - 'render_settings': 'render' - }, - - render: function( $el ){ - - // clear name - this.setting('name input').val('').trigger('change'); - - - // clear required - this.setting('required input[type="checkbox"]').prop('checked', false).trigger('change'); - - } - - }); - - - /* - * message - * - * description - * - * @type function - * @date 12/02/2015 - * @since 5.1.5 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - var acf_settings_message = acf_settings_tab.extend({ - - type: 'message' - - }); - - - /* - * screen - * - * description - * - * @type function - * @date 23/07/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - acf.field_group.screen = acf.model.extend({ - - actions: { - 'ready': 'ready' - }, - - events: { - 'click #acf-field-key-hide': 'toggle' - }, - - ready: function(){ - - // vars - var $el = $('#adv-settings'), - $append = $el.find('#acf-append-show-on-screen'); - - - // append - $el.find('.metabox-prefs').append( $append.html() ); - - - // move br - $el.find('.metabox-prefs br').remove(); - - - // remove - $append.remove(); - - - // render - this.render(); - - }, - - toggle: function( e ){ - - // vars - var val = e.$el.prop('checked') ? 1 : 0; - - - // update user setting - acf.update_user_setting('show_field_keys', val); - - - // render $fields - this.render(); - - }, - - render: function(){ - - // vars - var options = acf.serialize( $('#adv-settings') ); - - - // toggle class - var $fields = acf.field_group.$fields; - - - // show field keys - if( options.show_field_keys ) { - - $fields.addClass('show-field-keys'); - - } else { - - $fields.removeClass('show-field-keys'); - - } - - } - - }); - - - /* - * sub fields - * - * description - * - * @type function - * @date 31/1/17 - * @since 5.5.6 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - acf.field_group.sub_fields = acf.model.extend({ - - actions: { - 'open_field': 'update_field_parent', - 'sortstop': 'update_field_parent', - 'duplicate_field': 'duplicate_field', - 'delete_field': 'delete_field', - 'change_field_type': 'change_field_type' - }, - - - /* - * fix_conditional_logic - * - * This function will update sub field conditional logic rules after duplication - * - * @type function - * @date 10/06/2014 - * @since 5.0.0 - * - * @param $fields (jquery selection) - * @return n/a - */ - - fix_conditional_logic : function( $fields ){ - - // build refernce - var ref = {}; - - $fields.each(function(){ - - ref[ $(this).attr('data-orig') ] = $(this).attr('data-key'); - - }); - - - $fields.find('.conditional-rule-param').each(function(){ - - // vars - var key = $(this).val(); - - - // bail early if val is not a ref key - if( !(key in ref) ) { - - return; - - } - - - // add option if doesn't yet exist - if( ! $(this).find('option[value="' + ref[key] + '"]').exists() ) { - - $(this).append(''); - - } - - - // set new val - $(this).val( ref[key] ); - - }); - - }, - - - /* - * update_field_parent - * - * This function will update field meta such as parent - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ - - update_field_parent: function( $el ){ - - // bail early if not div.field (flexible content tr) - if( !$el.hasClass('acf-field-object') ) return; - - - // vars - var $parent = $el.parent().closest('.acf-field-object'), - val = acf.get('post_id'); - - - // find parent - if( $parent.exists() ) { - - // set as parent ID - val = acf.field_group.get_field_meta( $parent, 'ID' ); - - - // if parent is new, no ID exists - if( !val ) { - - val = acf.field_group.get_field_meta( $parent, 'key' ); - - } - - } - - - // update parent - acf.field_group.update_field_meta( $el, 'parent', val ); - - - // action for 3rd party customization - acf.do_action('update_field_parent', $el, $parent); - - }, - - - /* - * duplicate_field - * - * This function is triggered when duplicating a field - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ - - duplicate_field: function( $el ) { - - // vars - var $fields = $el.find('.acf-field-object'); - - - // bail early if $fields are empty - if( !$fields.exists() ) { - - return; - - } - - - // loop over sub fields - $fields.each(function(){ - - // vars - var $parent = $(this).parent().closest('.acf-field-object'), - key = acf.field_group.get_field_meta( $parent, 'key'); - - - // wipe field - acf.field_group.wipe_field( $(this) ); - - - // update parent - acf.field_group.update_field_meta( $(this), 'parent', key ); - - - // save field - acf.field_group.save_field( $(this) ); - - - }); - - - // fix conditional logic rules - this.fix_conditional_logic( $fields ); - - }, - - - /* - * delete_field - * - * This function is triggered when deleting a field - * - * @type function - * @date 8/04/2014 - * @since 5.0.0 - * - * @param $el - * @return n/a - */ - - delete_field : function( $el ){ - - $el.find('.acf-field-object').each(function(){ - - acf.field_group.delete_field( $(this), false ); - - }); - - }, - - - /* - * change_field_type - * - * This function is triggered when changing a field type - * - * @type function - * @date 7/06/2014 - * @since 5.0.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - change_field_type : function( $el ) { - - $el.find('.acf-field-object').each(function(){ - - acf.field_group.delete_field( $(this), false ); - - }); - - } - }); })(jQuery); // @codekit-prepend "../js/field-group.js"; +// @codekit-prepend "../js/field-group-field.js"; +// @codekit-prepend "../js/field-group-settings.js"; +// @codekit-prepend "../js/field-group-conditions.js"; +// @codekit-prepend "../js/field-group-fields.js"; +// @codekit-prepend "../js/field-group-locations.js"; +// @codekit-prepend "../js/field-group-compatibility.js"; diff --git a/assets/js/acf-field-group.min.js b/assets/js/acf-field-group.min.js index f712a72..e10d1fa 100644 --- a/assets/js/acf-field-group.min.js +++ b/assets/js/acf-field-group.min.js @@ -1 +1 @@ -!function($){acf.field_group=acf.model.extend({$fields:null,$locations:null,$options:null,actions:{ready:"init"},events:{"submit #post":"submit",'click a[href="#"]':"preventDefault","click .submitdelete":"trash","mouseenter .acf-field-list":"sortable"},init:function(){this.$fields=$("#acf-field-group-fields"),this.$locations=$("#acf-field-group-locations"),this.$options=$("#acf-field-group-options"),acf.validation.active=0},sortable:function(e){if(!e.$el.hasClass("ui-sortable")){var t=this;e.$el.sortable({handle:".acf-sortable-handle",connectWith:".acf-field-list",start:function(e,t){t.placeholder.height(t.item.height())},update:function(e,i){var a=i.item;t.render_fields(),acf.do_action("sortstop",a)}})}},preventDefault:function(e){e.preventDefault()},get_selector:function(e){e=e||"";var t=".acf-field-object";return e&&(t+="-"+e,t=t.split("_").join("-")),t},render_fields:function(){var e=this;$(".acf-field-list").each(function(){var t=$(this).children(".acf-field-object");t.each(function(t){e.update_field_meta($(this),"menu_order",t),$(this).children(".handle").find(".acf-icon").html(t+1)}),t.exists()?$(this).children(".no-fields-message").hide():$(this).children(".no-fields-message").show()})},get_field_meta:function(e,t){var i=e.find("> .meta > .input-"+t);return!!i.exists()&&i.val()},update_field_meta:function(e,t,i){var a=e.find("> .meta > .input-"+t);if(!a.exists()){var n=e.find("> .meta > .input-ID").outerHTML();n=acf.str_replace("ID",t,n),a=$(n),a.val(i),e.children(".meta").append(a)}a.val()!=i&&(a.val(i),"save"!=t&&this.save_field(e,"meta"))},delete_field_meta:function(e,t){var i=e.find("> .meta > .input-"+t);i.exists()&&(i.remove(),this.save_field(e,"meta"))},save_field:function(e,t){t=t||"settings";var i=this.get_field_meta(e,"save");"settings"!=i&&i!=t&&(this.update_field_meta(e,"save",t),acf.do_action("save_field",e,t))},submit:function(e){var t=this,i=$("#titlewrap #title");i.val()||(e.preventDefault(),acf.validation.toggle(e.$el,"unlock"),alert(acf._e("title_is_required")),i.focus()),$(".acf-field-object").each(function(){var e=t.get_field_meta($(this),"save"),i=t.get_field_meta($(this),"ID");$(this).hasClass("open")&&t.close_field($(this)),"settings"==e||("meta"==e?$(this).children(".settings").find('[name^="acf_fields['+i+']"]').remove():$(this).find('[name^="acf_fields['+i+']"]').remove())})},trash:function(e){confirm(acf._e("move_to_trash"))||e.preventDefault()},render_field:function(e){var t=e.find(".field-label:first").val(),i=e.find(".field-name:first").val(),a=e.find(".field-type:first option:selected").text(),n=e.find(".field-required:first").prop("checked"),d=e.children(".handle");d.find(".li-field-label strong a").html(t),d.find(".li-field-label .acf-required").remove(),n&&d.find(".li-field-label strong").append('*'),d.find(".li-field-name").text(i),d.find(".li-field-type").text(a),acf.do_action("render_field_handle",e,d)},edit_field:function(e){e.hasClass("open")?this.close_field(e):this.open_field(e)},open_field:function(e){if(e.hasClass("open"))return!1;e.addClass("open"),acf.do_action("open_field",e),e.children(".settings").animate({height:"toggle"},250)},close_field:function(e){if(!e.hasClass("open"))return!1;e.removeClass("open"),acf.do_action("close_field",e),e.children(".settings").animate({height:"toggle"},250)},wipe_field:function(e){var t=e.attr("data-id"),i=e.attr("data-key"),a=acf.get_uniqid(),n="field_"+a;e.attr("data-id",a),e.attr("data-key",n),e.attr("data-orig",i),this.update_field_meta(e,"ID",""),this.update_field_meta(e,"key",n),e.find('[id*="'+t+'"]').each(function(){$(this).attr("id",$(this).attr("id").replace(t,a))}),e.find('[name*="'+t+'"]').each(function(){$(this).attr("name",$(this).attr("name").replace(t,a))}),e.find("> .handle .pre-field-key").text(n),e.find(".ui-sortable").removeClass("ui-sortable"),acf.do_action("wipe_field",e)},add_field:function(e){var t=$($("#tmpl-acf-field").html()),i=t.find(".field-label:first"),a=t.find(".field-name:first");this.wipe_field(t),e.append(t),i.val(""),a.val(""),setTimeout(function(){i.focus()},251),this.render_fields(),acf.do_action("append",t),this.edit_field(t),acf.do_action("add_field",t)},duplicate_field:function(e){acf.do_action("before_duplicate",e);var t=e.clone(),i=t.find(".field-label:first"),a=t.find(".field-name:first");acf.do_action("remove",t),this.wipe_field(t),acf.do_action("after_duplicate",e,t),e.after(t),acf.do_action("append",t),setTimeout(function(){i.focus()},251),this.render_fields(),e.hasClass("open")?this.close_field(e):this.open_field(t);var n=i.val(),d=a.val(),l=d.split("_").pop(),f=acf._e("copy");if(0===l.indexOf(f)){var c=1*l.replace(f,"");c=c?c+1:2,n=n.replace(l,f+c),d=d.replace(l,f+c)}else n+=" ("+f+")",d+="_"+f;return i.val(n),a.val(d),this.save_field(t),this.render_field(t),acf.do_action("duplicate_field",t),t},move_field:function(e){var t=this,i=acf.prepare_for_ajax({action:"acf/field_group/move_field",field_id:this.get_field_meta(e,"ID")}),a=!1;if(i.field_id?"settings"==this.get_field_meta(e,"save")?a=!0:e.find(".acf-field-object").each(function(){if(!t.get_field_meta($(this),"ID"))return a=!0,!1;"settings"==t.get_field_meta($(this),"save")&&(a=!0)}):a=!0,a)return void alert(acf._e("move_field_warning"));acf.open_popup({title:acf._e("move_field"),loading:!0,height:145}),$.ajax({url:acf.get("ajaxurl"),data:i,type:"post",dataType:"html",success:function(i){t.move_field_confirm(e,i)}})},move_field_confirm:function(e,t){var i=this;acf.update_popup({content:t});var a=acf.prepare_for_ajax({action:"acf/field_group/move_field",field_id:this.get_field_meta(e,"ID"),field_group_id:0});$("#acf-move-field-form").on("submit",function(){return a.field_group_id=$(this).find("select").val(),$.ajax({url:acf.get("ajaxurl"),data:a,type:"post",dataType:"html",success:function(t){acf.update_popup({content:t}),i.remove_field(e)}}),!1})},delete_field:function(e,t){t=t||!0;var i=this.get_field_meta(e,"ID");if(i){var a=$("#_acf_delete_fields");a.val(a.val()+"|"+i)}acf.do_action("delete_field",e),t&&this.remove_field(e)},remove_field:function(e){var t=this,i=e.closest(".acf-field-list");e.css({height:e.height(),width:e.width(),position:"absolute"}),e.wrap('
    '),e.animate({opacity:0},250);var a=0,n=!1;i.children(".acf-field-object").length||(n=i.children(".no-fields-message"),a=n.outerHeight()),e.parent(".temp-field-wrap").animate({height:a},250,function(){n&&n.show(),acf.do_action("remove",$(this)),$(this).remove(),t.render_fields()})},change_field_type:function(e){var t=e.closest("tbody"),i=t.closest(".acf-field-object"),a=i.parent().closest(".acf-field-object"),n=i.attr("data-key"),d=i.attr("data-type"),l=e.val();i.removeClass("acf-field-object-"+acf.str_replace("_","-",d)),i.addClass("acf-field-object-"+acf.str_replace("_","-",l)),i.attr("data-type",l),i.data("type",l),i.data("xhr")&&i.data("xhr").abort();var f=t.children('.acf-field[data-setting="'+d+'"]');if(acf.update(n+"_settings_"+d,f),f.detach(),this.render_field(i),$newettings=acf.get(n+"_settings_"+l),$newettings)return t.children('.acf-field[data-name="conditional_logic"]').before($newettings),acf.update(n+"_settings_"+l,!1),void acf.do_action("change_field_type",i);var c=$('
    ');t.children('.acf-field[data-name="conditional_logic"]').before(c);var r={action:"acf/field_group/render_field_settings",nonce:acf.o.nonce,parent:acf.o.post_id,field_group:acf.o.post_id,prefix:e.attr("name").replace("[type]",""),type:l};a.exists()&&(r.parent=this.get_field_meta(a,"ID"));var o=$.ajax({url:acf.o.ajaxurl,data:r,type:"post",dataType:"html",success:function(e){if(e){var t=$(e);c.after(t),acf.do_action("append",t),acf.do_action("change_field_type",i)}},complete:function(){c.remove()}});i.data("xhr",o)},change_field_label:function(e){var t=e.find(".field-label:first"),i=e.find(".field-name:first"),a=e.attr("data-type");if(""==i.val()){var n=t.val();n=acf.str_sanitize(n),i.val(n).trigger("change")}this.render_field(e),acf.do_action("change_field_label",e)},change_field_name:function(e){var t=e.find(".field-name:first");"field_"===t.val().substr(0,6)&&(alert(acf._e("field_name_start")),setTimeout(function(){t.focus()},1)),acf.do_action("change_field_name",e)}}),acf.field_group.field=acf.model.extend({events:{"click .edit-field":"edit","click .duplicate-field":"duplicate","click .move-field":"move","click .delete-field":"delete","click .add-field":"add","change .field-type":"change_type","blur .field-label":"change_label","blur .field-name":"change_name","keyup .field-label":"render","keyup .field-name":"render","change .field-required":"render","change .acf-field-object input":"save","change .acf-field-object textarea":"save","change .acf-field-object select":"save"},event:function(e){return e.$field=e.$el.closest(".acf-field-object"),e},edit:function(e){acf.field_group.edit_field(e.$field)},duplicate:function(e){acf.field_group.duplicate_field(e.$field)},move:function(e){acf.field_group.move_field(e.$field)},delete:function(e){acf.field_group.delete_field(e.$field)},add:function(e){var t=e.$el.closest(".acf-field-list-wrap").children(".acf-field-list");acf.field_group.add_field(t)},change_type:function(e){acf.field_group.change_field_type(e.$el)},change_label:function(e){acf.field_group.change_field_label(e.$field)},change_name:function(e){acf.field_group.change_field_name(e.$field)},render:function(e){acf.field_group.render_field(e.$field)},save:function(e){acf.field_group.save_field(e.$field)}}),acf.field_group.conditional_logic=acf.model.extend({actions:{open_field:"render_field",change_field_label:"render_fields",change_field_type:"render_fields"},events:{"click .add-conditional-rule":"add_rule","click .add-conditional-group":"add_group","click .remove-conditional-rule":"remove_rule","change .conditional-toggle":"change_toggle","change .conditional-rule-param":"change_param"},render_fields:function(){var e=this;$(".acf-field-object.open").each(function(){e.render_field($(this))})},render_field:function(e){var t=this,i=e.attr("data-key"),a=e.parents(".acf-field-list"),n=e.find(".acf-field-setting-conditional_logic:last"),d=[];$.each(a,function(e){var t=0==e?acf._e("sibling_fields"):acf._e("parent_fields");$(this).children(".acf-field-object").each(function(){var e=$(this),a=e.attr("data-key"),n=e.attr("data-type"),l=e.find(".field-label:first").val();-1!==$.inArray(n,["select","checkbox","true_false","radio","button_group"])&&a!=i&&d.push({value:a,label:l,group:t})})}),d.length||d.push({value:"",label:acf._e("no_fields")}),n.find(".rule").each(function(){t.render_rule($(this),d)})},render_rule:function(e,t){var i=e.find(".conditional-rule-param"),a=e.find(".conditional-rule-value");t&&acf.render_select(i,t);var n=$('.acf-field-object[data-key="'+i.val()+'"]'),d=n.attr("data-type"),l=[];if("true_false"==d)l.push({value:1,label:acf._e("checked")});else if("select"==d||"checkbox"==d||"radio"==d||"button_group"==d){var f=n.find('.acf-field[data-name="choices"] textarea').val().split("\n");$.each(f,function(e,t){t=t.split(":"),t[1]=t[1]||t[0],l.push({value:$.trim(t[0]),label:$.trim(t[1])})});var c=n.find('.acf-field[data-name="allow_null"]');c.exists()&&"1"==c.find("input:checked").val()&&l.unshift({value:"",label:acf._e("null")})}acf.render_select(a,l)},change_toggle:function(e){var t=e.$el,i=e.$el.prop("checked"),a=t.closest(".acf-input");i?(a.find(".rule-groups").show(),a.find(".rule-groups").find("[name]").prop("disabled",!1)):(a.find(".rule-groups").hide(),a.find(".rule-groups").find("[name]").prop("disabled",!0))},change_param:function(e){var t=e.$el.closest(".rule");this.render_rule(t)},add_rule:function(e){var t=e.$el.closest("tr");$tr2=acf.duplicate(t),$tr2.find("select:first").trigger("change")},remove_rule:function(e){var t=e.$el.closest("tr");t.find("select:first").trigger("change"),0==t.siblings("tr").length&&t.closest(".rule-group").remove(),t.remove()},add_group:function(e){var t=e.$el.closest(".rule-groups"),i=t.find(".rule-group:last");$group2=acf.duplicate(i),$group2.find("h4").text(acf._e("or")),$group2.find("tr:not(:first)").remove(),$group2.find("select:first").trigger("change")}}),acf.field_group.locations=acf.model.extend({events:{"click .add-location-rule":"add_rule","click .add-location-group":"add_group","click .remove-location-rule":"remove_rule","change .refresh-location-rule":"change_rule"},add_rule:function(e){var t=e.$el.closest("tr");$tr2=acf.duplicate(t)},remove_rule:function(e){var t=e.$el.closest("tr");0==t.siblings("tr").length?t.closest(".rule-group").remove():t.remove()},add_group:function(e){var t=e.$el.closest(".rule-groups"),i=t.find(".rule-group:last");$group2=acf.duplicate(i),$group2.find("h4").text(acf._e("or")),$group2.find("tr:not(:first)").remove()},change_rule:function(e){var t=e.$el.closest("tr"),i=t.closest(".rule-group"),a=t.find("td.param select").attr("name").replace("[param]",""),n={action:"acf/field_group/render_location_rule",rule:acf.serialize(t,a)};n.rule.id=t.attr("data-id"),n.rule.group=i.attr("data-id"),$.ajax({url:acf.get("ajaxurl"),data:acf.prepare_for_ajax(n),type:"post",dataType:"html",success:function(e){e&&t.replaceWith(e)}})}}),acf.field_group.field_object=acf.model.extend({type:"",o:{},$field:null,$settings:null,tag:function(e){var t=this.type,i=e.split("_");return i.splice(1,0,"field"),e=i.join("_"),t&&(e+="/type="+t),e},selector:function(){var e=".acf-field-object",t=this.type;return t&&(e+="-"+t,e=acf.str_replace("_","-",e)),e},_add_action:function(e,t){var i=this;acf.add_action(this.tag(e),function(e){i.set("$field",e),i[t].apply(i,arguments)})},_add_filter:function(e,t){var i=this;acf.add_filter(this.tag(e),function(e){i.set("$field",e),i[t].apply(i,arguments)})},_add_event:function(e,t){var i=this,a=e.substr(0,e.indexOf(" ")),n=e.substr(e.indexOf(" ")+1),d=this.selector();$(document).on(a,d+" "+n,function(e){e.$el=$(this),e.$field=e.$el.closest(".acf-field-object"),i.set("$field",e.$field),i[t].apply(i,[e])})},_set_$field:function(){this.o=this.$field.data(),this.$settings=this.$field.find("> .settings > table > tbody"),this.focus()},focus:function(){},setting:function(e){return this.$settings.find("> .acf-field-setting-"+e)}}),acf.field_group.field_objects=acf.model.extend({actions:{save_field:"_save_field",open_field:"_open_field",close_field:"_close_field",wipe_field:"_wipe_field",add_field:"_add_field",duplicate_field:"_duplicate_field",delete_field:"_delete_field",change_field_type:"_change_field_type",change_field_label:"_change_field_label",change_field_name:"_change_field_name",render_field_settings:"_render_field_settings"},_save_field:function(e){acf.do_action("save_field/type="+e.data("type"),e)},_open_field:function(e){acf.do_action("open_field/type="+e.data("type"),e),acf.do_action("render_field_settings",e)},_close_field:function(e){acf.do_action("close_field/type="+e.data("type"),e)},_wipe_field:function(e){acf.do_action("wipe_field/type="+e.data("type"),e)},_add_field:function(e){acf.do_action("add_field/type="+e.data("type"),e)},_duplicate_field:function(e){acf.do_action("duplicate_field/type="+e.data("type"),e)},_delete_field:function(e){acf.do_action("delete_field/type="+e.data("type"),e)},_change_field_type:function(e){acf.do_action("change_field_type/type="+e.data("type"),e),acf.do_action("render_field_settings",e)},_change_field_label:function(e){acf.do_action("change_field_label/type="+e.data("type"),e)},_change_field_name:function(e){acf.do_action("change_field_name/type="+e.data("type"),e)},_render_field_settings:function(e){acf.do_action("render_field_settings/type="+e.data("type"),e)}}),acf.field_group.append=acf.model.extend({actions:{render_field_settings:"_render_field_settings"},render:function(e){var t=e.data("append");if($sibling=e.siblings('[data-name="'+t+'"]'),$sibling.exists()){var i=$sibling.children(".acf-input"),a=i.children(".acf-hl");a.exists()||(i.wrapInner(''),a=i.children(".acf-hl"));var n=$("
  • ").append(e.children(".acf-input").children());a.append(n),a.attr("data-cols",a.children().length),e.remove()}},_render_field_settings:function(e){var t=this;e.find(".acf-field[data-append]").each(function(){t.render($(this))})}});var e=acf.field_group.field_object.extend({type:"select",actions:{render_settings:"render"},events:{"change .acf-field-setting-ui input":"render"},render:function(e){this.setting('ui input[type="checkbox"]').prop("checked")?this.setting("ajax").show():(this.setting("ajax").hide(),this.setting('ajax input[type="checkbox"]').prop("checked",!1).trigger("change"))}}),t=acf.field_group.field_object.extend({type:"radio",actions:{render_settings:"render"},events:{"change .acf-field-setting-other_choice input":"render"},render:function(e){this.setting('other_choice input[type="checkbox"]').prop("checked")?this.setting("save_other_choice").show():(this.setting("save_other_choice").hide(),this.setting('save_other_choice input[type="checkbox"]').prop("checked",!1).trigger("change"))}}),i=acf.field_group.field_object.extend({type:"checkbox",actions:{render_settings:"render"},events:{"change .acf-field-setting-allow_custom input":"render"},render:function(e){this.setting('allow_custom input[type="checkbox"]').prop("checked")?this.setting("save_custom").show():(this.setting("save_custom").hide(),this.setting('save_custom input[type="checkbox"]').prop("checked",!1).trigger("change"))}}),a=acf.field_group.field_object.extend({type:"true_false",actions:{render_settings:"render"},events:{"change .acf-field-setting-ui input":"render"},render:function(e){this.setting('ui input[type="checkbox"]').prop("checked")?(this.setting("ui_on_text").show(),this.setting("ui_off_text").show()):(this.setting("ui_on_text").hide(),this.setting("ui_off_text").hide())}}),n=acf.field_group.field_object.extend({type:"date_picker",actions:{render_settings:"render"},events:{"change .acf-field-setting-display_format input":"render","change .acf-field-setting-return_format input":"render"},render:function(e){this.render_list(this.setting("display_format")),this.render_list(this.setting("return_format"))},render_list:function(e){var t=e.find("ul"),i=t.find('input[type="radio"]:checked'),a=t.find('input[type="text"]');"other"!=i.val()&&a.val(i.val())}}),d=n.extend({type:"date_time_picker"}),d=n.extend({type:"time_picker"}),l=acf.field_group.field_object.extend({type:"tab",actions:{render_settings:"render"},render:function(e){this.setting("name input").val("").trigger("change"),this.setting('required input[type="checkbox"]').prop("checked",!1).trigger("change")}}),f=l.extend({type:"message"});acf.field_group.screen=acf.model.extend({actions:{ready:"ready"},events:{"click #acf-field-key-hide":"toggle"},ready:function(){var e=$("#adv-settings"),t=e.find("#acf-append-show-on-screen");e.find(".metabox-prefs").append(t.html()),e.find(".metabox-prefs br").remove(),t.remove(),this.render()},toggle:function(e){var t=e.$el.prop("checked")?1:0;acf.update_user_setting("show_field_keys",t),this.render()},render:function(){var e=acf.serialize($("#adv-settings")),t=acf.field_group.$fields;e.show_field_keys?t.addClass("show-field-keys"):t.removeClass("show-field-keys")}}),acf.field_group.sub_fields=acf.model.extend({actions:{open_field:"update_field_parent",sortstop:"update_field_parent",duplicate_field:"duplicate_field",delete_field:"delete_field",change_field_type:"change_field_type"},fix_conditional_logic:function(e){var t={};e.each(function(){t[$(this).attr("data-orig")]=$(this).attr("data-key")}),e.find(".conditional-rule-param").each(function(){var e=$(this).val();e in t&&($(this).find('option[value="'+t[e]+'"]').exists()||$(this).append('"),$(this).val(t[e]))})},update_field_parent:function(e){if(e.hasClass("acf-field-object")){var t=e.parent().closest(".acf-field-object"),i=acf.get("post_id");t.exists()&&((i=acf.field_group.get_field_meta(t,"ID"))||(i=acf.field_group.get_field_meta(t,"key"))),acf.field_group.update_field_meta(e,"parent",i),acf.do_action("update_field_parent",e,t)}},duplicate_field:function(e){var t=e.find(".acf-field-object");t.exists()&&(t.each(function(){var e=$(this).parent().closest(".acf-field-object"),t=acf.field_group.get_field_meta(e,"key");acf.field_group.wipe_field($(this)),acf.field_group.update_field_meta($(this),"parent",t),acf.field_group.save_field($(this))}),this.fix_conditional_logic(t))},delete_field:function(e){e.find(".acf-field-object").each(function(){acf.field_group.delete_field($(this),!1)})},change_field_type:function(e){e.find(".acf-field-object").each(function(){acf.field_group.delete_field($(this),!1)})}})}(jQuery); \ No newline at end of file +!function($,e){var t=new acf.Model({id:"fieldGroupManager",events:{"submit #post":"onSubmit",'click a[href="#"]':"onClick","click .submitdelete":"onClickTrash"},filters:{find_fields_args:"filterFindFieldArgs"},onSubmit:function(e,t){var i=$("#titlewrap #title");i.val()||(e.preventDefault(),acf.validation.unlockForm(t),alert(acf.__("Field group title is required")),i.focus())},onClick:function(e){e.preventDefault()},onClickTrash:function(e){confirm(acf.__("Move to trash. Are you sure?"))||e.preventDefault()},filterFindFieldArgs:function(e){return e.visible=!0,e}}),i=new acf.Model({id:"screenOptionsManager",wait:"prepare",events:{change:"onChange"},initialize:function(){var e=$("#adv-settings"),t=$("#acf-append-show-on-screen");e.find(".metabox-prefs").append(t.html()),e.find(".metabox-prefs br").remove(),t.remove(),this.$el=$("#acf-field-key-hide"),this.addEvents(),this.render()},isChecked:function(){return this.$el.prop("checked")},onChange:function(e,t){var i=this.isChecked()?1:0;acf.updateUserSetting("show_field_keys",i),this.render()},render:function(){this.isChecked()?$("#acf-field-group-fields").addClass("show-field-keys"):$("#acf-field-group-fields").removeClass("show-field-keys")}}),n=new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){if(e.has("append")){var t=e.get("append"),i=e.$el.siblings('[data-name="'+t+'"]').first();if(i.length){var n=i.children(".acf-input"),a=n.children("ul");a.length||(n.wrapInner(''),a=n.children("ul"));var c=e.$(".acf-input").html(),l=$("
  • "+c+"
  • ");a.append(l),a.attr("data-cols",a.children().length),e.remove()}}}})}(jQuery),function($,e){acf.FieldObject=acf.Model.extend({eventScope:".acf-field-object",events:{"click .edit-field":"onClickEdit","click .delete-field":"onClickDelete","click .duplicate-field":"duplicate","click .move-field":"move","change .field-type":"onChangeType","change .field-required":"onChangeRequired","blur .field-label":"onChangeLabel","blur .field-name":"onChangeName",change:"onChange",changed:"onChanged"},data:{id:0,key:"",type:""},setup:function(e){this.$el=e,this.inherit(e),this.prop("ID"),this.prop("parent"),this.prop("menu_order")},$input:function(e){return $("#"+this.getInputId()+"-"+e)},$settings:function(){return this.$(".acf-field-settings:first > .acf-field")},$setting:function(e){return this.$(".acf-field-settings:first > .acf-field-setting-"+e)},getParent:function(){return acf.getFieldObjects({child:this.$el,limit:1}).pop()},getParents:function(){return acf.getFieldObjects({child:this.$el})},getFields:function(){return acf.getFieldObjects({parent:this.$el})},getInputName:function(){return"acf_fields["+this.get("id")+"]"},getInputId:function(){return"acf_fields-"+this.get("id")},newInput:function(e,t){var i=this.getInputId(),n=this.getInputName();e&&(i+="-"+e,n+="["+e+"]");var a=$("").attr({id:i,name:n,value:t});return this.$("> .meta").append(a),a},getProp:function(e){if(this.has(e))return this.get(e);var t=this.$input(e),i=t.length?t.val():null;return this.set(e,i,!0),i},setProp:function(e,t){var i=this.$input(e),n=i.val();return i.length||(i=this.newInput(e,t)),null===t?i.remove():i.val(t),this.has(e)?this.set(e,t):this.set(e,t,!0),this},prop:function(e,t){return void 0!==t?this.setProp(e,t):this.getProp(e)},props:function(e){Object.keys(e).map(function(t){this.setProp(t,e[t])},this)},getLabel:function(){var e=this.prop("label");return""===e&&(e=acf.__("(no label)")),e},getName:function(){return this.prop("name")},getType:function(){return this.prop("type")},getTypeLabel:function(){var e=this.prop("type"),t=acf.get("fieldTypes");return t[e]?t[e].label:e},getKey:function(){return this.prop("key")},initialize:function(){},render:function(){var e=this.$(".handle:first"),t=this.prop("menu_order"),i=this.getLabel(),n=this.prop("name"),a=this.getTypeLabel(),c=this.prop("key"),l=this.$input("required").prop("checked");e.find(".acf-icon").html(parseInt(t)+1),l&&(i+=' *'),e.find(".li-field-label strong a").html(i),e.find(".li-field-name").text(n),e.find(".li-field-type").text(a),e.find(".li-field-key").text(c),acf.doAction("render_field_object",this)},refresh:function(){acf.doAction("refresh_field_object",this)},isOpen:function(){return this.$el.hasClass("open")},onClickEdit:function(e){this.isOpen()?this.close():this.open()},open:function(){var e=this.$el.children(".settings");e.slideDown(),this.$el.addClass("open"),acf.doAction("open_field_object",this),this.trigger("openFieldObject"),acf.doAction("show",e)},close:function(){var e=this.$el.children(".settings");e.slideUp(),this.$el.removeClass("open"),acf.doAction("close_field_object",this),this.trigger("closeFieldObject"),acf.doAction("hide",e)},serialize:function(){return acf.serialize(this.$el,this.getInputName())},save:function(e){e=e||"settings","settings"!==this.getProp("save")&&(this.setProp("save",e),this.$el.attr("data-save",e),acf.doAction("save_field_object",this,e))},submit:function(){var e=this.getInputName(),t=this.get("save");this.isOpen()&&this.close(),"settings"==t||("meta"==t?this.$('> .settings [name^="'+e+'"]').remove():this.$('[name^="'+e+'"]').remove()),acf.doAction("submit_field_object",this)},onChange:function(){this.save(),acf.doAction("change_field_object",this)},onChanged:function(e,t,i){"save"!=t&&(["menu_order","parent"].indexOf(t)>-1?this.save("meta"):this.save(),["menu_order","label","required","name","type","key"].indexOf(t)>-1&&this.render(),acf.doAction("change_field_object_"+t,this,i))},onChangeLabel:function(e,t){var i=t.val();if(this.set("label",i),""==this.prop("name")){var n=acf.applyFilters("generate_field_object_name",acf.strSanitize(i),this);this.prop("name",n)}},onChangeName:function(e,t){var i=t.val();this.set("name",i),"field_"===i.substr(0,6)&&alert(acf.__('The string "field_" may not be used at the start of a field name'))},onChangeRequired:function(e,t){var i=t.prop("checked")?1:0;this.set("required",i)},delete:function(e){e=acf.parseArgs(e,{animate:!0});var t=this.prop("ID");if(t){var i=$("#_acf_delete_fields"),n=i.val()+"|"+t;i.val(n)}acf.doAction("delete_field_object",this),e.animate?this.removeAnimate():this.remove()},onClickDelete:function(e,t){this.$el.addClass("-hover");var i=this,n=acf.newTooltip({confirmRemove:!0,target:t,confirm:function(){i.delete(!0)},cancel:function(){i.$el.removeClass("-hover")}})},removeAnimate:function(){var e=this,t=this.$el.parent(),i=acf.findFieldObjects({sibling:this.$el});acf.remove({target:this.$el,endHeight:i.length?0:50,complete:function(){e.remove(),acf.doAction("removed_field_object",e,t)}}),acf.doAction("remove_field_object",e,t)},duplicate:function(){var e=acf.uniqid("field_"),t=acf.duplicate({target:this.$el,search:this.get("id"),replace:e});t.attr("data-key",e);var i=acf.getFieldObject(t);this.isOpen()?this.close():i.open();var n=i.$setting("label input");setTimeout(function(){n.focus()},251);var a=i.prop("label"),c=i.prop("name"),l=c.split("_").pop(),o=acf.__("copy");if($.isNumeric(l)){var r=1*l+1;a=a.replace(l,r),c=c.replace(l,r)}else if(0===l.indexOf(o)){var r=1*l.replace(o,"");r=r?r+1:2,a=a.replace(l,o+r),c=c.replace(l,o+r)}else a+=" ("+o+")",c+="_"+o;i.prop("ID",0),i.prop("label",a),i.prop("name",c),i.prop("key",e),acf.doAction("duplicate_field_object",this,i),acf.doAction("append_field_object",i)},wipe:function(){var e=this.get("id"),t=this.get("key"),i=acf.uniqid("field_");acf.rename({target:this.$el,search:e,replace:i}),this.set("id",i),this.set("prevId",e),this.set("prevKey",t),this.prop("key",i),this.prop("ID",0),this.$el.attr("data-key",i),this.$el.attr("data-id",i),acf.doAction("wipe_field_object",this)},move:function(){var e=function(e){return"settings"==e.get("save")},t=e(this);if(t||acf.getFieldObjects({parent:this.$el}).map(function(i){t=e(i)||i.changed}),t)return void alert(acf.__("This field cannot be moved until its changes have been saved"));var i=this.prop("ID"),n=this,a=!1,c=function(e){a.loading(!1),a.content(e),a.on("submit","form",l)},l=function(e,t){e.preventDefault(),acf.startButtonLoading(a.$(".button"));var n={action:"acf/field_group/move_field",field_id:i,field_group_id:a.$("select").val()};$.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(n),type:"post",dataType:"html",success:o})},o=function(e){a.content(e),n.removeAnimate()};!function(){a=acf.newPopup({title:acf.__("Move Custom Field"),loading:!0,width:"300px"});var e={action:"acf/field_group/move_field",field_id:i};$.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),type:"post",dataType:"html",success:c})}()},onChangeType:function(e,t){this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=this.setTimeout(function(){this.changeType(t.val())},300)},changeType:function(e){var t=this.prop("type"),i=acf.strSlugify("acf-field-object-"+t),n=acf.strSlugify("acf-field-object-"+e);this.$el.removeClass(i).addClass(n),this.$el.attr("data-type",e),this.$el.data("type",e),this.has("xhr")&&this.get("xhr").abort();var a=this.$("> .settings > table > tbody"),c=a.children('[data-setting="'+t+'"]');if(this.set("settings-"+t,c),c.detach(),this.has("settings-"+e)){var l=this.get("settings-"+e);return this.$setting("conditional_logic").before(l),void this.set("type",e)}var o=$('
    ');this.$setting("conditional_logic").before(o);var r={action:"acf/field_group/render_field_settings",field:this.serialize(),prefix:this.getInputName()},d=$.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(r),type:"post",dataType:"html",context:this,success:function(e){e&&(o.after(e),acf.doAction("append",a))},complete:function(){o.remove(),this.set("type",e)}});this.set("xhr",d)},updateParent:function(){var e=acf.get("post_id"),t=this.getParent();t&&(e=t.prop("ID")||t.prop("key")),this.prop("parent",e)}})}(jQuery),function($,e){var t=function(e){return acf.strPascalCase(e||"")+"FieldSetting"};acf.registerFieldSetting=function(e){var i=e.prototype,n=t(i.type+" "+i.name);this.models[n]=e},acf.newFieldSetting=function(e){var i=e.get("setting")||"",n=e.get("name")||"",a=t(i+" "+n),c=acf.models[a]||null;return null!==c&&new c(e)},acf.getFieldSetting=function(e){return e instanceof jQuery&&(e=acf.getField(e)),e.setting};var i=new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){e.setting=acf.newFieldSetting(e)}});acf.FieldSetting=acf.Model.extend({field:!1,type:"",name:"",wait:"ready",eventScope:".acf-field",events:{change:"render"},setup:function(e){var t=e.$el;this.$el=t,this.field=e,this.$fieldObject=t.closest(".acf-field-object"),this.fieldObject=acf.getFieldObject(this.$fieldObject),$.extend(this.data,e.data)},initialize:function(){this.render()},render:function(){}});var n=acf.FieldSetting.extend({type:"",name:"",render:function(){var e=this.$('input[type="radio"]:checked');"other"!=e.val()&&this.$('input[type="text"]').val(e.val())}}),a=n.extend({type:"date_picker",name:"display_format"}),c=n.extend({type:"date_picker",name:"return_format"});acf.registerFieldSetting(a),acf.registerFieldSetting(c);var l=n.extend({type:"date_time_picker",name:"display_format"}),o=n.extend({type:"date_time_picker",name:"return_format"});acf.registerFieldSetting(l),acf.registerFieldSetting(o);var r=n.extend({type:"time_picker",name:"display_format"}),d=n.extend({name:"time_picker",name:"return_format"});acf.registerFieldSetting(r),acf.registerFieldSetting(d)}(jQuery),function($,e){var t=acf.FieldSetting.extend({type:"",name:"conditional_logic",events:{"change .conditions-toggle":"onChangeToggle","click .add-conditional-group":"onClickAddGroup","focus .condition-rule-field":"onFocusField","change .condition-rule-field":"onChangeField","change .condition-rule-operator":"onChangeOperator","click .add-conditional-rule":"onClickAdd","click .remove-conditional-rule":"onClickRemove"},$rule:!1,scope:function(e){return this.$rule=e,this},ruleData:function(e,t){return this.$rule.data.apply(this.$rule,arguments)},$input:function(e){return this.$rule.find(".condition-rule-"+e)},$td:function(e){return this.$rule.find("td."+e)},$toggle:function(){return this.$(".conditions-toggle")},$control:function(){return this.$(".rule-groups")},$groups:function(){return this.$(".rule-group")},$rules:function(){return this.$(".rule")},open:function(){var e=this.$control();e.show(),acf.enable(e)},close:function(){var e=this.$control();e.hide(),acf.disable(e)},render:function(){this.$toggle().prop("checked")?(this.renderRules(),this.open()):this.close()},renderRules:function(){var e=this;this.$rules().each(function(){e.renderRule($(this))})},renderRule:function(e){this.scope(e),this.renderField(),this.renderOperator(),this.renderValue()},renderField:function(){var e=[],t=[],i=this.fieldObject.cid,n=this.$input("field");acf.getFieldObjects().map(function(t){var n={id:t.getKey(),text:t.getLabel()};t.cid===i&&(n.text+=acf.__("(this field)"),n.disabled=!0),acf.getConditionTypes({fieldType:t.getType()}).length||(n.disabled=!0);var a=t.getParents().length;n.text="- ".repeat(a)+n.text,e.push(n)}),e.length||e.push({id:"",text:acf.__("No toggle fields available")}),acf.renderSelect(n,e),this.ruleData("field",n.val())},renderOperator:function(){if(this.ruleData("field")){var e=this.$input("operator"),t=e.val(),i=[];null===e.val()&&acf.renderSelect(e,[{id:this.ruleData("operator"),text:""}]);var n=acf.findFieldObject(this.ruleData("field")),a=acf.getFieldObject(n);acf.getConditionTypes({fieldType:a.getType()}).map(function(e){i.push({id:e.prototype.operator,text:acf.strEscape(e.prototype.label)})}),acf.renderSelect(e,i),this.ruleData("operator",e.val())}},renderValue:function(){if(this.ruleData("field")&&this.ruleData("operator")){var e=this.$input("value"),t=this.$td("value"),i=e.val(),n=acf.findFieldObject(this.ruleData("field")),a=acf.getFieldObject(n),c=acf.getConditionTypes({fieldType:a.getType(),operator:this.ruleData("operator")}),l=c[0].prototype,o=l.choices(a);if(o instanceof Array){var r=$("");acf.renderSelect(r,o)}else var r=$(o);e.detach(),t.html(r),setTimeout(function(){["class","name","id"].map(function(t){r.attr(t,e.attr(t))})},0),r.prop("disabled")||acf.val(r,i,!0),this.ruleData("value",r.val())}},onChangeToggle:function(){this.render()},onClickAddGroup:function(e,t){this.addGroup()},addGroup:function(){var e=this.$(".rule-group:last"),t=acf.duplicate(e);t.find("h4").text(acf.__("or")),t.find("tr").not(":first").remove(),this.fieldObject.save()},onFocusField:function(e,t){this.renderField()},onChangeField:function(e,t){this.scope(t.closest(".rule")),this.ruleData("field",t.val()),this.renderOperator(),this.renderValue()},onChangeOperator:function(e,t){this.scope(t.closest(".rule")),this.ruleData("operator",t.val()),this.renderValue()},onClickAdd:function(e,t){var i=acf.duplicate(t.closest(".rule"));this.renderRule(i)},onClickRemove:function(e,t){var i=t.closest(".rule");this.fieldObject.save(),0==i.siblings(".rule").length&&i.closest(".rule-group").remove(),i.remove()}});acf.registerFieldSetting(t);var i=new acf.Model({actions:{duplicate_field_objects:"onDuplicateFieldObjects"},onDuplicateFieldObjects:function(e,t,i){var n={},a=$();e.map(function(e){n[e.get("prevKey")]=e.get("key"),a=a.add(e.$(".condition-rule-field"))}),a.each(function(){var e=$(this),t=e.val();t&&n[t]&&(e.find("option:selected").attr("value",n[t]),e.val(n[t]))})}})}(jQuery),function($,e){acf.findFieldObject=function(e){return acf.findFieldObjects({key:e,limit:1})},acf.findFieldObjects=function(e){e=e||{};var t=".acf-field-object",i=!1;return e=acf.parseArgs(e,{id:"",key:"",type:"",limit:!1,list:null,parent:!1,sibling:!1,child:!1}),e.id&&(t+='[data-id="'+e.id+'"]'),e.key&&(t+='[data-key="'+e.key+'"]'),e.type&&(t+='[data-type="'+e.type+'"]'),i=e.list?e.list.children(t):e.parent?e.parent.find(t):e.sibling?e.sibling.siblings(t):e.child?e.child.parents(t):$(t),e.limit&&(i=i.slice(0,e.limit)),i},acf.getFieldObject=function(e){"string"==typeof e&&(e=acf.findFieldObject(e));var t=e.data("acf");return t||(t=acf.newFieldObject(e)),t},acf.getFieldObjects=function(e){var t=acf.findFieldObjects(e),i=[];return t.each(function(){var e=acf.getFieldObject($(this));i.push(e)}),i},acf.newFieldObject=function(e){var t=new acf.FieldObject(e);return acf.doAction("new_field_object",t),t};var t=new acf.Model({priority:5,initialize:function(){["prepare","ready","append","remove"].map(function(e){this.addFieldActions(e)},this)},addFieldActions:function(e){var t=e+"_field_objects",i=e+"_field_object",n=e+"FieldObject",a=function(e){var i=acf.getFieldObjects({parent:e});if(i.length){var n=acf.arrayArgs(arguments);n.splice(0,1,t,i),acf.doAction.apply(null,n)}},c=function(e){var t=acf.arrayArgs(arguments);t.unshift(i),e.map(function(e){t[1]=e,acf.doAction.apply(null,t)})},l=function(e){var t=acf.arrayArgs(arguments);t.unshift(i),["type","name","key"].map(function(n){t[0]=i+"/"+n+"="+e.get(n),acf.doAction.apply(null,t)}),t.splice(0,2),e.trigger(n,t)};acf.addAction(e,a,5),acf.addAction(t,c,5),acf.addAction(i,l,5)}}),i=new acf.Model({id:"fieldManager",events:{"submit #post":"onSubmit","mouseenter .acf-field-list":"onHoverSortable","click .add-field":"onClickAdd"},actions:{removed_field_object:"onRemovedField",sortstop_field_object:"onReorderField",delete_field_object:"onDeleteField",change_field_object_type:"onChangeFieldType",duplicate_field_object:"onDuplicateField"},onSubmit:function(e,t){acf.getFieldObjects().map(function(e){e.submit()})},setFieldMenuOrder:function(e){this.renderFields(e.$el.parent())},onHoverSortable:function(e,t){t.hasClass("ui-sortable")||t.sortable({handle:".acf-sortable-handle",connectWith:".acf-field-list",start:function(e,i){var n=acf.getFieldObject(i.item);i.placeholder.height(i.item.height()),acf.doAction("sortstart_field_object",n,t)},update:function(e,i){var n=acf.getFieldObject(i.item);acf.doAction("sortstop_field_object",n,t)}})},onRemovedField:function(e,t){this.renderFields(t)},onReorderField:function(e,t){e.updateParent(),this.renderFields(t)},onDeleteField:function(e){e.getFields().map(function(e){e.delete({animate:!1})})},onChangeFieldType:function(e){},onDuplicateField:function(e,t){var i=t.getFields();i.length&&(i.map(function(e){e.wipe(),e.updateParent()}),acf.doAction("duplicate_field_objects",i,t,e)),this.setFieldMenuOrder(t)},renderFields:function(e){var t=acf.getFieldObjects({list:e});if(!t.length)return void e.addClass("-empty");e.removeClass("-empty"),t.map(function(e,t){e.prop("menu_order",t)})},onClickAdd:function(e,t){var i=t.closest(".acf-tfoot").siblings(".acf-field-list");this.addField(i)},addField:function(e){var t=$("#tmpl-acf-field").html(),i=$(t),n=i.data("id"),a=acf.uniqid("field_"),c=acf.duplicate({target:i,search:n,replace:a,append:function(t,i){e.append(i)}}),l=acf.getFieldObject(c);l.prop("key",a),l.prop("ID",0),l.prop("label",""),l.prop("name",""),c.attr("data-key",a),c.attr("data-id",a),l.updateParent();var o=l.$input("label");setTimeout(function(){o.focus()},251),l.open(),this.renderFields(e),acf.doAction("add_field_object",l),acf.doAction("append_field_object",l)}})}(jQuery),function($,e){var t=new acf.Model({id:"locationManager",wait:"ready",events:{"click .add-location-rule":"onClickAddRule","click .add-location-group":"onClickAddGroup","click .remove-location-rule":"onClickRemoveRule","change .refresh-location-rule":"onChangeRemoveRule"},initialize:function(){this.$el=$("#acf-field-group-locations")},onClickAddRule:function(e,t){this.addRule(t.closest("tr"))},onClickRemoveRule:function(e,t){this.removeRule(t.closest("tr"))},onChangeRemoveRule:function(e,t){this.changeRule(t.closest("tr"))},onClickAddGroup:function(e,t){this.addGroup()},addRule:function(e){acf.duplicate(e)},removeRule:function(e){0==e.siblings("tr").length?e.closest(".rule-group").remove():e.remove()},changeRule:function(e){var t=e.closest(".rule-group"),i=e.find("td.param select").attr("name").replace("[param]",""),n={};n.action="acf/field_group/render_location_rule",n.rule=acf.serialize(e,i),n.rule.id=e.data("id"),n.rule.group=t.data("id"),acf.disable(e.find("td.value")),$.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(n),type:"post",dataType:"html",success:function(t){t&&e.replaceWith(t)}})},addGroup:function(){var e=this.$(".rule-group:last");$group2=acf.duplicate(e),$group2.find("h4").text(acf.__("or")),$group2.find("tr").not(":first").remove()}})}(jQuery),function($,e){var t=acf.getCompatibility(acf);t.field_group={save_field:function(e,t){t=void 0!==t?t:"settings",acf.getFieldObject(e).save(t)},delete_field:function(e,t){t=void 0===t||t,acf.getFieldObject(e).delete({animate:t})},update_field_meta:function(e,t,i){acf.getFieldObject(e).prop(t,i)},delete_field_meta:function(e,t){acf.getFieldObject(e).prop(t,null)}},t.field_group.field_object=acf.model.extend({type:"",o:{},$field:null,$settings:null,tag:function(e){var t=this.type,i=e.split("_");return i.splice(1,0,"field"),e=i.join("_"),t&&(e+="/type="+t),e},selector:function(){var e=".acf-field-object",t=this.type;return t&&(e+="-"+t,e=acf.str_replace("_","-",e)),e},_add_action:function(e,t){var i=this;acf.add_action(this.tag(e),function(e){i.set("$field",e),i[t].apply(i,arguments)})},_add_filter:function(e,t){var i=this;acf.add_filter(this.tag(e),function(e){i.set("$field",e),i[t].apply(i,arguments)})},_add_event:function(e,t){var i=this,n=e.substr(0,e.indexOf(" ")),a=e.substr(e.indexOf(" ")+1),c=this.selector();$(document).on(n,c+" "+a,function(e){e.$el=$(this),e.$field=e.$el.closest(".acf-field-object"),i.set("$field",e.$field),i[t].apply(i,[e])})},_set_$field:function(){this.o=this.$field.data(),this.$settings=this.$field.find("> .settings > table > tbody"),this.focus()},focus:function(){},setting:function(e){return this.$settings.find("> .acf-field-setting-"+e)}});var i=new acf.Model({actions:{open_field_object:"onOpenFieldObject",close_field_object:"onCloseFieldObject",add_field_object:"onAddFieldObject",duplicate_field_object:"onDuplicateFieldObject",delete_field_object:"onDeleteFieldObject",change_field_object_type:"onChangeFieldObjectType",change_field_object_label:"onChangeFieldObjectLabel",change_field_object_name:"onChangeFieldObjectName",change_field_object_parent:"onChangeFieldObjectParent",sortstop_field_object:"onChangeFieldObjectParent"},onOpenFieldObject:function(e){acf.doAction("open_field",e.$el),acf.doAction("open_field/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onCloseFieldObject:function(e){acf.doAction("close_field",e.$el),acf.doAction("close_field/type="+e.get("type"),e.$el)},onAddFieldObject:function(e){acf.doAction("add_field",e.$el),acf.doAction("add_field/type="+e.get("type"),e.$el)},onDuplicateFieldObject:function(e){acf.doAction("duplicate_field",e.$el),acf.doAction("duplicate_field/type="+e.get("type"),e.$el)},onDeleteFieldObject:function(e){acf.doAction("delete_field",e.$el),acf.doAction("delete_field/type="+e.get("type"),e.$el)},onChangeFieldObjectType:function(e){acf.doAction("change_field_type",e.$el),acf.doAction("change_field_type/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onChangeFieldObjectLabel:function(e){acf.doAction("change_field_label",e.$el),acf.doAction("change_field_label/type="+e.get("type"),e.$el)},onChangeFieldObjectName:function(e){acf.doAction("change_field_name",e.$el),acf.doAction("change_field_name/type="+e.get("type"),e.$el)},onChangeFieldObjectParent:function(e){acf.doAction("update_field_parent",e.$el)}})}(jQuery); \ No newline at end of file diff --git a/assets/js/acf-input.js b/assets/js/acf-input.js index 84b2dfe..1861a52 100644 --- a/assets/js/acf-input.js +++ b/assets/js/acf-input.js @@ -1,3 +1,2115 @@ +(function($, undefined){ + + /** + * acf + * + * description + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + // The global acf object + var acf = {}; + + // Set as a browser global + window.acf = acf; + + /** @var object Data sent from PHP */ + acf.data = {}; + + + /** + * get + * + * Gets a specific data value + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param string name + * @return mixed + */ + + acf.get = function( name ){ + return this.data[name] || null; + }; + + + /** + * has + * + * Returns `true` if the data exists and is not null + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param string name + * @return boolean + */ + + acf.has = function( name ){ + return this.get(data) !== null; + }; + + + /** + * set + * + * Sets a specific data value + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param string name + * @param mixed value + * @return this + */ + + acf.set = function( name, value ){ + this.data[ name ] = value; + return this; + }; + + + /** + * uniqueId + * + * Returns a unique ID + * + * @date 9/11/17 + * @since 5.6.3 + * + * @param string prefix Optional prefix. + * @return string + */ + + var idCounter = 0; + acf.uniqueId = function(prefix){ + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + }; + + /** + * acf.uniqueArray + * + * Returns a new array with only unique values + * Credit: https://stackoverflow.com/questions/1960473/get-all-unique-values-in-an-array-remove-duplicates + * + * @date 23/3/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.uniqueArray = function( array ){ + function onlyUnique(value, index, self) { + return self.indexOf(value) === index; + } + return array.filter( onlyUnique ); + }; + + /** + * uniqid + * + * Returns a unique ID (PHP version) + * + * @date 9/11/17 + * @since 5.6.3 + * @source http://locutus.io/php/misc/uniqid/ + * + * @param string prefix Optional prefix. + * @return string + */ + + var uniqidSeed = ''; + acf.uniqid = function(prefix, moreEntropy){ + // discuss at: http://locutus.io/php/uniqid/ + // original by: Kevin van Zonneveld (http://kvz.io) + // revised by: Kankrelune (http://www.webfaktory.info/) + // note 1: Uses an internal counter (in locutus global) to avoid collision + // example 1: var $id = uniqid() + // example 1: var $result = $id.length === 13 + // returns 1: true + // example 2: var $id = uniqid('foo') + // example 2: var $result = $id.length === (13 + 'foo'.length) + // returns 2: true + // example 3: var $id = uniqid('bar', true) + // example 3: var $result = $id.length === (23 + 'bar'.length) + // returns 3: true + if (typeof prefix === 'undefined') { + prefix = ''; + } + + var retId; + var formatSeed = function(seed, reqWidth) { + seed = parseInt(seed, 10).toString(16); // to hex str + if (reqWidth < seed.length) { // so long we split + return seed.slice(seed.length - reqWidth); + } + if (reqWidth > seed.length) { // so short we pad + return Array(1 + (reqWidth - seed.length)).join('0') + seed; + } + return seed; + }; + + if (!uniqidSeed) { // init seed with big random int + uniqidSeed = Math.floor(Math.random() * 0x75bcd15); + } + uniqidSeed++; + + retId = prefix; // start with prefix, add current milliseconds hex string + retId += formatSeed(parseInt(new Date().getTime() / 1000, 10), 8); + retId += formatSeed(uniqidSeed, 5); // add seed hex string + if (moreEntropy) { + // for more entropy we add a float lower to 10 + retId += (Math.random() * 10).toFixed(8).toString(); + } + + return retId; + }; + + + /** + * strReplace + * + * Performs a string replace + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param string search + * @param string replace + * @param string subject + * @return string + */ + + acf.strReplace = function( search, replace, subject ){ + return subject.split(search).join(replace); + }; + + + /** + * strCamelCase + * + * Converts a string into camelCase + * Thanks to https://stackoverflow.com/questions/2970525/converting-any-string-into-camel-case + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param string str + * @return string + */ + + acf.strCamelCase = function( str ){ + + // replace [_-] characters with space + str = str.replace(/[_-]/g, ' '); + + // camelCase + str = str.replace(/(?:^\w|\b\w|\s+)/g, function(match, index) { + if (+match === 0) return ""; // or if (/\s+/.test(match)) for white spaces + return index == 0 ? match.toLowerCase() : match.toUpperCase(); + }); + + // return + return str; + }; + + /** + * strPascalCase + * + * Converts a string into PascalCase + * Thanks to https://stackoverflow.com/questions/1026069/how-do-i-make-the-first-letter-of-a-string-uppercase-in-javascript + * + * @date 14/12/17 + * @since 5.6.5 + * + * @param string str + * @return string + */ + + acf.strPascalCase = function( str ){ + var camel = acf.strCamelCase( str ); + return camel.charAt(0).toUpperCase() + camel.slice(1); + }; + + /** + * acf.strSlugify + * + * Converts a string into a HTML class friendly slug + * + * @date 21/3/18 + * @since 5.6.9 + * + * @param string str + * @return string + */ + + acf.strSlugify = function( str ){ + return acf.strReplace( '_', '-', str.toLowerCase() ); + }; + + + acf.strSanitize = function( str ){ + + // chars (https://jsperf.com/replace-foreign-characters) + var map = { + "À": "A", + "Á": "A", + "Â": "A", + "Ã": "A", + "Ä": "A", + "Å": "A", + "Æ": "AE", + "Ç": "C", + "È": "E", + "É": "E", + "Ê": "E", + "Ë": "E", + "Ì": "I", + "Í": "I", + "Î": "I", + "Ï": "I", + "Ð": "D", + "Ñ": "N", + "Ò": "O", + "Ó": "O", + "Ô": "O", + "Õ": "O", + "Ö": "O", + "Ø": "O", + "Ù": "U", + "Ú": "U", + "Û": "U", + "Ü": "U", + "Ý": "Y", + "ß": "s", + "à": "a", + "á": "a", + "â": "a", + "ã": "a", + "ä": "a", + "å": "a", + "æ": "ae", + "ç": "c", + "è": "e", + "é": "e", + "ê": "e", + "ë": "e", + "ì": "i", + "í": "i", + "î": "i", + "ï": "i", + "ñ": "n", + "ò": "o", + "ó": "o", + "ô": "o", + "õ": "o", + "ö": "o", + "ø": "o", + "ù": "u", + "ú": "u", + "û": "u", + "ü": "u", + "ý": "y", + "ÿ": "y", + "Ā": "A", + "ā": "a", + "Ă": "A", + "ă": "a", + "Ą": "A", + "ą": "a", + "Ć": "C", + "ć": "c", + "Ĉ": "C", + "ĉ": "c", + "Ċ": "C", + "ċ": "c", + "Č": "C", + "č": "c", + "Ď": "D", + "ď": "d", + "Đ": "D", + "đ": "d", + "Ē": "E", + "ē": "e", + "Ĕ": "E", + "ĕ": "e", + "Ė": "E", + "ė": "e", + "Ę": "E", + "ę": "e", + "Ě": "E", + "ě": "e", + "Ĝ": "G", + "ĝ": "g", + "Ğ": "G", + "ğ": "g", + "Ġ": "G", + "ġ": "g", + "Ģ": "G", + "ģ": "g", + "Ĥ": "H", + "ĥ": "h", + "Ħ": "H", + "ħ": "h", + "Ĩ": "I", + "ĩ": "i", + "Ī": "I", + "ī": "i", + "Ĭ": "I", + "ĭ": "i", + "Į": "I", + "į": "i", + "İ": "I", + "ı": "i", + "IJ": "IJ", + "ij": "ij", + "Ĵ": "J", + "ĵ": "j", + "Ķ": "K", + "ķ": "k", + "Ĺ": "L", + "ĺ": "l", + "Ļ": "L", + "ļ": "l", + "Ľ": "L", + "ľ": "l", + "Ŀ": "L", + "ŀ": "l", + "Ł": "l", + "ł": "l", + "Ń": "N", + "ń": "n", + "Ņ": "N", + "ņ": "n", + "Ň": "N", + "ň": "n", + "ʼn": "n", + "Ō": "O", + "ō": "o", + "Ŏ": "O", + "ŏ": "o", + "Ő": "O", + "ő": "o", + "Œ": "OE", + "œ": "oe", + "Ŕ": "R", + "ŕ": "r", + "Ŗ": "R", + "ŗ": "r", + "Ř": "R", + "ř": "r", + "Ś": "S", + "ś": "s", + "Ŝ": "S", + "ŝ": "s", + "Ş": "S", + "ş": "s", + "Š": "S", + "š": "s", + "Ţ": "T", + "ţ": "t", + "Ť": "T", + "ť": "t", + "Ŧ": "T", + "ŧ": "t", + "Ũ": "U", + "ũ": "u", + "Ū": "U", + "ū": "u", + "Ŭ": "U", + "ŭ": "u", + "Ů": "U", + "ů": "u", + "Ű": "U", + "ű": "u", + "Ų": "U", + "ų": "u", + "Ŵ": "W", + "ŵ": "w", + "Ŷ": "Y", + "ŷ": "y", + "Ÿ": "Y", + "Ź": "Z", + "ź": "z", + "Ż": "Z", + "ż": "z", + "Ž": "Z", + "ž": "z", + "ſ": "s", + "ƒ": "f", + "Ơ": "O", + "ơ": "o", + "Ư": "U", + "ư": "u", + "Ǎ": "A", + "ǎ": "a", + "Ǐ": "I", + "ǐ": "i", + "Ǒ": "O", + "ǒ": "o", + "Ǔ": "U", + "ǔ": "u", + "Ǖ": "U", + "ǖ": "u", + "Ǘ": "U", + "ǘ": "u", + "Ǚ": "U", + "ǚ": "u", + "Ǜ": "U", + "ǜ": "u", + "Ǻ": "A", + "ǻ": "a", + "Ǽ": "AE", + "ǽ": "ae", + "Ǿ": "O", + "ǿ": "o", + + // extra + ' ': '_', + '\'': '', + '?': '', + '/': '', + '\\': '', + '.': '', + ',': '', + '`': '', + '>': '', + '<': '', + '"': '', + '[': '', + ']': '', + '|': '', + '{': '', + '}': '', + '(': '', + ')': '' + }; + + // vars + var nonWord = /\W/g; + var mapping = function (c) { + return map[c] || c; + }; + + // replace + str = str.replace(nonWord, mapping); + + // lowercase + str = str.toLowerCase(); + + // return + return str; + }; + + /** + * acf.strMatch + * + * Returns the number of characters that match between two strings + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.strMatch = function( s1, s2 ){ + + // vars + var val = 0; + var min = Math.min( s1.length, s2.length ); + + // loop + for( var i = 0; i < min; i++ ) { + if( s1[i] !== s2[i] ) { + break; + } + val++; + } + + // return + return val; + }; + + /** + * acf.decode + * + * description + * + * @date 13/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.decode = function( string ){ + return $(''); + $('body').append( $textarea ); + + // vars + var val = this.getNodeValue(); + + // open popup + wpLink.open( 'acf-link-textarea', val.url, val.title, null ); + + }, + + onOpen: function(){ + + // always show title (WP will hide title if empty) + $('#wp-link-wrap').addClass('has-text-field'); + + // set inputs + var val = this.getNodeValue(); + this.setInputValue( val ); + }, + + close: function(){ + wpLink.close(); + }, + + onClose: function(){ + + // bail early if no node + // needed due to WP triggering this event twice + if( !this.has('node') ) { + return false; + } + + // remove events + this.off('wplink-open'); + this.off('wplink-close'); + + // set value + var val = this.getInputValue(); + this.setNodeValue( val ); + + // remove textarea + $('#acf-link-textarea').remove(); + + // reset + this.set('node', null); + + } + }); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.Field.extend({ + + type: 'oembed', + + events: { + 'click [data-name="clear-button"]': 'onClickClear', + 'keypress .input-search': 'onKeypressSearch', + 'keyup .input-search': 'onKeyupSearch', + 'change .input-search': 'onChangeSearch' + }, + + $control: function(){ + return this.$('.acf-oembed'); + }, + + $input: function(){ + return this.$('.input-value'); + }, + + $search: function(){ + return this.$('.input-search'); + }, + + getValue: function(){ + return this.$input().val(); + }, + + getSearchVal: function(){ + return this.$search().val(); + }, + + setValue: function( val ){ + + // class + if( val ) { + this.$control().addClass('has-value'); + } else { + this.$control().removeClass('has-value'); + } + + acf.val( this.$input(), val ); + }, + + showLoading: function( show ){ + acf.showLoading( this.$('.canvas') ); + }, + + hideLoading: function(){ + acf.hideLoading( this.$('.canvas') ); + }, + + maybeSearch: function(){ + + // vars + var prevUrl = this.val(); + var url = this.getSearchVal(); + + // no value + if( !url ) { + return this.clear(); + } + + // fix missing 'http://' - causes the oembed code to error and fail + if( url.substr(0, 4) != 'http' ) { + url = 'http://' + url; + } + + // bail early if no change + if( url === prevUrl ) return; + + // clear existing timeout + var timeout = this.get('timeout'); + if( timeout ) { + clearTimeout( timeout ); + } + + // set new timeout + var callback = $.proxy(this.search, this, url); + this.set('timeout', setTimeout(callback, 300)); + + }, + + search: function( url ){ + + // ajax + var ajaxData = { + action: 'acf/fields/oembed/search', + s: url, + field_key: this.get('key') + }; + + // clear existing timeout + var xhr = this.get('xhr'); + if( xhr ) { + xhr.abort(); + } + + // loading + this.showLoading(); + + // query + var xhr = $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'json', + context: this, + success: function( json ){ + + // error + if( !json || !json.html ) { + json = { + url: false, + html: '' + } + } + + // update vars + this.val( json.url ); + this.$('.canvas-media').html( json.html ); + }, + complete: function(){ + this.hideLoading(); + } + }); + + this.set('xhr', xhr); + }, + + clear: function(){ + this.val(''); + this.$search().val(''); + this.$('.canvas-media').html(''); + }, + + onClickClear: function( e, $el ){ + this.clear(); + }, + + onKeypressSearch: function( e, $el ){ + if( e.which == 13 ) { + e.preventDefault(); + this.maybeSearch(); + } + }, + + onKeyupSearch: function( e, $el ){ + if( $el.val() ) { + this.maybeSearch(); + } + }, + + onChangeSearch: function( e, $el ){ + this.maybeSearch(); + } + + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.Field.extend({ + + type: 'radio', + + events: { + 'click input[type="radio"]': 'onClick', + }, + + $control: function(){ + return this.$('.acf-radio-list'); + }, + + $input: function(){ + return this.$('input:checked'); + }, + + $inputText: function(){ + return this.$('input[type="text"]'); + }, + + getValue: function(){ + var val = this.$input().val(); + if( val === 'other' ) { + val = this.inputText().val(); + } + return val; + }, + + onClick: function( e, $el ){ + + // vars + var $label = $el.parent('label'); + var selected = $label.hasClass('selected'); + var val = $el.val(); + + // remove previous selected + this.$('.selected').removeClass('selected'); + + // add active class + $label.addClass('selected'); + + // allow null + if( this.get('allow_null') && selected ) { + $label.removeClass('selected'); + $el.prop('checked', false).trigger('change'); + val = false; + } + + // other + if( this.get('other_choice') ) { + + // enable + if( val === 'other' ) { + this.$inputText().prop('disabled', false); + + // disable + } else { + this.$inputText().prop('disabled', true); + } + } + } + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.Field.extend({ + + type: 'range', + + events: { + 'input input[type="range"]': 'onChange', + 'change input': 'onChange' + }, + + $input: function(){ + return this.$('input[type="range"]'); + }, + + $inputAlt: function(){ + return this.$('input[type="number"]'); + }, + + setValue: function( val ){ + + this.busy = true; + + // update range input (with change) + acf.val( this.$input(), val ); + + // update alt input (without change) + acf.val( this.$inputAlt(), val, true ); + + this.busy = false; + }, + + onChange: function( e, $el ){ + if( !this.busy ) { + this.setValue( $el.val() ); + } + } + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.Field.extend({ + + type: 'relationship', + + events: { + 'keypress [data-filter]': 'onKeypressFilter', + 'change [data-filter]': 'onChangeFilter', + 'keyup [data-filter]': 'onChangeFilter', + 'click .choices-list .acf-rel-item': 'onClickAdd', + 'click [data-name="remove_item"]': 'onClickRemove', + 'mouseover': 'onHover' + }, + + $control: function(){ + return this.$('.acf-relationship'); + }, + + $list: function( list ) { + return this.$('.' + list + '-list'); + }, + + $listItems: function( list ) { + return this.$list( list ).find('.acf-rel-item'); + }, + + $listItem: function( list, id ) { + return this.$list( list ).find('.acf-rel-item[data-id="' + id + '"]'); + }, + + getValue: function(){ + var val = []; + this.$listItems('values').each(function(){ + val.push( $(this).data('id') ); + }); + return val.length ? val : false; + }, + + newChoice: function( props ){ + return [ + '
  • ', + '' + props.text + '', + '
  • ' + ].join(''); + }, + + newValue: function( props ){ + return [ + '
  • ', + '', + '' + props.text, + '', + '', + '
  • ' + ].join(''); + }, + + addSortable: function( self ){ + + // sortable + this.$list('values').sortable({ + items: 'li', + forceHelperSize: true, + forcePlaceholderSize: true, + scroll: true, + update: function(){ + self.$input().trigger('change'); + } + }); + }, + + initialize: function(){ + + // scroll + var onScroll = this.proxy(function(e){ + + // bail early if no more results + if( this.get('loading') || !this.get('more') ) { + return; + } + + // Scrolled to bottom + var $list = this.$list('choices'); + var scrollTop = Math.ceil( $list.scrollTop() ); + var scrollHeight = Math.ceil( $list[0].scrollHeight ); + var innerHeight = Math.ceil( $list.innerHeight() ); + var paged = this.get('paged') || 1; + if( (scrollTop + innerHeight) >= scrollHeight ) { + + // update paged + this.set('paged', (paged+1)); + + // fetch + this.fetch(); + } + + }); + + this.$list('choices').scrollTop(0).on('scroll', onScroll); + + // fetch + this.fetch(); + }, + + onHover: function( e ){ + + // only once + $().off(e); + + // add sortable + this.addSortable( this ); + }, + + onKeypressFilter: function( e, $el ){ + + // don't submit form + if( e.which == 13 ) { + e.preventDefault(); + } + }, + + onChangeFilter: function( e, $el ){ + + // vars + var val = $el.val(); + var filter = $el.data('filter'); + + // Bail early if filter has not changed + if( this.get(filter) === val ) { + return; + } + + // update attr + this.set(filter, val); + + // reset paged + this.set('paged', 1); + + // fetch + if( $el.is('select') ) { + this.fetch(); + + // search must go through timeout + } else { + this.maybeFetch(); + } + }, + + onClickAdd: function( e, $el ){ + + // vars + var val = this.val(); + var max = parseInt( this.get('max') ); + + // can be added? + if( $el.hasClass('disabled') ) { + return false; + } + + // validate + if( max > 0 && val && val.length >= max ) { + + // add notice + this.showNotice({ + text: acf.__('Maximum values reached ( {max} values )').replace('{max}', max), + type: 'warning' + }); + return false; + } + + // disable + $el.addClass('disabled'); + + // add + var html = this.newValue({ + id: $el.data('id'), + text: $el.html() + }); + this.$list('values').append( html ) + + // trigger change + this.$input().trigger('change'); + }, + + onClickRemove: function( e, $el ){ + + // vars + var $span = $el.parent(); + var $li = $span.parent(); + var id = $span.data('id'); + + // remove value + setTimeout(function(){ + $li.remove(); + }, 1); + + // show choice + this.$listItem('choices', id).removeClass('disabled'); + + // trigger change + this.$input().trigger('change'); + }, + + maybeFetch: function(){ + + // vars + var timeout = this.get('timeout'); + + // abort timeout + if( timeout ) { + clearTimeout( timeout ); + } + + // fetch + timeout = this.setTimeout(this.fetch, 300); + this.set('timeout', timeout); + }, + + getAjaxData: function(){ + + // load data based on element attributes + var ajaxData = this.$control().data(); + for( var name in ajaxData ) { + ajaxData[ name ] = this.get( name ); + } + + // extra + ajaxData.action = 'acf/fields/relationship/query'; + ajaxData.field_key = this.get('key'); + + // return + return ajaxData; + }, + + fetch: function(){ + + // abort XHR if this field is already loading AJAX data + var xhr = this.get('xhr'); + if( xhr ) { + xhr.abort(); + } + + // add to this.o + var ajaxData = this.getAjaxData(); + + // clear html if is new query + var $choiceslist = this.$list( 'choices' ); + if( ajaxData.paged == 1 ) { + $choiceslist.html(''); + } + + // loading + var $loading = $('
  • ' + acf.__('Loading') + '
  • '); + $choiceslist.append($loading); + this.set('loading', true); + + // callback + var onComplete = function(){ + this.set('loading', false); + $loading.remove(); + }; + + var onSuccess = function( json ){ + + // no results + if( !json || !json.results || !json.results.length ) { + + // prevent pagination + this.set('more', false); + + // add message + if( this.get('paged') == 1 ) { + this.$list('choices').append('
  • ' + acf.__('No matches found') + '
  • '); + } + + // return + return; + } + + // set more (allows pagination scroll) + this.set('more', json.more ); + + // get new results + var html = this.walkChoices(json.results); + var $html = $( html ); + + // apply .disabled to left li's + var val = this.val(); + if( val && val.length ) { + val.map(function( id ){ + $html.find('.acf-rel-item[data-id="' + id + '"]').addClass('disabled'); + }); + } + + // append + $choiceslist.append( $html ); + + // merge together groups + var $prevLabel = false; + var $prevList = false; + + $choiceslist.find('.acf-rel-label').each(function(){ + + var $label = $(this); + var $list = $label.siblings('ul'); + + if( $prevLabel && $prevLabel.text() == $label.text() ) { + $prevList.append( $list.children() ); + $(this).parent().remove(); + return; + } + + // update vars + $prevLabel = $label; + $prevList = $list; + }); + }; + + // get results + var xhr = $.ajax({ + url: acf.get('ajaxurl'), + dataType: 'json', + type: 'post', + data: acf.prepareForAjax(ajaxData), + context: this, + success: onSuccess, + complete: onComplete + }); + + // set + this.set('xhr', xhr); + }, + + walkChoices: function( data ){ + + // walker + var walk = function( data ){ + + // vars + var html = ''; + + // is array + if( $.isArray(data) ) { + data.map(function(item){ + html += walk( item ); + }); + + // is item + } else if( $.isPlainObject(data) ) { + + // group + if( data.children !== undefined ) { + + html += '
  • ' + data.text + '
  • '; + + // single + } else { + html += '
  • ' + data.text + '
  • '; + } + } + + // return + return html; + }; + + return walk( data ); + } + + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.Field.extend({ + + type: 'select', + + select2: false, + + wait: 'load', + + events: { + 'removeField': 'onRemove' + }, + + $input: function(){ + return this.$('select'); + }, + + initialize: function(){ + + // vars + var $select = this.$input(); + + // inherit data + this.inherit( $select ); + + // select2 + if( this.get('ui') ) { + + // populate ajax_data (allowing custom attribute to already exist) + var ajaxAction = this.get('ajax_action'); + if( !ajaxAction ) { + ajaxAction = 'acf/fields/' + this.get('type') + '/query'; + } + + // select2 + this.select2 = acf.newSelect2($select, { + field: this, + ajax: this.get('ajax'), + multiple: this.get('multiple'), + placeholder: this.get('placeholder'), + allowNull: this.get('allow_null'), + ajaxAction: ajaxAction, + }); + } + }, + + onRemove: function(){ + if( this.select2 ) { + this.select2.destroy(); + } + } + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + // vars + var CONTEXT = 'tab'; + + var Field = acf.Field.extend({ + + type: 'tab', + + wait: '', + + tabs: false, + + tab: false, + + findFields: function(){ + return this.$el.nextUntil('.acf-field-tab', '.acf-field'); + }, + + getFields: function(){ + return acf.getFields( this.findFields() ); + }, + + findTabs: function(){ + return this.$el.prevAll('.acf-tab-wrap:first'); + }, + + findTab: function(){ + return this.$('.acf-tab-button'); + }, + + initialize: function(){ + + // bail early if is td + if( this.$el.is('td') ) { + this.events = {}; + return false; + } + + // vars + var $tabs = this.findTabs(); + var $tab = this.findTab(); + var settings = acf.parseArgs($tab.data(), { + endpoint: false, + placement: '', + before: this.$el + }); + + // create wrap + if( !$tabs.length || settings.endpoint ) { + this.tabs = new Tabs( settings ); + } else { + this.tabs = $tabs.data('acf'); + } + + // add tab + this.tab = this.tabs.addTab($tab, this); + }, + + isActive: function(){ + return this.tab.isActive(); + }, + + showFields: function(){ + + // show fields + this.getFields().map(function( field ){ + field.show( this.cid, CONTEXT ); + field.hiddenByTab = false; + }, this); + + }, + + hideFields: function(){ + + // hide fields + this.getFields().map(function( field ){ + field.hide( this.cid, CONTEXT ); + field.hiddenByTab = this.tab; + }, this); + + }, + + show: function( lockKey ){ + + // show field and store result + var visible = acf.Field.prototype.show.apply(this, arguments); + + // check if now visible + if( visible ) { + + // show tab + this.tab.show(); + + // check active tabs + this.tabs.refresh(); + } + + // return + return visible; + }, + + hide: function( lockKey ){ + + // hide field and store result + var hidden = acf.Field.prototype.hide.apply(this, arguments); + + // check if now hidden + if( hidden ) { + + // hide tab + this.tab.hide(); + + // reset tabs if this was active + if( this.isActive() ) { + this.tabs.reset(); + } + } + + // return + return hidden; + }, + + enable: function( lockKey ){ + + // enable fields + this.getFields().map(function( field ){ + field.enable( CONTEXT ); + }); + }, + + disable: function( lockKey ){ + + // disable fields + this.getFields().map(function( field ){ + field.disable( CONTEXT ); + }); + } + }); + + acf.registerFieldType( Field ); + + + /** + * tabs + * + * description + * + * @date 8/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var i = 0; + var Tabs = acf.Model.extend({ + + tabs: [], active: false, + actions: { - 'ready': 'ready' + 'refresh': 'onRefresh' }, + + data: { + before: false, + placement: 'top', + index: 0, + initialized: false, + }, + + setup: function( settings ){ + + // data + $.extend(this.data, settings); + + // define this prop to avoid scope issues + this.tabs = []; + this.active = false; + + // vars + var placement = this.get('placement'); + var $before = this.get('before'); + var $parent = $before.parent(); + + // add sidebar for left placement + if( placement == 'left' && $parent.hasClass('acf-fields') ) { + $parent.addClass('-sidebar'); + } + + // create wrap + if( $before.is('tr') ) { + this.$el = $(''); + } else { + this.$el = $('
    '); + } + + // append + $before.before( this.$el ); + + // set index + this.set('index', i, true); + i++; + }, + + initializeTabs: function(){ + + // find first visible tab + var tab = this.getVisible().shift(); + + // remember previous tab state + var order = acf.getPreference('this.tabs') || []; + var groupIndex = this.get('index'); + var tabIndex = order[ groupIndex ]; + + if( this.tabs[ tabIndex ] && this.tabs[ tabIndex ].isVisible() ) { + tab = this.tabs[ tabIndex ]; + } + + // select + if( tab ) { + this.selectTab( tab ); + } else { + this.closeTabs(); + } + + // set local variable used by tabsManager + this.set('initialized', true); + }, + + getVisible: function(){ + return this.tabs.filter(function( tab ){ + return tab.isVisible(); + }); + }, + + getActive: function(){ + return this.active; + }, + + setActive: function( tab ){ + return this.active = tab; + }, + + hasActive: function(){ + return (this.active !== false); + }, + + isActive: function( tab ){ + var active = this.getActive(); + return (active && active.cid === tab.cid); + }, + + closeActive: function(){ + if( this.hasActive() ) { + this.closeTab( this.getActive() ); + } + }, + + openTab: function( tab ){ + + // close existing tab + this.closeActive(); + + // open + tab.open(); + + // set active + this.setActive( tab ); + }, + + closeTab: function( tab ){ + + // close + tab.close(); + + // set active + this.setActive( false ); + }, + + closeTabs: function(){ + this.tabs.map( this.closeTab, this ); + }, + + selectTab: function( tab ){ + + // close other tabs + this.tabs.map(function( t ){ + if( tab.cid !== t.cid ) { + this.closeTab( t ); + } + }, this); + + // open + this.openTab( tab ); + + }, + + addTab: function( $a, field ){ + + // create
  • + var $li = $('
  • '); + + // append + $li.append( $a ); + + // append + this.$('ul').append( $li ); + + // initialize + var tab = new Tab({ + $el: $li, + field: field, + group: this, + }); + + // store + this.tabs.push( tab ); + + // return + return tab; + }, + + reset: function(){ + + // close existing tab + this.closeActive(); + + // find and active a tab + return this.refresh(); + }, + + refresh: function(){ + + // bail early if active already exists + if( this.hasActive() ) { + return false; + } + + // find next active tab + var tab = this.getVisible().shift(); + + // open tab + if( tab ) { + this.openTab( tab ); + } + + // return + return tab; + }, + + onRefresh: function(){ + + // only for left placements + if( this.get('placement') !== 'left' ) { + return; + } + + // vars + var $parent = this.$el.parent(); + var $list = this.$el.children('ul'); + var attribute = $parent.is('td') ? 'height' : 'min-height'; + + // find height (minus 1 for border-bottom) + var height = $list.position().top + $list.outerHeight(true) - 1; + + // add css + $parent.css(attribute, height); + } + }); + + var Tab = acf.Model.extend({ + + group: false, + + field: false, + events: { - 'change #page_template': '_change_template', - 'change #parent_id': '_change_parent', - 'change #post-formats-select input': '_change_format', - 'change .categorychecklist input': '_change_term', - 'change .categorychecklist select': '_change_term', - 'change .acf-taxonomy-field[data-save="1"] input': '_change_term', - 'change .acf-taxonomy-field[data-save="1"] select': '_change_term' + 'click a': 'onClick' }, - o: { + + index: function(){ + return this.$el.index(); + }, + + isVisible: function(){ + return acf.isVisible( this.$el ); + }, + + isActive: function(){ + return this.$el.hasClass('active'); + }, + + open: function(){ + + // add class + this.$el.addClass('active'); + + // show field + this.field.showFields(); + }, + + close: function(){ + + // remove class + this.$el.removeClass('active'); + + // hide field + this.field.hideFields(); + }, + + onClick: function( e, $el ){ + + // prevent default + e.preventDefault(); + + // toggle + this.toggle(); + }, + + toggle: function(){ + + // bail early if already active + if( this.isActive() ) { + return; + } + + // toggle this tab + this.group.openTab( this ); + } + }); + + var tabsManager = new acf.Model({ + + priority: 50, + + actions: { + 'prepare': 'render', + 'append': 'render', + 'unload': 'onUnload', + 'invalid_field': 'onInvalidField' + }, + + findTabs: function(){ + return $('.acf-tab-wrap'); + }, + + getTabs: function(){ + return acf.getInstances( this.findTabs() ); + }, + + render: function( $el ){ + this.getTabs().map(function( tabs ){ + if( !tabs.get('initialized') ) { + tabs.initializeTabs(); + } + }); + }, + + onInvalidField: function( field ){ + + // bail early if busy + if( this.busy ) { + return; + } + + // ignore if not hidden by tab + if( !field.hiddenByTab ) { + return; + } + + // toggle tab + field.hiddenByTab.toggle(); + + // ignore other invalid fields + this.busy = true; + this.setTimeout(function(){ + this.busy = false; + }, 100); + }, + + onUnload: function(){ + + // vars + var order = []; + + // loop + this.getTabs().map(function( group ){ + var active = group.hasActive() ? group.getActive().index() : 0; + order.push(active); + }); + + // bail if no tabs + if( !order.length ) { + return; + } + + // update + acf.setPreference('this.tabs', order); + } + }); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.models.SelectField.extend({ + type: 'post_object', + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.models.SelectField.extend({ + type: 'page_link', + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.models.SelectField.extend({ + type: 'user', + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.Field.extend({ + + type: 'taxonomy', + + data: { + 'ftype': 'select' + }, + + select2: false, + + wait: 'load', + + events: { + 'click a[data-name="add"]': 'onClickAdd', + 'click input[type="radio"]': 'onClickRadio', + }, + + $control: function(){ + return this.$('.acf-taxonomy-field'); + }, + + $input: function(){ + return this.getRelatedPrototype().$input.apply(this, arguments); + }, + + getRelatedType: function(){ + + // vars + var fieldType = this.get('ftype'); + + // normalize + if( fieldType == 'multi_select' ) { + fieldType = 'select'; + } + + // return + return fieldType; + + }, + + getRelatedPrototype: function(){ + return acf.getFieldType( this.getRelatedType() ).prototype; + }, + + getValue: function(){ + return this.getRelatedPrototype().getValue.apply(this, arguments); + }, + + setValue: function(){ + return this.getRelatedPrototype().setValue.apply(this, arguments); + }, + + initialize: function(){ + this.getRelatedPrototype().initialize.apply(this, arguments); + }, + + onRemove: function(){ + if( this.select2 ) { + this.select2.destroy(); + } + }, + + onClickAdd: function( e, $el ){ + + // vars + var field = this; + var popup = false; + var $form = false; + var $name = false; + var $parent = false; + var $button = false; + var $message = false; + var notice = false; + + // step 1. + var step1 = function(){ + + // popup + popup = acf.newPopup({ + title: $el.attr('title'), + loading: true, + width: '300px' + }); + + // ajax + var ajaxData = { + action: 'acf/fields/taxonomy/add_term', + field_key: field.get('key') + }; + + // get HTML + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'html', + success: step2 + }); + }; + + // step 2. + var step2 = function( html ){ + + // update popup + popup.loading(false); + popup.content(html); + + // vars + $form = popup.$('form'); + $name = popup.$('input[name="term_name"]'); + $parent = popup.$('select[name="term_parent"]'); + $button = popup.$('.acf-submit-button'); + + // focus + $name.focus(); + + // submit form + popup.on('submit', 'form', step3); + }; + + // step 3. + var step3 = function( e, $el ){ + + // prevent + e.preventDefault(); + + // basic validation + if( $name.val() === '' ) { + $name.focus(); + return false; + } + + // disable + acf.startButtonLoading( $button ); + + // ajax + var ajaxData = { + action: 'acf/fields/taxonomy/add_term', + field_key: field.get('key'), + term_name: $name.val(), + term_parent: $parent.length ? $parent.val() : 0 + }; + + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(ajaxData), + type: 'post', + dataType: 'json', + success: step4 + }); + }; + + // step 4. + var step4 = function( json ){ + + // enable + acf.stopButtonLoading( $button ); + + // remove prev notice + if( notice ) { + notice.remove(); + } + + // success + if( acf.isAjaxSuccess(json) ) { + + // clear name + $name.val(''); + + // update term lists + step5( json.data ); + + // notice + notice = acf.newNotice({ + type: 'success', + text: acf.getAjaxMessage(json), + target: $form, + timeout: 2000, + dismiss: false + }); + + } else { + + // notice + notice = acf.newNotice({ + type: 'error', + text: acf.getAjaxError(json), + target: $form, + timeout: 2000, + dismiss: false + }); + } + + // focus + $name.focus(); + }; + + // step 5. + var step5 = function( term ){ + + // update parent dropdown + var $option = $(''); + if( term.term_parent ) { + $parent.children('option[value="' + term.term_parent + '"]').after( $option ); + } else { + $parent.append( $option ); + } + + // add this new term to all taxonomy field + var fields = acf.getFields({ + type: 'taxonomy' + }); + + fields.map(function( otherField ){ + if( otherField.get('taxonomy') == field.get('taxonomy') ) { + otherField.appendTerm( term ); + } + }); + + // select + field.selectTerm( term.term_id ); + }; + + // run + step1(); + }, + + appendTerm: function( term ){ + + if( this.getRelatedType() == 'select' ) { + this.appendTermSelect( term ); + } else { + this.appendTermCheckbox( term ); + } + }, + + appendTermSelect: function( term ){ + + this.select2.addOption({ + id: term.term_id, + text: term.term_label + }); + + }, + + appendTermCheckbox: function( term ){ + + // vars + var name = this.$('[name]:first').attr('name'); + var $ul = this.$('ul:first'); + + // allow multiple selection + if( this.getRelatedType() == 'checkbox' ) { + name += '[]'; + } + + // create new li + var $li = $([ + '
  • ', + '', + '
  • ' + ].join('')); + + // find parent + if( term.term_parent ) { + + // vars + var $parent = $ul.find('li[data-id="' + term.term_parent + '"]'); + + // update vars + $ul = $parent.children('ul'); + + // create ul + if( !$ul.exists() ) { + $ul = $(''); + $parent.append( $ul ); + } + } + + // append + $ul.append( $li ); + }, + + selectTerm: function( id ){ + if( this.getRelatedType() == 'select' ) { + this.select2.selectOption( id ); + } else { + var $input = this.$('input[value="' + id + '"]'); + $input.prop('checked', true).trigger('change'); + } + }, + + onClickRadio: function( e, $el ){ + + // vars + var $label = $el.parent('label'); + var selected = $label.hasClass('selected'); + + // remove previous selected + this.$('.selected').removeClass('selected'); + + // add active class + $label.addClass('selected'); + + // allow null + if( this.get('allow_null') && selected ) { + $label.removeClass('selected'); + $el.prop('checked', false).trigger('change'); + } + } + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.models.DatePickerField.extend({ + + type: 'time_picker', + + $control: function(){ + return this.$('.acf-time-picker'); + }, + + initialize: function(){ + + // vars + var $input = this.$input(); + var $inputText = this.$inputText(); + + // args + var args = { + timeFormat: this.get('time_format'), + altField: $input, + altFieldTimeOnly: false, + altTimeFormat: 'HH:mm:ss', + showButtonPanel: true, + controlType: 'select', + oneLine: true, + closeText: acf.get('dateTimePickerL10n').selectText, + timeOnly: true, + }; + + // add custom 'Close = Select' functionality + args.onClose = function( value, dp_instance, t_instance ){ + + // vars + var $close = dp_instance.dpDiv.find('.ui-datepicker-close'); + + // if clicking close button + if( !value && $close.is(':hover') ) { + t_instance._updateDateTime(); + } + }; + + + // filter + args = acf.applyFilters('time_picker_args', args, this); + + // add date time picker + acf.newTimePicker( $inputText, args ); + + // action + acf.doAction('time_picker_init', $inputText, args, this); + } + }); + + acf.registerFieldType( Field ); + + + // add + acf.newTimePicker = function( $input, args ){ + + // bail ealry if no datepicker library + if( typeof $.timepicker === 'undefined' ) { + return false; + } + + // defaults + args = args || {}; + + // initialize + $input.timepicker( args ); + + // wrap the datepicker (only if it hasn't already been wrapped) + if( $('body > #ui-datepicker-div').exists() ) { + $('body > #ui-datepicker-div').wrap('
    '); + } + }; + +})(jQuery); + +(function($, undefined){ + + var Field = acf.Field.extend({ + + type: 'true_false', + + events: { + 'change .acf-switch-input': 'onChange', + 'focus .acf-switch-input': 'onFocus', + 'blur .acf-switch-input': 'onBlur', + 'keypress .acf-switch-input': 'onKeypress' + }, + + $input: function(){ + return this.$('input[type="checkbox"]'); + }, + + $switch: function(){ + return this.$('.acf-switch'); + }, + + getValue: function(){ + return this.$input().prop('checked') ? 1 : 0; + }, + + initialize: function(){ + this.render(); + }, + + render: function(){ + + // vars + var $switch = this.$switch(); + + // bail ealry if no $switch + if( !$switch.length ) return; + + // vars + var $on = $switch.children('.acf-switch-on'); + var $off = $switch.children('.acf-switch-off'); + var width = Math.max( $on.width(), $off.width() ); + + // bail ealry if no width + if( !width ) return; + + // set widths + $on.css( 'min-width', width ); + $off.css( 'min-width', width ); + + }, + + switchOn: function() { + this.$input().prop('checked', true); + this.$switch().addClass('-on'); + }, + + switchOff: function() { + this.$input().prop('checked', false); + this.$switch().removeClass('-on'); + }, + + onChange: function( e, $el ){ + if( $el.prop('checked') ) { + this.switchOn(); + } else { + this.switchOff(); + } + }, + + onFocus: function( e, $el ){ + this.$switch().addClass('-focus'); + }, + + onBlur: function( e, $el ){ + this.$switch().removeClass('-focus'); + }, + + onKeypress: function( e, $el ){ + + // left + if( e.keyCode === 37 ) { + return this.switchOff(); + } + + // right + if( e.keyCode === 39 ) { + return this.switchOn(); + } + + } + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.Field.extend({ + + type: 'url', + + events: { + 'keyup input[type="url"]': 'onkeyup' + }, + + $control: function(){ + return this.$('.acf-input-wrap'); + }, + + $input: function(){ + return this.$('input[type="url"]'); + }, + + initialize: function(){ + this.render(); + }, + + isValid: function(){ + + // vars + var val = this.val(); + + // bail early if no val + if( !val ) { + return false; + } + + // url + if( val.indexOf('://') !== -1 ) { + return true; + } + + // protocol relative url + if( val.indexOf('//') === 0 ) { + return true; + } + + // return + return false; + }, + + render: function(){ + + // add class + if( this.isValid() ) { + this.$control().addClass('-valid'); + } else { + this.$control().removeClass('-valid'); + } + }, + + onkeyup: function( e, $el ){ + this.render(); + } + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + var Field = acf.Field.extend({ + + type: 'wysiwyg', + + wait: 'load', + + events: { + 'mousedown .acf-editor-wrap.delay': 'onMousedown', + 'sortstartField': 'disableEditor', + 'sortstopField': 'enableEditor', + 'removeField': 'disableEditor' + }, + + $control: function(){ + return this.$('.acf-editor-wrap'); + }, + + $input: function(){ + return this.$('textarea'); + }, + + getMode: function(){ + return this.$control().hasClass('tmce-active') ? 'visual' : 'text'; + }, + + initialize: function(){ + + // initializeEditor if no delay + if( !this.$control().hasClass('delay') ) { + this.initializeEditor(); + } + }, + + initializeEditor: function(){ + + // vars + var $wrap = this.$control(); + var $textarea = this.$input(); + var args = { + tinymce: true, + quicktags: true, + toolbar: this.get('toolbar'), + mode: this.getMode(), + field: this + }; + + // generate new id + var oldId = $textarea.attr('id'); + var newId = acf.uniqueId('acf-editor-'); + + // rename + acf.rename({ + target: $wrap, + search: oldId, + replace: newId, + destructive: true + }); + + // update id + this.set('id', newId, true); + + // initialize + acf.tinymce.initialize( newId, args ); + }, + + onMousedown: function( e ){ + + // prevent default + e.preventDefault(); + + // remove delay class + var $wrap = this.$control(); + $wrap.removeClass('delay'); + $wrap.find('.acf-editor-toolbar').remove(); + + // initialize + this.initializeEditor(); + }, + + enableEditor: function(){ + if( this.getMode() == 'visual' ) { + acf.tinymce.enable( this.get('id') ); + } + }, + + disableEditor: function(){ + acf.tinymce.destroy( this.get('id') ); + } + }); + + acf.registerFieldType( Field ); + +})(jQuery); + +(function($, undefined){ + + // vars + var storage = []; + + /** + * acf.Condition + * + * description + * + * @date 23/3/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.Condition = acf.Model.extend({ + + type: '', // used for model name + operator: '==', // rule operator + label: '', // label shown when editing fields + choiceType: 'input', // input, select + fieldTypes: [], // auto connect this conditions with these field types + + data: { + conditions: false, // the parent instance + field: false, // the field which we query against + rule: {} // the rule [field, operator, value] + }, + + events: { + 'change': 'change', + 'keyup': 'change', + 'enableField': 'change', + 'disableField': 'change' + }, + + setup: function( props ){ + $.extend(this.data, props); + }, + + getEventTarget: function( $el, event ){ + return $el || this.get('field').$el; + }, + + change: function( e, $el ){ + this.get('conditions').change( e ); + }, + + match: function( rule, field ){ + return false; + }, + + calculate: function(){ + return this.match( this.get('rule'), this.get('field') ); + }, + + choices: function( field ){ + return ''; + } + }); + + /** + * acf.newCondition + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.newCondition = function( rule, conditions ){ + + // currently setting up conditions for fieldX, this field is the 'target' + var target = conditions.get('field'); + + // use the 'target' to find the 'trigger' field. + // - this field is used to setup the conditional logic events + var field = target.getField( rule.field ); + + // bail ealry if no target or no field (possible if field doesn't exist due to HTML error) + if( !target || !field ) { + return false; + } + + // vars + var args = { + rule: rule, + target: target, + conditions: conditions, + field: field + }; + + // vars + var fieldType = field.get('type'); + var operator = rule.operator; + + // get avaibale conditions + var conditionTypes = acf.getConditionTypes({ + fieldType: fieldType, + operator: operator, + }); + + // instantiate + var model = conditionTypes[0] || acf.Condition; + + // instantiate + var condition = new model( args ); + + // return + return condition; + }; + + /** + * mid + * + * Calculates the model ID for a field type + * + * @date 15/12/17 + * @since 5.6.5 + * + * @param string type + * @return string + */ + + var modelId = function( type ) { + return acf.strPascalCase( type || '' ) + 'Condition'; + }; + + /** + * acf.registerConditionType + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.registerConditionType = function( model ){ + + // vars + var proto = model.prototype; + var type = proto.type; + var mid = modelId( type ); + + // store model + acf.models[ mid ] = model; + + // store reference + storage.push( type ); + }; + + /** + * acf.getConditionType + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.getConditionType = function( type ){ + var mid = modelId( type ); + return acf.models[ mid ] || false; + } + + /** + * acf.registerConditionForFieldType + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.registerConditionForFieldType = function( conditionType, fieldType ){ + + // get model + var model = acf.getConditionType( conditionType ); + + // append + if( model ) { + model.prototype.fieldTypes.push( fieldType ); + } + }; + + /** + * acf.getConditionTypes + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.getConditionTypes = function( args ){ + + // defaults + args = acf.parseArgs(args, { + fieldType: '', + operator: '' + }); + + // clonse available types + var types = []; + + // loop + storage.map(function( type ){ + + // vars + var model = acf.getConditionType(type); + var ProtoFieldTypes = model.prototype.fieldTypes; + var ProtoOperator = model.prototype.operator; + + // check fieldType + if( args.fieldType && ProtoFieldTypes.indexOf( args.fieldType ) === -1 ) { + return; + } + + // check operator + if( args.operator && ProtoOperator !== args.operator ) { + return; + } + + // append + types.push( model ); + }); + + // return + return types; + }; + +})(jQuery); + +(function($, undefined){ + + // vars + var CONTEXT = 'conditional_logic'; + + /** + * conditionsManager + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var conditionsManager = new acf.Model({ + + id: 'conditionsManager', + + priority: 20, // run actions later + + actions: { + 'new_field': 'onNewField', + }, + + onNewField: function( field ){ + if( field.has('conditions') ) { + field.getConditions().render(); + } + }, + }); + + /** + * acf.Field.prototype.getField + * + * Finds a field that is related to another field + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var getSiblingField = function( field, key ){ + + // find sibling (very fast) + var fields = acf.getFields({ + key: key, + sibling: field.$el, + suppressFilters: true, + }); + + // find sibling-children (fast) + // needed for group fields, accordions, etc + if( !fields.length ) { + fields = acf.getFields({ + key: key, + parent: field.$el.parent(), + suppressFilters: true, + }); + } + + // return + if( fields.length ) { + return fields[0]; + } + return false; + }; + + acf.Field.prototype.getField = function( key ){ + + // get sibling field + var field = getSiblingField( this, key ); + + // return early + if( field ) { + return field; + } + + // move up through each parent and try again + var parents = this.parents(); + for( var i = 0; i < parents.length; i++ ) { + + // get sibling field + field = getSiblingField( parents[i], key ); + + // return early + if( field ) { + return field; + } + } + + // return + return false; + }; + + + /** + * acf.Field.prototype.getConditions + * + * Returns the field's conditions instance + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.Field.prototype.getConditions = function(){ + + // instantiate + if( !this.conditions ) { + this.conditions = new Conditions( this ); + } + + // return + return this.conditions; + }; + + + /** + * Conditions + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + var timeout = false; + var Conditions = acf.Model.extend({ + + id: 'Conditions', + + data: { + field: false, // The field with "data-conditions" (target). + timeStamp: false, // Reference used during "change" event. + groups: [], // The groups of condition instances. + }, + + setup: function( field ){ + + // data + this.data.field = field; + + // vars + var conditions = field.get('conditions'); + + // detect groups + if( conditions instanceof Array ) { + + // detect groups + if( conditions[0] instanceof Array ) { + + // loop + conditions.map(function(rules, i){ + this.addRules( rules, i ); + }, this); + + // detect rules + } else { + this.addRules( conditions ); + } + + // detect rule + } else { + this.addRule( conditions ); + } + }, + + change: function( e ){ + + // this function may be triggered multiple times per event due to multiple condition classes + // compare timestamp to allow only 1 trigger per event + if( this.get('timeStamp') === e.timeStamp ) { + return false; + } else { + this.set('timeStamp', e.timeStamp, true); + } + + // render condition and store result + var changed = this.render(); + }, + + render: function(){ + return this.calculate() ? this.show() : this.hide(); + }, + + show: function(){ + return this.get('field').showEnable(this.cid, CONTEXT); + }, + + hide: function(){ + return this.get('field').hideDisable(this.cid, CONTEXT); + }, + + calculate: function(){ + + // vars + var pass = false; + + // loop + this.getGroups().map(function( group ){ + + // igrnore this group if another group passed + if( pass ) return; + + // find passed + var passed = group.filter(function(condition){ + return condition.calculate(); + }); + + // if all conditions passed, update the global var + if( passed.length == group.length ) { + pass = true; + } + }); + + return pass; + }, + + hasGroups: function(){ + return this.data.groups != null; + }, + + getGroups: function(){ + return this.data.groups; + }, + + addGroup: function(){ + var group = []; + this.data.groups.push( group ); + return group; + }, + + hasGroup: function( i ){ + return this.data.groups[i] != null; + }, + + getGroup: function( i ){ + return this.data.groups[i]; + }, + + removeGroup: function( i ){ + this.data.groups[i].delete; + return this; + }, + + addRules: function( rules, group ){ + rules.map(function( rule ){ + this.addRule( rule, group ); + }, this); + }, + + addRule: function( rule, group ){ + + // defaults + group = group || 0; + + // vars + var groupArray; + + // get group + if( this.hasGroup(group) ) { + groupArray = this.getGroup(group); + } else { + groupArray = this.addGroup(); + } + + // instantiate + var condition = acf.newCondition( rule, this ); + + // bail ealry if condition failed (field did not exist) + if( !condition ) { + return false; + } + + // add rule + groupArray.push(condition); + }, + + hasRule: function(){ + + }, + + getRule: function( rule, group ){ + + // defaults + rule = rule || 0; + group = group || 0; + + return this.data.groups[ group ][ rule ]; + }, + + removeRule: function(){ + + } + }); + +})(jQuery); + +(function($, undefined){ + + var __ = acf.__; + + var parseString = function( val ){ + return val ? '' + val : ''; + }; + + var isEqualTo = function( v1, v2 ){ + return ( parseString(v1).toLowerCase() === parseString(v2).toLowerCase() ); + }; + + var isEqualToNumber = function( v1, v2 ){ + return ( parseFloat(v1) === parseFloat(v2) ); + }; + + var isGreaterThan = function( v1, v2 ){ + return ( parseFloat(v1) > parseFloat(v2) ); + }; + + var isLessThan = function( v1, v2 ){ + return ( parseFloat(v1) < parseFloat(v2) ); + }; + + var inArray = function( v1, array ){ + + // cast all values as string + array = array.map(function(v2){ + return parseString(v2); + }); + + return (array.indexOf( v1 ) > -1); + } + + var containsString = function( haystack, needle ){ + return ( parseString(haystack).indexOf( parseString(needle) ) > -1 ); + }; + + var matchesPattern = function( v1, pattern ){ + var regexp = new RegExp(parseString(pattern), 'gi'); + return parseString(v1).match( regexp ); + }; + + /** + * hasValue + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var HasValue = acf.Condition.extend({ + type: 'hasValue', + operator: '!=empty', + label: __('Has any value'), + fieldTypes: [ 'text', 'textarea', 'number', 'range', 'email', 'url', 'password', 'image', 'file', 'wysiwyg', 'oembed', 'select', 'checkbox', 'radio', 'button_group', 'link', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user', 'google_map', 'date_picker', 'date_time_picker', 'time_picker', 'color_picker' ], + match: function( rule, field ){ + return (field.val() ? true : false); + }, + choices: function( fieldObject ){ + return ''; + } + }); + + acf.registerConditionType( HasValue ); + + /** + * hasValue + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var HasNoValue = HasValue.extend({ + type: 'hasNoValue', + operator: '==empty', + label: __('Has no value'), + match: function( rule, field ){ + return !HasValue.prototype.match.apply(this, arguments); + } + }); + + acf.registerConditionType( HasNoValue ); + + + + /** + * EqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var EqualTo = acf.Condition.extend({ + type: 'equalTo', + operator: '==', + label: __('Value is equal to'), + fieldTypes: [ 'text', 'textarea', 'number', 'range', 'email', 'url', 'password' ], + match: function( rule, field ){ + if( $.isNumeric(rule.value) ) { + return isEqualToNumber( rule.value, field.val() ); + } else { + return isEqualTo( rule.value, field.val() ); + } + }, + choices: function( fieldObject ){ + return ''; + } + }); + + acf.registerConditionType( EqualTo ); + + /** + * NotEqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var NotEqualTo = EqualTo.extend({ + type: 'notEqualTo', + operator: '!=', + label: __('Value is not equal to'), + match: function( rule, field ){ + return !EqualTo.prototype.match.apply(this, arguments); + } + }); + + acf.registerConditionType( NotEqualTo ); + + /** + * PatternMatch + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var PatternMatch = acf.Condition.extend({ + type: 'patternMatch', + operator: '==pattern', + label: __('Value matches pattern'), + fieldTypes: [ 'text', 'textarea', 'email', 'url', 'password', 'wysiwyg' ], + match: function( rule, field ){ + return matchesPattern( field.val(), rule.value ); + }, + choices: function( fieldObject ){ + return ''; + } + }); + + acf.registerConditionType( PatternMatch ); + + /** + * Contains + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var Contains = acf.Condition.extend({ + type: 'contains', + operator: '==contains', + label: __('Value contains'), + fieldTypes: [ 'text', 'textarea', 'number', 'email', 'url', 'password', 'wysiwyg', 'oembed' ], + match: function( rule, field ){ + return containsString( field.val(), rule.value ); + }, + choices: function( fieldObject ){ + return ''; + } + }); + + acf.registerConditionType( Contains ); + + /** + * TrueFalseEqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var TrueFalseEqualTo = EqualTo.extend({ + type: 'trueFalseEqualTo', + choiceType: 'select', + fieldTypes: [ 'true_false' ], + choices: function( field ){ + return [ + { + id: 1, + text: __('Checked') + } + ]; + }, + }); + + acf.registerConditionType( TrueFalseEqualTo ); + + /** + * TrueFalseNotEqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var TrueFalseNotEqualTo = NotEqualTo.extend({ + type: 'trueFalseNotEqualTo', + choiceType: 'select', + fieldTypes: [ 'true_false' ], + choices: function( field ){ + return [ + { + id: 1, + text: __('Checked') + } + ]; + }, + }); + + acf.registerConditionType( TrueFalseNotEqualTo ); + + /** + * SelectEqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var SelectEqualTo = acf.Condition.extend({ + type: 'selectEqualTo', + operator: '==', + label: __('Value is equal to'), + fieldTypes: [ 'select', 'checkbox', 'radio', 'button_group' ], + match: function( rule, field ){ + var val = field.val(); + if( val instanceof Array ) { + return inArray( rule.value, val ); + } else { + return isEqualTo( rule.value, val ); + } + }, + choices: function( fieldObject ){ + + // vars + var choices = []; + var lines = fieldObject.$setting('choices textarea').val().split("\n"); + + // allow null + if( fieldObject.$input('allow_null').prop('checked') ) { + choices.push({ + id: '', + text: __('Null') + }); + } + + // loop + lines.map(function( line ){ + + // split + line = line.split(':'); + + // default label to value + line[1] = line[1] || line[0]; + + // append + choices.push({ + id: $.trim( line[0] ), + text: $.trim( line[1] ) + }); + }); + + // return + return choices; + }, + }); + + acf.registerConditionType( SelectEqualTo ); + + /** + * SelectNotEqualTo + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var SelectNotEqualTo = SelectEqualTo.extend({ + type: 'selectNotEqualTo', + operator: '!=', + label: __('Value is not equal to'), + match: function( rule, field ){ + return !SelectEqualTo.prototype.match.apply(this, arguments); + } + }); + + acf.registerConditionType( SelectNotEqualTo ); + + /** + * GreaterThan + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var GreaterThan = acf.Condition.extend({ + type: 'greaterThan', + operator: '>', + label: __('Value is greater than'), + fieldTypes: [ 'number', 'range' ], + match: function( rule, field ){ + var val = field.val(); + if( val instanceof Array ) { + val = val.length; + } + return isGreaterThan( val, rule.value ); + }, + choices: function( fieldObject ){ + return ''; + } + }); + + acf.registerConditionType( GreaterThan ); + + + /** + * LessThan + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var LessThan = GreaterThan.extend({ + type: 'lessThan', + operator: '<', + label: __('Value is less than'), + match: function( rule, field ){ + var val = field.val(); + if( val instanceof Array ) { + val = val.length; + } + return isLessThan( val, rule.value ); + }, + choices: function( fieldObject ){ + return ''; + } + }); + + acf.registerConditionType( LessThan ); + + /** + * SelectedGreaterThan + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var SelectionGreaterThan = GreaterThan.extend({ + type: 'selectionGreaterThan', + label: __('Selection is greater than'), + fieldTypes: [ 'checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user' ], + }); + + acf.registerConditionType( SelectionGreaterThan ); + + /** + * SelectedGreaterThan + * + * description + * + * @date 1/2/18 + * @since 5.6.5 + * + * @param void + * @return void + */ + + var SelectionLessThan = LessThan.extend({ + type: 'selectionLessThan', + label: __('Selection is less than'), + fieldTypes: [ 'checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user' ], + }); + + acf.registerConditionType( SelectionLessThan ); + +})(jQuery); + +(function($, undefined){ + + /** + * acf.newMediaPopup + * + * description + * + * @date 10/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.newMediaPopup = function( args ){ + + // args + var popup = null; + var args = acf.parseArgs(args, { + mode: 'select', // 'select', 'edit' + title: '', // 'Upload Image' + button: '', // 'Select Image' + type: '', // 'image', '' + field: false, // field instance + allowedTypes: '', // '.jpg, .png, etc' + library: 'all', // 'all', 'uploadedTo' + multiple: false, // false, true, 'add' + attachment: 0, // the attachment to edit + autoOpen: true, // open the popup automatically + open: function(){}, // callback after close + select: function(){}, // callback after select + close: function(){} // callback after close + }); + + // initialize + if( args.mode == 'edit' ) { + popup = new acf.models.EditMediaPopup( args ); + } else { + popup = new acf.models.SelectMediaPopup( args ); + } + + // open popup (allow frame customization before opening) + if( args.autoOpen ) { + setTimeout(function(){ + popup.open(); + }, 1); + } + + // action + acf.doAction('new_media_popup', popup); + + // return + return popup; + }; + + + /** + * getPostID + * + * description + * + * @date 10/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var getPostID = function() { + var postID = acf.get('post_id'); + return $.isNumeric(postID) ? postID : 0; + } + + + /** + * acf.getMimeTypes + * + * description + * + * @date 11/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.getMimeTypes = function(){ + return this.get('mimeTypes'); + }; + + acf.getMimeType = function( name ){ + + // vars + var allTypes = acf.getMimeTypes(); + + // search + if( allTypes[name] !== undefined ) { + return allTypes[name]; + } + + // some types contain a mixed key such as "jpg|jpeg|jpe" + for( var key in allTypes ) { + if( key.indexOf(name) !== -1 ) { + return allTypes[key]; + } + } + + // return + return false; + }; + + + /** + * MediaPopup + * + * description + * + * @date 10/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var MediaPopup = acf.Model.extend({ + + id: 'MediaPopup', + data: {}, + defaults: {}, + frame: false, + + setup: function( props ){ + $.extend(this.data, props); + }, + + initialize: function(){ + + // vars + var options = this.getFrameOptions(); + + // add states + this.addFrameStates( options ); + + // create frame + var frame = wp.media( options ); + + // add args reference + frame.acf = this; + + // add events + this.addFrameEvents( frame, options ); + + // strore frame + this.frame = frame; + }, + + open: function(){ + this.frame.open(); + }, + + close: function(){ + this.frame.close(); + }, + + remove: function(){ + this.frame.detach(); + this.frame.dispose(); + }, + + getFrameOptions: function(){ + + // vars + var options = { + title: this.get('title'), + multiple: this.get('multiple'), + library: {}, + states: [] + }; + + // type + if( this.get('type') ) { + options.library.type = this.get('type'); + } + + // type + if( this.get('library') === 'uploadedTo' ) { + options.library.uploadedTo = getPostID(); + } + + // attachment + if( this.get('attachment') ) { + options.library.post__in = [ this.get('attachment') ]; + } + + // button + if( this.get('button') ) { + options.button = { + text: this.get('button') + }; + } + + // return + return options; + }, + + addFrameStates: function( options ){ + + // create query + var Query = wp.media.query( options.library ); + + // add _acfuploader + // this is super wack! + // if you add _acfuploader to the options.library args, new uploads will not be added to the library view. + // this has been traced back to the wp.media.model.Query initialize function (which can't be overriden) + // Adding any custom args will cause the Attahcments to not observe the uploader queue + // To bypass this security issue, we add in the args AFTER the Query has been initialized + // options.library._acfuploader = settings.field; + if( this.get('field') && acf.isset(Query, 'mirroring', 'args') ) { + Query.mirroring.args._acfuploader = this.get('field'); + } + + // add states + options.states.push( + + // main state + new wp.media.controller.Library({ + library: Query, + multiple: this.get('multiple'), + title: this.get('title'), + priority: 20, + filterable: 'all', + editable: true, + allowLocalEdits: true + }) + + ); + + // edit image functionality (added in WP 3.9) + if( acf.isset(wp, 'media', 'controller', 'EditImage') ) { + options.states.push( new wp.media.controller.EditImage() ); + } + }, + + addFrameEvents: function( frame, options ){ + + // log all events + //frame.on('all', function( e ) { + // console.log( 'frame all: %o', e ); + //}); + + // add class + frame.on('open',function() { + this.$el.closest('.media-modal').addClass('acf-media-modal -' + this.acf.get('mode') ); + }, frame); + + // edit image view + // source: media-views.js:2410 editImageContent() + frame.on('content:render:edit-image', function(){ + + var image = this.state().get('image'); + var view = new wp.media.view.EditImage({ model: image, controller: this }).render(); + this.content.set( view ); + + // after creating the wrapper view, load the actual editor via an ajax call + view.loadEditor(); + + }, frame); + + // update toolbar button +/* + frame.on( 'toolbar:create:select', function( toolbar ) { + + toolbar.view = new wp.media.view.Toolbar.Select({ + text: frame.options._button, + controller: this + }); + + }, frame ); +*/ + // on select + frame.on('select', function() { + + // vars + var selection = frame.state().get('selection'); + + // if selecting images + if( selection ) { + + // loop + selection.each(function( attachment, i ){ + frame.acf.get('select').apply( frame.acf, [attachment, i] ); + }); + } + }); + + // on close + frame.on('close',function(){ + + // callback and remove + setTimeout(function(){ + frame.acf.get('close').apply( frame.acf ); + frame.acf.remove(); + }, 1); + }); + } + }); + + + /** + * acf.models.SelectMediaPopup + * + * description + * + * @date 10/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.models.SelectMediaPopup = MediaPopup.extend({ + id: 'SelectMediaPopup', + setup: function( props ){ + + // default button + if( !props.button ) { + props.button = acf._x('Select', 'verb'); + } + + // parent + MediaPopup.prototype.setup.apply(this, arguments); + }, + + addFrameEvents: function( frame, options ){ + + // plupload + // adds _acfuploader param to validate uploads + if( acf.isset(_wpPluploadSettings, 'defaults', 'multipart_params') ) { + + // add _acfuploader so that Uploader will inherit + _wpPluploadSettings.defaults.multipart_params._acfuploader = this.get('field'); + + // remove acf_field so future Uploaders won't inherit + frame.on('open', function(){ + delete _wpPluploadSettings.defaults.multipart_params._acfuploader; + }); + } + + // browse + frame.on('content:activate:browse', function(){ + + // vars + var toolbar = false; + + // populate above vars making sure to allow for failure + // perhaps toolbar does not exist because the frame open is Upload Files + try { + toolbar = frame.content.get().toolbar; + } catch(e) { + console.log(e); + return; + } + + // callback + frame.acf.customizeFilters.apply(frame.acf, [toolbar]); + }); + + // parent + MediaPopup.prototype.addFrameEvents.apply(this, arguments); + + }, + + customizeFilters: function( toolbar ){ + + // vars + var filters = toolbar.get('filters'); + + // image + if( this.get('type') == 'image' ) { + + // update all + filters.filters.all.text = acf.__('All images'); + + // remove some filters + delete filters.filters.audio; + delete filters.filters.video; + delete filters.filters.image; + + // update all filters to show images + $.each(filters.filters, function( i, filter ){ + filter.props.type = filter.props.type || 'image'; + }); + } + + // specific types + if( this.get('allowedTypes') ) { + + // convert ".jpg, .png" into ["jpg", "png"] + var allowedTypes = this.get('allowedTypes').split(' ').join('').split('.').join('').split(','); + + // loop + allowedTypes.map(function( name ){ + + // get type + var mimeType = acf.getMimeType( name ); + + // bail early if no type + if( !mimeType ) return; + + // create new filter + var newFilter = { + text: mimeType, + props: { + status: null, + type: mimeType, + uploadedTo: null, + orderby: 'date', + order: 'DESC' + }, + priority: 20 + }; + + // append + filters.filters[ mimeType ] = newFilter; + + }); + } + + + + // uploaded to post + if( this.get('library') === 'uploadedTo' ) { + + // vars + var uploadedTo = this.frame.options.library.uploadedTo; + + // remove some filters + delete filters.filters.unattached; + delete filters.filters.uploaded; + + // add uploadedTo to filters + $.each(filters.filters, function( i, filter ){ + filter.text += ' (' + acf.__('Uploaded to this post') + ')'; + filter.props.uploadedTo = uploadedTo; + }); + } + + // add _acfuploader to filters + var field = this.get('field'); + $.each(filters.filters, function( k, filter ){ + filter.props._acfuploader = field; + }); + + // add _acfuplaoder to search + var search = toolbar.get('search'); + search.model.attributes._acfuploader = field; + + // render (custom function added to prototype) + if( filters.renderFilters ) { + filters.renderFilters(); + } + } + }); + + + /** + * acf.models.EditMediaPopup + * + * description + * + * @date 10/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.models.EditMediaPopup = MediaPopup.extend({ + id: 'SelectMediaPopup', + setup: function( props ){ + + // default button + if( !props.button ) { + props.button = acf._x('Update', 'verb'); + } + + // parent + MediaPopup.prototype.setup.apply(this, arguments); + }, + + addFrameEvents: function( frame, options ){ + + // add class + frame.on('open',function() { + + // add class + this.$el.closest('.media-modal').addClass('acf-expanded'); + + // set to browse + if( this.content.mode() != 'browse' ) { + this.content.mode('browse'); + } + + // set selection + var state = this.state(); + var selection = state.get('selection'); + var attachment = wp.media.attachment( frame.acf.get('attachment') ); + selection.add( attachment ); + + }, frame); + + // parent + MediaPopup.prototype.addFrameEvents.apply(this, arguments); + + } + }); + + + /** + * customizePrototypes + * + * description + * + * @date 11/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var customizePrototypes = new acf.Model({ + id: 'customizePrototypes', + wait: 'ready', + + initialize: function(){ + + // bail early if no media views + if( !acf.isset(wp, 'media', 'view') ) { + return; + } + + // customize + this.customizeAttachmentsRouter(); + this.customizeAttachmentFilters(); + this.customizeAttachmentCompat(); + this.customizeAttachmentLibrary(); + }, + + customizeAttachmentsRouter: function(){ + + // validate + if( !acf.isset(wp, 'media', 'view', 'Router') ) { + return; + } + + // vars + var Parent = wp.media.view.Router; + + // extend + wp.media.view.Router = Parent.extend({ + + addExpand: function(){ + + // vars + var $a = $([ + '', + '' + acf.__('Expand Details') + '', + '' + acf.__('Collapse Details') + '', + '' + ].join('')); + + // add events + $a.on('click', function( e ){ + e.preventDefault(); + var $div = $(this).closest('.media-modal'); + if( $div.hasClass('acf-expanded') ) { + $div.removeClass('acf-expanded'); + } else { + $div.addClass('acf-expanded'); + } + }); + + // append + this.$el.append( $a ); + }, + + initialize: function(){ + + // initialize + Parent.prototype.initialize.apply( this, arguments ); + + // add buttons + this.addExpand(); + + // return + return this; + } + }); + }, + + customizeAttachmentFilters: function(){ + + // validate + if( !acf.isset(wp, 'media', 'view', 'AttachmentFilters', 'All') ) { + return; + } + + // vars + var Parent = wp.media.view.AttachmentFilters.All; + + // renderFilters + // copied from media-views.js:6939 + Parent.prototype.renderFilters = function(){ + + // Build `' ).val( value ).html( filter.text )[0], + priority: filter.priority || 50 + }; + }, this ).sortBy('priority').pluck('el').value() ); + + }; + }, + + customizeAttachmentCompat: function(){ + + // validate + if( !acf.isset(wp, 'media', 'view', 'AttachmentCompat') ) { + return; + } + + // vars + var AttachmentCompat = wp.media.view.AttachmentCompat; + var timeout = false; + + // extend + wp.media.view.AttachmentCompat = AttachmentCompat.extend({ + + render: function() { + + // WP bug + // When multiple media frames exist on the same page (WP content, WYSIWYG, image, file ), + // WP creates multiple instances of this AttachmentCompat view. + // Each instance will attempt to render when a new modal is created. + // Use a property to avoid this and only render once per instance. + if( this.rendered ) { + //console.log('ignore render', this.cid); + return this; + } + this.rendered = true; + + // render + //console.log('render', this.cid); + AttachmentCompat.prototype.render.apply( this, arguments ); + + // clear timeout + clearTimeout( timeout ); + + // setTimeout + timeout = setTimeout($.proxy(function(){ + + // check if element is visible to avoid logic on previous instances (which are hidden) + if( this.$el.is(':visible') ) { + //console.log('append', this.cid); + acf.doAction('append', this.$el); + } + + }, this), 50); + + // return + return this; + }, + + // commented out function causing JS errors when navigating through media grid + // dispose (and remove) are called after the element has been detached, so this only causes extra JS initialization + dispose: function(){ + + // remove + if( this.$el.is(':visible') ) { + //acf.doAction('remove', this.$el); + console.log('removed visible'); + } + // dispose + return AttachmentCompat.prototype.dispose.apply( this, arguments ); + } + + }); + + }, + + customizeAttachmentLibrary: function(){ + + // validate + if( !acf.isset(wp, 'media', 'view', 'Attachment', 'Library') ) { + return; + } + + // vars + var AttachmentLibrary = wp.media.view.Attachment.Library; + + // extend + wp.media.view.Attachment.Library = AttachmentLibrary.extend({ + + render: function() { + + // vars + var popup = acf.isget(this, 'controller', 'acf'); + var attributes = acf.isget(this, 'model', 'attributes'); + + // check vars exist to avoid errors + if( popup && attributes ) { + + // show errors + if( attributes.acf_errors ) { + this.$el.addClass('acf-disabled'); + } + + // disable selected + var selected = popup.get('selected'); + if( selected && selected.indexOf(attributes.id) > -1 ) { + this.$el.addClass('acf-selected'); + } + } + + // render + return AttachmentLibrary.prototype.render.apply( this, arguments ); + + }, + + + /* + * toggleSelection + * + * This function is called before an attachment is selected + * A good place to check for errors and prevent the 'select' function from being fired + * + * @type function + * @date 29/09/2016 + * @since 5.4.0 + * + * @param options (object) + * @return n/a + */ + + toggleSelection: function( options ) { + + // vars + // source: wp-includes/js/media-views.js:2880 + var collection = this.collection, + selection = this.options.selection, + model = this.model, + single = selection.single(); + + + // vars + var frame = this.controller; + var errors = acf.isget(this, 'model', 'attributes', 'acf_errors'); + var $sidebar = frame.$el.find('.media-frame-content .media-sidebar'); + + // remove previous error + $sidebar.children('.acf-selection-error').remove(); + + // show attachment details + $sidebar.children().removeClass('acf-hidden'); + + // add message + if( frame && errors ) { + + // vars + var filename = acf.isget(this, 'model', 'attributes', 'filename'); + + // hide attachment details + // Gallery field continues to show previously selected attachment... + $sidebar.children().addClass('acf-hidden'); + + // append message + $sidebar.prepend([ + '
    ', + '' + acf.__('Restricted') +'', + '' + filename + '', + '' + errors + '', + '
    ' + ].join('')); + + // reset selection (unselects all attachments) + selection.reset(); + + // set single (attachment displayed in sidebar) + selection.single( model ); + + // return and prevent 'select' form being fired + return; + + } + + // return + return AttachmentLibrary.prototype.toggleSelection.apply( this, arguments ); + } + }); + } + }); + +})(jQuery); + +(function($, undefined){ + + acf.screen = new acf.Model({ + + active: true, + + xhr: false, + + wait: 'ready', + + events: { + 'change #page_template': 'onChangeTemplate', + 'change #parent_id': 'onChangeParent', + 'change #post-formats-select input': 'onChangeFormat', + 'change .categorychecklist input': 'onChangeTerm', + 'change .categorychecklist select': 'onChangeTerm', + 'change .acf-taxonomy-field[data-save="1"] input': 'onChangeTerm', + 'change .acf-taxonomy-field[data-save="1"] select': 'onChangeTerm' + }, + + data: { //'post_id': 0, //'page_template': 0, //'page_parent': 0, @@ -4339,186 +10401,110 @@ var acf; //'post_format': 0, //'post_taxonomy': 0 }, - xhr: null, - - update: function( k, v ){ - this.o[ k ] = v; - - return this; - - }, - - get: function( k ){ - - return this.o[ k ] || null; - - }, - - ready: function(){ - - // update post_id - this.update('post_id', acf.get('post_id')); - - - // active - this.active = true; - - }, - -/* - timeout: null, - maybe_fetch: function(){ - - // reference - var self = this; - - - // abort timeout - if( this.timeout ) { - - clearTimeout( this.timeout ); - - } - - - // fetch - this.timeout = setTimeout(function(){ - - self.fetch(); - - }, 100); - - }, -*/ - fetch: function(){ // bail early if not active - if( !this.active ) return; + if( !this.active ) { + return; + } // bail early if not for post - if( acf.get('screen') !== 'post' ) return; - - // bail early if no ajax - if( !acf.get('ajax') ) return; - + if( acf.get('screen') !== 'post' ) { + return; + } // abort XHR if is already loading AJAX data if( this.xhr ) { - this.xhr.abort(); - } - // vars - var self = this, - data = this.o; - - - // add action url - data.action = 'acf/post/get_field_groups'; - - - // add ignore - data.exists = []; - - $('.acf-postbox').not('.acf-hidden').each(function(){ - - data.exists.push( $(this).attr('id').substr(4) ); - + var ajaxData = acf.parseArgs(this.data, { + post_id: acf.get('post_id') }); + // add action url + ajaxData.action = 'acf/post/get_field_groups'; + + // add ignore + ajaxData.exists = []; + $('.acf-postbox').not('.acf-hidden').each(function(){ + ajaxData.exists.push( $(this).attr('id').substr(4) ); + }); + + // success + var onSuccess = function( json ){ + + // bail early if not success + if( !acf.isAjaxSuccess(json) ) { + return; + } + + // hide + $('.acf-postbox').addClass('acf-hidden'); + $('.acf-postbox-toggle').addClass('acf-hidden'); + + // reset style + $('#acf-style').html(''); + + // loop + json.data.map(function( fieldGroup, i ){ + + // vars + var $postbox = $('#acf-' + fieldGroup.key); + var $toggle = $('#acf-' + fieldGroup.key + '-hide'); + var $label = $toggle.parent(); + + // show + // use show() to force display when postbox has been hidden by 'Show on screen' toggle + $postbox.removeClass('acf-hidden hide-if-js').show(); + $label.removeClass('acf-hidden hide-if-js').show(); + $toggle.prop('checked', true); + + // replace HTML if needed + var $replace = $postbox.find('.acf-replace-with-fields'); + if( $replace.exists() ) { + $replace.replaceWith( fieldGroup.html ); + acf.doAction('append', $postbox); + } + + // update style if needed + if( i === 0 ) { + $('#acf-style').html( fieldGroup.style ); + } + + // enable inputs + acf.enable( $postbox, 'postbox' ); + }); + }; + + // complete + var onComplete = function( json ){ + + // disable inputs + $('.acf-postbox.acf-hidden').each(function(){ + acf.disable( $(this), 'postbox' ); + }); + }; // ajax this.xhr = $.ajax({ - url: acf.get('ajaxurl'), - data: acf.prepare_for_ajax( data ), - type: 'post', - dataType: 'json', - - success: function( json ){ - - if( acf.is_ajax_success( json ) ) { - - self.render( json.data ); - - } - - } + url: acf.get('ajaxurl'), + data: acf.prepareForAjax( ajaxData ), + type: 'post', + dataType: 'json', + context: this, + success: onSuccess, + complete: onComplete }); - }, - render: function( json ){ - - // hide - $('.acf-postbox').addClass('acf-hidden'); - $('.acf-postbox-toggle').addClass('acf-hidden'); - - - // reset style - $('#acf-style').html(''); - - - // show the new postboxes - $.each(json, function( k, field_group ){ - - // vars - var $postbox = $('#acf-' + field_group.key), - $toggle = $('#acf-' + field_group.key + '-hide'), - $label = $toggle.parent(); - - - // show - // use show() to force display when postbox has been hidden by 'Show on screen' toggle - $postbox.removeClass('acf-hidden hide-if-js').show(); - $label.removeClass('acf-hidden hide-if-js').show(); - $toggle.prop('checked', true); - - - // replace HTML if needed - var $replace = $postbox.find('.acf-replace-with-fields'); - - if( $replace.exists() ) { - - $replace.replaceWith( field_group.html ); - - acf.do_action('append', $postbox); - - } - - - // update style if needed - if( k === 0 ) { - - $('#acf-style').html( field_group.style ); - - } - - - // enable inputs - $postbox.find('.acf-hidden-by-postbox').prop('disabled', false); - - }); - - - // disable inputs - $('.acf-postbox.acf-hidden').find('select, textarea, input').not(':disabled').each(function(){ - - $(this).addClass('acf-hidden-by-postbox').prop('disabled', true); - - }); - - }, - - sync_taxonomy_terms: function(){ + syncTaxonomyTerms: function(){ // vars var values = ['']; - // loop over term lists $('.categorychecklist, .acf-taxonomy-field').each(function(){ @@ -4592,5879 +10578,811 @@ var acf; // filter duplicates - values = values.filter (function (v, i, a) { return a.indexOf (v) == i }); + values = values.filter(function(item, pos, self) { + return self.indexOf(item) == pos; + }); // update screen - this.update( 'post_taxonomy', values ).fetch(); - + this.set( 'post_taxonomy', values ).fetch(); }, - - /* - * events - * - * description - * - * @type function - * @date 29/09/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - _change_template: function( e ){ - - // vars - var page_template = e.$el.val(); - + onChangeTemplate: function( e, $el ){ // update & fetch - this.update('page_template', page_template).fetch(); - + this.set('page_template', $el.val()).fetch(); }, - _change_parent: function( e ){ + onChangeParent: function( e, $el ){ // vars - var page_type = 'parent', - page_parent = 0; - + var pageType = 'parent'; + var pageParent = 0; // if is child - if( e.$el.val() != "" ) { - - page_type = 'child'; - page_parent = e.$el.val(); - + if( $el.val() != "" ) { + pageType = 'child'; + pageParent = $el.val(); } // update & fetch - this.update('page_type', page_type).update('page_parent', page_parent).fetch(); - + this.set('page_type', pageType).set('page_parent', pageParent).fetch(); }, - _change_format: function( e ){ + onChangeFormat: function( e, $el ){ // vars - var post_format = e.$el.val(); - + var postFormat = $el.val(); // default - if( post_format == '0' ) { - - post_format = 'standard'; - + if( postFormat == '0' ) { + postFormat = 'standard'; } - // update & fetch - this.update('post_format', post_format).fetch(); - + this.set('post_format', postFormat).fetch(); }, - _change_term: function( e ){ - - // reference - var self = this; - + onChangeTerm: function( e, $el ){ // bail early if within media popup - if( e.$el.closest('.media-frame').exists() ) { - + if( $el.closest('.media-frame').exists() ) { return; - } - // set timeout to fix issue with chrome which does not register the change has yet happened - setTimeout(function(){ - - self.sync_taxonomy_terms(); - - }, 1); - - + this.setTimeout(this.syncTaxonomyTerms, 1); } - - }); - - -})(jQuery); - -(function($){ - - acf.fields.button_group = acf.field.extend({ - - type: 'button_group', - $div: null, - - events: { - 'click input[type="radio"]': 'click' - }, - - focus: function(){ - - // focus on $select - this.$div = this.$field.find('.acf-button-group'); - - - // get options - this.o = acf.get_data(this.$div, { - allow_null: 0 - }); - - }, - - click: function( e ){ - - // vars - var $radio = e.$el; - var $label = $radio.parent('label'); - var selected = $label.hasClass('selected'); - - - // remove previous selected - this.$div.find('.selected').removeClass('selected'); - - - // add active class - $label.addClass('selected'); - - - // allow null - if( this.o.allow_null && selected ) { - - // unselect - e.$el.prop('checked', false); - $label.removeClass('selected'); - - - // trigger change - e.$el.trigger('change'); - - } - - } - - }); - -})(jQuery); - -(function($){ - - acf.fields.checkbox = acf.field.extend({ - - type: 'checkbox', - - events: { - 'change input': '_change', - 'click .acf-add-checkbox': '_add' - }, - - - /* - * focus - * - * This function will setup variables when focused on a field - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param n/a - * @return n/a - */ - - focus: function(){ - - // get elements - this.$ul = this.$field.find('ul'); - this.$input = this.$field.find('input[type="hidden"]'); - - }, - - - add: function(){ - - // vars - var name = this.$input.attr('name') + '[]'; - - - // vars - var html = '
  • '; - - - // append - this.$ul.find('.acf-add-checkbox').parent('li').before( html ); - - }, - - _change: function( e ){ - - // vars - var $ul = this.$ul, - $inputs = $ul.find('input[type="checkbox"]').not('.acf-checkbox-toggle'), - checked = e.$el.is(':checked'); - - - // is toggle? - if( e.$el.hasClass('acf-checkbox-toggle') ) { - - // toggle all - $inputs.prop('checked', checked).trigger('change'); - - - // return - return; - - } - - - // is custom - if( e.$el.hasClass('acf-checkbox-custom') ) { - - // vars - var $text = e.$el.next('input[type="text"]'); - - - // toggle disabled - e.$el.next('input[type="text"]').prop('disabled', !checked); - - - // remove complelety if no value - if( !checked && $text.val() == '' ) { - - e.$el.parent('li').remove(); - - } - } - - - // bail early if no toggle - if( !$ul.find('.acf-checkbox-toggle').exists() ) { - - return; - - } - - - // determine if all inputs are checked - var checked = ( $inputs.not(':checked').length == 0 ); - - - // update toggle - $ul.find('.acf-checkbox-toggle').prop('checked', checked); - - }, - - _add: function( e ){ - - this.add(); - - } - - }); - -})(jQuery); - -(function($){ - - acf.fields.color_picker = acf.field.extend({ - - type: 'color_picker', - $input: null, - $hidden: null, - - actions: { - 'ready': 'initialize', - 'append': 'initialize' - }, - - focus: function(){ - - this.$input = this.$field.find('input[type="text"]'); - this.$hidden = this.$field.find('input[type="hidden"]'); - - }, - - initialize: function(){ - - // reference - var $input = this.$input, - $hidden = this.$hidden; - - - // trigger change function - var change_hidden = function(){ - - // timeout is required to ensure the $input val is correct - setTimeout(function(){ - - acf.val( $hidden, $input.val() ); - - }, 1); - - } - - - // args - var args = { - - defaultColor: false, - palettes: true, - hide: true, - change: change_hidden, - clear: change_hidden - - } - - - // filter - var args = acf.apply_filters('color_picker_args', args, this.$field); - - - // iris - this.$input.wpColorPicker(args); - - } - }); })(jQuery); (function($, undefined){ - // constants - var CLASS = 'hidden-by-conditional-logic'; - var CONTEXT = 'conditional_logic'; - - // model - var conditionalLogic = acf.conditional_logic = acf.model.extend({ - - // storage of fields that have conditions - conditions: {}, - - // storage of fields that trigger a condition - triggers: {}, - - // reference to parent element of both the trigger and target - $parent: false, - - // actions - actions: { - 'prepare 20': 'render', - 'append 20': 'render', - 'change': 'change' - }, - - - /* - * add - * - * This function will add a set of conditional logic rules - * - * @type function - * @date 22/05/2015 - * @since 5.2.3 - * - * @param string target field key - * @param array conditions array of conditional logic groups - * @return $post_id (int) - */ - - add: function( target, conditions ){ - - // add triggers - for( var i in conditions ) { - var group = conditions[i]; - - for( var k in group ) { - var rule = group[k]; - - this.addTrigger( rule.field, target ); - } - } - - - // add condition - this.setCondition( target, conditions ); - - }, - - - /** - * getTrigger - * - * This function will return the fields that are triggered by this key. - * - * @date 15/11/17 - * @since 5.6.5 - * - * @param string key The trigger's key. - * @return mixed - */ - - getTrigger: function( key ){ - return this.triggers[ key ] || null; - }, - - - /** - * setTrigger - * - * This function will set the fields that are triggered by this key. - * - * @date 15/11/17 - * @since 5.6.5 - * - * @param string key The trigger's key. - * @return mixed - */ - - setTrigger: function( key, value ){ - this.triggers[ key ] = value; - }, - - - /** - * addTrigger - * - * This function will add a reference for a field that triggers another field's visibility - * - * @date 15/11/17 - * @since 5.6.5 - * - * @param n/a - * @return n/a - */ - - addTrigger: function( trigger, target ){ - - // vars - var triggers = this.getTrigger( trigger ) || {}; - - // append - triggers[ target ] = 1; - - // set - this.setTrigger(trigger, triggers); - - }, - - - /** - * getConditions - * - * This function will return the conditions for all targets. - * - * @date 15/11/17 - * @since 5.6.5 - * - * @param string key The trigger's key. - * @return mixed - */ - - getConditions: function(){ - return this.conditions; - }, - - - /** - * getCondition - * - * This function will return the conditions for a target. - * - * @date 15/11/17 - * @since 5.6.5 - * - * @param string key The trigger's key. - * @return mixed - */ - - getCondition: function( key ){ - return this.conditions[ key ] || null; - }, - - - /** - * setCondition - * - * This function will set the conditions for a target. - * - * @date 15/11/17 - * @since 5.6.5 - * - * @param string key The trigger's key. - * @return mixed - */ - - setCondition: function( key, value ){ - this.conditions[ key ] = value; - }, - - - /* - * render - * - * This function will render all fields - * - * @type function - * @date 22/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - render: function( $el ){ - - // vars - $el = $el || false; - - // get targets - var $targets = acf.get_fields( '', $el, true ); - - // render fields - this.renderFields( $targets ); - - // action for 3rd party customization - acf.do_action('refresh', $el); - - }, - - - /** - * findParent - * - * This function will find a parent that contains both the trigger and target - * - * @date 15/11/17 - * @since 5.6.5 - * - * @param n/a - * @return n/a - */ - - findTarget: function( $trigger, target ){ - - // vars - var self = this; - - // reset scope - this.$parent = false; - - - // find siblings - var selector = acf.get_selector( target ); - var $targets = $trigger.siblings( selector ); - - // return if found - if( $targets.length ) { - this.$parent = $trigger.parent(); - return $targets; - } - - - // find all targets - var $targets = acf.get_fields(target, false, true); - - // refine scope if more than 1 found - if( $targets.length > 1 ) { - - // loop - $trigger.parents('.acf-row, .acf-table, .acf-fields').each(function(){ - - // vars - var $parent = $(this); - var $child = $parent.find( $targets ); - - // found - if( $child.length ) { - $targets = $child; - self.$parent = $parent; - return false; - } - - }); - - } - - // return - return $targets; - - }, - - - /* - * change - * - * This function is called when an input is changed and will render any fields which are considered targets of this trigger - * - * @type function - * @date 22/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - change: function( $input ){ - - // vars - var $trigger = acf.get_field_wrap($input); - var key = $trigger.data('key'); - var trigger = this.getTrigger(key); - - // bail early if this field is not a trigger - if( !trigger ) return false; - - // loop - for( var target in trigger ) { - - // get target(s) - var $targets = this.findTarget( $trigger, target ); - - // render - this.renderFields( $targets ); - - } - - // action for 3rd party customization - acf.do_action('refresh', this.$parent); - - }, - - - /* - * renderFields - * - * This function will render a selection of fields - * - * @type function - * @date 22/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - renderFields: function( $targets ) { - - // reference - var self = this; - - // loop - $targets.each(function(){ - self.renderField( $(this) ); - }); - - }, - - - /* - * render_field - * - * This function will render a field - * - * @type function - * @date 22/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - renderField : function( $target ){ - - // vars - var visibility = false; - var key = $target.data('key'); - var condition = this.getCondition( key ); - - // bail early if this field does not contain any conditional logic - if( !condition ) return false; - - // loop - for( var i = 0; i < condition.length; i++ ) { - - // vars - var group = condition[i], - match_group = true; - - // loop - for( var k = 0; k < group.length; k++ ) { - - // vars - var rule = group[k]; - - // get trigger for rule - var $trigger = this.findTarget( $target, rule.field ); - - // break if rule did not validate - if( !this.calculate(rule, $trigger, $target) ) { - match_group = false; - break; - } - } - - // set visibility if rule group did validate - if( match_group ) { - visibility = true; - break; - } - } - - // hide / show - if( visibility ) { - this.showField( $target, key ); - } else { - this.hideField( $target, key ); - } - - }, - - - /* - * show_field - * - * This function will show a field - * - * @type function - * @date 22/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - showField: function( $field, lockKey ){ - - // enable - acf.enable( $field, lockKey ); - - // show field and store result - var changed = acf.show( $field, lockKey ); - - // use changed to set cl class - if( changed ) { - $field.removeClass( CLASS ); - } - - // always do action to avoid tab field bugs (fixed in 5.7) - acf.do_action('show_field', $field, CONTEXT); - - // return - return changed; - }, - - - /* - * hide_field - * - * This function will hide a field - * - * @type function - * @date 22/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - hideField: function( $field, lockKey ){ - - // disable - acf.disable( $field, lockKey ); - - // hide field and store result - var changed = acf.hide( $field, lockKey ); - - // use changed to set cl class - if( changed ) { - $field.addClass( CLASS ); - } - - // always do action to avoid tab field bugs (fixed in 5.7) - acf.do_action('hide_field', $field, CONTEXT); - - // return - return changed; - }, - - - /* - * calculate - * - * This function will calculate if a rule matches based on the $trigger - * - * @type function - * @date 22/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - calculate: function( rule, $trigger, $target ){ - - // bail early if $trigger could not be found - if( !$trigger || !$target ) return false; - - - // debug - //console.log( 'calculate(%o, %o, %o)', rule, $trigger, $target); - - - // vars - var match = false, - type = $trigger.data('type'); - - - // input with :checked - if( type == 'true_false' || type == 'checkbox' || type == 'radio' || type == 'button_group' ) { - - match = this.calculate_checkbox( rule, $trigger ); - - - } else if( type == 'select' ) { - - match = this.calculate_select( rule, $trigger ); - - } - - - // reverse if 'not equal to' - if( rule.operator === "!=" ) { - - match = !match; - - } - - - // return - return match; - - }, - - calculate_checkbox: function( rule, $trigger ){ - - // look for selected input - var match = $trigger.find('input[value="' + rule.value + '"]:checked').exists(); - - - // override for "allow null" - if( rule.value === '' && !$trigger.find('input:checked').exists() ) { - - match = true; - - } - - - // return - return match; - - }, - - - calculate_select: function( rule, $trigger ){ - - // vars - var $select = $trigger.find('select'), - val = $select.val(); - - - // check for no value - if( !val && !$.isNumeric(val) ) { - - val = ''; - - } - - - // convert to array - if( !$.isArray(val) ) { - - val = [ val ]; - - } - - - // calc - match = ($.inArray(rule.value, val) > -1); - - - // return - return match; - - } - - }); - - - // compatibility - conditionalLogic.show_field = conditionalLogic.showField; - conditionalLogic.hide_field = conditionalLogic.hideField; - - -})(jQuery); - -(function($){ - - /* - * acf.datepicker + /** + * acf.newSelect2 * * description * - * @type function - * @date 16/12/2015 - * @since 5.3.2 + * @date 13/1/18 + * @since 5.6.5 * - * @param $post_id (int) - * @return $post_id (int) + * @param type $var Description. Default. + * @return type Description. */ - acf.datepicker = acf.model.extend({ + acf.newSelect2 = function( $select, props ){ - actions: { - 'ready 1': 'ready' - }, + // defaults + props = acf.parseArgs(props, { + allowNull: false, + placeholder: '', + multiple: false, + field: false, + ajax: false, + ajaxAction: '', + ajaxData: function( data ){ return data; }, + ajaxResults: function( json ){ return json; }, + }); - ready: function(){ - - // vars - var locale = acf.get('locale'), - rtl = acf.get('rtl') - l10n = acf._e('date_picker'); - - - // bail ealry if no l10n (fiedl groups admin page) - if( !l10n ) return; - - - // bail ealry if no datepicker library - if( typeof $.datepicker === 'undefined' ) return; - - - // rtl - l10n.isRTL = rtl; - - - // append - $.datepicker.regional[ locale ] = l10n; - $.datepicker.setDefaults(l10n); - - }, - - - /* - * init - * - * This function will initialize JS - * - * @type function - * @date 2/06/2016 - * @since 5.3.8 - * - * @param $input (jQuery selector) - * @param args (object) - * @return n/a - */ - - init: function( $input, args ){ - - // bail ealry if no datepicker library - if( typeof $.datepicker === 'undefined' ) return; - - - // defaults - args = args || {}; - - - // add date picker - $input.datepicker( args ); - - - // wrap the datepicker (only if it hasn't already been wrapped) - if( $('body > #ui-datepicker-div').exists() ) { - - $('body > #ui-datepicker-div').wrap('
    '); - - } - - }, - - - /* - * init - * - * This function will remove JS - * - * @type function - * @date 2/06/2016 - * @since 5.3.8 - * - * @param $input (jQuery selector) - * @return n/a - */ - - destroy: function( $input ){ - - // do nothing - + // initialize + if( getVersion() == 4 ) { + var select2 = new Select2_4( $select, props ); + } else { + var select2 = new Select2_3( $select, props ); } - }); + // actions + acf.doAction('new_select2', select2); - acf.fields.date_picker = acf.field.extend({ - - type: 'date_picker', - $el: null, - $input: null, - $hidden: null, - - o: {}, - - actions: { - 'ready': 'initialize', - 'append': 'initialize' - }, - - events: { - 'blur input[type="text"]': 'blur' - }, - - focus: function(){ - - // get elements - this.$el = this.$field.find('.acf-date-picker'); - this.$input = this.$el.find('input[type="text"]'); - this.$hidden = this.$el.find('input[type="hidden"]'); - - - // get options - this.o = acf.get_data( this.$el ); - - }, - - initialize: function(){ - - // save_format - compatibility with ACF < 5.0.0 - if( this.o.save_format ) { - - return this.initialize2(); - - } - - - // create options - var args = { - dateFormat: this.o.date_format, - altField: this.$hidden, - altFormat: 'yymmdd', - changeYear: true, - yearRange: "-100:+100", - changeMonth: true, - showButtonPanel: true, - firstDay: this.o.first_day - }; - - - // filter for 3rd party customization - args = acf.apply_filters('date_picker_args', args, this.$field); - - - // add date picker - acf.datepicker.init( this.$input, args ); - - - // action for 3rd party customization - acf.do_action('date_picker_init', this.$input, args, this.$field); - - }, - - initialize2: function(){ - - // get and set value from alt field - this.$input.val( this.$hidden.val() ); - - - // create options - var args = { - dateFormat: this.o.date_format, - altField: this.$hidden, - altFormat: this.o.save_format, - changeYear: true, - yearRange: "-100:+100", - changeMonth: true, - showButtonPanel: true, - firstDay: this.o.first_day - }; - - - // filter for 3rd party customization - args = acf.apply_filters('date_picker_args', args, this.$field); - - - // backup - var dateFormat = args.dateFormat; - - - // change args.dateFormat - args.dateFormat = this.o.save_format; - - - // add date picker - acf.datepicker.init( this.$input, args ); - - - // now change the format back to how it should be. - this.$input.datepicker( 'option', 'dateFormat', dateFormat ); - - - // action for 3rd party customization - acf.do_action('date_picker_init', this.$input, args, this.$field); - - }, - - blur: function(){ - - if( !this.$input.val() ) { - - this.$hidden.val(''); - - } - - } - - }); + // return + return select2; + }; -})(jQuery); - -(function($){ - - /* - * acf.datepicker + /** + * getVersion * * description * - * @type function - * @date 16/12/2015 - * @since 5.3.2 + * @date 13/1/18 + * @since 5.6.5 * - * @param $post_id (int) - * @return $post_id (int) + * @param type $var Description. Default. + * @return type Description. */ - acf.datetimepicker = acf.model.extend({ + function getVersion() { - actions: { - 'ready 1': 'ready' - }, - - ready: function(){ - - // vars - var locale = acf.get('locale'), - rtl = acf.get('rtl') - l10n = acf._e('date_time_picker'); - - - // bail ealry if no l10n (fiedl groups admin page) - if( !l10n ) return; - - - // bail ealry if no timepicker library - if( typeof $.timepicker === 'undefined' ) return; - - - // rtl - l10n.isRTL = rtl; - - - // append - $.timepicker.regional[ locale ] = l10n; - $.timepicker.setDefaults(l10n); - - }, - - - /* - * init - * - * This function will initialize JS - * - * @type function - * @date 2/06/2016 - * @since 5.3.8 - * - * @param $input (jQuery selector) - * @param args (object) - * @return n/a - */ - - init: function( $input, args ){ - - // bail ealry if no timepicker library - if( typeof $.timepicker === 'undefined' ) return; - - - // defaults - args = args || {}; - - - // add date picker - $input.datetimepicker( args ); - - - // wrap the datepicker (only if it hasn't already been wrapped) - if( $('body > #ui-datepicker-div').exists() ) { - - $('body > #ui-datepicker-div').wrap('
    '); - - } - - }, - - - /* - * init - * - * This function will remove JS - * - * @type function - * @date 2/06/2016 - * @since 5.3.8 - * - * @param $input (jQuery selector) - * @return n/a - */ - - destroy: function( $input ){ - - // do nothing - + // v4 + if( acf.isset(window, 'jQuery', 'fn', 'select2', 'amd') ) { + return 4; } - }); - - - acf.fields.date_time_picker = acf.field.extend({ - - type: 'date_time_picker', - $el: null, - $input: null, - $hidden: null, - - o: {}, - - actions: { - 'ready': 'initialize', - 'append': 'initialize' - }, - - events: { - 'blur input[type="text"]': 'blur' - }, - - focus: function(){ - - // get elements - this.$el = this.$field.find('.acf-date-time-picker'); - this.$input = this.$el.find('input[type="text"]'); - this.$hidden = this.$el.find('input[type="hidden"]'); - - - // get options - this.o = acf.get_data( this.$el ); - - }, - - initialize: function(){ - - // create options - var args = { - dateFormat: this.o.date_format, - timeFormat: this.o.time_format, - altField: this.$hidden, - altFieldTimeOnly: false, - altFormat: 'yy-mm-dd', - altTimeFormat: 'HH:mm:ss', - changeYear: true, - yearRange: "-100:+100", - changeMonth: true, - showButtonPanel: true, - firstDay: this.o.first_day, - controlType: 'select', - oneLine: true - }; - - - // filter for 3rd party customization - args = acf.apply_filters('date_time_picker_args', args, this.$field); - - - // add date time picker - acf.datetimepicker.init( this.$input, args ); - - - // action for 3rd party customization - acf.do_action('date_time_picker_init', this.$input, args, this.$field); - - }, - - blur: function(){ - - if( !this.$input.val() ) { - - this.$hidden.val(''); - - } - + // v3 + if( acf.isset(window, 'Select2') ) { + return 3; } - }); + // return + return false; + } -})(jQuery); - -(function($){ - - acf.fields.file = acf.field.extend({ - - type: 'file', - $el: null, - $input: null, - - actions: { - 'ready': 'initialize', - 'append': 'initialize' - }, - - events: { - 'click a[data-name="add"]': 'add', - 'click a[data-name="edit"]': 'edit', - 'click a[data-name="remove"]': 'remove', - 'change input[type="file"]': 'change' - }, - - - /* - * focus - * - * This function will setup variables when focused on a field - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param n/a - * @return n/a - */ - - focus: function(){ - - // get elements - this.$el = this.$field.find('.acf-file-uploader'); - this.$input = this.$el.find('input[type="hidden"]'); - - - // get options - this.o = acf.get_data( this.$el ); - - }, - - - /* - * initialize - * - * This function is used to setup basic upload form attributes - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param n/a - * @return n/a - */ - - initialize: function(){ - - // add attribute to form - if( this.o.uploader == 'basic' ) { - - this.$el.closest('form').attr('enctype', 'multipart/form-data'); - - } - - }, - - - /* - * prepare - * - * This function will prepare an object of attachment data - * selecting a library image vs embed an image via url return different data - * this function will keep the 2 consistent - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param attachment (object) - * @return data (object) - */ - - prepare: function( attachment ) { - - // defaults - attachment = attachment || {}; - - - // bail ealry if already valid - if( attachment._valid ) return attachment; - - - // vars - var data = { - url: '', - alt: '', - title: '', - filename: '', - filesizeHumanReadable: '', - icon: '/wp-includes/images/media/default.png' - }; - - - // wp image - if( attachment.id ) { - - // update data - data = attachment.attributes; - - } - - - // valid - data._valid = true; - - - // return - return data; - - }, - - - /* - * render - * - * This function will render the UI - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param attachment (obj) - * @return n/a - */ - - render: function( data ){ - - // prepare - data = this.prepare(data); - - - // update els - this.$el.find('img').attr({ - src: data.icon, - alt: data.alt, - title: data.title - }); - this.$el.find('[data-name="title"]').text( data.title ); - this.$el.find('[data-name="filename"]').text( data.filename ).attr( 'href', data.url ); - this.$el.find('[data-name="filesize"]').text( data.filesizeHumanReadable ); - - - // vars - var val = ''; - - - // WP attachment - if( data.id ) { - - val = data.id; - - } - - - // update val - acf.val( this.$input, val ); - - - // update class - if( val ) { - - this.$el.addClass('has-value'); - - } else { - - this.$el.removeClass('has-value'); - - } - - }, - - - /* - * add - * - * event listener - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param e (event) - * @return n/a - */ - - add: function() { - - // reference - var self = this, - $field = this.$field; - - - // get repeater - var $repeater = acf.get_closest_field( $field, 'repeater' ); - - - // popup - var frame = acf.media.popup({ - - title: acf._e('file', 'select'), - mode: 'select', - type: '', - field: $field.data('key'), - multiple: $repeater.exists(), - library: this.o.library, - mime_types: this.o.mime_types, - - select: function( attachment, i ) { - - // select / add another image field? - if( i > 0 ) { - - // vars - var key = $field.data('key'), - $tr = $field.closest('.acf-row'); - - - // reset field - $field = false; - - - // find next image field - $tr.nextAll('.acf-row:visible').each(function(){ - - // get next $field - $field = acf.get_field( key, $(this) ); - - - // bail early if $next was not found - if( !$field ) return; - - - // bail early if next file uploader has value - if( $field.find('.acf-file-uploader.has-value').exists() ) { - - $field = false; - return; - - } - - - // end loop if $next is found - return false; - - }); - - - - // add extra row if next is not found - if( !$field ) { - - $tr = acf.fields.repeater.doFocus( $repeater ).add(); - - - // bail early if no $tr (maximum rows hit) - if( !$tr ) return false; - - - // get next $field - $field = acf.get_field( key, $tr ); - - } - - } - - - // render - self.set('$field', $field).render( attachment ); - - } - }); - - }, - - - /* - * edit - * - * event listener - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param e (event) - * @return n/a - */ - - edit: function() { - - // reference - var self = this, - $field = this.$field; - - - // vars - var val = this.$input.val(); - - - // bail early if no val - if( !val ) return; - - - // popup - var frame = acf.media.popup({ - - title: acf._e('file', 'edit'), - button: acf._e('file', 'update'), - mode: 'edit', - attachment: val, - - select: function( attachment, i ) { - - // render - self.set('$field', $field).render( attachment ); - - } - - }); - - }, - - - /* - * remove - * - * event listener - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param e (event) - * @return n/a - */ - - remove: function() { - - // vars - var attachment = {}; - - - // add file to field - this.render( attachment ); - - }, - - - /* - * get_file_info - * - * This function will find basic file info and store it in a hidden input - * - * @type function - * @date 18/1/17 - * @since 5.5.0 - * - * @param $file_input (jQuery) - * @param $hidden_input (jQuery) - * @return n/a - */ - - get_file_info: function( $file_input, $hidden_input ){ - - // vars - var val = $file_input.val(), - attachment = {}; - - - // bail early if no value - if( !val ) { - - $hidden_input.val(''); - return; - - } - - - // url - attachment.url = val; - - - // modern browsers - var files = $file_input[0].files; - - if( files.length ){ - - // vars - var file = files[0]; - - - // update - attachment.size = file.size; - attachment.type = file.type; - - - // image - if( file.type.indexOf('image') > -1 ) { - - // vars - var _url = window.URL || window.webkitURL; - - - // temp image - var img = new Image(); - - img.onload = function () { - - // update - attachment.width = this.width; - attachment.height = this.height; - - - // set hidden input value - $hidden_input.val( jQuery.param(attachment) ); - - }; - - img.src = _url.createObjectURL(file); - - } - - } - - - // set hidden input value - $hidden_input.val( jQuery.param(attachment) ); - - }, - - - /* - * change - * - * This function will update the hidden input when selecting a basic file to add basic validation - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param e (event) - * @return n/a - */ - - change: function( e ){ - - this.get_file_info( e.$el, this.$input ); - - } - - }); - - -})(jQuery); - -(function($){ - - acf.fields.google_map = acf.field.extend({ - - type: 'google_map', - url: '', - $el: null, - $search: null, - - timeout: null, - status : '', // '', 'loading', 'ready' - geocoder : false, - map : false, - maps : {}, - $pending: $(), - - actions: { - // have considered changing to 'load', however, could cause issues with devs expecting the API to exist earlier - 'ready': 'initialize', - 'append': 'initialize', - 'show': 'show' - }, - - events: { - 'click a[data-name="clear"]': '_clear', - 'click a[data-name="locate"]': '_locate', - 'click a[data-name="search"]': '_search', - 'keydown .search': '_keydown', - 'keyup .search': '_keyup', - 'focus .search': '_focus', - 'blur .search': '_blur', - //'paste .search': '_paste', - 'mousedown .acf-google-map': '_mousedown' - }, - - focus: function(){ - - // get elements - this.$el = this.$field.find('.acf-google-map'); - this.$search = this.$el.find('.search'); - - - // get options - this.o = acf.get_data( this.$el ); - this.o.id = this.$el.attr('id'); - - - // get map - if( this.maps[ this.o.id ] ) { - - this.map = this.maps[ this.o.id ]; - - } - - }, - - - /* - * is_ready - * - * This function will ensure google API is available and return a boolean for the current status - * - * @type function - * @date 19/11/2014 - * @since 5.0.9 - * - * @param n/a - * @return (boolean) - */ - - is_ready: function(){ - - // reference - var self = this; - - - // ready - if( this.status == 'ready' ) return true; - - - // loading - if( this.status == 'loading' ) return false; - - - // check exists (optimal) - if( acf.isset(window, 'google', 'maps', 'places') ) { - - this.status = 'ready'; - return true; - - } - - - // check exists (ok) - if( acf.isset(window, 'google', 'maps') ) { - - this.status = 'ready'; - - } - - - // attempt load google.maps.places - if( this.url ) { - - // set status - this.status = 'loading'; - - - // enqueue - acf.enqueue_script(this.url, function(){ - - // set status - self.status = 'ready'; - - - // initialize pending - self.initialize_pending(); - - }); - - } - - - // ready - if( this.status == 'ready' ) return true; - - - // return - return false; - - }, - - - /* - * initialize_pending - * - * This function will initialize pending fields - * - * @type function - * @date 27/08/2016 - * @since 5.4.0 - * - * @param n/a - * @return n/a - */ - - initialize_pending: function(){ - - // reference - var self = this; - - this.$pending.each(function(){ - - self.set('$field', $(this)).initialize(); - - }); - - - // reset - this.$pending = $(); - - }, - - - /* - * actions - * - * these functions are fired for this fields actions - * - * @type function - * @date 17/09/2015 - * @since 5.2.3 - * - * @param (mixed) - * @return n/a - */ - - initialize: function(){ - - // add to pending - if( !this.is_ready() ) { - - this.$pending = this.$pending.add( this.$field ); - - return false; - - } - - - // load geocode - if( !this.geocoder ) { - - this.geocoder = new google.maps.Geocoder(); - - } - - - // reference - var self = this, - $field = this.$field, - $el = this.$el, - $search = this.$search; - - - // input value may be cached by browser, so update the search input to match - $search.val( this.$el.find('.input-address').val() ); - - - // map - var map_args = acf.apply_filters('google_map_args', { - - scrollwheel: false, - zoom: parseInt(this.o.zoom), - center: new google.maps.LatLng(this.o.lat, this.o.lng), - mapTypeId: google.maps.MapTypeId.ROADMAP - - }, this.$field); - - - // create map - this.map = new google.maps.Map( this.$el.find('.canvas')[0], map_args); - - - // search - if( acf.isset(window, 'google', 'maps', 'places', 'Autocomplete') ) { - - // vars - var autocomplete = new google.maps.places.Autocomplete( this.$search[0] ); - - - // bind - autocomplete.bindTo('bounds', this.map); - - - // event - google.maps.event.addListener(autocomplete, 'place_changed', function( e ) { - - // vars - var place = this.getPlace(); - - - // search - self.search( place ); - - }); - - - // append - this.map.autocomplete = autocomplete; - - } - - - // marker - var marker_args = acf.apply_filters('google_map_marker_args', { - - draggable: true, - raiseOnDrag: true, - map: this.map - - }, this.$field); - - - // add marker - this.map.marker = new google.maps.Marker( marker_args ); - - - // add references - this.map.$el = $el; - this.map.$field = $field; - - - // value exists? - var lat = $el.find('.input-lat').val(), - lng = $el.find('.input-lng').val(); - - if( lat && lng ) { - - this.update(lat, lng).center(); - - } - - - // events - google.maps.event.addListener( this.map.marker, 'dragend', function(){ - - // vars - var position = this.map.marker.getPosition(), - lat = position.lat(), - lng = position.lng(); - - self.update( lat, lng ).sync(); - - }); - - - google.maps.event.addListener( this.map, 'click', function( e ) { - - // vars - var lat = e.latLng.lat(), - lng = e.latLng.lng(); - - - self.update( lat, lng ).sync(); - - }); - - - // action for 3rd party customization - acf.do_action('google_map_init', this.map, this.map.marker, this.$field); - - - // add to maps - this.maps[ this.o.id ] = this.map; - - }, - - search: function( place ){ - - // reference - var self = this; - - - // vars - var address = this.$search.val(); - - - // bail ealry if no address - if( !address ) { - - return false; - - } - - - // update input - this.$el.find('.input-address').val( address ); - - - // is lat lng? - var latLng = address.split(','); - - if( latLng.length == 2 ) { - - var lat = latLng[0], - lng = latLng[1]; - - - if( $.isNumeric(lat) && $.isNumeric(lng) ) { - - // parse - lat = parseFloat(lat); - lng = parseFloat(lng); - - self.update( lat, lng ).center(); - - return; - - } - - } - - - // if place exists - if( place && place.geometry ) { - - var lat = place.geometry.location.lat(), - lng = place.geometry.location.lng(); - - - // update - self.update( lat, lng ).center(); - - - // bail early - return; - - } - - - // add class - this.$el.addClass('-loading'); - - self.geocoder.geocode({ 'address' : address }, function( results, status ){ - - // remove class - self.$el.removeClass('-loading'); - - - // validate - if( status != google.maps.GeocoderStatus.OK ) { - - console.log('Geocoder failed due to: ' + status); - return; - - } else if( !results[0] ) { - - console.log('No results found'); - return; - - } - - - // get place - place = results[0]; - - var lat = place.geometry.location.lat(), - lng = place.geometry.location.lng(); - - - self.update( lat, lng ).center(); - - }); - - }, - - update: function( lat, lng ){ - - // vars - var latlng = new google.maps.LatLng( lat, lng ); - - - // update inputs - acf.val( this.$el.find('.input-lat'), lat ); - acf.val( this.$el.find('.input-lng'), lng ); - - - // update marker - this.map.marker.setPosition( latlng ); - - - // show marker - this.map.marker.setVisible( true ); - - - // update class - this.$el.addClass('-value'); - - - // validation - this.$field.removeClass('error'); - - - // action - acf.do_action('google_map_change', latlng, this.map, this.$field); - - - // blur input - this.$search.blur(); - - - // return for chaining - return this; - - }, - - center: function(){ - - // vars - var position = this.map.marker.getPosition(), - lat = this.o.lat, - lng = this.o.lng; - - - // if marker exists, center on the marker - if( position ) { - - lat = position.lat(); - lng = position.lng(); - - } - - - var latlng = new google.maps.LatLng( lat, lng ); - - - // set center of map - this.map.setCenter( latlng ); - - }, - - sync: function(){ - - // reference - var self = this; - - - // vars - var position = this.map.marker.getPosition(), - latlng = new google.maps.LatLng( position.lat(), position.lng() ); - - - // add class - this.$el.addClass('-loading'); - - - // load - this.geocoder.geocode({ 'latLng' : latlng }, function( results, status ){ - - // remove class - self.$el.removeClass('-loading'); - - - // validate - if( status != google.maps.GeocoderStatus.OK ) { - - console.log('Geocoder failed due to: ' + status); - return; - - } else if( !results[0] ) { - - console.log('No results found'); - return; - - } - - - // get location - var location = results[0]; - - - // update title - self.$search.val( location.formatted_address ); - - - // update input - acf.val( self.$el.find('.input-address'), location.formatted_address ); - - }); - - - // return for chaining - return this; - - }, - - refresh: function(){ - - // bail early if not ready - if( !this.is_ready() ) { - - return false; - - } - - - // trigger resize on map - google.maps.event.trigger(this.map, 'resize'); - - - - // center map - this.center(); - - }, - - show: function(){ - - // vars - var self = this, - $field = this.$field; - - - // center map when it is shown (by a tab / collapsed row) - // - use delay to avoid rendering issues with browsers (ensures div is visible) - setTimeout(function(){ - - self.set('$field', $field).refresh(); - - }, 10); - - }, - - - /* - * events - * - * these functions are fired for this fields events - * - * @type function - * @date 17/09/2015 - * @since 5.2.3 - * - * @param e - * @return n/a - */ - - _clear: function( e ){ // console.log('_clear'); - - // remove Class - this.$el.removeClass('-value -loading -search'); - - - // clear search - this.$search.val(''); - - - // clear inputs - acf.val( this.$el.find('.input-address'), '' ); - acf.val( this.$el.find('.input-lat'), '' ); - acf.val( this.$el.find('.input-lng'), '' ); - - - // hide marker - this.map.marker.setVisible( false ); - - }, - - _locate: function( e ){ // console.log('_locate'); - - // reference - var self = this; - - - // Try HTML5 geolocation - if( !navigator.geolocation ) { - - alert( acf._e('google_map', 'browser_support') ); - return this; - - } - - - // add class - this.$el.addClass('-loading'); - - - // load - navigator.geolocation.getCurrentPosition(function(position){ - - // remove class - self.$el.removeClass('-loading'); - - - // vars - var lat = position.coords.latitude, - lng = position.coords.longitude; - - self.update( lat, lng ).sync().center(); - - }); - - }, - - _search: function( e ){ // console.log('_search'); - - this.search(); - - }, - - _focus: function( e ){ // console.log('_focus'); - - // remove class - this.$el.removeClass('-value'); - - - // toggle -search class - this._keyup(); - - }, - - _blur: function( e ){ // console.log('_blur'); - - // reference - var self = this; - - - // vars - var val = this.$el.find('.input-address').val(); - - - // bail early if no val - if( !val ) { - - return; - - } - - - // revert search to hidden input value - this.timeout = setTimeout(function(){ - - self.$el.addClass('-value'); - self.$search.val( val ); - - }, 100); - - }, - -/* - _paste: function( e ){ console.log('_paste'); - - // reference - var $search = this.$search; - - - // blur search - $search.blur(); - - - // clear timeout - this._mousedown(e); - - - // focus on input - setTimeout(function(){ - - $search.focus(); - - }, 1); - }, -*/ - - _keydown: function( e ){ // console.log('_keydown'); - - // prevent form from submitting - if( e.which == 13 ) { - - e.preventDefault(); - - } - - }, - - _keyup: function( e ){ // console.log('_keyup'); - - // vars - var val = this.$search.val(); - - - // toggle class - if( val ) { - - this.$el.addClass('-search'); - - } else { - - this.$el.removeClass('-search'); - - } - - }, - - _mousedown: function( e ){ // console.log('_mousedown'); - - // reference - var self = this; - - - // clear timeout in 1ms (_mousedown will run before _blur) - setTimeout(function(){ - - clearTimeout( self.timeout ); - - }, 1); - - - } - - }); - - -})(jQuery); - -(function($){ - - acf.fields.image = acf.field.extend({ - - type: 'image', - $el: null, - $input: null, - $img: null, - - actions: { - 'ready': 'initialize', - 'append': 'initialize' - }, - - events: { - 'click a[data-name="add"]': 'add', - 'click a[data-name="edit"]': 'edit', - 'click a[data-name="remove"]': 'remove', - 'change input[type="file"]': 'change' - }, - - - /* - * focus - * - * This function will setup variables when focused on a field - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param n/a - * @return n/a - */ - - focus: function(){ - - // vars - this.$el = this.$field.find('.acf-image-uploader'); - this.$input = this.$el.find('input[type="hidden"]'); - this.$img = this.$el.find('img'); - - - // options - this.o = acf.get_data( this.$el ); - - }, - - - /* - * initialize - * - * This function is used to setup basic upload form attributes - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param n/a - * @return n/a - */ - - initialize: function(){ - - // add attribute to form - if( this.o.uploader == 'basic' ) { - - this.$el.closest('form').attr('enctype', 'multipart/form-data'); - - } - - }, - - - /* - * prepare - * - * This function will prepare an object of attachment data - * selecting a library image vs embed an image via url return different data - * this function will keep the 2 consistent - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param attachment (object) - * @return data (object) - */ - - prepare: function( attachment ) { - - // defaults - attachment = attachment || {}; - - - // bail ealry if already valid - if( attachment._valid ) return attachment; - - - // vars - var data = { - url: '', - alt: '', - title: '', - caption: '', - description: '', - width: 0, - height: 0 - }; - - - // wp image - if( attachment.id ) { - - // update data - data = attachment.attributes; - - - // maybe get preview size - data.url = acf.maybe_get(data, 'sizes.'+this.o.preview_size+'.url', data.url); - - } - - - // valid - data._valid = true; - - - // return - return data; - - }, - - - /* - * render - * - * This function will render the UI - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param attachment (obj) - * @return n/a - */ - - render: function( data ){ - - // prepare - data = this.prepare(data); - - - // update image - this.$img.attr({ - src: data.url, - alt: data.alt, - title: data.title - }); - - - // vars - var val = ''; - - - // WP attachment - if( data.id ) { - - val = data.id; - - } - - - // update val - acf.val( this.$input, val ); - - - // update class - if( val ) { - - this.$el.addClass('has-value'); - - } else { - - this.$el.removeClass('has-value'); - - } - - }, - - - /* - * add - * - * event listener - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param e (event) - * @return n/a - */ - - add: function() { - - // reference - var self = this, - $field = this.$field; - - - // get repeater - var $repeater = acf.get_closest_field( this.$field, 'repeater' ); - - - // popup - var frame = acf.media.popup({ - - title: acf._e('image', 'select'), - mode: 'select', - type: 'image', - field: $field.data('key'), - multiple: $repeater.exists(), - library: this.o.library, - mime_types: this.o.mime_types, - - select: function( attachment, i ) { - - // select / add another image field? - if( i > 0 ) { - - // vars - var key = $field.data('key'), - $tr = $field.closest('.acf-row'); - - - // reset field - $field = false; - - - // find next image field - $tr.nextAll('.acf-row:visible').each(function(){ - - // get next $field - $field = acf.get_field( key, $(this) ); - - - // bail early if $next was not found - if( !$field ) return; - - - // bail early if next file uploader has value - if( $field.find('.acf-image-uploader.has-value').exists() ) { - - $field = false; - return; - - } - - - // end loop if $next is found - return false; - - }); - - - // add extra row if next is not found - if( !$field ) { - - $tr = acf.fields.repeater.doFocus( $repeater ).add(); - - - // bail early if no $tr (maximum rows hit) - if( !$tr ) return false; - - - // get next $field - $field = acf.get_field( key, $tr ); - - } - - } - - - // render - self.set('$field', $field).render( attachment ); - - } - - }); - - }, - - - /* - * edit - * - * event listener - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param e (event) - * @return n/a - */ - - edit: function() { - - // reference - var self = this, - $field = this.$field; - - - // vars - var val = this.$input.val(); - - - // bail early if no val - if( !val ) return; - - - // popup - var frame = acf.media.popup({ - - title: acf._e('image', 'edit'), - button: acf._e('image', 'update'), - mode: 'edit', - attachment: val, - - select: function( attachment, i ) { - - // render - self.set('$field', $field).render( attachment ); - - } - - }); - - }, - - - /* - * remove - * - * event listener - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param e (event) - * @return n/a - */ - - remove: function() { - - // vars - var attachment = {}; - - - // add file to field - this.render( attachment ); - - }, - - - /* - * change - * - * This function will update the hidden input when selecting a basic file to add basic validation - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param e (event) - * @return n/a - */ - - change: function( e ){ - - acf.fields.file.get_file_info( e.$el, this.$input ); - - } - - }); - -})(jQuery); - -(function($){ - - acf.fields.link = acf.field.extend({ - - type: 'link', - active: false, - $el: null, - $node: null, - - events: { - 'click a[data-name="add"]': 'add', - 'click a[data-name="edit"]': 'edit', - 'click a[data-name="remove"]': 'remove', - 'change .link-node': 'change', - }, - - - /* - * focus - * - * This function will setup variables when focused on a field - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param n/a - * @return n/a - */ - - focus: function(){ - - // get elements - this.$el = this.$field.find('.acf-link'); - this.$node = this.$el.find('.link-node'); - - }, - - add: function( e ){ - - acf.link.open( this.$node ); - - }, - - edit: function( e ){ - - this.add(); - - }, - - remove: function( e ){ - - this.val(''); - - }, - - change: function( e, value ){ - - // vars - var val = { - 'title': this.$node.html(), - 'url': this.$node.attr('href'), - 'target': this.$node.attr('target') - }; - - - // vars - this.val( val ); - - }, - - val: function( val ){ - - // default - val = acf.parse_args(val, { - 'title': '', - 'url': '', - 'target': '' - }); - - - // remove class - this.$el.removeClass('-value -external'); - - - // add class - if( val.url ) this.$el.addClass('-value'); - if( val.target === '_blank' ) this.$el.addClass('-external'); - - - // update text - this.$el.find('.link-title').html( val.title ); - this.$el.find('.link-url').attr('href', val.url).html( val.url ); - - - // update inputs - this.$el.find('.input-title').val( val.title ); - this.$el.find('.input-target').val( val.target ); - this.$el.find('.input-url').val( val.url ).trigger('change'); - - - // update node - this.$node.html(val.title); - this.$node.attr('href', val.url); - this.$node.attr('target', val.target); - } - - }); - - - /* - * acf.link + /** + * Select2 * - * This model will handle adding tabs and groups + * description * - * @type function - * @date 25/11/2015 - * @since 5.3.2 + * @date 13/1/18 + * @since 5.6.5 * - * @param $post_id (int) - * @return $post_id (int) + * @param type $var Description. Default. + * @return type Description. */ - acf.link = acf.model.extend({ + var Select2 = acf.Model.extend({ - active: false, - $textarea: null, - $node: null, - - events: { - 'click #wp-link-submit': '_update', - //'river-select .query-results': '_select', - 'wplink-open': '_open', - 'wplink-close': '_close', - }, - - atts: function( value ){ - - // update - if( typeof value !== 'undefined' ) { - - this.$node.html( value.title ); - this.$node.attr('href', value.url); - this.$node.attr('target', value.target); - this.$node.trigger('change', [value]); - return true; - - } - - - // get - return { - 'title': this.$node.html(), - 'url': this.$node.attr('href'), - 'target': this.$node.attr('target') - }; - - }, - - inputs: function( value ){ - - // update - if( typeof value !== 'undefined' ) { - - $('#wp-link-text').val( value.title ); - $('#wp-link-url').val( value.url ); - $('#wp-link-target').prop('checked', value.target === '_blank' ); - return true; - - } - - - // get - return { - 'title': $('#wp-link-text').val(), - 'url': $('#wp-link-url').val(), - 'target': $('#wp-link-target').prop('checked') ? '_blank' : '' - }; - - }, - - open: function( $node ){ - - // create textarea - var $textarea = $(''); - - - // append textarea - $node.before( $textarea ); - - - // update vars - this.active = true; - this.$node = $node; - this.$textarea = $textarea; - - - // get atts - var atts = this.atts(); - - - // open link - wpLink.open( 'acf-link-textarea', atts.url, atts.title, null ); - - - // always show title (WP will hide title if empty) - $('#wp-link-wrap').addClass('has-text-field'); - - }, - - reset: function(){ - - this.active = false; - this.$textarea.remove(); - this.$textarea = null; - this.$node = null; - - }, - - _select: function( e, $li ){ - - // get inputs - var val = this.inputs(); - - - // update title - if( !val.title ) { - - val.title = $li.find('.item-title').text(); - this.inputs( val ); - - console.log(val); - } - - }, - - _open: function( e ){ - - // bail early if not active - if( !this.active ) return; - - - // get atts - var val = this.atts(); - - - // update WP inputs - this.inputs( val ); - - }, - - _close: function( e ){ - - // bail early if not active - if( !this.active ) return; - - - // reset vars - // use timeout to allow _update() function to check vars - setTimeout(function(){ - - acf.link.reset(); - - }, 100); - - }, - - _update: function( e ){ - - // bail early if not active - if( !this.active ) return; - - - // get atts - var val = this.inputs(); - - - // update node - this.atts( val ); - - } - - }); - - - // todo - listen to AJAX for wp-link-ajax and append post_id to value - - -})(jQuery); - -(function($){ - - acf.media = acf.model.extend({ - - frames: [], - mime_types: {}, - - actions: { - 'ready': 'ready' - }, - - - /* - * frame - * - * This function will return the current frame - * - * @type function - * @date 11/04/2016 - * @since 5.3.2 - * - * @param n/a - * @return frame (object) - */ - - frame: function(){ - - // vars - var i = this.frames.length - 1; - - - // bail early if no index - if( i < 0 ) return false; - - - // return - return this.frames[ i ]; - - }, - - - /* - * destroy - * - * this function will destroy a frame - * - * @type function - * @date 11/04/2016 - * @since 5.3.8 - * - * @return frame (object) - * @return n/a - */ - - destroy: function( frame ) { - - // detach - frame.detach(); - frame.dispose(); - - - // remove frame - frame = null; - this.frames.pop(); - - }, - - - /* - * popup - * - * This function will create a wp media popup frame - * - * @type function - * @date 11/04/2016 - * @since 5.3.8 - * - * @param args (object) - * @return frame (object) - */ - - popup: function( args ) { - - // vars - var post_id = acf.get('post_id'), - frame = false; - - - // validate post_id - if( !$.isNumeric(post_id) ) post_id = 0; - - - // settings - var settings = acf.parse_args( args, { - mode: 'select', // 'select', 'edit' - title: '', // 'Upload Image' - button: '', // 'Select Image' - type: '', // 'image', '' - field: '', // 'field_123' - mime_types: '', // 'pdf, etc' - library: 'all', // 'all', 'uploadedTo' - multiple: false, // false, true, 'add' - attachment: 0, // the attachment to edit - post_id: post_id, // the post being edited - select: function(){} - }); - - - // id changed to attributes - if( settings.id ) settings.attachment = settings.id; - - - // create frame - var frame = this.new_media_frame( settings ); - - - // append - this.frames.push( frame ); - - - // open popup (allow frame customization before opening) - setTimeout(function(){ - - frame.open(); - - }, 1); - - - // return - return frame; - - }, - - - /* - * _get_media_frame_settings - * - * This function will return an object containing frame settings - * - * @type function - * @date 11/04/2016 - * @since 5.3.8 - * - * @param frame (object) - * @param settings (object) - * @return frame (object) - */ - - _get_media_frame_settings: function( frame, settings ){ - - // select - if( settings.mode === 'select' ) { - - frame = this._get_select_frame_settings( frame, settings ); - - // edit - } else if( settings.mode === 'edit' ) { - - frame = this._get_edit_frame_settings( frame, settings ); - - } - - - // return - return frame; - - }, - - _get_select_frame_settings: function( frame, settings ){ - - // type - if( settings.type ) { - - frame.library.type = settings.type; - - } - - - // library - if( settings.library === 'uploadedTo' ) { - - frame.library.uploadedTo = settings.post_id; - - } - - - // button - frame._button = acf._e('media', 'select'); - - - // return - return frame; - - }, - - _get_edit_frame_settings: function( frame, settings ){ - - // post__in - frame.library.post__in = [ settings.attachment ]; - - - // button - frame._button = acf._e('media', 'update'); - - - // return - return frame; - - }, - - - /* - * _add_media_frame_events - * - * This function will add events to the frame object - * - * @type function - * @date 11/04/2016 - * @since 5.3.8 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - _add_media_frame_events: function( frame, settings ){ - - // log events -/* - frame.on('all', function( e ) { - - console.log( 'frame all: %o', e ); - - }); -*/ - - - // add class - frame.on('open',function() { - - // add class - this.$el.closest('.media-modal').addClass('acf-media-modal -' +settings.mode ); - - }, frame); - - - // edit image view - // source: media-views.js:2410 editImageContent() - frame.on('content:render:edit-image', function(){ - - var image = this.state().get('image'), - view = new wp.media.view.EditImage( { model: image, controller: this } ).render(); - - this.content.set( view ); - - // after creating the wrapper view, load the actual editor via an ajax call - view.loadEditor(); - - }, frame); - - - // update toolbar button - frame.on( 'toolbar:create:select', function( toolbar ) { - - toolbar.view = new wp.media.view.Toolbar.Select({ - text: frame.options._button, - controller: this - }); - - }, frame ); - - - // select image - frame.on('select', function() { - - // get selected images - var state = frame.state(), - image = state.get('image'), - selection = state.get('selection'); - - - // if editing image - if( image ) { - - settings.select.apply( frame, [image, 0] ); - - return; - - } - - - // if selecting images - if( selection ) { - - // vars - var i = 0; - - - // loop - selection.each(function( attachment ){ - - settings.select.apply( frame, [attachment, i] ); - - i++; - - }); - - return; - - } - - }); - - - // close popup - frame.on('close',function(){ - - setTimeout(function(){ - - acf.media.destroy( frame ); - - }, 500); - - }); - - - // select - if( settings.mode === 'select' ) { - - frame = this._add_select_frame_events( frame, settings ); - - // edit - } else if( settings.mode === 'edit' ) { - - frame = this._add_edit_frame_events( frame, settings ); - - } - - - // return - return frame; - - }, - - _add_select_frame_events: function( frame, settings ){ - - // reference - var self = this; - - - // plupload - // adds _acfuploader param to validate uploads - if( acf.isset(_wpPluploadSettings, 'defaults', 'multipart_params') ) { - - // add _acfuploader so that Uploader will inherit - _wpPluploadSettings.defaults.multipart_params._acfuploader = settings.field; - - - // remove acf_field so future Uploaders won't inherit - frame.on('open', function(){ - - delete _wpPluploadSettings.defaults.multipart_params._acfuploader; - - }); - - } - - - // modify DOM - frame.on('content:activate:browse', function(){ - - // populate above vars making sure to allow for failure - try { - - var toolbar = frame.content.get().toolbar, - filters = toolbar.get('filters'), - search = toolbar.get('search'); - - } catch(e) { - - // one of the objects was 'undefined'... perhaps the frame open is Upload Files - // console.log( 'error %o', e ); - return; - - } - - - // image - if( settings.type == 'image' ) { - - // update all - filters.filters.all.text = acf._e('image', 'all'); - - - // remove some filters - delete filters.filters.audio; - delete filters.filters.video; - - - // update all filters to show images - $.each( filters.filters, function( k, filter ){ - - if( filter.props.type === null ) { - - filter.props.type = 'image'; - - } - - }); - - } - - - // custom mime types - if( settings.mime_types ) { - - // explode - var extra_types = settings.mime_types.split(' ').join('').split('.').join('').split(','); - - - // loop through mime_types - $.each( extra_types, function( i, type ){ - - // find mime - $.each( self.mime_types, function( t, mime ){ - - // continue if key does not match - if( t.indexOf(type) === -1 ) { - - return; - - } - - - // create new filter - var filter = { - text: type, - props: { - status: null, - type: mime, - uploadedTo: null, - orderby: 'date', - order: 'DESC' - }, - priority: 20 - }; - - - // append filter - filters.filters[ mime ] = filter; - - }); - - }); - - } - - - // uploaded to post - if( settings.library == 'uploadedTo' ) { - - // remove some filters - delete filters.filters.unattached; - delete filters.filters.uploaded; - - - // add 'uploadedTo' text - filters.$el.parent().append('' + acf._e('image', 'uploadedTo') + ''); - - - // add uploadedTo to filters - $.each( filters.filters, function( k, filter ){ - - filter.props.uploadedTo = settings.post_id; - - }); - - } - - - // add _acfuploader to filters - $.each( filters.filters, function( k, filter ){ - - filter.props._acfuploader = settings.field; - - }); - - - // add _acfuplaoder to search - search.model.attributes._acfuploader = settings.field; - - - // render - if( typeof filters.refresh === 'function' ) { - - filters.refresh(); - - } - - }); - - - // return - return frame; - - }, - - _add_edit_frame_events: function( frame, settings ){ - - // add class - frame.on('open',function() { - - // add class - this.$el.closest('.media-modal').addClass('acf-expanded'); - - - // set to browse - if( this.content.mode() != 'browse' ) { - - this.content.mode('browse'); - - } - - - // set selection - var state = this.state(), - selection = state.get('selection'), - attachment = wp.media.attachment( settings.attachment ); - - - selection.add( attachment ); - - }, frame); - - - // return - return frame; - - }, - - - /* - * new_media_frame - * - * this function will create a new media frame - * - * @type function - * @date 11/04/2016 - * @since 5.3.8 - * - * @param settings (object) - * @return frame (object) - */ - - new_media_frame: function( settings ){ - - // vars - var attributes = { - title: settings.title, - multiple: settings.multiple, - library: {}, - states: [] - }; - - - // get options - attributes = this._get_media_frame_settings( attributes, settings ); - - - // create query - var Query = wp.media.query( attributes.library ); - - - // add _acfuploader - // this is super wack! - // if you add _acfuploader to the options.library args, new uploads will not be added to the library view. - // this has been traced back to the wp.media.model.Query initialize function (which can't be overriden) - // Adding any custom args will cause the Attahcments to not observe the uploader queue - // To bypass this security issue, we add in the args AFTER the Query has been initialized - // options.library._acfuploader = settings.field; - if( acf.isset(Query, 'mirroring', 'args') ) { - - Query.mirroring.args._acfuploader = settings.field; - - } - - - // add states - attributes.states = [ - - // main state - new wp.media.controller.Library({ - library: Query, - multiple: attributes.multiple, - title: attributes.title, - priority: 20, - filterable: 'all', - editable: true, - - // If the user isn't allowed to edit fields, - // can they still edit it locally? - allowLocalEdits: true - }) - - ]; - - - // edit image functionality (added in WP 3.9) - if( acf.isset(wp, 'media', 'controller', 'EditImage') ) { - - attributes.states.push( new wp.media.controller.EditImage() ); - - } - - - // create frame - var frame = wp.media( attributes ); - - - // add args reference - frame.acf = settings; - - - // add events - frame = this._add_media_frame_events( frame, settings ); - - - // return - return frame; - - }, - - ready: function(){ - - // vars - var version = acf.get('wp_version'), - browser = acf.get('browser'), - post_id = acf.get('post_id'); - - - // update wp.media - if( acf.isset(window,'wp','media','view','settings','post') && $.isNumeric(post_id) ) { - - wp.media.view.settings.post.id = post_id; - - } - - - // append browser - if( browser ) { - - $('body').addClass('browser-' + browser ); - - } - - - // append version - if( version ) { - - // ensure is string - version = version + ''; - - - // use only major version - major = version.substr(0,1); - - - // add body class - $('body').addClass('major-' + major); - - } - - - // customize wp.media views - if( acf.isset(window, 'wp', 'media', 'view') ) { - - //this.customize_Attachments(); - //this.customize_Query(); - //this.add_AcfEmbed(); - this.customize_Attachment(); - this.customize_AttachmentFiltersAll(); - this.customize_AttachmentCompat(); - - } - - }, - - -/* - add_AcfEmbed: function(){ - - //test urls - //(image) jpg: http://www.ml24.net/img/ml24_design_process_scion_frs_3d_rendering.jpg - //(image) svg: http://kompozer.net/images/svg/Mozilla_Firefox.svg - //(file) pdf: http://martinfowler.com/ieeeSoftware/whenType.pdf - //(video) mp4: https://videos.files.wordpress.com/kUJmAcSf/bbb_sunflower_1080p_30fps_normal_hd.mp4 - - - - // add view - wp.media.view.AcfEmbed = wp.media.view.Embed.extend({ - - initialize: function() { - - // set attachments - this.model.props.attributes = this.controller.acf.attachment || {}; - - - // refresh - wp.media.view.Embed.prototype.initialize.apply( this, arguments ); - - }, - - refresh: function() { - - // vars - var attachment = acf.parse_args(this.model.props.attributes, { - url: '', - filename: '', - title: '', - caption: '', - alt: '', - description: '', - type: '', - ext: '' - }); - - - // update attachment - if( attachment.url ) { - - // filename - attachment.filename = attachment.url.split('/').pop().split('?')[0]; - - - // update - attachment.ext = attachment.filename.split('.').pop(); - attachment.type = /(jpe?g|png|gif|svg)/i.test(attachment.ext) ? 'image': 'file'; - - } - - - // auto generate title - if( attachment.filename && !attachment.title ) { - - // replace - attachment.title = attachment.filename.split('-').join(' ').split('_').join(' '); - - - // uppercase first word - attachment.title = attachment.title.charAt(0).toUpperCase() + attachment.title.slice(1); - - - // remove extension - attachment.title = attachment.title.replace('.'+attachment.ext, ''); - - - // update model - this.model.props.attributes.title = attachment.title; - - } - - - // save somee extra data - this.model.props.attributes.filename = attachment.filename; - this.model.props.attributes.type = attachment.type; - - - // always show image view - // avoid this.model.set() to prevent listeners updating view - this.model.attributes.type = 'image'; - - - // refresh - wp.media.view.Embed.prototype.refresh.apply( this, arguments ); - - - // append title - this.$el.find('.setting.caption').before([ - '' - ].join('')); - - - // append description - this.$el.find('.setting.alt-text').after([ - '' - ].join('')); - - - // hide alt - if( attachment.type !== 'image' ) { - - this.$el.find('.setting.alt-text').hide(); - - } - - } - - }); - - }, -*/ -/* - - customize_Attachments: function(){ - - // vars - var Attachments = wp.media.model.Attachments; - - - wp.media.model.Attachments = Attachments.extend({ - - initialize: function( models, options ){ - - // console.log('My Attachments initialize: %o %o %o', this, models, options); - - // return - return Attachments.prototype.initialize.apply( this, arguments ); - - }, - - sync: function( method, model, options ) { - - // console.log('My Attachments sync: %o %o %o %o', this, method, model, options); - - - // return - return Attachments.prototype.sync.apply( this, arguments ); - - } - - }); - - }, - - customize_Query: function(){ - - // console.log('customize Query!'); - - // vars - var Query = wp.media.model.Query; - - - wp.media.model.Query = {}; - - }, -*/ - - customize_Attachment: function(){ - - // vars - var AttachmentLibrary = wp.media.view.Attachment.Library; - - - // extend - wp.media.view.Attachment.Library = AttachmentLibrary.extend({ - - render: function() { - - // vars - var frame = acf.media.frame(), - errors = acf.maybe_get(this, 'model.attributes.acf_errors'); - - - // add class - // also make sure frame exists to prevent this logic running on a WP popup (such as feature image) - if( frame && errors ) { - - this.$el.addClass('acf-disabled'); - - } - - - // return - return AttachmentLibrary.prototype.render.apply( this, arguments ); - - }, - - - /* - * toggleSelection - * - * This function is called before an attachment is selected - * A good place to check for errors and prevent the 'select' function from being fired - * - * @type function - * @date 29/09/2016 - * @since 5.4.0 - * - * @param options (object) - * @return n/a - */ - - toggleSelection: function( options ) { - - // vars - // source: wp-includes/js/media-views.js:2880 - var collection = this.collection, - selection = this.options.selection, - model = this.model, - single = selection.single(); - - - // vars - var frame = acf.media.frame(), - errors = acf.maybe_get(this, 'model.attributes.acf_errors'), - $sidebar = this.controller.$el.find('.media-frame-content .media-sidebar'); - - - // remove previous error - $sidebar.children('.acf-selection-error').remove(); - - - // show attachment details - $sidebar.children().removeClass('acf-hidden'); - - - // add message - if( frame && errors ) { - - // vars - var filename = acf.maybe_get(this, 'model.attributes.filename', ''); - - - // hide attachment details - // Gallery field continues to show previously selected attachment... - $sidebar.children().addClass('acf-hidden'); - - - // append message - $sidebar.prepend([ - '
    ', - '' + acf._e('restricted') +'', - '' + filename + '', - '' + errors + '', - '
    ' - ].join('')); - - - // reset selection (unselects all attachments) - selection.reset(); - - - // set single (attachment displayed in sidebar) - selection.single( model ); - - - // return and prevent 'select' form being fired - return; - - } - - - // return - AttachmentLibrary.prototype.toggleSelection.apply( this, arguments ); - - } - - }); - - }, - - customize_AttachmentFiltersAll: function(){ - - // add function refresh - wp.media.view.AttachmentFilters.All.prototype.refresh = function(){ - - // Build `' ).val( value ).html( filter.text )[0], - priority: filter.priority || 50 - }; - }, this ).sortBy('priority').pluck('el').value() ); - - }; - - }, - - customize_AttachmentCompat: function(){ - - // vars - var AttachmentCompat = wp.media.view.AttachmentCompat; - - - // extend - wp.media.view.AttachmentCompat = AttachmentCompat.extend({ - - add_acf_expand_button: function(){ - - // vars - var $el = this.$el.closest('.media-modal'); - - - // does button already exist? - if( $el.find('.media-frame-router .acf-expand-details').exists() ) return; - - - // create button - var $a = $([ - '', - '' + acf._e('expand_details') + '', - '' + acf._e('collapse_details') + '', - '' - ].join('')); - - - // add events - $a.on('click', function( e ){ - - e.preventDefault(); - - if( $el.hasClass('acf-expanded') ) { - - $el.removeClass('acf-expanded'); - - } else { - - $el.addClass('acf-expanded'); - - } - - }); - - - // append - $el.find('.media-frame-router').append( $a ); - - }, - - render: function() { - - // validate - if( this.ignore_render ) return this; - - - // reference - var self = this; - - - // add expand button - setTimeout(function(){ - - self.add_acf_expand_button(); - - }, 0); - - - // setup fields - // The clearTimout is needed to prevent many setup functions from running at the same time - clearTimeout( acf.media.render_timout ); - acf.media.render_timout = setTimeout(function(){ - - acf.do_action('append', self.$el); - - }, 50); - - - // return - return AttachmentCompat.prototype.render.apply( this, arguments ); - - }, - - - dispose: function() { - - // remove - acf.do_action('remove', this.$el); - - - // return - return AttachmentCompat.prototype.dispose.apply( this, arguments ); - - }, - - - save: function( e ) { - - if( e ) { - - e.preventDefault(); - - } - - - // serialize form - var data = acf.serialize(this.$el); - - - // ignore render - this.ignore_render = true; - - - // save - this.model.saveCompat( data ); - - } - - - }); - - } - - - }); - -})(jQuery); - -(function($){ - - acf.fields.oembed = acf.field.extend({ - - type: 'oembed', - $el: null, - - events: { - 'click [data-name="search-button"]': '_search', - 'click [data-name="clear-button"]': '_clear', - 'click [data-name="value-title"]': '_edit', - 'keypress [data-name="search-input"]': '_keypress', - 'keyup [data-name="search-input"]': '_keyup', - 'blur [data-name="search-input"]': '_blur' - }, - - - /* - * focus - * - * This function will setup variables when focused on a field - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param n/a - * @return n/a - */ - - focus: function(){ - - // vars - this.$el = this.$field.find('.acf-oembed'); - this.$search = this.$el.find('[data-name="search-input"]'); - this.$input = this.$el.find('[data-name="value-input"]'); - this.$title = this.$el.find('[data-name="value-title"]'); - this.$embed = this.$el.find('[data-name="value-embed"]'); - - - // options - this.o = acf.get_data( this.$el ); - - }, - - - /* - * maybe_search - * - * description - * - * @type function - * @date 14/10/16 - * @since 5.4.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - maybe_search: function(){ - - // set url and focus - var old_url = this.$input.val(), - new_url = this.$search.val(); - - - // bail early if no value - if( !new_url ) { - - this.clear(); - return; - - } - - - // bail early if no change - if( new_url == old_url ) return; - - - // search - this.search(); - - }, - - - /* - * search - * - * This function will search for an oembed - * - * @type function - * @date 13/10/16 - * @since 5.4.0 - * - * @param n/a - * @return n/a - */ - - search: function(){ - - // vars - var s = this.$search.val(); - - - // fix missing 'http://' - causes the oembed code to error and fail - if( s.substr(0, 4) != 'http' ) { - - s = 'http://' + s; - this.$search.val( s ); - - } - - - // show loading - this.$el.addClass('is-loading'); - - - // AJAX data - var ajax_data = acf.prepare_for_ajax({ - 'action' : 'acf/fields/oembed/search', - 's' : s, - 'field_key' : this.$field.data('key') - }); - - - // abort XHR if this field is already loading AJAX data - if( this.$el.data('xhr') ) this.$el.data('xhr').abort(); - - - // get HTML - var xhr = $.ajax({ - url: acf.get('ajaxurl'), - data: ajax_data, - type: 'post', - dataType: 'json', - context: this, - success: this.search_success - }); - - - // update el data - this.$el.data('xhr', xhr); - - }, - - search_success: function( json ){ - - // vars - var s = this.$search.val(); - - - // remove loading - this.$el.removeClass('is-loading'); - - - // error - if( !json || !json.html ) { - - this.$el.removeClass('has-value').addClass('has-error'); - return; - - } - - - // add classes - this.$el.removeClass('has-error').addClass('has-value'); - - - // update vars - this.$input.val( s ); - this.$title.html( s ); - this.$embed.html( json.html ); - - }, - - clear: function(){ - - // update class - this.$el.removeClass('has-error has-value'); - - - // clear search - this.$el.find('[data-name="search-input"]').val(''); - - - // clear inputs - this.$input.val(''); - this.$title.html(''); - this.$embed.html(''); - - }, - - edit: function(){ - - // add class - this.$el.addClass('is-editing'); - - - // set url and focus - this.$search.val( this.$title.text() ).focus(); - - }, - - blur: function( $el ){ - - // remove class - this.$el.removeClass('is-editing'); - - - // maybe search - this.maybe_search(); - - }, - - _search: function( e ){ // console.log('_search'); - - this.search(); - - }, - - _clear: function( e ){ // console.log('_clear'); - - this.clear(); - - }, - - _edit: function( e ){ // console.log('_clear'); - - this.edit(); - - }, - - _keypress: function( e ){ // console.log('_keypress'); - - // don't submit form - if( e.which == 13 ) e.preventDefault(); - - }, - - _keyup: function( e ){ //console.log('_keypress', e.which); - - // bail early if no value - if( !this.$search.val() ) return; - - - // maybe search - this.maybe_search(); - - }, - - _blur: function( e ){ // console.log('_blur'); - - this.blur(); - - } - - }); - -})(jQuery); - -(function($){ - - acf.fields.radio = acf.field.extend({ - - type: 'radio', - - $ul: null, - - actions: { - 'ready': 'initialize', - 'append': 'initialize' - }, - - events: { - 'click input[type="radio"]': 'click' - }, - - focus: function(){ - - // focus on $select - this.$ul = this.$field.find('.acf-radio-list'); - - - // get options - this.o = acf.get_data( this.$ul ); - - }, - - - /* - * initialize - * - * This function will fix a bug found in Chrome. - * A radio input (for a given name) may only have 1 selected value. When used within a fc layout - * multiple times (clone field), the selected value (default value) will not be checked. - * This simply re-checks it. - * - * @type function - * @date 30/08/2016 - * @since 5.4.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - initialize: function(){ - - // find selected input and check it - this.$ul.find('.selected input').prop('checked', true); - - }, - - click: function(e){ - - // vars - var $radio = e.$el, - $label = $radio.parent('label'), - selected = $label.hasClass('selected'), - val = $radio.val(); - - - // remove previous selected - this.$ul.find('.selected').removeClass('selected'); - - - // add active class - $label.addClass('selected'); - - - // allow null - if( this.o.allow_null && selected ) { - - // unselect - e.$el.prop('checked', false); - $label.removeClass('selected'); - val = false; - - - // trigger change - e.$el.trigger('change'); - - } - - - // other - if( this.o.other_choice ) { - - // vars - var $other = this.$ul.find('input[type="text"]'); - - - // show - if( val === 'other' ) { - - $other.prop('disabled', false).attr('name', $radio.attr('name')); - - // hide - } else { - - $other.prop('disabled', true).attr('name', ''); - - } - - } - - } - - }); - -})(jQuery); - -(function($){ - - acf.fields.range = acf.field.extend({ - - type: 'range', - $el: null, - $range: null, - $input: null, - - events: { - 'input input': 'onInput', - 'change input': 'onChange' - }, - - focus: function(){ - - // get elements - this.$el = this.$field.find('.acf-range-wrap'); - this.$range = this.$el.children('input[type="range"]'); - this.$input = this.$el.children('input[type="number"]'); - - }, - - setValue: function( val ){ - this.$input.val( val ); - this.$range.val( val ); - }, - - onInput: function( e ){ - this.setValue( e.$el.val() ); - }, - - onChange: function( e ){ - this.setValue( e.$el.val() ); - - if( e.$el.attr('type') == 'number' ) { - this.$range.trigger('change'); - } - } - }); - -})(jQuery); - -(function($){ - - acf.fields.relationship = acf.field.extend({ - - type: 'relationship', - - $el: null, - $input: null, - $filters: null, - $choices: null, - $values: null, - - actions: { - 'ready': 'initialize', - 'append': 'initialize' - }, - - events: { - 'keypress [data-filter]': 'submit_filter', - 'change [data-filter]': 'change_filter', - 'keyup [data-filter]': 'change_filter', - 'click .choices .acf-rel-item': 'add_item', - 'click [data-name="remove_item"]': 'remove_item' - }, - - focus: function(){ - - // get elements - this.$el = this.$field.find('.acf-relationship'); - this.$input = this.$el.children('input[type="hidden"]'); - this.$choices = this.$el.find('.choices'), - this.$values = this.$el.find('.values'); - - // get options - this.o = acf.get_data( this.$el ); - + setup: function( $select, props ){ + $.extend(this.data, props); + this.$el = $select; }, initialize: function(){ - // reference - var self = this, - $field = this.$field, - $el = this.$el, - $input = this.$input; - - - // right sortable - this.$values.children('.list').sortable({ - items: 'li', - forceHelperSize: true, - forcePlaceholderSize: true, - scroll: true, - update: function(){ - - $input.trigger('change'); - - } - }); - - - this.$choices.children('.list').scrollTop(0).on('scroll', function(e){ - - // bail early if no more results - if( $el.hasClass('is-loading') || $el.hasClass('is-empty') ) { - - return; - - } - - - // Scrolled to bottom - if( Math.ceil( $(this).scrollTop() ) + $(this).innerHeight() >= $(this).get(0).scrollHeight ) { - - // get paged - var paged = $el.data('paged') || 1; - - - // update paged - $el.data('paged', (paged+1) ); - - - // fetch - self.set('$field', $field).fetch(); - - } - - }); - - -/* - // scroll event - var maybe_fetch = function( e ){ - console.log('scroll'); - // remove listener - $(window).off('scroll', maybe_fetch); - - - // is field in view - if( acf.is_in_view($field) ) { - - // fetch - self.doFocus($field); - self.fetch(); - - - // return - return; - } - - - // add listener - setTimeout(function(){ - - $(window).on('scroll', maybe_fetch); - - }, 500); - - }; -*/ - - - // fetch - this.fetch(); - }, -/* - show: function(){ - - console.log('show field: %o', this.o.xhr); - - // bail ealry if already loaded - if( typeof this.o.xhr !== 'undefined' ) { - - return; - + selectOption: function( value ){ + var $option = this.getOption( value ); + if( !$option.prop('selected') ) { + $option.prop('selected', true).trigger('change'); } - - - // is field in view - if( acf.is_in_view(this.$field) ) { - - // fetch - this.fetch(); - - } - - }, -*/ - - maybe_fetch: function(){ - - // reference - var self = this, - $field = this.$field; - - - // abort timeout - if( this.o.timeout ) { - - clearTimeout( this.o.timeout ); - - } - - - // fetch - var timeout = setTimeout(function(){ - - self.doFocus($field); - self.fetch(); - - }, 300); - - this.$el.data('timeout', timeout); - }, - fetch: function(){ - - // reference - var self = this, - $field = this.$field; - - - // add class - this.$el.addClass('is-loading'); - - - // abort XHR if this field is already loading AJAX data - if( this.o.xhr ) { - - this.o.xhr.abort(); - this.o.xhr = false; - + unselectOption: function( value ){ + var $option = this.getOption( value ); + if( $option.prop('selected') ) { + $option.prop('selected', false).trigger('change'); } + }, + + getOption: function( value ){ + return this.$('option[value="' + value + '"]'); + }, + + addOption: function( option ){ - - // add to this.o - this.o.action = 'acf/fields/relationship/query'; - this.o.field_key = $field.data('key'); - this.o.post_id = acf.get('post_id'); - - - // ready for ajax - var ajax_data = acf.prepare_for_ajax( this.o ); - - - // clear html if is new query - if( ajax_data.paged == 1 ) { - - this.$choices.children('.list').html('') - - } - - - // add message - this.$choices.find('ul:last').append('

    ' + acf._e('relationship', 'loading') + '

    '); - - - // get results - var xhr = $.ajax({ - url: acf.get('ajaxurl'), - dataType: 'json', - type: 'post', - data: ajax_data, - success: function( json ){ - - self.set('$field', $field).render( json ); - - } + // defaults + option = acf.parseArgs(option, { + id: '', + text: '', + selected: false }); - - // update el data - this.$el.data('xhr', xhr); - - }, - - render: function( json ){ - - // remove loading class - this.$el.removeClass('is-loading is-empty'); - - - // remove p tag - this.$choices.find('p').remove(); - - - // no results? - if( !json || !json.results || !json.results.length ) { - - // add class - this.$el.addClass('is-empty'); - - - // add message - if( this.o.paged == 1 ) { - - this.$choices.children('.list').append('

    ' + acf._e('relationship', 'empty') + '

    '); - - } - - - // return - return; - - } - - - // get new results - var $new = $( this.walker(json.results) ); - - - // apply .disabled to left li's - this.$values.find('.acf-rel-item').each(function(){ - - $new.find('.acf-rel-item[data-id="' + $(this).data('id') + '"]').addClass('disabled'); - - }); - - - // underline search match - // consider removing due to bug where matched strings within HTML attributes caused incorrect results - // Looks like Select2 v4 has moved away from highlighting results, so perhaps we should too -/* - if( this.o.s ) { - - // vars - var s = this.o.s; - - - // allow special characters to be used within regex - s = acf.addslashes(s); - - - // loop - $new.find('.acf-rel-item').each(function(){ - - // vars - var find = $(this).text(), - replace = find.replace( new RegExp('(' + s + ')', 'gi'), '$1'); - - $(this).html( $(this).html().replace(find, replace) ); - - }); - - } -*/ - + // vars + var $option = this.getOption( option.id ); // append - this.$choices.children('.list').append( $new ); - - - // merge together groups - var label = '', - $list = null; - - this.$choices.find('.acf-rel-label').each(function(){ - - if( $(this).text() == label ) { - - $list.append( $(this).siblings('ul').html() ); - - $(this).parent().remove(); - - return; - } - - - // update vars - label = $(this).text(); - $list = $(this).siblings('ul'); - - }); - - - }, - - walker: function( data ){ - - // vars - var s = ''; - - - // loop through data - if( $.isArray(data) ) { - - for( var k in data ) { - - s += this.walker( data[ k ] ); - - } - - } else if( $.isPlainObject(data) ) { - - // optgroup - if( data.children !== undefined ) { - - s += '
  • ' + data.text + '
      '; - - s += this.walker( data.children ); - - s += '
  • '; - - } else { - - s += '
  • ' + data.text + '
  • '; - - } - + if( !$option.length ) { + $option = $(''); + $option.html( option.text ); + $option.attr('value', option.id); + $option.prop('selected', option.selected); + this.$el.append($option); } - - - // return - return s; - - }, - - submit_filter: function( e ){ - - // don't submit form - if( e.which == 13 ) { - - e.preventDefault(); - - } - - }, - - change_filter: function( e ){ - - // vars - var val = e.$el.val(), - filter = e.$el.data('filter'); - - - // Bail early if filter has not changed - if( this.$el.data(filter) == val ) { - - return; - - } - - - // update attr - this.$el.data(filter, val); - - - // reset paged - this.$el.data('paged', 1); - - - // fetch - if( e.$el.is('select') ) { - - this.fetch(); - - // search must go through timeout - } else { - - this.maybe_fetch(); - - } - - }, - - add_item: function( e ){ - - // max posts - if( this.o.max > 0 ) { - - if( this.$values.find('.acf-rel-item').length >= this.o.max ) { - - alert( acf._e('relationship', 'max').replace('{max}', this.o.max) ); - - return; - - } - - } - - - // can be added? - if( e.$el.hasClass('disabled') ) { - - return false; - - } - - - // disable - e.$el.addClass('disabled'); - - - // template - var html = [ - '
  • ', - '', - '' + e.$el.html(), - '', - '', - '
  • '].join(''); - - // add new li - this.$values.children('.list').append( html ) - - - // trigger change on new_li - this.$input.trigger('change'); - - - // validation - acf.validation.remove_error( this.$field ); - + // chain + return $option; }, - remove_item : function( e ){ + getValue: function(){ // vars - var $span = e.$el.parent(), - id = $span.data('id'); - - - // remove - $span.parent('li').remove(); - - - // show - this.$choices.find('.acf-rel-item[data-id="' + id + '"]').removeClass('disabled'); - - - // trigger change on new_li - this.$input.trigger('change'); - - } - - }); - - -})(jQuery); - -(function($){ - - // globals - var _select2, - _select23, - _select24; - - - /* - * acf.select2 - * - * all logic to create select2 instances - * - * @type function - * @date 16/12/2015 - * @since 5.3.2 - * - * @param n/a - * @return n/a - */ - - _select2 = acf.select2 = acf.model.extend({ - - // vars - version: 0, - version3: null, - version4: null, - - - // actions - actions: { - 'ready 1': 'ready' - }, - - - /* - * ready - * - * This function will run on document ready - * - * @type function - * @date 21/06/2016 - * @since 5.3.8 - * - * @param n/a - * @return n/a - */ - - ready: function(){ - - // determine Select2 version - this.version = this.get_version(); - - - // ready - this.do_function('ready'); - - }, - - - /* - * get_version - * - * This function will return the Select2 version - * - * @type function - * @date 29/4/17 - * @since 5.5.13 - * - * @param n/a - * @return n/a - */ - - get_version: function(){ - - if( acf.maybe_get(window, 'Select2') ) return 3; - if( acf.maybe_get(window, 'jQuery.fn.select2.amd') ) return 4; - return 0; - - }, - - - /* - * do_function - * - * This function will call the v3 or v4 equivelant function - * - * @type function - * @date 28/4/17 - * @since 5.5.13 - * - * @param name (string) - * @param args (array) - * @return (mixed) - */ - - do_function: function( name, args ){ - - // defaults - args = args || []; - - - // vars - var model = 'version'+this.version; - - - // bail early if not set - if( typeof this[model] === 'undefined' || - typeof this[model][name] === 'undefined' ) return false; - - - // run - return this[model][name].apply( this, args ); - - }, - - - /* - * get_data - * - * This function will look at a $select element and return an object choices - * - * @type function - * @date 24/12/2015 - * @since 5.3.2 - * - * @param $select (jQuery) - * @return (array) - */ - - get_data: function( $select, data ){ - - // reference - var self = this; - - - // defaults - data = data || []; - - - // loop over children - $select.children().each(function(){ - - // vars - var $el = $(this); - - - // optgroup - if( $el.is('optgroup') ) { - - data.push({ - 'text': $el.attr('label'), - 'children': self.get_data( $el ) - }); - - // option - } else { - - data.push({ - 'id': $el.attr('value'), - 'text': $el.text() - }); - - } - - }); - - - // return - return data; - - }, - - - /* - * decode_data - * - * This function will take an array of choices and decode the text - * Changes '&' to '&' which fixes a bug (in Select2 v3 )when searching for '&' - * - * @type function - * @date 24/12/2015 - * @since 5.3.2 - * - * @param $select (jQuery) - * @return (array) - */ - - decode_data: function( data ) { - - // bail ealry if no data - if( !data ) return []; - - - //loop - $.each(data, function(k, v){ - - // text - data[ k ].text = acf.decode( v.text ); - - - // children - if( typeof v.children !== 'undefined' ) { - - data[ k ].children = _select2.decode_data(v.children); - - } - - }); - - - // return - return data; - - }, - - - /* - * count_data - * - * This function will take an array of choices and return the count - * - * @type function - * @date 24/12/2015 - * @since 5.3.2 - * - * @param data (array) - * @return (int) - */ - - count_data: function( data ) { - - // vars - var i = 0; - - - // bail ealry if no data - if( !data ) return i; - - - //loop - $.each(data, function(k, v){ - - // increase - i++; - - - // children - if( typeof v.children !== 'undefined' ) { - - i += v.children.length; - - } - - }); - - - // return - return i; - - }, - - - /* - * get_ajax_data - * - * This function will return an array of data to send via AJAX - * - * @type function - * @date 19/07/2016 - * @since 5.4.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - get_ajax_data: function( args, params, $el, $field ){ - - // vars - var data = acf.prepare_for_ajax({ - action: args.ajax_action, - field_key: args.key, - s: params.term || '', - paged: params.page || 1 - }); - - - // filter - data = acf.apply_filters( 'select2_ajax_data', data, args, $el, $field ); - - - // return - return data; - - }, - - - /* - * get_ajax_results - * - * This function will return a valid AJAX response - * - * @type function - * @date 19/07/2016 - * @since 5.4.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - get_ajax_results: function( data, params ){ - - // vars - var valid = { - results: [] - }; - - - // bail early if no data - if( !data ) { - - data = valid; - - } - - - // allow for an array of choices - if( typeof data.results == 'undefined' ) { - - valid.results = data; - - data = valid; - - } - - - // decode - data.results = this.decode_data(data.results); - - - // filter - data = acf.apply_filters( 'select2_ajax_results', data, params ); - - - // return - return data; - - }, - - - /* - * get_value - * - * This function will return the selected options in a Select2 format - * - * @type function - * @date 5/01/2016 - * @since 5.3.2 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - get_value: function( $select ){ - - // vars - var val = [], - $selected = $select.find('option:selected'); - + var val = []; + var $options = this.$el.find('option:selected'); // bail early if no selected - if( !$selected.exists() ) return val; + if( !$options.exists() ) { + return val; + } - - // sort - $selected = $selected.sort(function(a, b) { - + // sort by attribute + $options = $options.sort(function(a, b) { return +a.getAttribute('data-i') - +b.getAttribute('data-i'); - }); - // loop - $selected.each(function(){ - - // vars + $options.each(function(){ var $el = $(this); - - - // append val.push({ - 'id': $el.attr('value'), - 'text': $el.text(), - '$el': $el + $el: $el, + id: $el.attr('value'), + text: $el.text(), }); - }); - // return return val; }, - - /* - * get_input_value - * - * This function will return an array of values as per the hidden input - * - * @type function - * @date 29/4/17 - * @since 5.5.13 - * - * @param $input (jQuery) - * @return (array) - */ - - get_input_value: function( $input ) { - - return $input.val().split('||'); - + mergeOptions: function(){ + }, - - /* - * sync_input_value - * - * This function will save the current selected values into the hidden input - * - * @type function - * @date 29/4/17 - * @since 5.5.13 - * - * @param $input (jQuery) - * @param $select (jQuery) - * @return n/a - */ - - sync_input_value: function( $input, $select ) { + getChoices: function(){ - $input.val( $select.val().join('||') ); + // callback + var crawl = function( $parent ){ + + // vars + var choices = []; + + // loop + $parent.children().each(function(){ + + // vars + var $child = $(this); + + // optgroup + if( $child.is('optgroup') ) { + + choices.push({ + text: $child.attr('label'), + children: crawl( $child ) + }); + + // option + } else { + + choices.push({ + id: $child.attr('value'), + text: $child.text() + }); + } + }); + + // return + return choices; + }; + // crawl + return crawl( this.$el ); }, - - /* - * add_option - * - * This function will add an '); - + // callback + var crawl = function( items ){ + items.map(function( item ){ + item.text = acf.decode( item.text ); + if( item.children ) { + item.children = crawl( item.children ); + } + return item; + }); + return items; + }; + + // crawl + return crawl( choices ); + }, + + getAjaxData: function( params ){ + + // vars + var ajaxData = { + action: this.get('ajaxAction'), + s: params.term || '', + paged: params.page || 1 + }; + + // field helper + var field = this.get('field'); + if( field ) { + ajaxData.field_key = field.get('key'); } + // callback + var callback = this.get('ajaxData'); + if( callback ) { + ajaxData = callback.apply( this, [ajaxData, params] ); + } + + // filter + ajaxData = acf.applyFilters( 'select2_ajax_data', ajaxData, this.data, this.$el, (field || false), this ); + + // return + return acf.prepareForAjax(ajaxData); }, - - /* - * select_option - * - * This function will select an option - * - * @type function - * @date 29/4/17 - * @since 5.5.13 - * - * @param $select (jQuery) - * @param value (string) - * @return n/a - */ - - select_option: function( $select, value ){ + getAjaxResults: function( json, params ){ - $select.find('option[value="'+value+'"]').prop('selected', true); - $select.trigger('change'); + // defaults + json = acf.parseArgs(json, { + results: false, + more: false, + }); + // decode + if( json.results ) { + json.results = this.decodeChoices(json.results); + } + + // callback + var callback = this.get('ajaxResults'); + if( callback ) { + json = callback.apply( this, [json, params] ); + } + + // filter + json = acf.applyFilters( 'select2_ajax_results', json, params, this ); + + // return + return json; }, - - /* - * unselect_option - * - * This function will unselect an option - * - * @type function - * @date 29/4/17 - * @since 5.5.13 - * - * @param $select (jQuery) - * @param value (string) - * @return n/a - */ - - unselect_option: function( $select, value ){ + processAjaxResults: function( json, params ){ - $select.find('option[value="'+value+'"]').prop('selected', false); - $select.trigger('change'); + // vars + var json = this.getAjaxResults( json, params ); + // change more to pagination + if( json.more ) { + json.pagination = { more: true }; + } + + // merge together groups + setTimeout($.proxy(this.mergeOptions, this), 1); + + // return + return json; }, - - /* - * Select2 v3 or v4 functions - * - * description - * - * @type function - * @date 29/4/17 - * @since 5.5.10 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - init: function( $select, args, $field ){ + destroy: function(){ - this.do_function( 'init', arguments ); - - }, - - destroy: function( $select ){ - - this.do_function( 'destroy', arguments ); - - }, - - add_value: function( $select, value, label ){ - - this.do_function( 'add_value', arguments ); - - }, - - remove_value: function( $select, value ){ - - this.do_function( 'remove_value', arguments ); + // destroy via api + if( this.$el.data('select2') ) { + this.$el.select2('destroy'); + } + // destory via HTML (duplicating HTML does not contain data) + this.$el.siblings('.select2-container').remove(); } }); - /* - * Select2 v3 + /** + * Select2_4 * - * This model contains the Select2 v3 functions + * description * - * @type function - * @date 28/4/17 - * @since 5.5.10 + * @date 13/1/18 + * @since 5.6.5 * - * @param n/a - * @return n/a + * @param type $var Description. Default. + * @return type Description. */ - _select23 = _select2.version3 = { + var Select2_4 = Select2.extend({ - ready: function(){ + initialize: function(){ // vars - var locale = acf.get('locale'), - rtl = acf.get('rtl') - l10n = acf._e('select'); + var $select = this.$el; + var options = { + width: '100%', + allowClear: this.get('allowNull'), + placeholder: this.get('placeholder'), + multiple: this.get('multiple'), + data: [], + escapeMarkup: function( m ){ return m; } + }; + // multiple + if( options.multiple ) { + + // reorder options + this.getValue().map(function( item ){ + item.$el.detach().appendTo( $select ); + }); + } + + // remove conflicting atts + $select.removeData('ajax'); + $select.removeAttr('data-ajax'); + + // ajax + if( this.get('ajax') ) { + + options.ajax = { + url: acf.get('ajaxurl'), + delay: 250, + dataType: 'json', + type: 'post', + cache: false, + data: $.proxy(this.getAjaxData, this), + processResults: $.proxy(this.processAjaxResults, this), + }; + } + + // filter for 3rd party customization + //options = acf.applyFilters( 'select2_args', options, $select, this ); + var field = this.get('field'); + options = acf.applyFilters( 'select2_args', options, $select, this.data, (field || false), this ); + + // add select2 + $select.select2( options ); + + // get container (Select2 v4 does not return this from constructor) + var $container = $select.next('.select2-container'); + + // multiple + if( options.multiple ) { + + // vars + var $ul = $container.find('ul'); + + // sortable + $ul.sortable({ + stop: function( e ) { + + // loop + $ul.find('.select2-selection__choice').each(function() { + + // vars + var $option = $( $(this).data('data').element ); + + // detach and re-append to end + $option.detach().appendTo( $select ); + }); + + // trigger change on input (JS error if trigger on select) + $select.trigger('change'); + } + }); + + // on select, move to end + $select.on('select2:select', this.proxy(function( e ){ + this.getOption( e.params.data.id ).detach().appendTo( this.$el ); + })); + } + + // add class + $container.addClass('-acf'); + + // action for 3rd party customization + acf.doAction('select2_init', $select, options, this.data, (field || false), this); + }, + + mergeOptions: function(){ + + // vars + var $prevOptions = false; + var $prevGroup = false; + + // loop + $('.select2-results__option[role="group"]').each(function(){ + + // vars + var $options = $(this).children('ul'); + var $group = $(this).children('strong'); + + // compare to previous + if( $prevGroup && $prevGroup.text() === $group.text() ) { + $prevOptions.append( $options.children() ); + $(this).remove(); + return; + } + + // update vars + $prevOptions = $options; + $prevGroup = $group; + + }); + }, + + }); + + /** + * Select2_3 + * + * description + * + * @date 13/1/18 + * @since 5.6.5 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var Select2_3 = Select2.extend({ + + initialize: function(){ + + // vars + var $select = this.$el; + var value = this.getValue(); + var multiple = this.get('multiple'); + var options = { + width: '100%', + allowClear: this.get('allowNull'), + placeholder: this.get('placeholder'), + separator: '||', + multiple: this.get('multiple'), + data: this.getChoices(), + escapeMarkup: function( m ){ return m; }, + dropdownCss: { + 'z-index': '999999999' + }, + initSelection: function( element, callback ) { + if( multiple ) { + callback( value ); + } else { + callback( value.shift() ); + } + } + }; + + // get hidden input + var $input = $select.siblings('input'); + if( !$input.length ) { + $input = $(''); + $select.before( $input ); + } + + // set input value + inputValue = value.map(function(item){ return item.id }).join('||'); + $input.val( inputValue ); + + // multiple + if( options.multiple ) { + + // reorder options + value.map(function( item ){ + item.$el.detach().appendTo( $select ); + }); + } + + // remove blank option as we have a clear all button + if( options.allowClear ) { + options.data = options.data.filter(function(item){ + return item.id !== ''; + }); + } + + // remove conflicting atts + $select.removeData('ajax'); + $select.removeAttr('data-ajax'); + + // ajax + if( this.get('ajax') ) { + + options.ajax = { + url: acf.get('ajaxurl'), + quietMillis: 250, + dataType: 'json', + type: 'post', + cache: false, + data: $.proxy(this.getAjaxData, this), + results: $.proxy(this.processAjaxResults, this), + }; + } + + // filter for 3rd party customization + var field = this.get('field'); + options = acf.applyFilters( 'select2_args', options, $select, this.data, (field || false), this ); + + // add select2 + $input.select2( options ); + + // get container + var $container = $input.select2('container'); + + // helper to find this select's option + var getOption = $.proxy(this.getOption, this); + + // multiple + if( options.multiple ) { + + // vars + var $ul = $container.find('ul'); + + // sortable + $ul.sortable({ + stop: function() { + + // loop + $ul.find('.select2-search-choice').each(function() { + + // vars + var data = $(this).data('select2Data'); + var $option = getOption( data.id ); + + // detach and re-append to end + $option.detach().appendTo( $select ); + }); + + // trigger change on input (JS error if trigger on select) + $select.trigger('change'); + } + }); + } + + // on select, create option and move to end + $input.on('select2-selecting', function( e ){ + + // vars + var item = e.choice; + var $option = getOption( item.id ); + + // create if doesn't exist + if( !$option.length ) { + $option = $(''); + } + + // detach and re-append to end + $option.detach().appendTo( $select ); + }); + + // add class + $container.addClass('-acf'); + + // action for 3rd party customization + acf.doAction('select2_init', $select, options, this.data, (field || false), this); + + // change + $input.on('change', function(){ + var val = $input.val(); + if( val.indexOf('||') ) { + val = val.split('||'); + } + $select.val( val ).trigger('change'); + }); + + // hide select + $select.hide(); + }, + + mergeOptions: function(){ + + // vars + var $prevOptions = false; + var $prevGroup = false; + + // loop + $('#select2-drop .select2-result-with-children').each(function(){ + + // vars + var $options = $(this).children('ul'); + var $group = $(this).children('.select2-result-label'); + + // compare to previous + if( $prevGroup && $prevGroup.text() === $group.text() ) { + $prevGroup.append( $options.children() ); + $(this).remove(); + return; + } + + // update vars + $prevOptions = $options; + $prevGroup = $group; + + }); + + }, + + getAjaxData: function( term, page ){ + + // create Select2 v4 params + var params = { + term: term, + page: page + } + + // return + return Select2.prototype.getAjaxData.apply(this, [params]); + }, + + }); + + + // manager + var select2Manager = new acf.Model({ + priority: 5, + wait: 'prepare', + initialize: function(){ + + // vars + var locale = acf.get('locale'); + var rtl = acf.get('rtl'); + var l10n = acf.get('select2L10n'); // bail ealry if no l10n - if( !l10n ) return; + if( !l10n ) { + return false; + } + // bail early if 'en' + if( locale.indexOf('en') === 0 ) { + return false; + } + + // initialize + if( getVersion() == 4 ) { + this.addTranslations4(); + } else { + this.addTranslations3(); + } + }, + + addTranslations4: function(){ // vars - var l10n_functions = { - formatMatches: function( matches ) { - - if ( 1 === matches ) { - return l10n.matches_1; + var l10n = acf.get('select2L10n'); + var locale = acf.get('locale'); + + // modify local to match html[lang] attribute (used by Select2) + locale = locale.replace('_', '-'); + + // select2L10n + var select2L10n = { + errorLoading: function () { + return l10n.load_fail; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + if( overChars > 1 ) { + return l10n.input_too_long_n.replace( '%d', overChars ); } - - return l10n.matches_n.replace('%d', matches); + return l10n.input_too_long_1; + }, + inputTooShort: function( args ){ + var remainingChars = args.minimum - args.input.length; + if( remainingChars > 1 ) { + return l10n.input_too_short_n.replace( '%d', remainingChars ); + } + return l10n.input_too_short_1; + }, + loadingMore: function () { + return l10n.load_more; + }, + maximumSelected: function( args ) { + var maximum = args.maximum; + if( maximum > 1 ) { + return l10n.selection_too_long_n.replace( '%d', maximum ); + } + return l10n.selection_too_long_1; + }, + noResults: function () { + return l10n.matches_0; + }, + searching: function () { + return l10n.searching; + } + }; + + // append + jQuery.fn.select2.amd.define('select2/i18n/' + locale, [], function(){ + return select2L10n; + }); + }, + + addTranslations3: function(){ + + // vars + var l10n = acf.get('select2L10n'); + var locale = acf.get('locale'); + + // modify local to match html[lang] attribute (used by Select2) + locale = locale.replace('_', '-'); + + // select2L10n + var select2L10n = { + formatMatches: function( matches ) { + if( matches > 1 ) { + return l10n.matches_n.replace( '%d', matches ); + } + return l10n.matches_1; }, formatNoMatches: function() { return l10n.matches_0; @@ -10473,29 +11391,24 @@ var acf; return l10n.load_fail; }, formatInputTooShort: function( input, min ) { - var number = min - input.length; - - if ( 1 === number ) { - return l10n.input_too_short_1; + var remainingChars = min - input.length; + if( remainingChars > 1 ) { + return l10n.input_too_short_n.replace( '%d', remainingChars ); } - - return l10n.input_too_short_n.replace( '%d', number ); + return l10n.input_too_short_1; }, formatInputTooLong: function( input, max ) { - var number = input.length - max; - - if ( 1 === number ) { - return l10n.input_too_long_1; + var overChars = input.length - max; + if( overChars > 1 ) { + return l10n.input_too_long_n.replace( '%d', overChars ); } - - return l10n.input_too_long_n.replace( '%d', number ); + return l10n.input_too_long_1; }, - formatSelectionTooBig: function( limit ) { - if ( 1 === limit ) { - return l10n.selection_too_long_1; + formatSelectionTooBig: function( maximum ) { + if( maximum > 1 ) { + return l10n.selection_too_long_n.replace( '%d', maximum ); } - - return l10n.selection_too_long_n.replace( '%d', limit ); + return l10n.selection_too_long_1; }, formatLoadMore: function() { return l10n.load_more; @@ -10504,3678 +11417,22 @@ var acf; return l10n.searching; } }; - - - // ensure locales exists - // older versions of Select2 did not have a locale storage - $.fn.select2.locales = acf.maybe_get(window, 'jQuery.fn.select2.locales', {}); - + + // ensure locales exists + $.fn.select2.locales = $.fn.select2.locales || {}; // append - $.fn.select2.locales[ locale ] = l10n_functions; - $.extend($.fn.select2.defaults, l10n_functions); - - }, - - set_data: function( $select, data ){ - - // v3 - if( this.version == 3 ) { - - $select = $select.siblings('input'); - - } - - - // set data - $select.select2('data', data); - - }, - - append_data: function( $select, data ){ - - // v3 - if( this.version == 3 ) { - - $select = $select.siblings('input'); - - } - - - - // vars - var current = $select.select2('data') || []; - - - // append - current.push( data ); - - - // set data - $select.select2('data', current); - - }, - - - /* - * init_v3 - * - * This function will create a new Select2 for v3 - * - * @type function - * @date 24/12/2015 - * @since 5.3.2 - * - * @param $select (jQuery) - * @return args (object) - */ - - init: function( $select, args, $field ){ - - // defaults - args = args || {}; - $field = $field || null; - - - // merge - args = $.extend({ - allow_null: false, - placeholder: '', - multiple: false, - ajax: false, - ajax_action: '' - }, args); - - - // vars - var $input = $select.siblings('input'); - - - // bail early if no input - if( !$input.exists() ) return; - - - // select2 args - var select2_args = { - width: '100%', - containerCssClass: '-acf', - allowClear: args.allow_null, - placeholder: args.placeholder, - multiple: args.multiple, - separator: '||', - data: [], - escapeMarkup: function( m ){ return m; }, - formatResult: function( result, container, query, escapeMarkup ){ - - // run default formatResult - var text = $.fn.select2.defaults.formatResult( result, container, query, escapeMarkup ); - - - // append description - if( result.description ) { - - text += ' ' + result.description + ''; - - } - - - // return - return text; - - } - }; - - - // value - var value = this.get_value( $select ); - - - // multiple - if( args.multiple ) { - - // vars - var name = $select.attr('name'); - - - // add hidden input to each multiple selection - select2_args.formatSelection = function( object, $div ){ - - // vars - var html = ''; - - - // append input - $div.parent().append(html); - - - // return - return object.text; - - } - - } else { - - // change array to single object - value = acf.maybe_get(value, 0, false); - - - // if no allow_null, this single select must contain a selection - if( !args.allow_null && value ) { - - $input.val( value.id ); - - } - } - - - // remove the blank option as we have a clear all button! - if( args.allow_null ) { - - $select.find('option[value=""]').remove(); - - } - - - // get data - select2_args.data = this.get_data( $select ); - - - // initial selection - select2_args.initSelection = function( element, callback ) { - - callback( value ); - - }; - - - // ajax - if( args.ajax ) { - - select2_args.ajax = { - url: acf.get('ajaxurl'), - dataType: 'json', - type: 'post', - cache: false, - quietMillis: 250, - data: function( term, page ) { - - // vars - var params = { 'term': term, 'page': page }; - - - // return - return _select2.get_ajax_data(args, params, $input, $field); - - }, - results: function( data, page ){ - - // vars - var params = { 'page': page }; - - - // merge together groups - setTimeout(function(){ - - _select23.merge_results(); - - }, 1); - - - // return - return _select2.get_ajax_results(data, params); - - } - }; - - } - - - // attachment z-index fix - select2_args.dropdownCss = { - 'z-index' : '999999999' - }; - - - // append args - select2_args.acf = args; - - - // filter for 3rd party customization - select2_args = acf.apply_filters( 'select2_args', select2_args, $select, args, $field ); - - - // add select2 - $input.select2( select2_args ); - - - // vars - var $container = $input.select2('container'); - - - // reorder DOM - // - this order is very important so don't change it - // - $select goes first so the input can override it. Fixes issue where conditional logic will enable the select - // - $input goes second to reset the input data - // - container goes last to allow multiple hidden inputs to override $input - $container.before( $select ); - $container.before( $input ); - - - // multiple - if( args.multiple ) { - - // sortable - $container.find('ul.select2-choices').sortable({ - start: function() { - $input.select2("onSortStart"); - }, - stop: function() { - $input.select2("onSortEnd"); - } - }); - - } - - - // disbale select - $select.prop('disabled', true).addClass('acf-disabled acf-hidden'); - - - // update select value - // this fixes a bug where select2 appears blank after duplicating a post_object field (field settings). - // the $select is disabled, so setting the value won't cause any issues (this is what select2 v4 does anyway). - $input.on('change', function(e) { - - // add new data - if( e.added ) { - - // add item - _select2.add_option($select, e.added.id, e.added.text); - - } - - - // select - _select2.select_option($select, e.val); - - }); - - - // action for 3rd party customization - acf.do_action('select2_init', $input, select2_args, args, $field); - - }, - - - /* - * merge_results_v3 - * - * description - * - * @type function - * @date 20/07/2016 - * @since 5.4.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - merge_results: function(){ - - // vars - var label = '', - $list = null; - - - // loop - $('#select2-drop .select2-result-with-children').each(function(){ - - // vars - var $label = $(this).children('.select2-result-label'), - $ul = $(this).children('.select2-result-sub'); - - - // append group to previous - if( $label.text() == label ) { - - $list.append( $ul.children() ); - - $(this).remove(); - - return; - - } - - - // update vars - label = $label.text(); - $list = $ul; - - }); - - }, - - - /* - * destroy - * - * This function will destroy a Select2 - * - * @type function - * @date 24/12/2015 - * @since 5.3.2 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - destroy: function( $select ){ - - // vars - var $input = $select.siblings('input'); - - - // destroy via api - if( $input.data('select2') ) { - $input.select2('destroy'); - } - - - // destory via HTML (duplicating HTML deos not contain data) - $select.siblings('.select2-container').remove(); - - - // enable select - $select.prop('disabled', false).removeClass('acf-disabled acf-hidden'); - $input.attr('style', ''); // fixes bug causing hidden select2 element - - }, - - add_value: function( $select, value, label ){ - - // add and select item - _select2.add_option($select, value, label); - _select2.select_option($select, value); - - - // vars - var $input = $select.siblings('input'); - - - // new item - var item = { - 'id': value, - 'text': label - }; - - - // single - if( !$select.data('multiple') ) { - - return $input.select2('data', item); - - } - - - // get existing value - var values = $input.select2('data') || []; - - - // append - values.push(item); - - - // set data - return $input.select2('data', values); - - }, - - remove_value: function( $select, value ){ - - // unselect option - _select2.unselect_option($select, value); - - - // vars - var $input = $select.siblings('input'), - current = $input.select2('data'); - - - // single - if( !$select.data('multiple') ) { - - if( current && current.id == value ) { - - $input.select2('data', null); - - } - - // multiple - } else { - - // filter - current = $.grep(current, function( item ) { - return item.id != value; - }); - - - // set data - $input.select2('data', current); - - } - + $.fn.select2.locales[ locale ] = select2L10n; + $.extend($.fn.select2.defaults, select2L10n); } - - }; - - - /* - * Select2 v4 - * - * This model contains the Select2 v4 functions - * - * @type function - * @date 28/4/17 - * @since 5.5.10 - * - * @param n/a - * @return n/a - */ - - _select24 = _select2.version4 = { - - init: function( $select, args, $field ){ - - // defaults - args = args || {}; - $field = $field || null; - - - // merge - args = $.extend({ - allow_null: false, - placeholder: '', - multiple: false, - ajax: false, - ajax_action: '' - }, args); - - - // vars - var $input = $select.siblings('input'); - - - // bail early if no input - if( !$input.exists() ) return; - - - // select2 args - var select2_args = { - width: '100%', - allowClear: args.allow_null, - placeholder: args.placeholder, - multiple: args.multiple, - separator: '||', - data: [], - escapeMarkup: function( m ){ return m; } - }; - - - // value - var value = this.get_value( $select ); - - - // multiple - if( args.multiple ) { - - // reorder opts - $.each(value, function( k, item ){ - - // detach and re-append to end - item.$el.detach().appendTo( $select ); - - }); - - } else { - - // change array to single object - value = acf.maybe_get(value, 0, ''); - - } - - -/* - // removed - Select2 does not show this value by default! - // remove the blank option as we have a clear all button! - if( args.allow_null ) { - - $select.find('option[value=""]').remove(); - - } -*/ - - - // remove conflicting atts - if( !args.ajax ) { - - $select.removeData('ajax'); - $select.removeAttr('data-ajax'); - - } else { - - select2_args.ajax = { - url: acf.get('ajaxurl'), - delay: 250, - dataType: 'json', - type: 'post', - cache: false, - data: function( params ) { - - // return - return _select2.get_ajax_data(args, params, $select, $field); - - }, - processResults: function( data, params ){ - - // vars - var results = _select2.get_ajax_results(data, params); - - - // change to more - if( results.more ) { - - results.pagination = { more: true }; - - } - - - // merge together groups - setTimeout(function(){ - - _select24.merge_results(); - - }, 1); - - - // return - return results - - } - - }; - - } - - - // filter for 3rd party customization - select2_args = acf.apply_filters( 'select2_args', select2_args, $select, args, $field ); - - - // add select2 - $select.select2( select2_args ); - - - // get container (Select2 v4 deos not return this from constructor) - var $container = $select.next('.select2-container'); - - - // reorder DOM - // - no need to reorder, the select field is needed to $_POST values - - - // multiple - if( args.multiple ) { - - // vars - var $ul = $container.find('ul'); - - - // sortable - $ul.sortable({ - - stop: function( e ) { - - $ul.find('.select2-selection__choice').each(function() { - - // vars - var $option = $( $(this).data('data').element ); - - - // detach and re-append to end - $option.detach().appendTo( $select ); - - - // trigger change on input (JS error if trigger on select) - $input.trigger('change'); - // update input - //_select2.sync_input_value( $input, $select ); - - }); - - } - - }); - - - // on select, move to end - $select.on('select2:select', function( e ){ - - // vars - var $option = $(e.params.data.element); - - - // detach and re-append to end - $option.detach().appendTo( $select ); - - - // trigger change - //$select.trigger('change'); - - }); - - } - - -/* - // update input - $select.on('select2:select', function( e ){ - - // update input - _select2.sync_input_value( $input, $select ); - - }); - - $select.on('select2:unselect', function( e ){ - - // update input - _select2.sync_input_value( $input, $select ); - - }); -*/ - - - // clear value (allows null to be saved) - $input.val(''); - - - // add class - $container.addClass('-acf'); - - - // action for 3rd party customization - acf.do_action('select2_init', $select, select2_args, args, $field); - - }, - - - /* - * merge_results_v4 - * - * description - * - * @type function - * @date 20/07/2016 - * @since 5.4.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - merge_results: function(){ - - // vars - var $prev_options = null, - $prev_group = null; - - - // loop - $('.select2-results__option[role="group"]').each(function(){ - - // vars - var $options = $(this).children('ul'), - $group = $(this).children('strong'); - - - // compare to previous - if( $prev_group !== null && $group.text() == $prev_group.text() ) { - - $prev_options.append( $options.children() ); - - $(this).remove(); - - return; - - } - - - // update vars - $prev_options = $options; - $prev_group = $group; - - }); - - }, - - add_value: function( $select, value, label ){ - - // add and select item - _select2.add_option($select, value, label); - _select2.select_option($select, value); - - }, - - remove_value: function( $select, value ){ - - // unselect - _select2.unselect_option($select, value); - - }, - - destroy: function( $select ){ - - // destroy via api - if( $select.data('select2') ) { - $select.select2('destroy'); - } - - - // destory via HTML (duplicating HTML deos not contain data) - $select.siblings('.select2-container').remove(); - - } - - }; - - - /* - * depreciated - * - * These functions have moved since v5.3.3 - * - * @type function - * @date 11/12/2015 - * @since 5.3.2 - * - * @param n/a - * @return n/a - */ - - acf.add_select2 = function( $select, args ) { - - _select2.init( $select, args ); - - } - - acf.remove_select2 = function( $select ) { - - _select2.destroy( $select ); - - } - -})(jQuery); - -(function($){ - - // select - acf.fields.select = acf.field.extend({ - - type: 'select', - - $select: null, - - actions: { - 'ready': 'render', - 'append': 'render', - 'remove': 'remove' - }, - - focus: function(){ - - // focus on $select - this.$select = this.$field.find('select'); - - - // bail early if no select field - if( !this.$select.exists() ) return; - - - // get options - this.o = acf.get_data( this.$select ); - - - // customize o - this.o = acf.parse_args(this.o, { - 'ajax_action': 'acf/fields/'+this.type+'/query', - 'key': this.$field.data('key') - }); - - }, - - render: function(){ - - // validate ui - if( !this.$select.exists() || !this.o.ui ) { - - return false; - - } - - - acf.select2.init( this.$select, this.o, this.$field ); - - }, - - remove: function(){ - - // validate ui - if( !this.$select.exists() || !this.o.ui ) { - - return false; - - } - - - // remove select2 - acf.select2.destroy( this.$select ); - - } - - }); - - - // user - acf.fields.user = acf.fields.select.extend({ - - type: 'user' - - }); - - - // post_object - acf.fields.post_object = acf.fields.select.extend({ - - type: 'post_object' - }); - - // page_link - acf.fields.page_link = acf.fields.select.extend({ - - type: 'page_link' - - }); - - })(jQuery); (function($, undefined){ - var i = 0; - - acf.fields.accordion = acf.field.extend({ - - type: 'accordion', - $el: null, - $wrap: null, - - actions: { - 'prepare': 'initialize', - 'append': 'initialize', - }, - - focus: function(){ - - - }, - - initialize: function(){ - - // vars - var $field = this.$field; - var $label = $field.children('.acf-label'); - var $input = $field.children('.acf-input'); - var $wrap = $input.children('.acf-fields'); - var settings = $wrap.data(); - - - // bail early if is cell - if( $field.is('td') ) return; - - - // enpoint - if( settings.endpoint ) { - $field.remove(); - return; - } - - - // force description into label - var $instructions = $input.children('.description') - if( $instructions.length ) { - $label.append( $instructions ); - } - - - // table - if( $field.is('tr') ) { - - // vars - var $table = $field.closest('table'); - var $newLabel = $('
    '); - var $newInput = $('
    '); - var $newTable = $(''); - var $newWrap = $(''); - - // dom - $newLabel.append( $label.html() ); - $newTable.append( $newWrap ); - $newInput.append( $newTable ); - $input.append( $newLabel ); - $input.append( $newInput ); - - // modify - $label.remove(); - $wrap.remove(); - $input.attr('colspan', 2); - - // update vars - $label = $newLabel; - $input = $newInput; - $wrap = $newWrap; - - } - - - // add classes - $field.addClass('acf-accordion'); - $label.addClass('acf-accordion-title'); - $input.addClass('acf-accordion-content'); - - - // index - i++; - - - // multi-expand - if( settings.multi_expand ) { - $field.data('multi-expand', 1); - } - - - // open - var order = acf.getPreference('this.accordions') || []; - if( order[i-1] !== undefined ) { - settings.open = order[i-1]; - } - if( settings.open ) { - $field.addClass('-open'); - $input.css('display', 'block'); // needed for accordion to close smoothly - } - - - // add icon - $label.prepend(''); - - - // classes - // - remove 'inside' which is a #poststuff WP class - var $parent = $field.parent(); - $wrap.addClass( $parent.hasClass('-left') ? '-left' : '' ); - $wrap.addClass( $parent.hasClass('-clear') ? '-clear' : '' ); - - - // append - $wrap.append( $field.nextUntil('.acf-field-accordion', '.acf-field') ); - - - // clean up - $wrap.removeAttr('data-open data-multi_expand data-endpoint'); - } - - }); - - - /* - * accordionManager - * - * This model will handle adding accordions - * - * @type function - * @date 25/11/2015 - * @since 5.3.2 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - var accordionManager = acf.model.extend({ - - events: { - 'click .acf-accordion-title': '_click', - }, - - _click: function( e ){ - - // prevent Defailt - e.preventDefault(); - - // open close - this.toggle( e.$el.closest('.acf-accordion') ); - - }, - - isOpen: function( $el ) { - return $el.hasClass('-open'); - }, - - toggle: function( $el ){ - - // is open - if( this.isOpen($el) ) { - this.close( $el ); - } else { - this.open( $el ); - } - - }, - - open: function( $el ){ - - // open - $el.find('.acf-accordion-content:first').slideDown().css('display', 'block'); - $el.find('.acf-accordion-icon:first').removeClass('dashicons-arrow-right').addClass('dashicons-arrow-down'); - $el.addClass('-open'); - - // action - acf.do_action('show', $el); - - // close siblings - if( !$el.data('multi-expand') ) { - $el.siblings('.acf-accordion.-open').each(function(){ - accordionManager.close( $(this) ); - }); - } - - // action - acf.do_action('refresh', $el); - }, - - close: function( $el ){ - - // close - $el.find('.acf-accordion-content:first').slideUp(); - $el.find('.acf-accordion-icon:first').removeClass('dashicons-arrow-down').addClass('dashicons-arrow-right'); - $el.removeClass('-open'); - - // action - acf.do_action('hide', $el); - - } - - }); - - $(window).on('unload', function(){ - - var order = []; - $('.acf-accordion').each(function(){ - var open = $(this).hasClass('-open') ? 1 : 0; - order.push(open); - }); - if( !order.length ) return; - acf.setPreference('this.accordions', order); - - }); - - - /** - * accordionValidation - * - * This model will handle validation of fields within an accordion - * - * @date 20/11/17 - * @since 5.6.5 - * - * @param n/a - * @return n/a - */ - - var accordionValidation = acf.model.extend({ - - active: 1, - - events: { - 'invalidField .acf-accordion': 'invalidField' - }, - - invalidField: function( e ){ - - // bail early if already focused - if( !this.active ) return; - - // block - this.block(); - - // open - accordionManager.open( e.$el ); - - }, - - block: function(){ - - // reference - var self = this; - - // disable functionality for 1sec (allow next validation to work) - this.active = 0; - - // timeout - setTimeout(function(){ - self.active = 1; - }, 1000); - - } - - }); - -})(jQuery); - -(function($){ - - // vars - var CLASS = 'hidden-by-conditional-logic'; - var groupIndex = 0; - var tabIndex = 0; - - - /* - * tabs - * - * This model will handle adding tabs and groups - * - * @type function - * @date 25/11/2015 - * @since 5.3.2 - * - * @param n/a - * @return n/a - */ - - var tabs = acf.model.extend({ - - $fields: [], - - actions: { - 'prepare 15': 'initialize', - 'append 15': 'initialize', - 'refresh 15': 'refresh' - }, - - events: { - 'click .acf-tab-button': '_click' - }, - - _click: function( e ){ - - // prevent Defailt - e.preventDefault(); - - // toggle - this.toggle( e.$el ); - - }, - - isOpen: function( $el ) { - return $el.hasClass('-open'); - }, - - toggle: function( $a ){ - - // vars - var key = $a.data('key'); - var $li = $a.parent(); - var $wrap = $a.closest('.acf-tab-wrap'); - var $active = $wrap.find('.active a'); - var $field = $wrap.siblings('.acf-field[data-key="' + key + '"]'); - - - // bail early if already open - if( this.isOpen($field) ) return; - - - // close - if( $active.length ) { - - // vars - var activeKey = $active.data('key'); - var $activeli = $active.parent(); - var $activeField = $wrap.siblings('.acf-field[data-key="' + activeKey + '"]'); - - // hide - $activeli.removeClass('active'); - this.close( $activeField ); - - } - - - // open - $li.addClass('active'); - this.open( $field ); - - - // action - // - allows acf.layout to fix floating field's min-height - acf.do_action('refresh', $wrap.parent() ); - - }, - - getFields: function( $field ){ - return $field.nextUntil('.acf-field-tab', '.acf-field'); - }, - - getWrap: function( $field ){ - return $field.prevAll('.acf-tab-wrap:first'); - }, - - getTab: function( $wrap, key ){ - return $wrap.find('a[data-key="' + key + '"]'); - }, - - open: function( $field ){ - - // show - this.getFields( $field ).each(function(){ - - $(this).removeClass('hidden-by-tab'); - acf.do_action('show_field', $(this), 'tab'); - - }); - - }, - - close: function( $field ){ - - // show - this.getFields( $field ).each(function(){ - - $(this).addClass('hidden-by-tab'); - acf.do_action('hide_field', $(this), 'tab'); - - }); - - }, - - addTab: function( $field ){ - this.$fields.push( $field ); - }, - - initialize: function(){ - - // bail ealry if no fields - if( !this.$fields.length ) return; - - // loop - for( var i = 0; i < this.$fields.length; i++) { - this.createTab( this.$fields[ i ] ); - } - - // reset - this.$fields = []; - - }, - - createTab: function( $field ){ - - // bail early if is cell - if( $field.is('td') ) return false; - - - // vars - var $label = $field.children('.acf-label'); - var $input = $field.children('.acf-input'); - var $wrap = this.getWrap( $field ); - var $button = $field.find('.acf-tab-button'); - var settings = $button.data(); - var open = false; - - - // remove - $field.hide(); - $label.remove(); - $input.remove(); - - - // create wrap - if( !$wrap.exists() || settings.endpoint ) { - $wrap = this.createTabWrap( $field, settings ); - open = true; - } - - - // create tab - var $tab = $('
  • ').append( $button ); - - - // open - if( open ) { - $tab.addClass('active'); - this.open( $field ); - } else { - this.close( $field ); - } - - - // hide li - if( $button.html() == '' ) $tab.hide(); - - - // append - $wrap.find('ul').append( $tab ); - - - // toggle active tab - // previous attempts to integrate with above 'open' variable were uncessefull - // this separate toggle logic ensures the tab exists - tabIndex++; - var order = acf.getPreference('this.tabs') || []; - var index = order[ groupIndex-1 ] || 0; - if( index == tabIndex-1 && !open ) { - this.toggle( $button ); - } - - - // return - return $tab; - }, - - createTabWrap: function( $field, settings ){ - - // vars - var $parent = $field.parent(); - var $wrap = false; - - - // add sidebar for left placement - if( $parent.hasClass('acf-fields') && settings.placement == 'left' ) { - $parent.addClass('-sidebar'); - } - - - // create wrap - if( $field.is('tr') ) { - $wrap = $(''); - } else { - $wrap = $('
      '); - } - - - // append - $field.before( $wrap ); - - - // index - groupIndex++; - tabIndex = 0; - - - // return - return $wrap; - - }, - - refresh: function( $el ){ - - // loop - $('.acf-tab-wrap', $el).each(function(){ - - // vars - var $wrap = $(this); - - - // fix left aligned min-height - if( $wrap.hasClass('-left') ) { - - // vars - var $parent = $wrap.parent(); - var attribute = $parent.is('td') ? 'height' : 'min-height'; - - // find height (minus 1 for border-bottom) - var height = $wrap.position().top + $wrap.children('ul').outerHeight(true) - 1; - - // add css - $parent.css(attribute, height); - - } - - }); - - } - - }); - - - - /** - * acf.fields.tab - * - * description - * - * @date 17/11/17 - * @since 5.6.5 - * - * @param n/a - * @return n/a - */ - - acf.fields.tab = acf.field.extend({ - - type: 'tab', - $el: null, - $wrap: null, - - actions: { - 'prepare': 'initialize', - 'append': 'initialize', - 'hide': 'hide', - 'show': 'show' - }, - - focus: function(){ - - }, - - initialize: function(){ - - // add tab - tabs.addTab( this.$field ); - - }, - - hide: function( $field, context ){ - - // bail early if not conditional logic - if( context != 'conditional_logic' ) return; - - - // vars - var key = $field.data('key'); - var $wrap = tabs.getWrap( $field ); - var $tab = tabs.getTab( $wrap, key ); - var $li = $tab.parent(); - - // bail early if $group does not exist (clone field) - if( !$wrap.exists() ) return; - - - // hide li - $li.addClass( CLASS ); - - - // hide fields - tabs.getFields( $field ).each(function(){ - acf.conditional_logic.hide_field( $(this), key ); - }); - - - // select other tab if active - if( $li.hasClass('active') ) { - $wrap.find('li:not(.'+CLASS+'):first a').trigger('click'); - } - - }, - - show: function( $field, context ){ - - // bail early if not conditional logic - if( context != 'conditional_logic' ) return; - - - // vars - var key = $field.data('key'); - var $wrap = tabs.getWrap( $field ); - var $tab = tabs.getTab( $wrap, key ); - var $li = $tab.parent(); - - - // bail early if $group does not exist (clone field) - if( !$wrap.exists() ) return; - - - // show li - $li.removeClass( CLASS ); - - - // hide fields - tabs.getFields( $field ).each(function(){ - acf.conditional_logic.show_field( $(this), key ); - }); - - - // select tab if no other active - var $active = $li.siblings('.active'); - if( !$active.exists() || $active.hasClass(CLASS) ) { - tabs.toggle( $tab ); - } - - } - - }); - - - $(window).on('unload', function(){ - - var order = []; - $('.acf-tab-wrap').each(function(){ - var active = $(this).find('.active').index() || 0; - order.push(active); - }); - if( !order.length ) return; - acf.setPreference('this.tabs', order); - - }); - - - /* - * tab_validation - * - * This model will handle validation of fields within a tab group - * - * @type function - * @date 25/11/2015 - * @since 5.3.2 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - var tab_validation = acf.model.extend({ - - active: 1, - - actions: { - 'invalid_field': 'invalid_field', - }, - - invalid_field: function( $field ){ - - // bail early if already focused - if( !this.active ) { - return; - } - - - // bail early if not hidden by tab - if( !$field.hasClass('hidden-by-tab') ) { - return; - } - - - // reference - var self = this; - - - // vars - var $tab = $field.prevAll('.acf-field-tab:first'), - $group = $field.prevAll('.acf-tab-wrap:first'); - - - // focus - $group.find('a[data-key="' + $tab.data('key') + '"]').trigger('click'); - - - // disable functionality for 1sec (allow next validation to work) - this.active = 0; - - setTimeout(function(){ - - self.active = 1; - - }, 1000); - - } - - }); - - -})(jQuery); - -(function($){ - - acf.fields.time_picker = acf.field.extend({ - - type: 'time_picker', - $el: null, - $input: null, - $hidden: null, - - o: {}, - - actions: { - 'ready': 'initialize', - 'append': 'initialize' - }, - - events: { - 'blur input[type="text"]': 'blur' - }, - - focus: function(){ - - // get elements - this.$el = this.$field.find('.acf-time-picker'); - this.$input = this.$el.find('input[type="text"]'); - this.$hidden = this.$el.find('input[type="hidden"]'); - - - // get options - this.o = acf.get_data( this.$el ); - - }, - - initialize: function(){ - - // bail ealry if no timepicker library - if( typeof $.timepicker === 'undefined' ) return; - - - // create options - var args = { - timeFormat: this.o.time_format, - altField: this.$hidden, - altFieldTimeOnly: false, - altTimeFormat: 'HH:mm:ss', - showButtonPanel: true, - controlType: 'select', - oneLine: true, - closeText: acf._e('date_time_picker', 'selectText') - }; - - - // add custom 'Close = Select' functionality - args.onClose = function( value, instance ){ - - // vars - var $div = instance.dpDiv, - $close = $div.find('.ui-datepicker-close'); - - - // if clicking close button - if( !value && $close.is(':hover') ) { - - // attempt to find new value - value = acf.maybe_get(instance, 'settings.timepicker.formattedTime'); - - - // bail early if no value - if( !value ) return; - - - // update value - $.datepicker._setTime(instance); - - } - - }; - - - // filter for 3rd party customization - args = acf.apply_filters('time_picker_args', args, this.$field); - - - // add date picker - this.$input.timepicker( args ); - - - // wrap the datepicker (only if it hasn't already been wrapped) - if( $('body > #ui-datepicker-div').exists() ) { - - $('body > #ui-datepicker-div').wrap('
      '); - - } - - - // action for 3rd party customization - acf.do_action('time_picker_init', this.$input, args, this.$field); - - }, - - blur: function(){ - - if( !this.$input.val() ) { - - this.$hidden.val(''); - - } - - } - - }); - -})(jQuery); - -(function($){ - - acf.fields.true_false = acf.field.extend({ - - type: 'true_false', - $switch: null, - $input: null, - - actions: { - 'prepare': 'render', - 'append': 'render', - 'show': 'render' - }, - - events: { - 'change .acf-switch-input': '_change', - 'focus .acf-switch-input': '_focus', - 'blur .acf-switch-input': '_blur', - 'keypress .acf-switch-input': '_keypress' - }, - - - /* - * focus - * - * This function will setup variables when focused on a field - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param n/a - * @return n/a - */ - - focus: function(){ - - // vars - this.$input = this.$field.find('.acf-switch-input'); - this.$switch = this.$field.find('.acf-switch'); - - }, - - - /* - * render - * - * This function is used to setup basic upload form attributes - * - * @type function - * @date 12/04/2016 - * @since 5.3.8 - * - * @param n/a - * @return n/a - */ - - render: function(){ - - // bail ealry if no $switch - if( !this.$switch.exists() ) return; - - - // vars - var $on = this.$switch.children('.acf-switch-on'), - $off = this.$switch.children('.acf-switch-off') - width = Math.max( $on.width(), $off.width() ); - - - // bail ealry if no width - if( !width ) return; - - - // set widths - $on.css( 'min-width', width ); - $off.css( 'min-width', width ); - - }, - - - /* - * on - * - * description - * - * @type function - * @date 10/1/17 - * @since 5.5.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - on: function() { //console.log('on'); - - this.$input.prop('checked', true); - this.$switch.addClass('-on'); - - }, - - - /* - * off - * - * description - * - * @type function - * @date 10/1/17 - * @since 5.5.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - off: function() { //console.log('off'); - - this.$input.prop('checked', false); - this.$switch.removeClass('-on'); - - }, - - - /* - * change - * - * description - * - * @type function - * @date 12/10/16 - * @since 5.4.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - _change: function( e ){ - - // vars - var checked = e.$el.prop('checked'); - - - // enable - if( checked ) { - - this.on(); - - // disable - } else { - - this.off(); - - } - - }, - - - /* - * _focus - * - * description - * - * @type function - * @date 10/1/17 - * @since 5.5.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - _focus: function( e ){ - - this.$switch.addClass('-focus'); - - }, - - - /* - * _blur - * - * description - * - * @type function - * @date 10/1/17 - * @since 5.5.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - _blur: function( e ){ - - this.$switch.removeClass('-focus'); - - }, - - - /* - * _keypress - * - * description - * - * @type function - * @date 10/1/17 - * @since 5.5.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - _keypress: function( e ){ - - // left - if( e.keyCode === 37 ) { - - return this.off(); - - } - - - // right - if( e.keyCode === 39 ) { - - return this.on(); - - } - - } - - }); - -})(jQuery); - -(function($){ - - // taxonomy - acf.fields.taxonomy = acf.field.extend({ - - type: 'taxonomy', - $el: null, - - actions: { - 'ready': 'render', - 'append': 'render', - 'remove': 'remove' - }, - events: { - 'click a[data-name="add"]': 'add_term' - }, - - focus: function(){ - - // $el - this.$el = this.$field.find('.acf-taxonomy-field'); - - - // get options - this.o = acf.get_data(this.$el, { - save: '', - type: '', - taxonomy: '' - }); - - - // extra - this.o.key = this.$field.data('key'); - - }, - - render: function(){ - - // attempt select2 - var $select = this.$field.find('select'); - - - // bail early if no select field - if( !$select.exists() ) return; - - - // select2 options - var args = acf.get_data( $select ); - - - // customize args - args = acf.parse_args(args, { - 'pagination': true, - 'ajax_action': 'acf/fields/taxonomy/query', - 'key': this.o.key - }); - - - // add select2 - acf.select2.init( $select, args ); - - }, - - remove: function(){ - - // attempt select2 - var $select = this.$field.find('select'); - - - // validate ui - if( !$select.exists() ) return false; - - - // remove select2 - acf.select2.destroy( $select ); - - }, - - add_term: function( e ){ - - // reference - var self = this; - - - // open popup - acf.open_popup({ - title: e.$el.attr('title') || e.$el.data('title'), - loading: true, - height: 220 - }); - - - - // AJAX data - var ajax_data = acf.prepare_for_ajax({ - action: 'acf/fields/taxonomy/add_term', - field_key: this.o.key - }); - - - - // get HTML - $.ajax({ - url: acf.get('ajaxurl'), - data: ajax_data, - type: 'post', - dataType: 'html', - success: function(html){ - - self.add_term_confirm( html ); - - } - }); - - - }, - - add_term_confirm: function( html ){ - - // reference - var self = this; - - - // update popup - acf.update_popup({ - content : html - }); - - - // focus - $('#acf-popup input[name="term_name"]').focus(); - - - // events - $('#acf-popup form').on('submit', function( e ){ - - // prevent default - e.preventDefault(); - - - // submit - self.add_term_submit( $(this )); - - }); - - }, - - add_term_submit: function( $form ){ - - // reference - var self = this; - - - // vars - var $submit = $form.find('.acf-submit'), - $name = $form.find('input[name="term_name"]'), - $parent = $form.find('select[name="term_parent"]'); - - - // basic validation - if( $name.val() === '' ) { - - $name.focus(); - return false; - - } - - - // show loading - $submit.find('button').attr('disabled', 'disabled'); - $submit.find('.acf-spinner').addClass('is-active'); - - - // vars - var ajax_data = acf.prepare_for_ajax({ - action: 'acf/fields/taxonomy/add_term', - field_key: this.o.key, - term_name: $name.val(), - term_parent: $parent.exists() ? $parent.val() : 0 - }); - - - // save term - $.ajax({ - url: acf.get('ajaxurl'), - data: ajax_data, - type: 'post', - dataType: 'json', - success: function( json ){ - - // vars - var message = acf.get_ajax_message(json); - - - // success - if( acf.is_ajax_success(json) ) { - - // clear name - $name.val(''); - - - // update term lists - self.append_new_term( json.data ); - - } - - - // message - if( message.text ) { - - $submit.find('span').html( message.text ); - - } - - }, - complete: function(){ - - // reset button - $submit.find('button').removeAttr('disabled'); - - - // hide loading - $submit.find('.acf-spinner').removeClass('is-active'); - - - // remove message - $submit.find('span').delay(1500).fadeOut(250, function(){ - - $(this).html(''); - $(this).show(); - - }); - - - // focus - $name.focus(); - - } - }); - - }, - - append_new_term: function( term ){ - - // vars - var item = { - id: term.term_id, - text: term.term_label - }; - - - // append to all taxonomy lists - $('.acf-taxonomy-field[data-taxonomy="' + this.o.taxonomy + '"]').each(function(){ - - // vars - var type = $(this).data('type'); - - - // bail early if not checkbox/radio - if( type == 'radio' || type == 'checkbox' ) { - - // allow - - } else { - - return; - - } - - - // vars - var $hidden = $(this).children('input[type="hidden"]'), - $ul = $(this).find('ul:first'), - name = $hidden.attr('name'); - - - // allow multiple selection - if( type == 'checkbox' ) { - - name += '[]'; - - } - - - // create new li - var $li = $([ - '
    • ', - '', - '
    • ' - ].join('')); - - - // find parent - if( term.term_parent ) { - - // vars - var $parent = $ul.find('li[data-id="' + term.term_parent + '"]'); - - - // update vars - $ul = $parent.children('ul'); - - - // create ul - if( !$ul.exists() ) { - - $ul = $('
        '); - - $parent.append( $ul ); - - } - - } - - - // append - $ul.append( $li ); - - }); - - - // append to select - $('#acf-popup #term_parent').each(function(){ - - // vars - var $option = $(''); - - if( term.term_parent ) { - - $(this).children('option[value="' + term.term_parent + '"]').after( $option ); - - } else { - - $(this).append( $option ); - - } - - }); - - - // set value - switch( this.o.type ) { - - // select - case 'select': - - //this.$el.children('input').select2('data', item); - - - // vars - var $select = this.$el.children('select'); - acf.select2.add_value($select, term.term_id, term.term_label); - - - break; - - case 'multi_select': - -/* - // vars - var $input = this.$el.children('input'), - value = $input.select2('data') || []; - - - // append - value.push( item ); - - - // update - $input.select2('data', value); - - -*/ - // vars - var $select = this.$el.children('select'); - acf.select2.add_value($select, term.term_id, term.term_label); - - - break; - - case 'checkbox': - case 'radio': - - // scroll to view - var $holder = this.$el.find('.categorychecklist-holder'), - $li = $holder.find('li[data-id="' + term.term_id + '"]'), - offet = $holder.get(0).scrollTop + ( $li.offset().top - $holder.offset().top ); - - - // check input - $li.find('input').prop('checked', true); - - - // scroll to bottom - $holder.animate({scrollTop: offet}, '250'); - break; - - } - - - } - - }); - -})(jQuery); - -(function($){ - - acf.fields.url = acf.field.extend({ - - type: 'url', - $input: null, - - actions: { - 'ready': 'render', - 'append': 'render' - - }, - - events: { - 'keyup input[type="url"]': 'render' - }, - - focus: function(){ - - this.$input = this.$field.find('input[type="url"]'); - - }, - - is_valid: function(){ - - // vars - var val = this.$input.val(); - - - if( val.indexOf('://') !== -1 ) { - - // url - - } else if( val.indexOf('//') === 0 ) { - - // protocol relative url - - } else { - - return false; - - } - - - // return - return true; - - }, - - render: function(){ - - // add class - if( this.is_valid() ) { - - this.$input.parent().addClass('-valid'); - - // remove class - } else { - - this.$input.parent().removeClass('-valid'); - - } - - - } - - }); - -})(jQuery); - -(function($){ - - acf.validation = acf.model.extend({ - - actions: { - 'ready': 'ready', - 'append': 'ready' - }, - - filters: { - 'validation_complete': 'validation_complete' - }, - - events: { - 'click #save-post': 'click_ignore', - 'click [type="submit"]': 'click_publish', - 'submit form': 'submit_form', - 'click .acf-error-message a': 'click_message' - }, - - - // vars - active: 1, - ignore: 0, - busy: 0, - valid: true, - errors: [], - - - // classes - error_class: 'acf-error', - message_class: 'acf-error-message', - - - // el - $trigger: null, - - - /* - * ready - * - * This function will add 'non bubbling' events - * - * @type function - * @date 26/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - ready: function( $el ){ - - // vars - var $inputs = $('.acf-field input, .acf-field textarea, .acf-field select'); - - - // bail early if no inputs - if( !$inputs.length ) return; - - - // reference - var self = this; - - - // event - $inputs.on('invalid', function( e ){ - - // vars - var $input = $(this); - var $field = acf.get_field_wrap( $input ); - - - // event - $field.trigger('invalidField'); - - - // action - acf.do_action('invalid', $input); - acf.do_action('invalid_field', $field); - - - // save draft (ignore validation) - if( acf.validation.ignore ) return; - - - // prevent default - // - prevents browser error message - // - also fixes chrome bug where 'hidden-by-tab' field throws focus error - e.preventDefault(); - - - // append to errors - acf.validation.errors.push({ - input: $input.attr('name'), - message: e.target.validationMessage - }); - - - // invalid event has prevented the form from submitting - // trigger acf validation fetch (safe to call multiple times) - acf.validation.fetch( $input.closest('form') ); - - }); - - }, - - - /* - * validation_complete - * - * This function will modify the JSON response and add local 'invalid' errors - * - * @type function - * @date 26/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - validation_complete: function( json, $form ) { - - // bail early if no local errors - if( !this.errors.length ) return json; - - - // set valid - json.valid = 0; - - - // require array - json.errors = json.errors || []; - - - // vars - var inputs = []; - - - // populate inputs - if( json.errors.length ) { - - for( i in json.errors ) { - - inputs.push( json.errors[ i ].input ); - - } - - } - - - // append - if( this.errors.length ) { - - for( i in this.errors ) { - - // vars - var error = this.errors[ i ]; - - - // bail ealry if alreay exists - if( $.inArray(error.input, inputs) !== -1 ) continue; - - - // append - json.errors.push( error ); - - } - - } - - - // reset - this.errors = []; - - - // return - return json; - - }, - - - /* - * click_message - * - * This function will dismiss the validation message - * - * @type function - * @date 26/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - click_message: function( e ) { - - e.preventDefault(); - - acf.remove_el( e.$el.parent() ); - - }, - - - /* - * click_ignore - * - * This event is trigered via submit butons which ignore validation - * - * @type function - * @date 4/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - click_ignore: function( e ) { - - // reference - var self = this; - - - // vars - this.ignore = 1; - this.$trigger = e.$el; - this.$form = e.$el.closest('form'); - - - // remove error message - $('.'+this.message_class).each(function(){ - acf.remove_el( $(this) ); - }); - - - // ignore required inputs - this.ignore_required_inputs(); - - - // maybe show errors - setTimeout(function(){ - self.ignore = 0; - }, 100); - - }, - - - /** - * ignore_required_inputs - * - * This function will temporarily remove the 'required' attribute from all ACF inputs - * - * @date 23/10/17 - * @since 5.6.3 - * - * @param n/a - * @return n/a - */ - - ignore_required_inputs: function(){ - - // vars - var $inputs = $('.acf-field input[required], .acf-field textarea[required], .acf-field select[required]'); - - - // bail early if no inputs - if( !$inputs.length ) return; - - - // remove required - $inputs.prop('required', false); - - - // timeout - setTimeout(function(){ - $inputs.prop('required', true); - }, 100); - - }, - - - /* - * click_publish - * - * This event is trigered via submit butons which trigger validation - * - * @type function - * @date 4/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - click_publish: function( e ) { - - this.$trigger = e.$el; - - }, - - - /* - * submit_form - * - * description - * - * @type function - * @date 4/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - submit_form: function( e ){ - - // bail early if not active - if( !this.active ) { - - return true; - - } - - - // ignore validation (only ignore once) - if( this.ignore ) { - - this.ignore = 0; - return true; - - } - - - // bail early if this form does not contain ACF data - if( !e.$el.find('#acf-form-data').exists() ) { - - return true; - - } - - - // bail early if is preview - var $preview = e.$el.find('#wp-preview'); - if( $preview.exists() && $preview.val() ) { - - // WP will lock form, unlock it - this.toggle( e.$el, 'unlock' ); - return true; - - } - - - // prevent default - e.preventDefault(); - - - // run validation - this.fetch( e.$el ); - - }, - - - /* - * lock - * - * description - * - * @type function - * @date 7/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - toggle: function( $form, state ){ - - // defaults - state = state || 'unlock'; - - - // debug - //console.log('toggle %o, %o %o', this.$trigger, $form, state); - - // vars - var $submit = null, - $spinner = null, - $parent = $('#submitdiv'); - - - // 3rd party publish box - if( !$parent.exists() ) { - - $parent = $('#submitpost'); - - } - - - // term, user - if( !$parent.exists() ) { - - $parent = $form.find('p.submit').last(); - - } - - - // front end form - if( !$parent.exists() ) { - - $parent = $form.find('.acf-form-submit'); - - } - - - // default - if( !$parent.exists() ) { - - $parent = $form; - - } - - - // find elements - // note: media edit page does not use .button, this is why we need to look for generic input[type="submit"] - $submit = $parent.find('input[type="submit"], .button'); - $spinner = $parent.find('.spinner, .acf-spinner'); - - - // hide all spinners (hides the preview spinner) - this.hide_spinner( $spinner ); - - - // unlock - if( state == 'unlock' ) { - - this.enable_submit( $submit ); - - // lock - } else if( state == 'lock' ) { - - // show only last spinner (allow all spinners to be hidden - preview spinner + submit spinner) - this.disable_submit( $submit ); - this.show_spinner( $spinner.last() ); - - } - - }, - - - /* - * fetch - * - * description - * - * @type function - * @date 4/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - fetch: function( $form ){ - - // bail aelry if already busy - if( this.busy ) return false; - - - // reference - var self = this; - - - // action for 3rd party - acf.do_action('validation_begin'); - - - // vars - var data = acf.serialize($form); - - - // append AJAX action - data.action = 'acf/validate_save_post'; - - - // prepare - data = acf.prepare_for_ajax(data); - - - // set busy - this.busy = 1; - - - // lock form - this.toggle( $form, 'lock' ); - - - // ajax - $.ajax({ - url: acf.get('ajaxurl'), - data: data, - type: 'post', - dataType: 'json', - success: function( json ){ - - // bail early if not json success - if( !acf.is_ajax_success(json) ) { - - return; - - } - - - self.fetch_success( $form, json.data ); - - }, - complete: function(){ - - self.fetch_complete( $form ); - - } - }); - - }, - - - /* - * fetch_complete - * - * description - * - * @type function - * @date 4/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - fetch_complete: function( $form ){ - - // set busy - this.busy = 0; - - - // unlock so WP can publish form - this.toggle( $form, 'unlock' ); - - - // bail early if validationw as not valid - if( !this.valid ) return; - - - // update ignore (allow form submit to not run validation) - this.ignore = 1; - - - // remove previous error message - var $message = $form.children('.acf-error-message'); - - if( $message.exists() ) { - - $message.addClass('-success'); - $message.children('p').html( acf._e('validation_successful') ); - - - // remove message - setTimeout(function(){ - - acf.remove_el( $message ); - - }, 2000); - - } - - - // remove hidden postboxes (this will stop them from being posted to save) - $form.find('.acf-postbox.acf-hidden').remove(); - - - // action for 3rd party customization - acf.do_action('submit', $form); - - - // submit form again - if( this.$trigger ) { - - this.$trigger.click(); - - } else { - - $form.submit(); - - } - - - // lock form - this.toggle( $form, 'lock' ); - - }, - - - /* - * fetch_success - * - * description - * - * @type function - * @date 4/05/2015 - * @since 5.2.3 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - fetch_success: function( $form, json ){ - - // filter for 3rd party customization - json = acf.apply_filters('validation_complete', json, $form); - - - // validate json - if( !json || json.valid || !json.errors ) { - - // set valid (allows fetch_complete to run) - this.valid = true; - - - // action for 3rd party - acf.do_action('validation_success'); - - - // end function - return; - - } - - // set valid (prevents fetch_complete from runing) - this.valid = false; - - - // reset trigger - this.$trigger = null; - - - // display errors - this.display_errors( json.errors, $form ); - - - // action - acf.do_action('validation_failure'); - - }, - - - /** - * display_errors - * - * This function will display errors - * - * @date 23/10/17 - * @since 5.6.3 - * - * @param array errors - * @return n/a - */ - - display_errors: function( errors, $form ){ - - // bail early if no errors - if( !errors || !errors.length ) return; - - - // vars - var $message = $form.children('.acf-error-message'); - var message = acf._e('validation_failed'); - var count = 0; - var $scrollTo = null; - - - // loop - for( i = 0; i < errors.length; i++ ) { - - // vars - var error = errors[ i ]; - - - // general error - if( !error.input ) { - message += '. ' + error.message; - continue; - } - - - // get input - var $input = $form.find('[name="' + error.input + '"]').first(); - - - // if $_POST value was an array, this $input may not exist - if( !$input.exists() ) { - $input = $form.find('[name^="' + error.input + '"]').first(); - } - - - // bail early if input doesn't exist - if( !$input.exists() ) continue; - - - // increase - count++; - - - // now get field - var $field = acf.get_field_wrap( $input ); - - - // add error - this.add_error( $field, error.message ); - - - // set $scrollTo - if( $scrollTo === null ) { - $scrollTo = $field; - } - - } - - - // message - if( count == 1 ) { - message += '. ' + acf._e('validation_failed_1'); - } else if( count > 1 ) { - message += '. ' + acf._e('validation_failed_2').replace('%d', count); - } - - - // maybe create $message - if( !$message.exists() ) { - $message = $('

        '); - $form.prepend( $message ); - } - - - // update message - $message.children('p').html( message ); - - - // if no $scrollTo, set to message - if( $scrollTo === null ) { - $scrollTo = $message; - } - - - // timeout - setTimeout(function(){ - $("html, body").animate({ scrollTop: $scrollTo.offset().top - ( $(window).height() / 2 ) }, 500); - }, 10); - - }, - - - /* - * add_error - * - * This function will add error markup to a field - * - * @type function - * @date 4/05/2015 - * @since 5.2.3 - * - * @param $field (jQuery) - * @param message (string) - * @return n/a - */ - - add_error: function( $field, message ){ - - // reference - var self = this; - - - // add class - $field.addClass(this.error_class); - - - // add message - if( message !== undefined ) { - - $field.children('.acf-input').children('.' + this.message_class).remove(); - $field.children('.acf-input').prepend('

        ' + message + '

        '); - - } - - - // add event - var event = function(){ - - // remove error - self.remove_error( $field ); - - - // remove self - $field.off('focus change', 'input, textarea, select', event); - - } - - $field.on('focus change', 'input, textarea, select', event); - - - // event - $field.trigger('invalidField'); - - - // hook for 3rd party customization - acf.do_action('add_field_error', $field); - acf.do_action('invalid_field', $field); - - }, - - - /* - * remove_error - * - * This function will remove error markup from a field - * - * @type function - * @date 4/05/2015 - * @since 5.2.3 - * - * @param $field (jQuery) - * @return n/a - */ - - remove_error: function( $field ){ - - // var - var $message = $field.children('.acf-input').children('.' + this.message_class); - - - // remove class - $field.removeClass(this.error_class); - - - // remove message - setTimeout(function(){ - - acf.remove_el( $message ); - - }, 250); - - - // hook for 3rd party customization - acf.do_action('remove_field_error', $field); - acf.do_action('valid_field', $field); - - }, - - - /* - * add_warning - * - * This functino will add and auto remove an error message to a field - * - * @type function - * @date 4/05/2015 - * @since 5.2.3 - * - * @param $field (jQuery) - * @param message (string) - * @return n/a - */ - - add_warning: function( $field, message ){ - - this.add_error( $field, message ); - - setTimeout(function(){ - - acf.validation.remove_error( $field ) - - }, 1000); - - }, - - - /* - * show_spinner - * - * This function will show a spinner element. Logic changed in WP 4.2 - * - * @type function - * @date 3/05/2015 - * @since 5.2.3 - * - * @param $spinner (jQuery) - * @return n/a - */ - - show_spinner: function( $spinner ){ - - // bail early if no spinner - if( !$spinner.exists() ) { - - return; - - } - - - // vars - var wp_version = acf.get('wp_version'); - - - // show - if( parseFloat(wp_version) >= 4.2 ) { - - $spinner.addClass('is-active'); - - } else { - - $spinner.css('display', 'inline-block'); - - } - - }, - - - /* - * hide_spinner - * - * This function will hide a spinner element. Logic changed in WP 4.2 - * - * @type function - * @date 3/05/2015 - * @since 5.2.3 - * - * @param $spinner (jQuery) - * @return n/a - */ - - hide_spinner: function( $spinner ){ - - // bail early if no spinner - if( !$spinner.exists() ) { - - return; - - } - - - // vars - var wp_version = acf.get('wp_version'); - - - // hide - if( parseFloat(wp_version) >= 4.2 ) { - - $spinner.removeClass('is-active'); - - } else { - - $spinner.css('display', 'none'); - - } - - }, - - - /* - * disable_submit - * - * This function will disable the $trigger is possible - * - * @type function - * @date 3/05/2015 - * @since 5.2.3 - * - * @param $spinner (jQuery) - * @return n/a - */ - - disable_submit: function( $submit ){ - - // bail early if no submit - if( !$submit.exists() ) { - - return; - - } - - - // add class - $submit.addClass('disabled button-disabled button-primary-disabled'); - - }, - - - /* - * enable_submit - * - * This function will enable the $trigger is possible - * - * @type function - * @date 3/05/2015 - * @since 5.2.3 - * - * @param $spinner (jQuery) - * @return n/a - */ - - enable_submit: function( $submit ){ - - // bail early if no submit - if( !$submit.exists() ) { - - return; - - } - - - // remove class - $submit.removeClass('disabled button-disabled button-primary-disabled'); - - } - - }); - -})(jQuery); - -(function($){ - - acf.fields.wysiwyg = acf.field.extend({ - - type: 'wysiwyg', - $el: null, - $textarea: null, - toolbars: {}, - - events: { - 'mousedown .acf-editor-wrap.delay': 'mousedown' - }, - - actions: { - 'load': 'initialize', - 'append': 'initialize', - 'remove': 'disable', - 'sortstart': 'disable', - 'sortstop': 'enable' - }, - - focus: function(){ - - // get elements - this.$el = this.$field.find('.wp-editor-wrap').last(); - this.$textarea = this.$el.find('textarea'); - - - // get options - this.o = acf.get_data(this.$el, { - toolbar: '', - active: this.$el.hasClass('tmce-active'), - id: this.$textarea.attr('id') - }); - - }, - - mousedown: function(e){ - - // prevent default - e.preventDefault(); - - - // remove delay class - this.$el.removeClass('delay'); - this.$el.find('.acf-editor-toolbar').remove(); - - - // initialize - this.initialize(); - - }, - - initialize: function(){ - - // bail early if delay - if( this.$el.hasClass('delay') ) return; - - - // vars - var args = { - tinymce: true, - quicktags: true, - toolbar: this.o.toolbar, - mode: this.o.active ? 'visual' : 'text', - }; - - - // generate new id - var old_id = this.o.id, - new_id = acf.get_uniqid('acf-editor-'), - html = this.$el.outerHTML(); - - - // replace - html = acf.str_replace( old_id, new_id, html ); - - - // swap - this.$el.replaceWith( html ); - - - // update id - this.o.id = new_id; - - - // initialize - acf.tinymce.initialize( this.o.id, args, this.$field ); - - }, - - disable: function(){ - - acf.tinymce.destroy( this.o.id ); - - }, - - enable: function(){ - - if( this.o.active ) { - acf.tinymce.enable( this.o.id ); - } - - } - - }); - - - /* - * acf.tinymce - * - * description - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - acf.tinymce = acf.model.extend({ - - toolbars: {}, - - actions: { - 'ready': 'ready' - }, - - - /* - * ready - * - * This function will move the acf-hidden-wp-editor and fix the activeEditor - * - * @type function - * @date 18/8/17 - * @since 5.6.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - ready: function(){ - - // vars - var $div = $('#acf-hidden-wp-editor'); - - - // bail early if doesn't exist - if( !$div.exists() ) return; - - - // move to footer - $div.appendTo('body'); - - - // bail early if no tinymce - if( !acf.isset(window,'tinymce','on') ) return; - - - // restore default activeEditor - tinymce.on('AddEditor', function( data ){ - - // vars - var editor = data.editor; - - - // bail early if not 'acf' - if( editor.id.substr(0, 3) !== 'acf' ) return; - - - // override if 'content' exists - editor = tinymce.editors.content || editor; - - - // update vars - tinymce.activeEditor = editor; - wpActiveEditor = editor.id; - - }); - - }, - + acf.tinymce = { /* * defaults @@ -14195,17 +11452,14 @@ var acf; // bail early if no tinyMCEPreInit if( typeof tinyMCEPreInit === 'undefined' ) return false; - // vars var defaults = { tinymce: tinyMCEPreInit.mceInit.acf_content, quicktags: tinyMCEPreInit.qtInit.acf_content }; - // return return defaults; - }, @@ -14222,38 +11476,31 @@ var acf; * @return $post_id (int) */ - initialize: function( id, args, $field ){ + initialize: function( id, args ){ // defaults - args = args || {}; - $field = $field || null; - - - // merge - args = acf.parse_args(args, { + args = acf.parseArgs(args, { tinymce: true, quicktags: true, toolbar: 'full', mode: 'visual', // visual,text + field: false }); - // tinymce if( args.tinymce ) { - this.initialize_tinymce( id, args, $field ); + this.initializeTinymce( id, args ); } - // quicktags if( args.quicktags ) { - this.initialize_quicktags( id, args, $field ); + this.initializeQuicktags( id, args ); } - }, /* - * initialize_tinymce + * initializeTinymce * * This function will initialize the tinymce instance * @@ -14265,31 +11512,29 @@ var acf; * @return $post_id (int) */ - initialize_tinymce: function( id, args, $field ){ + initializeTinymce: function( id, args ){ // vars var $textarea = $('#'+id); var defaults = this.defaults(); - var toolbars = this.toolbars; - + var toolbars = acf.get('toolbars'); + var field = args.field || false; + var $field = field.$el || false; // bail early if( typeof tinymce === 'undefined' ) return false; if( !defaults ) return false; - // check if exists if( tinymce.get(id) ) { return this.enable( id ); } - // settings - init = $.extend( {}, defaults.tinymce, args.tinymce ); + var init = $.extend( {}, defaults.tinymce, args.tinymce ); init.id = id; init.selector = '#' + id; - // toolbar var toolbar = args.toolbar; if( toolbar && typeof toolbars[toolbar] !== 'undefined' ) { @@ -14297,17 +11542,11 @@ var acf; for( var i = 1; i <= 4; i++ ) { init[ 'toolbar' + i ] = toolbars[toolbar][i] || ''; } - } - // event init.setup = function( ed ){ - ed.on('focus', function(e) { - acf.validation.remove_error( $field ); - }); - ed.on('change', function(e) { ed.save(); // save to textarea $textarea.trigger('change'); @@ -14319,46 +11558,44 @@ var acf; }; - // disable wp_autoresize_on (no solution yet for fixed toolbar) init.wp_autoresize_on = false; - // hook for 3rd party customization - init = acf.apply_filters('wysiwyg_tinymce_settings', init, id, $field); - + init = acf.applyFilters('wysiwyg_tinymce_settings', init, id, field); // z-index fix (caused too many conflicts) //if( acf.isset(tinymce,'ui','FloatPanel') ) { // tinymce.ui.FloatPanel.zIndex = 900000; //} - // store settings tinyMCEPreInit.mceInit[ id ] = init; - // visual tab is active if( args.mode == 'visual' ) { // init - tinymce.init( init ); - + var result = tinymce.init( init ); // get editor var ed = tinymce.get( id ); + // validate + if( !ed ) { + return false; + } + + // add reference + ed.acf = args.field; // action - acf.do_action('wysiwyg_tinymce_init', ed, ed.id, init, $field); - + acf.doAction('wysiwyg_tinymce_init', ed, ed.id, init, field); } - }, - /* - * initialize_quicktags + * initializeQuicktags * * This function will initialize the quicktags instance * @@ -14370,46 +11607,45 @@ var acf; * @return $post_id (int) */ - initialize_quicktags: function( id, args, $field ){ + initializeQuicktags: function( id, args ){ // vars var defaults = this.defaults(); - // bail early if( typeof quicktags === 'undefined' ) return false; if( !defaults ) return false; - // settings - init = $.extend( {}, defaults.quicktags, args.quicktags ); + var init = $.extend( {}, defaults.quicktags, args.quicktags ); init.id = id; - // filter - init = acf.apply_filters('wysiwyg_quicktags_settings', init, init.id, $field); - + var field = args.field || false; + var $field = field.$el || false; + init = acf.applyFilters('wysiwyg_quicktags_settings', init, init.id, field); // store settings tinyMCEPreInit.qtInit[ id ] = init; - // init var ed = quicktags( init ); + // validate + if( !ed ) { + return false; + } // generate HTML - this.build_quicktags( ed ); - + this.buildQuicktags( ed ); // action for 3rd party customization - acf.do_action('wysiwyg_quicktags_init', ed, ed.id, init, $field); - + acf.doAction('wysiwyg_quicktags_init', ed, ed.id, init, field); }, /* - * build_quicktags + * buildQuicktags * * This function will build the quicktags HTML * @@ -14421,7 +11657,7 @@ var acf; * @return $post_id (int) */ - build_quicktags: function( ed ){ + buildQuicktags: function( ed ){ var canvas, name, settings, theButtons, html, ed, id, i, use, instanceId, defaults = ',strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,'; @@ -14478,100 +11714,1819 @@ var acf; }, disable: function( id ){ - - this.destroy( id ); - + this.destroyTinymce( id ); + }, + + remove: function( id ){ + this.destroyTinymce( id ); }, destroy: function( id ){ - - this.destroy_tinymce( id ); - + this.destroyTinymce( id ); }, - destroy_tinymce: function( id ){ + destroyTinymce: function( id ){ // bail early if( typeof tinymce === 'undefined' ) return false; - // get editor var ed = tinymce.get( id ); - // bail early if no editor if( !ed ) return false; - // save ed.save(); - // destroy editor ed.destroy(); - // return return true; - }, enable: function( id ){ - - this.enable_tinymce( id ); - + this.enableTinymce( id ); }, - enable_tinymce: function( id ){ + enableTinymce: function( id ){ // bail early if( typeof switchEditors === 'undefined' ) return false; - // bail ealry if not initialized if( typeof tinyMCEPreInit.mceInit[ id ] === 'undefined' ) return false; - // toggle switchEditors.go( id, 'tmce'); - // return return true; - + } + }; + + var editorManager = new acf.Model({ + + // hook in before fieldsEventManager, conditions, etc + priority: 5, + + actions: { + 'prepare': 'onPrepare', + 'ready': 'onReady', }, + onPrepare: function(){ + + // find hidden editor which may exist within a field + var $div = $('#acf-hidden-wp-editor'); + + // move to footer + if( $div.exists() ) { + $div.appendTo('body'); + } + }, + onReady: function(){ + + // bail early if no tinymce + if( !acf.isset(window,'tinymce','on') ) return; + + // restore default activeEditor + tinymce.on('AddEditor', function( data ){ + + // vars + var editor = data.editor; + + // bail early if not 'acf' + if( editor.id.substr(0, 3) !== 'acf' ) return; + + // override if 'content' exists + editor = tinymce.editors.content || editor; + + // update vars + tinymce.activeEditor = editor; + wpActiveEditor = editor.id; + }); + } + }); + +})(jQuery); + +(function($, undefined){ + + /** + * acf.validation + * + * Global validation logic + * + * @date 4/4/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + acf.validation = new acf.Model({ + + // enable / disable validation logic + active: true, + + // temp ignore flag allowing bypass of validation + ignore: false, + + // errors + errors: [], + + // active form + form: false, + + // wait + wait: 'prepare', + + actions: { + 'ready': 'addInputEvents', + 'append': 'addInputEvents' + }, + + events: { + 'click #publish': 'onClickPublish', + 'click #submit': 'onClickPublish', + 'click #save-post': 'onClickSave', + 'submit form': 'onSubmit', + }, + + initialize: function(){ + + // load global setting + if( !acf.get('validation') ) { + this.disable(); + this.actions = {}; + this.events = {}; + } + }, + + getForm: function( $form ){ + + // instantiate + var form = $form.data('acf'); + if( !form ) { + form = new Form( $form ); + } + + // store + this.form = form; + + // return + return form; + }, + + enable: function(){ + this.active = true; + }, + + disable: function(){ + this.active = false; + }, + + pass: function(){ + this.ignore = true; + this.setTimeout(function(){ + this.ignore = false; + }, 100); + }, + + reset: function(){ + this.ignore = false; + this.errors = []; + this.form = false; + }, + + getErrors: function(){ + return this.errors; + }, + + hasErrors: function(){ + return this.errors.length; + }, + + addErrors: function( errors ){ + errors.map( this.addError, this ); + }, + + addError: function( error ){ + this.errors.push( error ); + }, + + getFieldErrors: function(){ + + // vars + var errors = []; + var inputs = []; + + // loop + this.getErrors().map(function(error){ + + // bail early if global + if( !error.input ) return; + + // update if exists + var i = inputs.indexOf(error.input); + if( i > -1 ) { + errors[ i ] = error; + + // update + } else { + errors.push( error ); + inputs.push( error.input ); + } + }); + + // return + return errors; + }, + + getGlobalErrors: function(){ + + // return array of errors that contain no input + return this.getErrors().filter(function(error){ + return !error.input; + }); + }, + + showErrors: function( $form ){ + + // bail early if no errors + if( !this.hasErrors() ) { + return; + } + + // vars + var form = this.getForm( $form ); + var fieldErrors = this.getFieldErrors(); + var globalErrors = this.getGlobalErrors(); + + // vars + var errorCount = 0; + var $scrollTo = false; + + // loop + fieldErrors.map(function( error ){ + + // get input + var $input = $form.find('[name="' + error.input + '"]').first(); + + // if $_POST value was an array, this $input may not exist + if( !$input.exists() ) { + $input = $form.find('[name^="' + error.input + '"]').first(); + } + + // bail early if input doesn't exist + if( !$input.exists() ) { + return; + } + + // increase + errorCount++; + + // get field + var field = acf.getClosestField( $input ); + + // show error + field.showError( error.message ); + + // set $scrollTo + if( !$scrollTo ) { + $scrollTo = field.$el; + } + }, this); + + // errorMessage + var errorMessage = acf.__('Validation failed'); + if( errorCount == 1 ) { + errorMessage += '. ' + acf.__('1 field requires attention'); + } else if( errorCount > 1 ) { + errorMessage += '. ' + acf.__('%d fields require attention').replace('%d', errorCount); + } + + // notice + if( form.notice ) { + form.notice.update({ + type: 'error', + text: errorMessage + }); + } else { + form.notice = acf.newNotice({ + type: 'error', + text: errorMessage, + target: $form + }); + } + + // if no $scrollTo, set to message + if( !$scrollTo ) { + $scrollTo = form.notice.$el; + } + + // timeout + setTimeout(function(){ + $("html, body").animate({ scrollTop: $scrollTo.offset().top - ( $(window).height() / 2 ) }, 500); + }, 10); + }, + + fetch: function( args ){ + + // bail early if busy + if( this.busy ) { + return; + } + + // set busy + this.busy = 1; + + // vars + args = acf.parseArgs(args, { + + // form element + form: false, + + // trigger event + event: false, + + // lock form on success + lock: true, + + // loading callback + loading: function(){}, + + // complete callback + complete: function(){}, + + // failure callback + failure: function(){}, + + // success callback + success: function( $form ){ + $form.submit(); + } + }); + + // vars + var $form = args.form; + var form = this.getForm( $form ); + + // create event specific success callback + if( args.event ) { + var event = $.Event(null, args.event); + args.success = function(){ + $(event.target).trigger( event ); + } + } + + // action for 3rd party + acf.doAction('validation_begin', $form); + + // data + var data = acf.serialize( $form ); + data.action = 'acf/validate_save_post'; + + // lock form + this.lockForm( $form ); + + // loading callback + args.loading( $form ); + + // success + var onSuccess = function( json ){ + + // validate + if( !acf.isAjaxSuccess(json) ) { + return; + } + + // filter + data = acf.applyFilters('validation_complete', json.data, $form); + + // add errors + if( !data.valid ) { + this.addErrors( data.errors ); + } + }; + + // complete + var onComplete = function(){ + + // set busy + this.busy = 0; + + // unlock form + this.unlockForm( $form ); + + // failure + if( this.hasErrors() ) { + + // action + acf.doAction('validation_failure', $form); + + // display errors + this.showErrors( $form ); + + // failure callback + args.failure( $form ); + + // success + } else { + + // allow for to pass + this.pass(); + + // remove previous error message + if( form.notice ) { + form.notice.update({ + type: 'success', + text: acf.__('Validation successful'), + timeout: 1000 + }); + } + + // action + acf.doAction('validation_success', $form); + acf.doAction('submit', $form); + + // success callback (submit form) + args.success( $form ); + + // lock form + if( args.lock ) { + this.lockForm( $form ); + } + } + + // reset + this.reset(); + + // complete callback + args.complete( $form ); + }; + + // ajax + $.ajax({ + url: acf.get('ajaxurl'), + data: acf.prepareForAjax(data), + type: 'post', + dataType: 'json', + context: this, + success: onSuccess, + complete: onComplete + }); + }, + + addInputEvents: function( $el ){ + + // vars + var $inputs = $('.acf-field [name]'); + + // check + if( $inputs.length ) { + this.on( $inputs, 'invalid', 'onInvalid' ); + } + }, + + onInvalid: function( e, $el ){ + + // vars + var $form = $el.closest('form'); + + // add error + this.addError({ + input: $el.attr('name'), + message: e.target.validationMessage + }); + + // prevent default + // - prevents browser error message + // - also fixes chrome bug where 'hidden-by-tab' field throws focus error + e.preventDefault(); + + // trigger submit on $form + // - allows for "save", "preview" and "publish" to work + $form.submit(); + }, + + // fixes bug on User Profile edit form + // - WP prevents $form.submit() events for unknown reason + // - temp store 'click event' and use later in onSubmit + onClickPublish: function( e, $el ){ + this.set('originalEvent', e); + this.setTimeout(function(){ + this.set('originalEvent', null); + }, 100); + }, + + onClickSave: function( e, $el ) { + + // ignore errors + this.pass(); + }, + + onSubmit: function( e, $form ){ + + // validate + var valid = acf.validateForm({ + form: $form, + event: this.get('originalEvent') || e + }); + + // if not valid, stop event and allow validation to continue + if( !valid ) { + e.preventDefault(); + } + }, + + showSpinner: function( $spinner ){ + $spinner.addClass('is-active'); // add class (WP > 4.2) + $spinner.css('display', 'inline-block'); // css (WP < 4.2) + }, + + hideSpinner: function( $spinner ){ + $spinner.removeClass('is-active'); // add class (WP > 4.2) + $spinner.css('display', 'none'); // css (WP < 4.2) + }, + + disableSubmit: function( $submit ){ + $submit.prop('disabled', true).addClass('disabled'); + }, + + enableSubmit: function( $submit ){ + $submit.prop('disabled', false).removeClass('disabled'); + }, + + findSubmitWrap: function( $form ){ + + // default post submit div + var $wrap = $('#submitdiv'); + if( $wrap.length ) { + return $wrap; + } + + // 3rd party publish box + var $wrap = $('#submitpost'); + if( $wrap.length ) { + return $wrap; + } + + // term, user + var $wrap = $form.find('p.submit').last(); + if( $wrap.length ) { + return $wrap; + } + + // front end form + var $wrap = $form.find('.acf-form-submit'); + if( $wrap.length ) { + return $wrap; + } + + // default + return $form; + }, + + lockForm: function( $form ){ + + // vars + var $wrap = this.findSubmitWrap( $form ); + var $submit = $wrap.find('.button, .acf-button'); + var $spinner = $wrap.find('.spinner, .acf-spinner'); + + // hide all spinners (hides the preview spinner) + this.hideSpinner( $spinner ); + + // lock + this.disableSubmit( $submit ); + this.showSpinner( $spinner.last() ); + }, + + unlockForm: function( $form ){ + + // vars + var $wrap = this.findSubmitWrap( $form ); + var $submit = $wrap.find('.button, .acf-button'); + var $spinner = $wrap.find('.spinner, .acf-spinner'); + + // unlock + this.enableSubmit( $submit ); + this.hideSpinner( $spinner ); + } }); - + /** + * Form + * + * description + * + * @date 5/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var Form = acf.Model.extend({ + notice: false, + setup: function( $form ){ + this.$el = $form; + }, + lock: function(){ + acf.validation.lockForm( this.$el ); + }, + unlock: function(){ + acf.validation.unlockForm( this.$el ); + } + }); + + /** + * acf.validateForm + * + * description + * + * @date 4/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.validateForm = function( args ){ + + // bail early if no form + // - return true allowing form submit + if( !args.form ) { + return true; + } + + // get form + var form = acf.validation.getForm( args.form ); + + // bail early if not active + // - return true allowing form submit + if( !acf.validation.active ) { + return true; + } + + // bail early if ignore + // - return true allowing form submit + if( acf.validation.ignore ) { + return true; + } + + // bail early if is preview + // - return true allowing form submit + if( form.$('#wp-preview').val() ) { + form.unlock(); + return true; + } + + // bail early if this form does not contain ACF data + // - return true allowing form submit + if( !form.$('#acf-form-data').length ) { + return true; + } + + // validate + acf.validation.fetch( args ); + + // return false preventing form submit + return false; + }; + })(jQuery); -// @codekit-prepend "../js/event-manager.js"; -// @codekit-prepend "../js/acf.js"; -// @codekit-prepend "../js/acf-ajax.js"; -// @codekit-prepend "../js/acf-button-group.js"; -// @codekit-prepend "../js/acf-checkbox.js"; -// @codekit-prepend "../js/acf-color-picker.js"; -// @codekit-prepend "../js/acf-conditional-logic.js"; -// @codekit-prepend "../js/acf-date-picker.js"; -// @codekit-prepend "../js/acf-date-time-picker.js"; -// @codekit-prepend "../js/acf-file.js"; -// @codekit-prepend "../js/acf-google-map.js"; -// @codekit-prepend "../js/acf-image.js"; -// @codekit-prepend "../js/acf-link.js"; -// @codekit-prepend "../js/acf-media.js"; -// @codekit-prepend "../js/acf-oembed.js"; -// @codekit-prepend "../js/acf-radio.js"; -// @codekit-prepend "../js/acf-range.js"; -// @codekit-prepend "../js/acf-relationship.js"; -// @codekit-prepend "../js/acf-select2.js"; -// @codekit-prepend "../js/acf-select.js"; -// @codekit-prepend "../js/acf-accordion.js"; -// @codekit-prepend "../js/acf-tab.js"; -// @codekit-prepend "../js/acf-time-picker.js"; -// @codekit-prepend "../js/acf-true-false.js"; -// @codekit-prepend "../js/acf-taxonomy.js"; -// @codekit-prepend "../js/acf-url.js"; -// @codekit-prepend "../js/acf-validation.js"; -// @codekit-prepend "../js/acf-wysiwyg.js"; +(function($, undefined){ + + /** + * refreshHelper + * + * description + * + * @date 1/7/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var refreshHelper = new acf.Model({ + priority: 90, + timeout: 0, + actions: { + 'new_field': 'refresh', + 'show_field': 'refresh', + 'hide_field': 'refresh', + 'remove_field': 'refresh' + }, + refresh: function(){ + clearTimeout( this.timeout ); + this.timeout = setTimeout(function(){ + acf.doAction('refresh'); + }, 0); + } + }); + + + /** + * sortableHelper + * + * Adds compatibility for sorting a
        element + * + * @date 6/3/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + var sortableHelper = new acf.Model({ + actions: { + 'sortstart': 'onSortstart' + }, + onSortstart: function( $item, $placeholder ){ + + // if $item is a tr, apply some css to the elements + if( $item.is('tr') ) { + + // temp set as relative to find widths + $item.css('position', 'relative'); + + // set widths for td children + $item.children().each(function(){ + $(this).width($(this).width()); + }); + + // revert position css + $item.css('position', 'absolute'); + + // add markup to the placeholder + $placeholder.html(''); + } + } + }); + + /** + * duplicateHelper + * + * Fixes browser bugs when duplicating an element + * + * @date 6/3/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + var duplicateHelper = new acf.Model({ + actions: { + 'after_duplicate': 'onAfterDuplicate' + }, + onAfterDuplicate: function( $el, $el2 ){ + + // get original values + var vals = []; + $el.find('select').each(function(i){ + vals.push( $(this).val() ); + }); + + // set duplicate values + $el2.find('select').each(function(i){ + $(this).val( vals[i] ); + }); + } + }); + + /** + * tableHelper + * + * description + * + * @date 6/3/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var tableHelper = new acf.Model({ + + id: 'tableHelper', + + priority: 20, + + actions: { + 'refresh': 'renderTables' + }, + + renderTables: function( $el ){ + + // loop + var self = this; + $('.acf-table:visible').each(function(){ + self.renderTable( $(this) ); + }); + }, + + renderTable: function( $table ){ + + // vars + var $ths = $table.find('> thead > tr:visible > th[data-key]'); + var $tds = $table.find('> tbody > tr:visible > td[data-key]'); + + // bail early if no thead + if( !$ths.length || !$tds.length ) { + return false; + } + + + // visiblity + $ths.each(function( i ){ + + // vars + var $th = $(this); + var key = $th.data('key'); + var $cells = $tds.filter('[data-key="' + key + '"]'); + var $hidden = $cells.filter('.acf-hidden'); + + // always remove empty and allow cells to be hidden + $cells.removeClass('acf-empty'); + + // hide $th if all cells are hidden + if( $cells.length === $hidden.length ) { + acf.hide( $th ); + + // force all hidden cells to appear empty + } else { + acf.show( $th ); + $hidden.addClass('acf-empty'); + } + }); + + + // clear width + $ths.css('width', 'auto'); + + // get visible + $ths = $ths.not('.acf-hidden'); + + // vars + var availableWidth = 100; + var colspan = $ths.length; + + // set custom widths first + var $fixedWidths = $ths.filter('[data-width]'); + $fixedWidths.each(function(){ + var width = $(this).data('width'); + $(this).css('width', width + '%'); + availableWidth -= width; + }); + + // set auto widths + var $auoWidths = $ths.not('[data-width]'); + if( $auoWidths.length ) { + var width = availableWidth / $auoWidths.length; + $auoWidths.css('width', width + '%'); + availableWidth = 0; + } + + // avoid stretching issue + if( availableWidth > 0 ) { + $ths.last().css('width', 'auto'); + } + + + // update colspan on collapsed + $tds.filter('.-collapsed-target').each(function(){ + + // vars + var $td = $(this); + + // check if collapsed + if( $td.parent().hasClass('-collapsed') ) { + $td.attr('colspan', $ths.length); + } else { + $td.removeAttr('colspan'); + } + }); + } + }); + + + /** + * fieldsHelper + * + * description + * + * @date 6/3/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var fieldsHelper = new acf.Model({ + + id: 'fieldsHelper', + + priority: 30, + + actions: { + 'refresh': 'renderGroups' + }, + + renderGroups: function(){ + + // loop + var self = this; + $('.acf-fields:visible').each(function(){ + self.renderGroup( $(this) ); + }); + }, + + renderGroup: function( $el ){ + + // vars + var top = 0; + var height = 0; + var $row = $(); + + // get fields + var $fields = $el.children('.acf-field[data-width]:visible'); + + // bail early if no fields + if( !$fields.length ) { + return false; + } + + // bail ealry if is .-left + if( $el.hasClass('-left') ) { + $fields.removeAttr('data-width'); + $fields.css('width', 'auto'); + return false; + } + + // reset fields + $fields.removeClass('-r0 -c0').css({'min-height': 0}); + + // loop + $fields.each(function( i ){ + + // vars + var $field = $(this); + var position = $field.position(); + var thisTop = Math.ceil( position.top ); + var thisLeft = Math.ceil( position.left ); + + // detect change in row + if( $row.length && thisTop > top ) { + + // set previous heights + $row.css({'min-height': height+'px'}); + + // update position due to change in row above + position = $field.position(); + thisTop = Math.ceil( position.top ); + thisLeft = Math.ceil( position.left ); + + // reset vars + top = 0; + height = 0; + $row = $(); + } + + // add classes + if( thisTop == 0 ) { + $field.addClass('-r0'); + } else if( thisLeft == 0 ) { + $field.addClass('-c0'); + } + + // get height after class change + // - add 1 for subpixel rendering + var thisHeight = Math.ceil( $field.outerHeight() ) + 1; + + // set height + height = Math.max( height, thisHeight ); + + // set y + top = Math.max( top, thisTop ); + + // append + $row = $row.add( $field ); + }); + + // clean up + if( $row.length ) { + $row.css({'min-height': height+'px'}); + } + } + }); + +})(jQuery); + +(function($, undefined){ + + /** + * acf.newCompatibility + * + * Inserts a new __proto__ object compatibility layer + * + * @date 15/2/18 + * @since 5.6.9 + * + * @param object instance The object to modify. + * @param object compatibilty Optional. The compatibilty layer. + * @return object compatibilty + */ + + acf.newCompatibility = function( instance, compatibilty ){ + + // defaults + compatibilty = compatibilty || {}; + + // inherit __proto_- + compatibilty.__proto__ = instance.__proto__; + + // inject + instance.__proto__ = compatibilty; + + // reference + instance.compatibility = compatibilty; + + // return + return compatibilty; + }; + + /** + * acf.getCompatibility + * + * Returns the compatibility layer for a given instance + * + * @date 13/3/18 + * @since 5.6.9 + * + * @param object instance The object to look in. + * @return object|null compatibility The compatibility object or null on failure. + */ + + acf.getCompatibility = function( instance ) { + return instance.compatibility || null; + }; + + /** + * acf (compatibility) + * + * Compatibility layer for the acf object + * + * @date 15/2/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + var _acf = acf.newCompatibility(acf, { + + // storage + l10n: {}, + o: {}, + fields: {}, + + // changed function names + update: acf.set, + add_action: acf.addAction, + remove_action: acf.removeAction, + do_action: acf.doAction, + add_filter: acf.addFilter, + remove_filter: acf.removeFilter, + apply_filters: acf.applyFilters, + parse_args: acf.parseArgs, + disable_el: acf.disable, + disable_form: acf.disable, + enable_el: acf.enable, + enable_form: acf.enable, + update_user_setting: acf.updateUserSetting, + prepare_for_ajax: acf.prepareForAjax, + is_ajax_success: acf.isAjaxSuccess, + remove_el: acf.remove, + remove_tr: acf.remove, + str_replace: acf.strReplace, + render_select: acf.renderSelect, + get_uniqid: acf.uniqid, + serialize_form: acf.serialize, + esc_html: acf.strEscape, + str_sanitize: acf.strSanitize, + + }); + + _acf._e = function( k1, k2 ){ + + // defaults + k1 = k1 || ''; + k2 = k2 || ''; + + // compability + var compatKey = k2 ? k1 + '.' + k2 : k1; + var compats = { + 'image.select': 'Select Image', + 'image.edit': 'Edit Image', + 'image.update': 'Update Image' + }; + if( compats[compatKey] ) { + return acf.__(compats[compatKey]); + } + + // try k1 + var string = this.l10n[ k1 ] || ''; + + // try k2 + if( k2 ) { + string = string[ k2 ] || ''; + } + + // return + return string; + }; + + _acf.get_selector = function( s ) { + + // vars + var selector = '.acf-field'; + + // bail early if no search + if( !s ) { + return selector; + } + + // compatibility with object + if( $.isPlainObject(s) ) { + if( $.isEmptyObject(s) ) { + return selector; + } else { + for( var k in s ) { s = s[k]; break; } + } + } + + // append + selector += '-' + s; + + // replace underscores (split/join replaces all and is faster than regex!) + selector = acf.strReplace('_', '-', selector); + + // remove potential double up + selector = acf.strReplace('field-field-', 'field-', selector); + + // return + return selector; + }; + + _acf.get_fields = function( s, $el, all ){ + + // args + var args = { + is: s || '', + parent: $el || false, + suppressFilters: all || false, + }; + + // change 'field_123' to '.acf-field-123' + if( args.is ) { + args.is = this.get_selector( args.is ); + } + + // return + return acf.findFields(args); + }; + + _acf.get_field = function( s, $el ){ + + // get fields + var $fields = this.get_fields.apply(this, arguments); + + // return + if( $fields.length ) { + return $fields.first(); + } else { + return false; + } + }; + + _acf.get_closest_field = function( $el, s ){ + return $el.closest( this.get_selector(s) ); + }; + + _acf.get_field_wrap = function( $el ){ + return $el.closest( this.get_selector() ); + }; + + _acf.get_field_key = function( $field ){ + return $field.data('key'); + }; + + _acf.get_field_type = function( $field ){ + return $field.data('type'); + }; + + _acf.get_data = function( $el, defaults ){ + return acf.parseArgs( $el.data(), defaults ); + }; + + _acf.maybe_get = function( obj, key, value ){ + + // default + if( value === undefined ) { + value = null; + } + + // get keys + keys = String(key).split('.'); + + // acf.isget + for( var i = 0; i < keys.length; i++ ) { + if( !obj.hasOwnProperty(keys[i]) ) { + return value; + } + obj = obj[ keys[i] ]; + } + return obj; + }; + + + /** + * hooks + * + * Modify add_action and add_filter functions to add compatibility with changed $field parameter + * Using the acf.add_action() or acf.add_filter() functions will interpret new field parameters as jQuery $field + * + * @date 12/5/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + var compatibleArgument = function( arg ){ + return ( arg instanceof acf.Field ) ? arg.$el : arg; + }; + + var compatibleArguments = function( args ){ + return acf.arrayArgs( args ).map( compatibleArgument ); + } + + var compatibleCallback = function( origCallback ){ + return function(){ + + // convert to compatible arguments + if( arguments.length ) { + var args = compatibleArguments(arguments); + + // add default argument for 'ready', 'append' and 'load' events + } else { + var args = [ $(document) ]; + } + + // return + return origCallback.apply(this, args); + } + } + + _acf.add_action = function( action, callback, priority, context ){ + + // handle multiple actions + var actions = action.split(' '); + var length = actions.length; + if( length > 1 ) { + for( var i = 0; i < length; i++) { + action = actions[i]; + _acf.add_action.apply(this, arguments); + } + return this; + } + + // single + var callback = compatibleCallback(callback); + return acf.addAction.apply(this, arguments); + }; + + _acf.add_filter = function( action, callback, priority, context ){ + var callback = compatibleCallback(callback); + return acf.addFilter.apply(this, arguments); + }; + + /* + * acf.model + * + * This model acts as a scafold for action.event driven modules + * + * @type object + * @date 8/09/2014 + * @since 5.0.0 + * + * @param (object) + * @return (object) + */ + + _acf.model = { + actions: {}, + filters: {}, + events: {}, + extend: function( args ){ + + // extend + var model = $.extend( {}, this, args ); + + // setup actions + $.each(model.actions, function( name, callback ){ + model._add_action( name, callback ); + }); + + // setup filters + $.each(model.filters, function( name, callback ){ + model._add_filter( name, callback ); + }); + + // setup events + $.each(model.events, function( name, callback ){ + model._add_event( name, callback ); + }); + + // return + return model; + }, + + _add_action: function( name, callback ) { + + // split + var model = this, + data = name.split(' '); + + // add missing priority + var name = data[0] || '', + priority = data[1] || 10; + + // add action + acf.add_action(name, model[ callback ], priority, model); + + }, + + _add_filter: function( name, callback ) { + + // split + var model = this, + data = name.split(' '); + + // add missing priority + var name = data[0] || '', + priority = data[1] || 10; + + // add action + acf.add_filter(name, model[ callback ], priority, model); + }, + + _add_event: function( name, callback ) { + + // vars + var model = this, + i = name.indexOf(' '), + event = (i > 0) ? name.substr(0,i) : name, + selector = (i > 0) ? name.substr(i+1) : ''; + + // event + var fn = function( e ){ + + // append $el to event object + e.$el = $(this); + + // append $field to event object (used in field group) + if( acf.field_group ) { + e.$field = e.$el.closest('.acf-field-object'); + } + + // event + if( typeof model.event === 'function' ) { + e = model.event( e ); + } + + // callback + model[ callback ].apply(model, arguments); + + }; + + // add event + if( selector ) { + $(document).on(event, selector, fn); + } else { + $(document).on(event, fn); + } + }, + + get: function( name, value ){ + + // defaults + value = value || null; + + // get + if( typeof this[ name ] !== 'undefined' ) { + value = this[ name ]; + } + + // return + return value; + }, + + set: function( name, value ){ + + // set + this[ name ] = value; + + // function for 3rd party + if( typeof this[ '_set_' + name ] === 'function' ) { + this[ '_set_' + name ].apply(this); + } + + // return for chaining + return this; + } + }; + + /* + * field + * + * This model sets up many of the field's interactions + * + * @type function + * @date 21/02/2014 + * @since 3.5.1 + * + * @param n/a + * @return n/a + */ + + _acf.field = acf.model.extend({ + type: '', + o: {}, + $field: null, + _add_action: function( name, callback ) { + + // vars + var model = this; + + // update name + name = name + '_field/type=' + model.type; + + // add action + acf.add_action(name, function( $field ){ + + // focus + model.set('$field', $field); + + // callback + model[ callback ].apply(model, arguments); + }); + }, + + _add_filter: function( name, callback ) { + + // vars + var model = this; + + // update name + name = name + '_field/type=' + model.type; + + // add action + acf.add_filter(name, function( $field ){ + + // focus + model.set('$field', $field); + + // callback + model[ callback ].apply(model, arguments); + }); + }, + + _add_event: function( name, callback ) { + + // vars + var model = this, + event = name.substr(0,name.indexOf(' ')), + selector = name.substr(name.indexOf(' ')+1), + context = acf.get_selector(model.type); + + // add event + $(document).on(event, context + ' ' + selector, function( e ){ + + // vars + var $el = $(this); + var $field = acf.get_closest_field( $el, model.type ); + + // bail early if no field + if( !$field.length ) return; + + // focus + if( !$field.is(model.$field) ) { + model.set('$field', $field); + } + + // append to event + e.$el = $el; + e.$field = $field; + + // callback + model[ callback ].apply(model, [e]); + }); + }, + + _set_$field: function(){ + + // callback + if( typeof this.focus === 'function' ) { + this.focus(); + } + }, + + // depreciated + doFocus: function( $field ){ + return this.set('$field', $field); + } + }); + + + /** + * validation + * + * description + * + * @date 15/2/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + var _validation = acf.newCompatibility(acf.validation, { + remove_error: function( $field ){ + acf.getField( $field ).removeError(); + }, + add_warning: function( $field, message ){ + acf.getField( $field ).showNotice({ + text: message, + type: 'warning', + timeout: 1000 + }); + } + }); + + + /** + * tooltip + * + * description + * + * @date 15/2/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + _acf.tooltip = { + + tooltip: function( text, $el ){ + + var tooltip = acf.newTooltip({ + text: text, + target: $el + }); + + // return + return tooltip.$el; + }, + + temp: function( text, $el ){ + + var tooltip = acf.newTooltip({ + text: text, + target: $el, + timeout: 250 + }); + }, + + confirm: function( $el, callback, text, button_y, button_n ){ + + var tooltip = acf.newTooltip({ + confirm: true, + text: text, + target: $el, + confirm: function(){ + callback(true); + }, + cancel: function(){ + callback(false); + } + }); + }, + + confirm_remove: function( $el, callback ){ + + var tooltip = acf.newTooltip({ + confirmRemove: true, + target: $el, + confirm: function(){ + callback(true); + }, + cancel: function(){ + callback(false); + } + }); + }, + }; + + /** + * tooltip + * + * description + * + * @date 15/2/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + _acf.media = new acf.Model({ + activeFrame: false, + actions: { + 'new_media_popup': 'onNewMediaPopup' + }, + + frame: function(){ + return this.activeFrame; + }, + + onNewMediaPopup: function( popup ){ + this.activeFrame = popup.frame; + }, + + popup: function( props ){ + + // update props + if( props.mime_types ) { + props.allowedTypes = props.mime_types; + } + if( props.id ) { + props.attachment = props.id; + } + + // new + var popup = acf.newMediaPopup( props ); + + // append +/* + if( props.selected ) { + popup.selected = props.selected; + } +*/ + + // return + return popup.frame; + } + }); + + + /** + * Select2 + * + * description + * + * @date 11/6/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + _acf.select2 = { + init: function( $select, args, $field ){ + + // compatible args + if( args.allow_null ) { + args.allowNull = args.allow_null; + } + if( args.ajax_action ) { + args.ajaxAction = args.ajax_action; + } + if( $field ) { + args.field = acf.getField($field); + } + + // return + return acf.newSelect2( $select, args ); + }, + + destroy: function( $select ){ + return acf.getInstance( $select ).destroy(); + + }, + }; + + /** + * postbox + * + * description + * + * @date 11/6/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + _acf.postbox = { + render: function( args ){ + + // compatible args + if( args.edit_url ) { + args.editLink = args.edit_url; + } + if( args.edit_title ) { + args.editTitle = args.edit_title; + } + + // return + return acf.newPostbox( args ); + } + }; + + /** + * acf.screen + * + * description + * + * @date 11/6/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + acf.newCompatibility(acf.screen, { + update: function(){ + return this.set.apply(this, arguments); + } + }); + _acf.ajax = acf.screen; + +})(jQuery); + +// @codekit-prepend "../js/acf.js"; +// @codekit-prepend "../js/acf-hooks.js"; +// @codekit-prepend "../js/acf-model.js"; +// @codekit-prepend "../js/acf-popup.js"; +// @codekit-prepend "../js/acf-unload.js"; +// @codekit-prepend "../js/acf-panel.js"; +// @codekit-prepend "../js/acf-notice.js"; +// @codekit-prepend "../js/acf-postbox.js"; +// @codekit-prepend "../js/acf-tooltip.js"; +// @codekit-prepend "../js/acf-field.js"; +// @codekit-prepend "../js/acf-fields.js"; +// @codekit-prepend "../js/acf-field-accordion.js"; +// @codekit-prepend "../js/acf-field-button-group.js"; +// @codekit-prepend "../js/acf-field-checkbox.js"; +// @codekit-prepend "../js/acf-field-color-picker.js"; +// @codekit-prepend "../js/acf-field-date-picker.js"; +// @codekit-prepend "../js/acf-field-date-time-picker.js"; +// @codekit-prepend "../js/acf-field-google-map.js"; +// @codekit-prepend "../js/acf-field-image.js"; +// @codekit-prepend "../js/acf-field-file.js"; +// @codekit-prepend "../js/acf-field-link.js"; +// @codekit-prepend "../js/acf-field-oembed.js"; +// @codekit-prepend "../js/acf-field-radio.js"; +// @codekit-prepend "../js/acf-field-range.js"; +// @codekit-prepend "../js/acf-field-relationship.js"; +// @codekit-prepend "../js/acf-field-select.js"; +// @codekit-prepend "../js/acf-field-tab.js"; +// @codekit-prepend "../js/acf-field-post-object.js"; +// @codekit-prepend "../js/acf-field-page-link.js"; +// @codekit-prepend "../js/acf-field-user.js"; +// @codekit-prepend "../js/acf-field-taxonomy.js"; +// @codekit-prepend "../js/acf-field-time-picker.js"; +// @codekit-prepend "../js/acf-field-true-false.js"; +// @codekit-prepend "../js/acf-field-url.js"; +// @codekit-prepend "../js/acf-field-wysiwyg.js"; +// @codekit-prepend "../js/acf-condition.js"; +// @codekit-prepend "../js/acf-conditions.js"; +// @codekit-prepend "../js/acf-condition-types.js"; +// @codekit-prepend "../js/acf-media.js"; +// @codekit-prepend "../js/acf-screen.js"; +// @codekit-prepend "../js/acf-select2.js"; +// @codekit-prepend "../js/acf-tinymce.js"; +// @codekit-prepend "../js/acf-validation.js"; +// @codekit-prepend "../js/acf-helpers.js"; +// @codekit-prepend "../js/acf-compatibility"; + diff --git a/assets/js/acf-input.min.js b/assets/js/acf-input.min.js index 837534e..ba3800f 100644 --- a/assets/js/acf-input.min.js +++ b/assets/js/acf-input.min.js @@ -1,3 +1,4 @@ -!function(e,t){"use strict";var i=function(){function e(){return u}function t(e,t,i,a){return"string"==typeof e&&"function"==typeof t&&(i=parseInt(i||10,10),l("actions",e,t,i,a)),f}function i(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t&&d("actions",t,e),f}function a(e,t){return"string"==typeof e&&r("actions",e,t),f}function n(e,t,i,a){return"string"==typeof e&&"function"==typeof t&&(i=parseInt(i||10,10),l("filters",e,t,i,a)),f}function s(){var e=Array.prototype.slice.call(arguments),t=e.shift();return"string"==typeof t?d("filters",t,e):f}function o(e,t){return"string"==typeof e&&r("filters",e,t),f}function r(e,t,i,a){if(u[e][t])if(i){var n=u[e][t],s;if(a)for(s=n.length;s--;){var o=n[s];o.callback===i&&o.context===a&&n.splice(s,1)}else for(s=n.length;s--;)n[s].callback===i&&n.splice(s,1)}else u[e][t]=[]}function l(e,t,i,a,n){var s={callback:i,priority:a,context:n},o=u[e][t];o?(o.push(s),o=c(o)):o=[s],u[e][t]=o}function c(e){for(var t,i,a,n=1,s=e.length;nt.priority;)e[i]=e[i-1],--i;e[i]=t}return e}function d(e,t,i){var a=u[e][t];if(!a)return"filters"===e&&i[0];var n=0,s=a.length;if("filters"===e)for(;n0},$.fn.outerHTML=function(){return $(this).get(0).outerHTML},acf={l10n:{},o:{},update:function(e,t){this.o[e]=t},get:function(e){return void 0!==this.o[e]?this.o[e]:null},_e:function(e,t){t=t||!1;var i=this.l10n[e]||"";return t&&(i=i[t]||""),i},add_action:function(){for(var e=arguments[0].split(" "),t=e.length,i=0;ie.length?Array(t-e.length+1).join("0")+e:e};return this.php_js||(this.php_js={}),this.php_js.uniqidSeed||(this.php_js.uniqidSeed=Math.floor(123456789*Math.random())),this.php_js.uniqidSeed++,i=e,i+=a(parseInt((new Date).getTime()/1e3,10),8),i+=a(this.php_js.uniqidSeed,5),t&&(i+=(10*Math.random()).toFixed(8).toString()),i},serialize_form:function(){return this.serialize.apply(this,arguments)},serialize:function(e,t){t=t||"";var i={},a={},n=e.find("select, textarea, input").serializeArray();return $.each(n,function(e,n){var s=n.name,o=n.value;if(t){if(0!==s.indexOf(t))return;s=s.slice(t.length),"["==s.slice(0,1)&&(s=s.slice(1).replace("]",""))}"[]"===s.slice(-2)&&(s=s.slice(0,-2),void 0===a[s]&&(a[s]=-1),a[s]++,s+="["+a[s]+"]"),i[s]=o}),i},remove_tr:function(e,t){var i=e.height(),a=e.children().length;e.addClass("acf-remove-element"),setTimeout(function(){e.removeClass("acf-remove-element"),e.html(''),e.children("td").animate({height:0},250,function(){e.remove(),"function"==typeof t&&t()})},250)},remove_el:function(e,t,i){i=i||0;var a=e.height(),n=e.width(),s=e.css("margin"),o=e.outerHeight(!0);acf.do_action("remove",e),e.wrap('
        ');var r=e.parent();e.css({height:a,width:n,margin:s,position:"absolute"}),setTimeout(function(){r.css({opacity:0,height:i})},50),setTimeout(function(){r.remove(),"function"==typeof t&&t.apply(this,arguments)},301)},isset:function(){var e=arguments,t=e.length,a=null,n;if(0===t)throw new Error("Empty isset");for(a=e[0],i=1;i #acf-popup"),$popup.exists())return update_popup(e);var t=['
        ','
        ','

        ','
        ','
        ',"
        ",'
        ',"
        "].join("");return $("body").append(t),$("#acf-popup").on("click",".bg, .acf-close-popup",function(e){e.preventDefault(),acf.close_popup()}),this.update_popup(e)},update_popup:function(e){return $popup=$("#acf-popup"),!!$popup.exists()&&(e=$.extend({},{title:"",content:"",width:0,height:0,loading:!1},e),e.title&&$popup.find(".title h3").html(e.title),e.content&&($inner=$popup.find(".inner:first"),$inner.html(e.content),acf.do_action("append",$inner),$inner.attr("style","position: relative;"),e.height=$inner.outerHeight(),$inner.removeAttr("style")),e.width&&$popup.find(".acf-popup-box").css({width:e.width,"margin-left":0-e.width/2}),e.height&&(e.height+=44,$popup.find(".acf-popup-box").css({height:e.height,"margin-top":0-e.height/2})),e.loading?$popup.find(".loading").show():$popup.find(".loading").hide(),$popup)},close_popup:function(){$popup=$("#acf-popup"),$popup.exists()&&$popup.remove()},update_user_setting:function(e,t){$.ajax({url:acf.get("ajaxurl"),dataType:"html",type:"post",data:acf.prepare_for_ajax({action:"acf/update_user_setting",name:e,value:t})})},prepare_for_ajax:function(e){var t={};return $.each(e,function(e,i){$.isPlainObject(i)&&!$.isEmptyObject(i)?$.each(i,function(i,a){i+="";var n=i.indexOf("[");i=0==n?e+i:n>0?e+"["+i.slice(0,n)+"]"+i.slice(n):e+"["+i+"]",t[i]=a}):t[e]=i}),t.nonce=acf.get("nonce"),t.post_id=acf.get("post_id"),t=acf.apply_filters("prepare_for_ajax",t)},is_ajax_success:function(e){return!(!e||!e.success)},get_ajax_message:function(e){var t={text:"",type:"error"};return e?(e.success&&(t.type="success"),e.data&&e.data.message&&(t.text=e.data.message),e.data&&e.data.error&&(t.text=e.data.error),t):t},is_in_view:function(e){var t=e.offset().top,i=t+e.height();if(t===i)return!1;var a=$(window).scrollTop();return i<=a+$(window).height()&&t>=a},val:function(e,t){var i=e.val();e.val(t),t!=i&&e.trigger("change")},str_replace:function(e,t,i){return i.split(e).join(t)},str_sanitize:function(e){var t={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","ß":"s","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","ĝ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"l","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u","Ǻ":"A","ǻ":"a","Ǽ":"AE","ǽ":"ae","Ǿ":"O","ǿ":"o"," ":"_","'":"","?":"","/":"","\\":"",".":"",",":"","`":"",">":"","<":"",'"':"","[":"","]":"","|":"","{":"","}":"","(":"",")":""},i=/\W/g,a=function(e){return void 0!==t[e]?t[e]:e};return e=e.replace(i,a),e=e.toLowerCase()},addslashes:function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},esc_html:function(e){var t={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(e).replace(/[&<>"'`=\/]/g,function(e){return t[e]})},render_select:function(e,t){var i=e.val();e.html(""),t&&$.each(t,function(t,a){var n=e;a.group&&(n=e.find('optgroup[label="'+a.group+'"]'),n.exists()||(n=$(''),e.append(n))),n.append('"),i==a.value&&e.prop("selectedIndex",t)})},duplicate:function(e){void 0!==e.length&&(e={$el:e}),e=acf.parse_args(e,{$el:!1,search:"",replace:"",before:function(e){},after:function(e,t){},append:function(e,t){e.after(t)}});var t=e.$el,i;e.search||(e.search=t.attr("data-id")),e.replace||(e.replace=acf.get_uniqid()),e.before.apply(this,[t]),acf.do_action("before_duplicate",t);var i=t.clone();return i.removeClass("acf-clone"),acf.do_action("remove",i),e.search&&(i.attr("data-id",e.replace),i.find('[id*="'+e.search+'"]').each(function(){$(this).attr("id",$(this).attr("id").replace(e.search,e.replace))}),i.find('[name*="'+e.search+'"]').each(function(){$(this).attr("name",$(this).attr("name").replace(e.search,e.replace))}),i.find('label[for*="'+e.search+'"]').each(function(){$(this).attr("for",$(this).attr("for").replace(e.search,e.replace))})),i.find(".ui-sortable").removeClass("ui-sortable"),acf.do_action("after_duplicate",t,i),e.after.apply(this,[t,i]),e.append.apply(this,[t,i]),setTimeout(function(){acf.do_action("append",i)},1),i},decode:function(e){return $("');e.before(t),this.active=!0,this.$node=e,this.$textarea=t;var i=this.atts();wpLink.open("acf-link-textarea",i.url,i.title,null),$("#wp-link-wrap").addClass("has-text-field")},reset:function(){this.active=!1,this.$textarea.remove(),this.$textarea=null,this.$node=null},_select:function(e,t){var i=this.inputs();i.title||(i.title=t.find(".item-title").text(),this.inputs(i),console.log(i))},_open:function(e){if(this.active){var t=this.atts();this.inputs(t)}},_close:function(e){this.active&&setTimeout(function(){acf.link.reset()},100)},_update:function(e){if(this.active){var t=this.inputs();this.atts(t)}}})}(jQuery),function($){acf.media=acf.model.extend({frames:[],mime_types:{},actions:{ready:"ready"},frame:function(){var e=this.frames.length-1;return!(e<0)&&this.frames[e]},destroy:function(e){e.detach(),e.dispose(),e=null,this.frames.pop()},popup:function(e){var t=acf.get("post_id"),i=!1;$.isNumeric(t)||(t=0);var a=acf.parse_args(e,{mode:"select",title:"",button:"",type:"",field:"",mime_types:"",library:"all",multiple:!1,attachment:0,post_id:t,select:function(){}});a.id&&(a.attachment=a.id);var i=this.new_media_frame(a);return this.frames.push(i),setTimeout(function(){i.open()},1),i},_get_media_frame_settings:function(e,t){return"select"===t.mode?e=this._get_select_frame_settings(e,t):"edit"===t.mode&&(e=this._get_edit_frame_settings(e,t)),e},_get_select_frame_settings:function(e,t){return t.type&&(e.library.type=t.type),"uploadedTo"===t.library&&(e.library.uploadedTo=t.post_id),e._button=acf._e("media","select"),e},_get_edit_frame_settings:function(e,t){return e.library.post__in=[t.attachment],e._button=acf._e("media","update"),e},_add_media_frame_events:function(e,t){return e.on("open",function(){this.$el.closest(".media-modal").addClass("acf-media-modal -"+t.mode)},e),e.on("content:render:edit-image",function(){var e=this.state().get("image"),t=new wp.media.view.EditImage({model:e,controller:this}).render();this.content.set(t),t.loadEditor()},e),e.on("toolbar:create:select",function(t){t.view=new wp.media.view.Toolbar.Select({text:e.options._button,controller:this})},e),e.on("select",function(){var i=e.state(),a=i.get("image"),n=i.get("selection");if(a)return void t.select.apply(e,[a,0]);if(n){var s=0;return void n.each(function(i){t.select.apply(e,[i,s]),s++})}}),e.on("close",function(){setTimeout(function(){acf.media.destroy(e)},500)}),"select"===t.mode?e=this._add_select_frame_events(e,t):"edit"===t.mode&&(e=this._add_edit_frame_events(e,t)),e},_add_select_frame_events:function(e,t){var i=this;return acf.isset(_wpPluploadSettings,"defaults","multipart_params")&&(_wpPluploadSettings.defaults.multipart_params._acfuploader=t.field,e.on("open",function(){delete _wpPluploadSettings.defaults.multipart_params._acfuploader})),e.on("content:activate:browse",function(){try{var a=e.content.get().toolbar,n=a.get("filters"),s=a.get("search")}catch(e){return}if("image"==t.type&&(n.filters.all.text=acf._e("image","all"),delete n.filters.audio,delete n.filters.video,$.each(n.filters,function(e,t){null===t.props.type&&(t.props.type="image")})),t.mime_types){var o=t.mime_types.split(" ").join("").split(".").join("").split(",");$.each(o,function(e,t){$.each(i.mime_types,function(e,i){if(-1!==e.indexOf(t)){var a={text:t,props:{status:null,type:i,uploadedTo:null,orderby:"date",order:"DESC"},priority:20};n.filters[i]=a}})})}"uploadedTo"==t.library&&(delete n.filters.unattached,delete n.filters.uploaded,n.$el.parent().append(''+acf._e("image","uploadedTo")+""),$.each(n.filters,function(e,i){i.props.uploadedTo=t.post_id})),$.each(n.filters,function(e,i){i.props._acfuploader=t.field}),s.model.attributes._acfuploader=t.field,"function"==typeof n.refresh&&n.refresh()}),e},_add_edit_frame_events:function(e,t){return e.on("open",function(){this.$el.closest(".media-modal").addClass("acf-expanded"),"browse"!=this.content.mode()&&this.content.mode("browse");var e=this.state(),i=e.get("selection"),a=wp.media.attachment(t.attachment);i.add(a)},e),e},new_media_frame:function(e){var t={title:e.title,multiple:e.multiple,library:{},states:[]};t=this._get_media_frame_settings(t,e);var i=wp.media.query(t.library);acf.isset(i,"mirroring","args")&&(i.mirroring.args._acfuploader=e.field),t.states=[new wp.media.controller.Library({library:i,multiple:t.multiple,title:t.title,priority:20,filterable:"all",editable:!0,allowLocalEdits:!0})],acf.isset(wp,"media","controller","EditImage")&&t.states.push(new wp.media.controller.EditImage);var a=wp.media(t);return a.acf=e,a=this._add_media_frame_events(a,e)},ready:function(){var e=acf.get("wp_version"),t=acf.get("browser"),i=acf.get("post_id");acf.isset(window,"wp","media","view","settings","post")&&$.isNumeric(i)&&(wp.media.view.settings.post.id=i),t&&$("body").addClass("browser-"+t),e&&(e+="",major=e.substr(0,1),$("body").addClass("major-"+major)),acf.isset(window,"wp","media","view")&&(this.customize_Attachment(),this.customize_AttachmentFiltersAll(),this.customize_AttachmentCompat())},customize_Attachment:function(){var e=wp.media.view.Attachment.Library;wp.media.view.Attachment.Library=e.extend({render:function(){var t=acf.media.frame(),i=acf.maybe_get(this,"model.attributes.acf_errors");return t&&i&&this.$el.addClass("acf-disabled"),e.prototype.render.apply(this,arguments)},toggleSelection:function(t){var i=this.collection,a=this.options.selection,n=this.model,s=a.single(),o=acf.media.frame(),r=acf.maybe_get(this,"model.attributes.acf_errors"),l=this.controller.$el.find(".media-frame-content .media-sidebar");if(l.children(".acf-selection-error").remove(),l.children().removeClass("acf-hidden"),o&&r){var c=acf.maybe_get(this,"model.attributes.filename","");return l.children().addClass("acf-hidden"),l.prepend(['
        ',''+acf._e("restricted")+"",''+c+"",''+r+"","
        "].join("")),a.reset(),void a.single(n)}e.prototype.toggleSelection.apply(this,arguments)}})},customize_AttachmentFiltersAll:function(){wp.media.view.AttachmentFilters.All.prototype.refresh=function(){this.$el.html(_.chain(this.filters).map(function(e,t){return{el:$("").val(t).html(e.text)[0],priority:e.priority||50}},this).sortBy("priority").pluck("el").value())}},customize_AttachmentCompat:function(){var e=wp.media.view.AttachmentCompat;wp.media.view.AttachmentCompat=e.extend({add_acf_expand_button:function(){var e=this.$el.closest(".media-modal");if(!e.find(".media-frame-router .acf-expand-details").exists()){var t=$(['',''+acf._e("expand_details")+"",''+acf._e("collapse_details")+"",""].join(""));t.on("click",function(t){t.preventDefault(),e.hasClass("acf-expanded")?e.removeClass("acf-expanded"):e.addClass("acf-expanded")}),e.find(".media-frame-router").append(t)}},render:function(){if(this.ignore_render)return this;var t=this;return setTimeout(function(){t.add_acf_expand_button()},0),clearTimeout(acf.media.render_timout),acf.media.render_timout=setTimeout(function(){acf.do_action("append",t.$el)},50),e.prototype.render.apply(this,arguments)},dispose:function(){return acf.do_action("remove",this.$el),e.prototype.dispose.apply(this,arguments)},save:function(e){e&&e.preventDefault();var t=acf.serialize(this.$el);this.ignore_render=!0,this.model.saveCompat(t)}})}})}(jQuery),function($){acf.fields.oembed=acf.field.extend({type:"oembed",$el:null,events:{'click [data-name="search-button"]':"_search",'click [data-name="clear-button"]':"_clear",'click [data-name="value-title"]':"_edit",'keypress [data-name="search-input"]':"_keypress",'keyup [data-name="search-input"]':"_keyup",'blur [data-name="search-input"]':"_blur"},focus:function(){this.$el=this.$field.find(".acf-oembed"),this.$search=this.$el.find('[data-name="search-input"]'),this.$input=this.$el.find('[data-name="value-input"]'),this.$title=this.$el.find('[data-name="value-title"]'),this.$embed=this.$el.find('[data-name="value-embed"]'),this.o=acf.get_data(this.$el)},maybe_search:function(){var e=this.$input.val(),t=this.$search.val();if(!t)return void this.clear();t!=e&&this.search()},search:function(){var e=this.$search.val();"http"!=e.substr(0,4)&&(e="http://"+e,this.$search.val(e)),this.$el.addClass("is-loading");var t=acf.prepare_for_ajax({action:"acf/fields/oembed/search",s:e,field_key:this.$field.data("key")});this.$el.data("xhr")&&this.$el.data("xhr").abort();var i=$.ajax({url:acf.get("ajaxurl"),data:t,type:"post",dataType:"json",context:this,success:this.search_success});this.$el.data("xhr",i)},search_success:function(e){var t=this.$search.val();if(this.$el.removeClass("is-loading"),!e||!e.html)return void this.$el.removeClass("has-value").addClass("has-error");this.$el.removeClass("has-error").addClass("has-value"),this.$input.val(t),this.$title.html(t),this.$embed.html(e.html)},clear:function(){this.$el.removeClass("has-error has-value"),this.$el.find('[data-name="search-input"]').val(""),this.$input.val(""),this.$title.html(""),this.$embed.html("")},edit:function(){this.$el.addClass("is-editing"),this.$search.val(this.$title.text()).focus()},blur:function(e){this.$el.removeClass("is-editing"),this.maybe_search()},_search:function(e){this.search()},_clear:function(e){this.clear()},_edit:function(e){this.edit()},_keypress:function(e){13==e.which&&e.preventDefault()},_keyup:function(e){this.$search.val()&&this.maybe_search()},_blur:function(e){this.blur()}})}(jQuery),function($){acf.fields.radio=acf.field.extend({type:"radio",$ul:null,actions:{ready:"initialize",append:"initialize"},events:{'click input[type="radio"]':"click"},focus:function(){this.$ul=this.$field.find(".acf-radio-list"),this.o=acf.get_data(this.$ul)},initialize:function(){this.$ul.find(".selected input").prop("checked",!0)},click:function(e){var t=e.$el,i=t.parent("label"),a=i.hasClass("selected"),n=t.val();if(this.$ul.find(".selected").removeClass("selected"),i.addClass("selected"),this.o.allow_null&&a&&(e.$el.prop("checked",!1),i.removeClass("selected"),n=!1,e.$el.trigger("change")),this.o.other_choice){var s=this.$ul.find('input[type="text"]');"other"===n?s.prop("disabled",!1).attr("name",t.attr("name")):s.prop("disabled",!0).attr("name","")}}})}(jQuery),function($){acf.fields.range=acf.field.extend({type:"range",$el:null,$range:null,$input:null,events:{"input input":"onInput","change input":"onChange"},focus:function(){this.$el=this.$field.find(".acf-range-wrap"),this.$range=this.$el.children('input[type="range"]'),this.$input=this.$el.children('input[type="number"]')},setValue:function(e){this.$input.val(e),this.$range.val(e)},onInput:function(e){this.setValue(e.$el.val())},onChange:function(e){this.setValue(e.$el.val()),"number"==e.$el.attr("type")&&this.$range.trigger("change")}})}(jQuery),function($){acf.fields.relationship=acf.field.extend({type:"relationship",$el:null,$input:null,$filters:null,$choices:null,$values:null,actions:{ready:"initialize",append:"initialize"},events:{"keypress [data-filter]":"submit_filter","change [data-filter]":"change_filter","keyup [data-filter]":"change_filter","click .choices .acf-rel-item":"add_item",'click [data-name="remove_item"]':"remove_item"},focus:function(){this.$el=this.$field.find(".acf-relationship"),this.$input=this.$el.children('input[type="hidden"]'),this.$choices=this.$el.find(".choices"),this.$values=this.$el.find(".values"),this.o=acf.get_data(this.$el)},initialize:function(){var e=this,t=this.$field,i=this.$el,a=this.$input;this.$values.children(".list").sortable({items:"li",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,update:function(){a.trigger("change")}}),this.$choices.children(".list").scrollTop(0).on("scroll",function(a){if(!i.hasClass("is-loading")&&!i.hasClass("is-empty")&&Math.ceil($(this).scrollTop())+$(this).innerHeight()>=$(this).get(0).scrollHeight){var n=i.data("paged")||1;i.data("paged",n+1),e.set("$field",t).fetch()}}),this.fetch()},maybe_fetch:function(){var e=this,t=this.$field;this.o.timeout&&clearTimeout(this.o.timeout);var i=setTimeout(function(){e.doFocus(t),e.fetch()},300);this.$el.data("timeout",i)},fetch:function(){var e=this,t=this.$field;this.$el.addClass("is-loading"),this.o.xhr&&(this.o.xhr.abort(),this.o.xhr=!1),this.o.action="acf/fields/relationship/query",this.o.field_key=t.data("key"),this.o.post_id=acf.get("post_id");var i=acf.prepare_for_ajax(this.o);1==i.paged&&this.$choices.children(".list").html(""),this.$choices.find("ul:last").append('

        '+acf._e("relationship","loading")+"

        ");var a=$.ajax({url:acf.get("ajaxurl"),dataType:"json",type:"post",data:i,success:function(i){e.set("$field",t).render(i)}});this.$el.data("xhr",a)},render:function(e){if(this.$el.removeClass("is-loading is-empty"),this.$choices.find("p").remove(),!e||!e.results||!e.results.length)return this.$el.addClass("is-empty"),void(1==this.o.paged&&this.$choices.children(".list").append("

        "+acf._e("relationship","empty")+"

        "));var t=$(this.walker(e.results));this.$values.find(".acf-rel-item").each(function(){t.find('.acf-rel-item[data-id="'+$(this).data("id")+'"]').addClass("disabled")}),this.$choices.children(".list").append(t);var i="",a=null;this.$choices.find(".acf-rel-label").each(function(){if($(this).text()==i)return a.append($(this).siblings("ul").html()),void $(this).parent().remove();i=$(this).text(),a=$(this).siblings("ul")})},walker:function(e){var t="";if($.isArray(e))for(var i in e)t+=this.walker(e[i]);else $.isPlainObject(e)&&(void 0!==e.children?(t+='
      • '+e.text+'
          ',t+=this.walker(e.children),t+="
      • "):t+='
      • '+e.text+"
      • ");return t},submit_filter:function(e){13==e.which&&e.preventDefault()},change_filter:function(e){var t=e.$el.val(),i=e.$el.data("filter");this.$el.data(i)!=t&&(this.$el.data(i,t),this.$el.data("paged",1),e.$el.is("select")?this.fetch():this.maybe_fetch())},add_item:function(e){if(this.o.max>0&&this.$values.find(".acf-rel-item").length>=this.o.max)return void alert(acf._e("relationship","max").replace("{max}",this.o.max));if(e.$el.hasClass("disabled"))return!1;e.$el.addClass("disabled");var t=["
      • ",'',''+e.$el.html(),'',"","
      • "].join("");this.$values.children(".list").append(t),this.$input.trigger("change"),acf.validation.remove_error(this.$field)},remove_item:function(e){var t=e.$el.parent(),i=t.data("id");t.parent("li").remove(),this.$choices.find('.acf-rel-item[data-id="'+i+'"]').removeClass("disabled"),this.$input.trigger("change")}})}(jQuery),function($){var e,t,i;e=acf.select2=acf.model.extend({version:0,version3:null,version4:null,actions:{"ready 1":"ready"},ready:function(){this.version=this.get_version(),this.do_function("ready")},get_version:function(){return acf.maybe_get(window,"Select2")?3:acf.maybe_get(window,"jQuery.fn.select2.amd")?4:0},do_function:function(e,t){t=t||[];var i="version"+this.version;return void 0!==this[i]&&void 0!==this[i][e]&&this[i][e].apply(this,t)},get_data:function(e,t){var i=this;return t=t||[],e.children().each(function(){var e=$(this);e.is("optgroup")?t.push({text:e.attr("label"),children:i.get_data(e)}):t.push({id:e.attr("value"),text:e.text()})}),t},decode_data:function(t){return t?($.each(t,function(i,a){t[i].text=acf.decode(a.text),void 0!==a.children&&(t[i].children=e.decode_data(a.children))}),t):[]},count_data:function(e){var t=0;return e?($.each(e,function(e,i){t++,void 0!==i.children&&(t+=i.children.length)}),t):t},get_ajax_data:function(e,t,i,a){var n=acf.prepare_for_ajax({action:e.ajax_action,field_key:e.key,s:t.term||"",paged:t.page||1});return n=acf.apply_filters("select2_ajax_data",n,e,i,a)},get_ajax_results:function(e,t){var i={results:[]};return e||(e=i),void 0===e.results&&(i.results=e,e=i),e.results=this.decode_data(e.results),e=acf.apply_filters("select2_ajax_results",e,t)},get_value:function(e){var t=[],i=e.find("option:selected");return i.exists()?(i=i.sort(function(e,t){return+e.getAttribute("data-i")-+t.getAttribute("data-i")}),i.each(function(){var e=$(this);t.push({id:e.attr("value"),text:e.text(),$el:e})}),t):t},get_input_value:function(e){return e.val().split("||")},sync_input_value:function(e,t){e.val(t.val().join("||"))},add_option:function(e,t,i){ -e.find('option[value="'+t+'"]').length||e.append('")},select_option:function(e,t){e.find('option[value="'+t+'"]').prop("selected",!0),e.trigger("change")},unselect_option:function(e,t){e.find('option[value="'+t+'"]').prop("selected",!1),e.trigger("change")},init:function(e,t,i){this.do_function("init",arguments)},destroy:function(e){this.do_function("destroy",arguments)},add_value:function(e,t,i){this.do_function("add_value",arguments)},remove_value:function(e,t){this.do_function("remove_value",arguments)}}),t=e.version3={ready:function(){var e=acf.get("locale"),t=acf.get("rtl");if(l10n=acf._e("select"),l10n){var i={formatMatches:function(e){return 1===e?l10n.matches_1:l10n.matches_n.replace("%d",e)},formatNoMatches:function(){return l10n.matches_0},formatAjaxError:function(){return l10n.load_fail},formatInputTooShort:function(e,t){var i=t-e.length;return 1===i?l10n.input_too_short_1:l10n.input_too_short_n.replace("%d",i)},formatInputTooLong:function(e,t){var i=e.length-t;return 1===i?l10n.input_too_long_1:l10n.input_too_long_n.replace("%d",i)},formatSelectionTooBig:function(e){return 1===e?l10n.selection_too_long_1:l10n.selection_too_long_n.replace("%d",e)},formatLoadMore:function(){return l10n.load_more},formatSearching:function(){return l10n.searching}};$.fn.select2.locales=acf.maybe_get(window,"jQuery.fn.select2.locales",{}),$.fn.select2.locales[e]=i,$.extend($.fn.select2.defaults,i)}},set_data:function(e,t){3==this.version&&(e=e.siblings("input")),e.select2("data",t)},append_data:function(e,t){3==this.version&&(e=e.siblings("input"));var i=e.select2("data")||[];i.push(t),e.select2("data",i)},init:function(i,a,n){a=a||{},n=n||null,a=$.extend({allow_null:!1,placeholder:"",multiple:!1,ajax:!1,ajax_action:""},a);var s=i.siblings("input");if(s.exists()){var o={width:"100%",containerCssClass:"-acf",allowClear:a.allow_null,placeholder:a.placeholder,multiple:a.multiple,separator:"||",data:[],escapeMarkup:function(e){return e},formatResult:function(e,t,i,a){var n=$.fn.select2.defaults.formatResult(e,t,i,a);return e.description&&(n+=' '+e.description+""),n}},r=this.get_value(i);if(a.multiple){var l=i.attr("name");o.formatSelection=function(e,t){var i='";return t.parent().append(i),e.text}}else r=acf.maybe_get(r,0,!1),!a.allow_null&&r&&s.val(r.id);a.allow_null&&i.find('option[value=""]').remove(),o.data=this.get_data(i),o.initSelection=function(e,t){t(r)},a.ajax&&(o.ajax={url:acf.get("ajaxurl"),dataType:"json",type:"post",cache:!1,quietMillis:250,data:function(t,i){var o={term:t,page:i};return e.get_ajax_data(a,o,s,n)},results:function(i,a){var n={page:a};return setTimeout(function(){t.merge_results()},1),e.get_ajax_results(i,n)}}),o.dropdownCss={"z-index":"999999999"},o.acf=a,o=acf.apply_filters("select2_args",o,i,a,n),s.select2(o);var c=s.select2("container");c.before(i),c.before(s),a.multiple&&c.find("ul.select2-choices").sortable({start:function(){s.select2("onSortStart")},stop:function(){s.select2("onSortEnd")}}),i.prop("disabled",!0).addClass("acf-disabled acf-hidden"),s.on("change",function(t){t.added&&e.add_option(i,t.added.id,t.added.text),e.select_option(i,t.val)}),acf.do_action("select2_init",s,o,a,n)}},merge_results:function(){var e="",t=null;$("#select2-drop .select2-result-with-children").each(function(){var i=$(this).children(".select2-result-label"),a=$(this).children(".select2-result-sub");if(i.text()==e)return t.append(a.children()),void $(this).remove();e=i.text(),t=a})},destroy:function(e){var t=e.siblings("input");t.data("select2")&&t.select2("destroy"),e.siblings(".select2-container").remove(),e.prop("disabled",!1).removeClass("acf-disabled acf-hidden"),t.attr("style","")},add_value:function(t,i,a){e.add_option(t,i,a),e.select_option(t,i);var n=t.siblings("input"),s={id:i,text:a};if(!t.data("multiple"))return n.select2("data",s);var o=n.select2("data")||[];return o.push(s),n.select2("data",o)},remove_value:function(t,i){e.unselect_option(t,i);var a=t.siblings("input"),n=a.select2("data");t.data("multiple")?(n=$.grep(n,function(e){return e.id!=i}),a.select2("data",n)):n&&n.id==i&&a.select2("data",null)}},i=e.version4={init:function(t,a,n){a=a||{},n=n||null,a=$.extend({allow_null:!1,placeholder:"",multiple:!1,ajax:!1,ajax_action:""},a);var s=t.siblings("input");if(s.exists()){var o={width:"100%",allowClear:a.allow_null,placeholder:a.placeholder,multiple:a.multiple,separator:"||",data:[],escapeMarkup:function(e){return e}},r=this.get_value(t);a.multiple?$.each(r,function(e,i){i.$el.detach().appendTo(t)}):r=acf.maybe_get(r,0,""),a.ajax?o.ajax={url:acf.get("ajaxurl"),delay:250,dataType:"json",type:"post",cache:!1,data:function(i){return e.get_ajax_data(a,i,t,n)},processResults:function(t,a){var n=e.get_ajax_results(t,a);return n.more&&(n.pagination={more:!0}),setTimeout(function(){i.merge_results()},1),n}}:(t.removeData("ajax"),t.removeAttr("data-ajax")),o=acf.apply_filters("select2_args",o,t,a,n),t.select2(o);var l=t.next(".select2-container");if(a.multiple){var c=l.find("ul");c.sortable({stop:function(e){c.find(".select2-selection__choice").each(function(){$($(this).data("data").element).detach().appendTo(t),s.trigger("change")})}}),t.on("select2:select",function(e){$(e.params.data.element).detach().appendTo(t)})}s.val(""),l.addClass("-acf"),acf.do_action("select2_init",t,o,a,n)}},merge_results:function(){var e=null,t=null;$('.select2-results__option[role="group"]').each(function(){var i=$(this).children("ul"),a=$(this).children("strong");if(null!==t&&a.text()==t.text())return e.append(i.children()),void $(this).remove();e=i,t=a})},add_value:function(t,i,a){e.add_option(t,i,a),e.select_option(t,i)},remove_value:function(t,i){e.unselect_option(t,i)},destroy:function(e){e.data("select2")&&e.select2("destroy"),e.siblings(".select2-container").remove()}},acf.add_select2=function(t,i){e.init(t,i)},acf.remove_select2=function(t){e.destroy(t)}}(jQuery),function($){acf.fields.select=acf.field.extend({type:"select",$select:null,actions:{ready:"render",append:"render",remove:"remove"},focus:function(){this.$select=this.$field.find("select"),this.$select.exists()&&(this.o=acf.get_data(this.$select),this.o=acf.parse_args(this.o,{ajax_action:"acf/fields/"+this.type+"/query",key:this.$field.data("key")}))},render:function(){if(!this.$select.exists()||!this.o.ui)return!1;acf.select2.init(this.$select,this.o,this.$field)},remove:function(){if(!this.$select.exists()||!this.o.ui)return!1;acf.select2.destroy(this.$select)}}),acf.fields.user=acf.fields.select.extend({type:"user"}),acf.fields.post_object=acf.fields.select.extend({type:"post_object"}),acf.fields.page_link=acf.fields.select.extend({type:"page_link"})}(jQuery),function($,e){var t=0;acf.fields.accordion=acf.field.extend({type:"accordion",$el:null,$wrap:null,actions:{prepare:"initialize",append:"initialize"},focus:function(){},initialize:function(){var e=this.$field,i=e.children(".acf-label"),a=e.children(".acf-input"),n=a.children(".acf-fields"),s=n.data();if(!e.is("td")){if(s.endpoint)return void e.remove();var o=a.children(".description");if(o.length&&i.append(o),e.is("tr")){var r=e.closest("table"),l=$('
        '),c=$('
        '),d=$('
          '),f=$("");l.append(i.html()),d.append(f),c.append(d),a.append(l),a.append(c),i.remove(),n.remove(),a.attr("colspan",2),i=l,a=c,n=f}e.addClass("acf-accordion"),i.addClass("acf-accordion-title"),a.addClass("acf-accordion-content"),t++,s.multi_expand&&e.data("multi-expand",1);var u=acf.getPreference("this.accordions")||[];void 0!==u[t-1]&&(s.open=u[t-1]),s.open&&(e.addClass("-open"),a.css("display","block")),i.prepend('');var h=e.parent();n.addClass(h.hasClass("-left")?"-left":""),n.addClass(h.hasClass("-clear")?"-clear":""),n.append(e.nextUntil(".acf-field-accordion",".acf-field")),n.removeAttr("data-open data-multi_expand data-endpoint")}}});var i=acf.model.extend({events:{"click .acf-accordion-title":"_click"},_click:function(e){e.preventDefault(),this.toggle(e.$el.closest(".acf-accordion"))},isOpen:function(e){return e.hasClass("-open")},toggle:function(e){this.isOpen(e)?this.close(e):this.open(e)},open:function(e){e.find(".acf-accordion-content:first").slideDown().css("display","block"),e.find(".acf-accordion-icon:first").removeClass("dashicons-arrow-right").addClass("dashicons-arrow-down"),e.addClass("-open"),acf.do_action("show",e),e.data("multi-expand")||e.siblings(".acf-accordion.-open").each(function(){i.close($(this))}),acf.do_action("refresh",e)},close:function(e){e.find(".acf-accordion-content:first").slideUp(),e.find(".acf-accordion-icon:first").removeClass("dashicons-arrow-down").addClass("dashicons-arrow-right"),e.removeClass("-open"),acf.do_action("hide",e)}});$(window).on("unload",function(){var e=[];$(".acf-accordion").each(function(){var t=$(this).hasClass("-open")?1:0;e.push(t)}),e.length&&acf.setPreference("this.accordions",e)});var a=acf.model.extend({active:1,events:{"invalidField .acf-accordion":"invalidField"},invalidField:function(e){this.active&&(this.block(),i.open(e.$el))},block:function(){var e=this;this.active=0,setTimeout(function(){e.active=1},1e3)}})}(jQuery),function($){var e="hidden-by-conditional-logic",t=0,i=0,a=acf.model.extend({$fields:[],actions:{"prepare 15":"initialize","append 15":"initialize","refresh 15":"refresh"},events:{"click .acf-tab-button":"_click"},_click:function(e){e.preventDefault(),this.toggle(e.$el)},isOpen:function(e){return e.hasClass("-open")},toggle:function(e){var t=e.data("key"),i=e.parent(),a=e.closest(".acf-tab-wrap"),n=a.find(".active a"),s=a.siblings('.acf-field[data-key="'+t+'"]');if(!this.isOpen(s)){if(n.length){var o=n.data("key"),r=n.parent(),l=a.siblings('.acf-field[data-key="'+o+'"]');r.removeClass("active"),this.close(l)}i.addClass("active"),this.open(s),acf.do_action("refresh",a.parent())}},getFields:function(e){return e.nextUntil(".acf-field-tab",".acf-field")},getWrap:function(e){return e.prevAll(".acf-tab-wrap:first")},getTab:function(e,t){return e.find('a[data-key="'+t+'"]')},open:function(e){this.getFields(e).each(function(){$(this).removeClass("hidden-by-tab"),acf.do_action("show_field",$(this),"tab")})},close:function(e){this.getFields(e).each(function(){$(this).addClass("hidden-by-tab"),acf.do_action("hide_field",$(this),"tab")})},addTab:function(e){this.$fields.push(e)},initialize:function(){if(this.$fields.length){for(var e=0;e").append(o);return l?(c.addClass("active"),this.open(e)):this.close(e),""==o.html()&&c.hide(),s.find("ul").append(c),i++,((acf.getPreference("this.tabs")||[])[t-1]||0)!=i-1||l||this.toggle(o),c},createTabWrap:function(e,a){var n=e.parent(),s=!1;return n.hasClass("acf-fields")&&"left"==a.placement&&n.addClass("-sidebar"),s=$(e.is("tr")?'':'
            '),e.before(s),t++,i=0,s},refresh:function(e){$(".acf-tab-wrap",e).each(function(){var e=$(this);if(e.hasClass("-left")){var t=e.parent(),i=t.is("td")?"height":"min-height",a=e.position().top+e.children("ul").outerHeight(!0)-1;t.css(i,a)}})}});acf.fields.tab=acf.field.extend({type:"tab",$el:null,$wrap:null,actions:{prepare:"initialize",append:"initialize",hide:"hide",show:"show"},focus:function(){},initialize:function(){a.addTab(this.$field)},hide:function(t,i){if("conditional_logic"==i){var n=t.data("key"),s=a.getWrap(t),o=a.getTab(s,n),r=o.parent();s.exists()&&(r.addClass(e),a.getFields(t).each(function(){acf.conditional_logic.hide_field($(this),n)}),r.hasClass("active")&&s.find("li:not(."+e+"):first a").trigger("click"))}},show:function(t,i){if("conditional_logic"==i){var n=t.data("key"),s=a.getWrap(t),o=a.getTab(s,n),r=o.parent();if(s.exists()){r.removeClass(e),a.getFields(t).each(function(){acf.conditional_logic.show_field($(this),n)});var l=r.siblings(".active");l.exists()&&!l.hasClass(e)||a.toggle(o)}}}}),$(window).on("unload",function(){var e=[];$(".acf-tab-wrap").each(function(){var t=$(this).find(".active").index()||0;e.push(t)}),e.length&&acf.setPreference("this.tabs",e)});var n=acf.model.extend({active:1,actions:{invalid_field:"invalid_field"},invalid_field:function(e){if(this.active&&e.hasClass("hidden-by-tab")){var t=this,i=e.prevAll(".acf-field-tab:first");e.prevAll(".acf-tab-wrap:first").find('a[data-key="'+i.data("key")+'"]').trigger("click"),this.active=0,setTimeout(function(){t.active=1},1e3)}}})}(jQuery),function($){acf.fields.time_picker=acf.field.extend({type:"time_picker",$el:null,$input:null,$hidden:null,o:{},actions:{ready:"initialize",append:"initialize"},events:{'blur input[type="text"]':"blur"},focus:function(){this.$el=this.$field.find(".acf-time-picker"),this.$input=this.$el.find('input[type="text"]'),this.$hidden=this.$el.find('input[type="hidden"]'),this.o=acf.get_data(this.$el)},initialize:function(){if(void 0!==$.timepicker){var e={timeFormat:this.o.time_format,altField:this.$hidden,altFieldTimeOnly:!1,altTimeFormat:"HH:mm:ss",showButtonPanel:!0,controlType:"select",oneLine:!0,closeText:acf._e("date_time_picker","selectText")};e.onClose=function(e,t){var i=t.dpDiv,a=i.find(".ui-datepicker-close");if(!e&&a.is(":hover")){if(!(e=acf.maybe_get(t,"settings.timepicker.formattedTime")))return;$.datepicker._setTime(t)}},e=acf.apply_filters("time_picker_args",e,this.$field),this.$input.timepicker(e),$("body > #ui-datepicker-div").exists()&&$("body > #ui-datepicker-div").wrap('
            '),acf.do_action("time_picker_init",this.$input,e,this.$field)}},blur:function(){this.$input.val()||this.$hidden.val("")}})}(jQuery),function($){acf.fields.true_false=acf.field.extend({type:"true_false",$switch:null,$input:null,actions:{prepare:"render",append:"render",show:"render"},events:{"change .acf-switch-input":"_change","focus .acf-switch-input":"_focus","blur .acf-switch-input":"_blur","keypress .acf-switch-input":"_keypress"},focus:function(){this.$input=this.$field.find(".acf-switch-input"),this.$switch=this.$field.find(".acf-switch")},render:function(){if(this.$switch.exists()){var e=this.$switch.children(".acf-switch-on"),t=this.$switch.children(".acf-switch-off");width=Math.max(e.width(),t.width()),width&&(e.css("min-width",width),t.css("min-width",width))}},on:function(){this.$input.prop("checked",!0),this.$switch.addClass("-on")},off:function(){this.$input.prop("checked",!1),this.$switch.removeClass("-on")},_change:function(e){e.$el.prop("checked")?this.on():this.off()},_focus:function(e){this.$switch.addClass("-focus")},_blur:function(e){this.$switch.removeClass("-focus")},_keypress:function(e){return 37===e.keyCode?this.off():39===e.keyCode?this.on():void 0}})}(jQuery),function($){acf.fields.taxonomy=acf.field.extend({type:"taxonomy",$el:null,actions:{ready:"render",append:"render",remove:"remove"},events:{'click a[data-name="add"]':"add_term"},focus:function(){this.$el=this.$field.find(".acf-taxonomy-field"),this.o=acf.get_data(this.$el,{save:"",type:"",taxonomy:""}),this.o.key=this.$field.data("key")},render:function(){var e=this.$field.find("select");if(e.exists()){var t=acf.get_data(e);t=acf.parse_args(t,{pagination:!0,ajax_action:"acf/fields/taxonomy/query",key:this.o.key}),acf.select2.init(e,t)}},remove:function(){var e=this.$field.find("select");if(!e.exists())return!1;acf.select2.destroy(e)},add_term:function(e){var t=this;acf.open_popup({title:e.$el.attr("title")||e.$el.data("title"),loading:!0,height:220});var i=acf.prepare_for_ajax({action:"acf/fields/taxonomy/add_term",field_key:this.o.key});$.ajax({url:acf.get("ajaxurl"),data:i,type:"post",dataType:"html",success:function(e){t.add_term_confirm(e)}})},add_term_confirm:function(e){var t=this;acf.update_popup({content:e}),$('#acf-popup input[name="term_name"]').focus(),$("#acf-popup form").on("submit",function(e){e.preventDefault(),t.add_term_submit($(this))})},add_term_submit:function(e){var t=this,i=e.find(".acf-submit"),a=e.find('input[name="term_name"]'),n=e.find('select[name="term_parent"]');if(""===a.val())return a.focus(),!1;i.find("button").attr("disabled","disabled"),i.find(".acf-spinner").addClass("is-active");var s=acf.prepare_for_ajax({action:"acf/fields/taxonomy/add_term",field_key:this.o.key,term_name:a.val(),term_parent:n.exists()?n.val():0});$.ajax({url:acf.get("ajaxurl"),data:s,type:"post",dataType:"json",success:function(e){var n=acf.get_ajax_message(e);acf.is_ajax_success(e)&&(a.val(""),t.append_new_term(e.data)),n.text&&i.find("span").html(n.text)},complete:function(){i.find("button").removeAttr("disabled"),i.find(".acf-spinner").removeClass("is-active"),i.find("span").delay(1500).fadeOut(250,function(){$(this).html(""),$(this).show()}),a.focus()}})},append_new_term:function(e){var t={id:e.term_id,text:e.term_label};switch($('.acf-taxonomy-field[data-taxonomy="'+this.o.taxonomy+'"]').each(function(){var t=$(this).data("type");if("radio"==t||"checkbox"==t){var i=$(this).children('input[type="hidden"]'),a=$(this).find("ul:first"),n=i.attr("name");"checkbox"==t&&(n+="[]");var s=$(['
          • ',"","
          • "].join(""));if(e.term_parent){var o=a.find('li[data-id="'+e.term_parent+'"]');a=o.children("ul"),a.exists()||(a=$('
              '),o.append(a))}a.append(s)}}),$("#acf-popup #term_parent").each(function(){var t=$('");e.term_parent?$(this).children('option[value="'+e.term_parent+'"]').after(t):$(this).append(t)}),this.o.type){case"select":var i=this.$el.children("select");acf.select2.add_value(i,e.term_id,e.term_label);break;case"multi_select":var i=this.$el.children("select");acf.select2.add_value(i,e.term_id,e.term_label);break;case"checkbox":case"radio":var a=this.$el.find(".categorychecklist-holder"),n=a.find('li[data-id="'+e.term_id+'"]'),s=a.get(0).scrollTop+(n.offset().top-a.offset().top);n.find("input").prop("checked",!0),a.animate({scrollTop:s},"250");break}}})}(jQuery),function($){acf.fields.url=acf.field.extend({type:"url",$input:null,actions:{ready:"render",append:"render"},events:{'keyup input[type="url"]':"render"},focus:function(){this.$input=this.$field.find('input[type="url"]')},is_valid:function(){var e=this.$input.val();if(-1!==e.indexOf("://"));else if(0!==e.indexOf("//"))return!1;return!0},render:function(){this.is_valid()?this.$input.parent().addClass("-valid"):this.$input.parent().removeClass("-valid")}})}(jQuery),function($){acf.validation=acf.model.extend({actions:{ready:"ready",append:"ready"},filters:{validation_complete:"validation_complete"},events:{"click #save-post":"click_ignore",'click [type="submit"]':"click_publish","submit form":"submit_form","click .acf-error-message a":"click_message"},active:1,ignore:0,busy:0,valid:!0,errors:[],error_class:"acf-error",message_class:"acf-error-message",$trigger:null,ready:function(e){var t=$(".acf-field input, .acf-field textarea, .acf-field select");if(t.length){var i=this;t.on("invalid",function(e){var t=$(this),i=acf.get_field_wrap(t);i.trigger("invalidField"),acf.do_action("invalid",t),acf.do_action("invalid_field",i),acf.validation.ignore||(e.preventDefault(),acf.validation.errors.push({input:t.attr("name"),message:e.target.validationMessage}),acf.validation.fetch(t.closest("form")))})}},validation_complete:function(e,t){if(!this.errors.length)return e;e.valid=0,e.errors=e.errors||[];var a=[];if(e.errors.length)for(i in e.errors)a.push(e.errors[i].input);if(this.errors.length)for(i in this.errors){var n=this.errors[i];-1===$.inArray(n.input,a)&&e.errors.push(n)}return this.errors=[],e},click_message:function(e){e.preventDefault(),acf.remove_el(e.$el.parent())},click_ignore:function(e){var t=this;this.ignore=1,this.$trigger=e.$el,this.$form=e.$el.closest("form"),$("."+this.message_class).each(function(){acf.remove_el($(this))}),this.ignore_required_inputs(),setTimeout(function(){t.ignore=0},100)},ignore_required_inputs:function(){var e=$(".acf-field input[required], .acf-field textarea[required], .acf-field select[required]");e.length&&(e.prop("required",!1),setTimeout(function(){e.prop("required",!0)},100))},click_publish:function(e){this.$trigger=e.$el},submit_form:function(e){if(!this.active)return!0;if(this.ignore)return this.ignore=0,!0;if(!e.$el.find("#acf-form-data").exists())return!0;var t=e.$el.find("#wp-preview");if(t.exists()&&t.val())return this.toggle(e.$el,"unlock"),!0;e.preventDefault(),this.fetch(e.$el)},toggle:function(e,t){t=t||"unlock";var i=null,a=null,n=$("#submitdiv");n.exists()||(n=$("#submitpost")),n.exists()||(n=e.find("p.submit").last()),n.exists()||(n=e.find(".acf-form-submit")),n.exists()||(n=e),i=n.find('input[type="submit"], .button'),a=n.find(".spinner, .acf-spinner"),this.hide_spinner(a),"unlock"==t?this.enable_submit(i):"lock"==t&&(this.disable_submit(i),this.show_spinner(a.last()))},fetch:function(e){if(this.busy)return!1;var t=this;acf.do_action("validation_begin");var i=acf.serialize(e);i.action="acf/validate_save_post",i=acf.prepare_for_ajax(i),this.busy=1,this.toggle(e,"lock"),$.ajax({url:acf.get("ajaxurl"),data:i,type:"post",dataType:"json",success:function(i){acf.is_ajax_success(i)&&t.fetch_success(e,i.data)},complete:function(){t.fetch_complete(e)}})},fetch_complete:function(e){if(this.busy=0,this.toggle(e,"unlock"),this.valid){this.ignore=1;var t=e.children(".acf-error-message");t.exists()&&(t.addClass("-success"),t.children("p").html(acf._e("validation_successful")),setTimeout(function(){acf.remove_el(t)},2e3)),e.find(".acf-postbox.acf-hidden").remove(),acf.do_action("submit",e),this.$trigger?this.$trigger.click():e.submit(),this.toggle(e,"lock")}},fetch_success:function(e,t){if(!(t=acf.apply_filters("validation_complete",t,e))||t.valid||!t.errors)return this.valid=!0,void acf.do_action("validation_success");this.valid=!1,this.$trigger=null,this.display_errors(t.errors,e),acf.do_action("validation_failure")},display_errors:function(e,t){if(e&&e.length){var a=t.children(".acf-error-message"),n=acf._e("validation_failed"),s=0,o=null;for(i=0;i1&&(n+=". "+acf._e("validation_failed_2").replace("%d",s)),a.exists()||(a=$('

              '),t.prepend(a)),a.children("p").html(n),null===o&&(o=a),setTimeout(function(){$("html, body").animate({scrollTop:o.offset().top-$(window).height()/2},500)},10)}},add_error:function(e,t){var i=this;e.addClass(this.error_class),void 0!==t&&(e.children(".acf-input").children("."+this.message_class).remove(),e.children(".acf-input").prepend('

              '+t+"

              "));var a=function(){i.remove_error(e),e.off("focus change","input, textarea, select",a)};e.on("focus change","input, textarea, select",a),e.trigger("invalidField"),acf.do_action("add_field_error",e),acf.do_action("invalid_field",e)},remove_error:function(e){var t=e.children(".acf-input").children("."+this.message_class);e.removeClass(this.error_class),setTimeout(function(){acf.remove_el(t)},250),acf.do_action("remove_field_error",e),acf.do_action("valid_field",e)},add_warning:function(e,t){this.add_error(e,t),setTimeout(function(){acf.validation.remove_error(e)},1e3)},show_spinner:function(e){if(e.exists()){var t=acf.get("wp_version");parseFloat(t)>=4.2?e.addClass("is-active"):e.css("display","inline-block")}},hide_spinner:function(e){if(e.exists()){var t=acf.get("wp_version");parseFloat(t)>=4.2?e.removeClass("is-active"):e.css("display","none")}},disable_submit:function(e){e.exists()&&e.addClass("disabled button-disabled button-primary-disabled")},enable_submit:function(e){e.exists()&&e.removeClass("disabled button-disabled button-primary-disabled")}})}(jQuery),function($){acf.fields.wysiwyg=acf.field.extend({type:"wysiwyg",$el:null,$textarea:null,toolbars:{},events:{"mousedown .acf-editor-wrap.delay":"mousedown"},actions:{load:"initialize",append:"initialize",remove:"disable",sortstart:"disable",sortstop:"enable"},focus:function(){this.$el=this.$field.find(".wp-editor-wrap").last(),this.$textarea=this.$el.find("textarea"),this.o=acf.get_data(this.$el,{toolbar:"",active:this.$el.hasClass("tmce-active"),id:this.$textarea.attr("id")})},mousedown:function(e){e.preventDefault(),this.$el.removeClass("delay"),this.$el.find(".acf-editor-toolbar").remove(),this.initialize()},initialize:function(){if(!this.$el.hasClass("delay")){var e={tinymce:!0,quicktags:!0,toolbar:this.o.toolbar,mode:this.o.active?"visual":"text"},t=this.o.id,i=acf.get_uniqid("acf-editor-"),a=this.$el.outerHTML();a=acf.str_replace(t,i,a),this.$el.replaceWith(a),this.o.id=i,acf.tinymce.initialize(this.o.id,e,this.$field)}},disable:function(){acf.tinymce.destroy(this.o.id)},enable:function(){this.o.active&&acf.tinymce.enable(this.o.id)}}),acf.tinymce=acf.model.extend({toolbars:{},actions:{ready:"ready"},ready:function(){var e=$("#acf-hidden-wp-editor");e.exists()&&(e.appendTo("body"),acf.isset(window,"tinymce","on")&&tinymce.on("AddEditor",function(e){var t=e.editor;"acf"===t.id.substr(0,3)&&(t=tinymce.editors.content||t,tinymce.activeEditor=t,wpActiveEditor=t.id)}))},defaults:function(){return"undefined"!=typeof tinyMCEPreInit&&{tinymce:tinyMCEPreInit.mceInit.acf_content,quicktags:tinyMCEPreInit.qtInit.acf_content}},initialize:function(e,t,i){t=t||{},i=i||null,t=acf.parse_args(t,{tinymce:!0,quicktags:!0,toolbar:"full",mode:"visual"}),t.tinymce&&this.initialize_tinymce(e,t,i),t.quicktags&&this.initialize_quicktags(e,t,i)},initialize_tinymce:function(e,t,i){var a=$("#"+e),n=this.defaults(),s=this.toolbars;if("undefined"==typeof tinymce)return!1;if(!n)return!1;if(tinymce.get(e))return this.enable(e);init=$.extend({},n.tinymce,t.tinymce),init.id=e,init.selector="#"+e;var o=t.toolbar;if(o&&void 0!==s[o])for(var r=1;r<=4;r++)init["toolbar"+r]=s[o][r]||"";if(init.setup=function(t){t.on("focus",function(e){acf.validation.remove_error(i)}),t.on("change",function(e){t.save(),a.trigger("change")}),$(t.getWin()).on("unload",function(){acf.tinymce.remove(e)})},init.wp_autoresize_on=!1,init=acf.apply_filters("wysiwyg_tinymce_settings",init,e,i),tinyMCEPreInit.mceInit[e]=init,"visual"==t.mode){tinymce.init(init);var l=tinymce.get(e);acf.do_action("wysiwyg_tinymce_init",l,l.id,init,i)}},initialize_quicktags:function(e,t,i){var a=this.defaults();if("undefined"==typeof quicktags)return!1;if(!a)return!1;init=$.extend({},a.quicktags,t.quicktags),init.id=e,init=acf.apply_filters("wysiwyg_quicktags_settings",init,init.id,i),tinyMCEPreInit.qtInit[e]=init;var n=quicktags(init);this.build_quicktags(n),acf.do_action("wysiwyg_quicktags_init",n,n.id,init,i)},build_quicktags:function(e){var t,i,a,n,s,e,o,r,l,c,d=",strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,";t=e.canvas,i=e.name,a=e.settings,s="",n={},l="",c=e.id,a.buttons&&(l=","+a.buttons+",");for(r in edButtons)edButtons[r]&&(o=edButtons[r].id,l&&-1!==d.indexOf(","+o+",")&&-1===l.indexOf(","+o+",")||edButtons[r].instance&&edButtons[r].instance!==c||(n[o]=edButtons[r],edButtons[r].html&&(s+=edButtons[r].html(i+"_"))));l&&-1!==l.indexOf(",dfw,")&&(n.dfw=new QTags.DFWButton,s+=n.dfw.html(i+"_")),"rtl"===document.getElementsByTagName("html")[0].dir&&(n.textdirection=new QTags.TextDirectionButton,s+=n.textdirection.html(i+"_")),e.toolbar.innerHTML=s,e.theButtons=n,"undefined"!=typeof jQuery&&jQuery(document).triggerHandler("quicktags-init",[e])},disable:function(e){this.destroy(e)},destroy:function(e){this.destroy_tinymce(e)},destroy_tinymce:function(e){if("undefined"==typeof tinymce)return!1;var t=tinymce.get(e);return!!t&&(t.save(),t.destroy(),!0)},enable:function(e){this.enable_tinymce(e)},enable_tinymce:function(e){return"undefined"!=typeof switchEditors&&(void 0!==tinyMCEPreInit.mceInit[e]&&(switchEditors.go(e,"tmce"),!0))}})}(jQuery); \ No newline at end of file +!function($,t){var e={};window.acf=e,e.data={},e.get=function(t){return this.data[t]||null},e.has=function(t){return null!==this.get(data)},e.set=function(t,e){return this.data[t]=e,this};var i=0;e.uniqueId=function(t){var e=++i+"";return t?t+e:e},e.uniqueArray=function(t){function e(t,e,i){return i.indexOf(t)===e}return t.filter(e)};var n="";e.uniqid=function(t,e){void 0===t&&(t="");var i,a=function(t,e){return t=parseInt(t,10).toString(16),et.length?Array(e-t.length+1).join("0")+t:t};return n||(n=Math.floor(123456789*Math.random())),n++,i=t,i+=a(parseInt((new Date).getTime()/1e3,10),8),i+=a(n,5),e&&(i+=(10*Math.random()).toFixed(8).toString()),i},e.strReplace=function(t,e,i){return i.split(t).join(e)},e.strCamelCase=function(t){return t=t.replace(/[_-]/g," "),t=t.replace(/(?:^\w|\b\w|\s+)/g,function(t,e){return 0==+t?"":0==e?t.toLowerCase():t.toUpperCase()})},e.strPascalCase=function(t){var i=e.strCamelCase(t);return i.charAt(0).toUpperCase()+i.slice(1)},e.strSlugify=function(t){return e.strReplace("_","-",t.toLowerCase())},e.strSanitize=function(t){var e={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","ß":"s","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","ĝ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"l","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u","Ǻ":"A","ǻ":"a","Ǽ":"AE","ǽ":"ae","Ǿ":"O","ǿ":"o"," ":"_","'":"","?":"","/":"","\\":"",".":"",",":"","`":"",">":"","<":"",'"':"","[":"","]":"","|":"","{":"","}":"","(":"",")":""},i=/\W/g,n=function(t){return e[t]||t};return t=t.replace(i,n),t=t.toLowerCase()},e.strMatch=function(t,e){for(var i=0,n=Math.min(t.length,e.length),a=0;a").html(t).text()},e.strEscape=function(t){var e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})},e.parseArgs=function(t,e){return"object"!=typeof t&&(t={}),"object"!=typeof e&&(e={}),$.extend({},e,t)},void 0==window.acfL10n&&(acfL10n={}),e.__=function(t){return acfL10n[t]||t},e._x=function(t,e){return acfL10n[t+"."+e]||acfL10n[t]||t},e._n=function(t,i,n){return 1==n?e.__(t):e.__(i)},e.isArray=function(t){return Array.isArray(t)},e.isObject=function(t){return"object"==typeof t};var a=function(t,i,n){i=i.replace("[]","[%%index%%]");var a=i.match(/([^\[\]])+/g);if(a)for(var r=a.length,o=t,s=0;s
              ');var s=e.parent();e.css({height:i,width:n,margin:a,position:"absolute"}),setTimeout(function(){s.css({opacity:0,height:t.endHeight})},50),setTimeout(function(){e.attr("style",o),s.remove(),t.complete()},301)},l=function(t){var e=t.target,i=e.height(),n=e.children().length,a=$('');e.addClass("acf-remove-element"),setTimeout(function(){e.html(a)},251),setTimeout(function(){e.removeClass("acf-remove-element"),a.css({height:t.endHeight})},300),setTimeout(function(){e.remove(),t.complete()},451)};e.duplicate=function(t){t instanceof jQuery&&(t={target:t});var i=0;t=e.parseArgs(t,{target:!1,search:"",replace:"",before:function(t){},after:function(t,e){},append:function(t,e){t.after(e),i=1}}),t.target=t.target||t.$el;var n=t.target;t.search=t.search||n.attr("data-id"),t.replace=t.replace||e.uniqid(),t.before(n),e.doAction("before_duplicate",n);var a=n.clone();return e.rename({target:a,search:t.search,replace:t.replace}),a.removeClass("acf-clone"),a.find(".ui-sortable").removeClass("ui-sortable"),t.after(n,a),e.doAction("after_duplicate",n,a),t.append(n,a),e.doAction("append",a),a},e.rename=function(t){t instanceof jQuery&&(t={target:t}),t=e.parseArgs(t,{target:!1,destructive:!1,search:"",replace:""});var i=t.target,n=t.search||i.attr("data-id"),a=t.replace||e.uniqid("acf"),r=function(t,e){return e.replace(n,a)};if(t.destructive){var o=i.outerHTML();o=e.strReplace(n,a,o),i.replaceWith(o)}else i.attr("data-id",a),i.find('[id*="'+n+'"]').attr("id",r),i.find('[for*="'+n+'"]').attr("for",r),i.find('[name*="'+n+'"]').attr("name",r);return i},e.prepareForAjax=function(t){return t.nonce=e.get("nonce"),t.post_id=e.get("post_id"),t=e.applyFilters("prepare_for_ajax",t)},e.startButtonLoading=function(t){t.prop("disabled",!0),t.after(' ')},e.stopButtonLoading=function(t){t.prop("disabled",!1),t.next(".acf-loading").remove()},e.showLoading=function(t){t.append('
              ')},e.hideLoading=function(t){t.children(".acf-loading-overlay").remove()},e.updateUserSetting=function(t,i){var n={action:"acf/update_user_setting",name:t,value:i};$.ajax({url:e.get("ajaxurl"),data:e.prepareForAjax(n),type:"post",dataType:"html"})},e.val=function(t,e,i){return e!==t.val()&&(!(t.is("select")&&!t.find('option[value="'+e+'"]').length)&&(t.val(e),!0!==i&&t.trigger("change"),!0))},e.show=function(t,i){return i&&e.unlock(t,"hidden",i),!e.isLocked(t,"hidden")&&(!!t.hasClass("acf-hidden")&&(t.removeClass("acf-hidden"),!0))},e.hide=function(t,i){return i&&e.lock(t,"hidden",i),!t.hasClass("acf-hidden")&&(t.addClass("acf-hidden"),!0)},e.isHidden=function(t){return t.hasClass("acf-hidden")},e.isVisible=function(t){return!e.isHidden(t)};var d=function(t,i){return!t.hasClass("acf-disabled")&&(i&&e.unlock(t,"disabled",i),!e.isLocked(t,"disabled")&&(!!t.prop("disabled")&&(t.prop("disabled",!1),!0)))};e.enable=function(t,e){if(t.attr("name"))return d(t,e);var i=!1;return t.find("[name]").each(function(){d($(this),e)&&(i=!0)}),i};var u=function(t,i){return i&&e.lock(t,"disabled",i),!t.prop("disabled")&&(t.prop("disabled",!0),!0)};e.disable=function(t,e){if(t.attr("name"))return u(t,e);var i=!1;return t.find("[name]").each(function(){u($(this),e)&&(i=!0)}),i},e.isset=function(t){for(var e=1;e-1){var o=window.URL||window.webkitURL,s=new Image;s.onload=function(){a.width=this.width,a.height=this.height,i(a)},s.src=o.createObjectURL(r)}else i(a);else i(a)},e.isAjaxSuccess=function(t){return t&&t.success},e.getAjaxMessage=function(t){return e.isget(t,"data","message")},e.getAjaxError=function(t){return e.isget(t,"data","error")},e.renderSelect=function(t,i){var n=t.val(),a=[],r=function(t){var i="";return t.map(function(t){var n=t.text||t.label||"",o=t.id||t.value||"";a.push(o),t.children?i+=''+r(t.children)+"":i+='"}),i};return t.html(r(i)),a.indexOf(n)>-1&&t.val(n),t.val()};var f=function(t,e){return t.data("acf-lock-"+e)||[]},h=function(t,e,i){t.data("acf-lock-"+e,i)};e.lock=function(t,e,i){var n=f(t,e);n.indexOf(i)<0&&(n.push(i),h(t,e,n))},e.unlock=function(t,e,i){var n=f(t,e),a=n.indexOf(i);return a>-1&&(n.splice(a,1),h(t,e,n)),0===n.length},e.isLocked=function(t,e){return f(t,e).length>0},$.fn.exists=function(){return $(this).length>0},$.fn.outerHTML=function(){return $(this).get(0).outerHTML},Array.prototype.indexOf||(Array.prototype.indexOf=function(t){return $.inArray(t,this)}),$(document).ready(function(){e.doAction("ready")}),$(window).on("load",function(){e.doAction("load")}),$(window).on("unload",function(){e.doAction("unload")}),$(window).on("resize",function(){e.doAction("resize")}),$(document).on("sortstart",function(t,i){e.doAction("sortstart",i.item,i.placeholder)}),$(document).on("sortstop",function(t,i){e.doAction("sortstop",i.item,i.placeholder)})}(jQuery),function(t,e){"use strict";var i=function(){function t(){return f}function e(t,e,i,n){return"string"==typeof t&&"function"==typeof e&&(i=parseInt(i||10,10),c("actions",t,e,i,n)),u}function i(){var t=Array.prototype.slice.call(arguments),e=t.shift();return"string"==typeof e&&d("actions",e,t),u}function n(t,e){return"string"==typeof t&&s("actions",t,e),u}function a(t,e,i,n){return"string"==typeof t&&"function"==typeof e&&(i=parseInt(i||10,10),c("filters",t,e,i,n)),u}function r(){var t=Array.prototype.slice.call(arguments),e=t.shift();return"string"==typeof e?d("filters",e,t):u}function o(t,e){return"string"==typeof t&&s("filters",t,e),u}function s(t,e,i,n){if(f[t][e])if(i){var a=f[t][e],r;if(n)for(r=a.length;r--;){var o=a[r];o.callback===i&&o.context===n&&a.splice(r,1)}else for(r=a.length;r--;)a[r].callback===i&&a.splice(r,1)}else f[t][e]=[]}function c(t,e,i,n,a){var r={callback:i,priority:n,context:a},o=f[t][e];o?(o.push(r),o=l(o)):o=[r],f[t][e]=o}function l(t){for(var e,i,n,a=1,r=t.length;ae.priority;)t[i]=t[i-1],--i;t[i]=e}return t}function d(t,e,i){var n=f[t][e];if(!n)return"filters"===t&&i[0];var a=0,r=n.length;if("filters"===t)for(;a','
              ','

              ','
              ','
              ',"
              ",'
              ',""].join("")},render:function(){var t=this.get("title"),e=this.get("content"),i=this.get("loading"),n=this.get("width"),a=this.get("height");this.title(t),this.content(e),n&&this.$(".acf-popup-box").css("width",n),a&&this.$(".acf-popup-box").css("min-height",a),this.loading(i),acf.doAction("append",this.$el)},update:function(t){this.data=acf.parseArgs(t,this.data),this.render()},title:function(t){this.$(".title:first h3").html(t)},content:function(t){this.$(".inner:first").html(t)},loading:function(t){var e=this.$(".loading:first");t?e.show():e.hide()},open:function(){$("body").append(this.$el)},close:function(){this.remove()},onClickClose:function(t,e){t.preventDefault(),this.close()}}),acf.newPopup=function(t){return new acf.models.Popup(t)}}(jQuery),function($,t){acf.unload=new acf.Model({wait:"load",active:!0,changed:!1,actions:{change_field:"startListening",validation_failure:"startListening"},events:{"submit form":"stopListening"},reset:function(){this.stopListening()},startListening:function(){!this.changed&&this.active&&(this.changed=!0,$(window).on("beforeunload",this.onUnload))},stopListening:function(){this.changed=!1,$(window).off("beforeunload",this.onUnload)},onUnload:function(){return acf.__("The changes you made will be lost if you navigate away from this page")}})}(jQuery),function($,t){var e=new acf.Model({events:{"click .acf-panel-title":"onClick"},onClick:function(t,e){t.preventDefault(),this.toggle(e.parent())},isOpen:function(t){return t.hasClass("-open")},toggle:function(t){this.isOpen(t)?this.close(t):this.open(t)},open:function(t){t.addClass("-open"),t.find(".acf-panel-title i").attr("class","dashicons dashicons-arrow-down")},close:function(t){t.removeClass("-open"),t.find(".acf-panel-title i").attr("class","dashicons dashicons-arrow-right")}})}(jQuery),function($,t){var e=acf.Model.extend({data:{text:"",type:"",timeout:0,dismiss:!0,target:!1,close:function(){}},events:{"click .acf-notice-dismiss":"onClickClose"},tmpl:function(){return'
              '},setup:function(t){$.extend(this.data,t),this.$el=$(this.tmpl())},initialize:function(){this.render(),this.show()},render:function(){this.type(this.get("type")),this.html("

              "+this.get("text")+"

              "),this.get("dismiss")&&(this.$el.append(''),this.$el.addClass("-dismiss"));var t=this.get("timeout");t&&this.away(t)},update:function(t){$.extend(this.data,t),this.initialize()},show:function(){var t=this.get("target");t&&t.prepend(this.$el)},hide:function(){this.$el.remove()},away:function(t){this.setTimeout(function(){acf.remove(this.$el)},t)},type:function(t){var e=this.get("type");e&&this.$el.removeClass("-"+e),this.$el.addClass("-"+t),"error"==t&&this.$el.addClass("acf-error-message")},html:function(t){this.$el.html(t)},text:function(t){this.$("p").html(t)},onClickClose:function(t,e){t.preventDefault(),this.get("close").apply(this,arguments),this.remove()}});acf.newNotice=function(t){return"object"!=typeof t&&(t={text:t}),new e(t)};var i=new acf.Model({wait:"prepare",priority:1,initialize:function(){var t=$(".acf-admin-notice");t.length&&$("h1:first").after(t)}})}(jQuery),function($,t){acf.models.Postbox=acf.Model.extend({data:{id:"",key:"",style:"default",label:"top",editLink:"",editTitle:"",visibility:!0},setup:function(t){$.extend(this.data,t)},initialize:function(){var t=this.get("id"),e=$("#"+t),i=$("#"+t+"-hide"),n=i.parent();e.addClass("acf-postbox"),n.addClass("acf-postbox-toggle"),e.removeClass("hide-if-js"),n.removeClass("hide-if-js");var a=this.get("style");"default"!==a&&e.addClass(a),e.children(".inside").addClass("acf-fields").addClass("-"+this.get("label")),this.get("visibility")?i.prop("checked",!0):(e.addClass("acf-hidden"),n.addClass("acf-hidden"));var r=this.get("editLink"),o=this.get("editTitle");r&&e.children(".hndle").append('')}}),acf.newPostbox=function(t){return new acf.models.Postbox(t)}}(jQuery),function($,t){acf.newTooltip=function(t){return"object"!=typeof t&&(t={text:t}),void 0!==t.confirmRemove?(t.textConfirm=acf.__("Remove"),t.textCancel=acf.__("Cancel"),new i(t)):void 0!==t.confirm?new i(t):new e(t)};var e=acf.Model.extend({data:{text:"",timeout:0,target:null},tmpl:function(){return'
              '},setup:function(t){$.extend(this.data,t),this.$el=$(this.tmpl())},initialize:function(){this.render(),this.show(),this.position();var t=this.get("timeout");t&&setTimeout($.proxy(this.fade,this),t)},update:function(t){$.extend(this.data,t),this.initialize()},render:function(){this.html(this.get("text"))},show:function(){$("body").append(this.$el)},hide:function(){this.$el.remove()},fade:function(){this.$el.addClass("acf-fade-up"),this.setTimeout(function(){this.remove()},250)},html:function(t){this.$el.html(t)},position:function(){var t=this.$el,e=this.get("target");if(e){t.removeClass("right left bottom top");var i=10,n=e.outerWidth(),a=e.outerHeight(),r=e.offset().top,o=e.offset().left,s=t.outerWidth(),c=t.outerHeight(),l=r-c,d=o+n/2-s/2;d<10?(t.addClass("right"),d=o+n,l=r+a/2-c/2):d+s+10>$(window).width()?(t.addClass("left"),d=o-s,l=r+a/2-c/2):l-$(window).scrollTop()<10?(t.addClass("bottom"),l=r+a):t.addClass("top"),t.css({top:l,left:d})}}}),i=e.extend({data:{text:"",textConfirm:"",textCancel:"",target:null,targetConfirm:!0,confirm:function(){},cancel:function(){},context:!1},events:{'click [data-event="cancel"]':"onCancel",'click [data-event="confirm"]':"onConfirm"},addEvents:function(){acf.Model.prototype.addEvents.apply(this);var t=$(document),e=this.get("target");this.setTimeout(function(){this.on(t,"click","onCancel")}),this.get("targetConfirm")&&this.on(e,"click","onConfirm")},removeEvents:function(){acf.Model.prototype.removeEvents.apply(this);var t=$(document),e=this.get("target");this.off(t,"click"),this.off(e,"click")},render:function(){var t=this.get("text")||acf.__("Are you sure?"),e=this.get("textConfirm")||acf.__("Yes"),i=this.get("textCancel")||acf.__("No"),n=[t,''+e+"",''+i+""].join(" ");this.html(n),this.$el.addClass("-confirm")},onCancel:function(t,e){t.preventDefault(),t.stopImmediatePropagation();var i=this.get("cancel"),n=this.get("context")||this;i.apply(n,arguments),this.remove()},onConfirm:function(t,e){t.preventDefault(),t.stopImmediatePropagation();var i=this.get("confirm"),n=this.get("context")||this;i.apply(n,arguments),this.remove()}});acf.models.Tooltip=e,acf.models.TooltipConfirm=i;var n=new acf.Model({tooltip:!1,events:{"mouseenter .acf-js-tooltip":"showTitle","mouseup .acf-js-tooltip":"hideTitle","mouseleave .acf-js-tooltip":"hideTitle"},showTitle:function(t,e){var i=e.attr("title");i&&(e.attr("title",""),this.tooltip?this.tooltip.update({text:i,target:e}):this.tooltip=acf.newTooltip({text:i,target:e}))},hideTitle:function(t,e){this.tooltip.hide(),e.attr("title",this.tooltip.get("text"))}})}(jQuery),function($,t){var e=[];acf.Field=acf.Model.extend({type:"",eventScope:".acf-field",wait:"ready",setup:function(t){this.$el=t,this.inherit(t),this.inherit(this.$control())},val:function(t){return void 0!==t?this.setValue(t):this.prop("disabled")?null:this.getValue()},getValue:function(){return this.$input().val()},setValue:function(t){return acf.val(this.$input(),t)},__:function(t){return acf._e(this.type,t)},$control:function(){return!1},$input:function(){return this.$("[name]:first")},$inputWrap:function(){return this.$(".acf-input:first")},$labelWrap:function(){return this.$(".acf-label:first")},getInputName:function(){return this.$input().attr("name")||""},parent:function(){var t=this.parents();return!!t.length&&t[0]},parents:function(){var t=this.$el.parents(".acf-field");return acf.getFields(t)},show:function(t,e){var i=acf.show(this.$el,t);return i&&(this.prop("hidden",!1),acf.doAction("show_field",this,e)),i},hide:function(t,e){var i=acf.hide(this.$el,t);return i&&(this.prop("hidden",!0),acf.doAction("hide_field",this,e)),i},enable:function(t,e){var i=acf.enable(this.$el,t);return i&&(this.prop("disabled",!1),acf.doAction("enable_field",this,e)),i},disable:function(t,e){var i=acf.disable(this.$el,t);return i&&(this.prop("disabled",!0),acf.doAction("disable_field",this,e)),i},showEnable:function(t,e){return this.enable.apply(this,arguments),this.show.apply(this,arguments)},hideDisable:function(t,e){return this.disable.apply(this,arguments),this.hide.apply(this,arguments)},showNotice:function(t){"object"!=typeof t&&(t={text:t}),this.notice&&this.notice.remove(),t.target=this.$inputWrap(),this.notice=acf.newNotice(t)},removeNotice:function(t){this.notice&&(this.notice.away(t||0),this.notice=!1)},showError:function(t){this.$el.addClass("acf-error"),void 0!==t&&this.showNotice({text:t,type:"error",dismiss:!1}),acf.doAction("invalid_field",this),this.$el.one("focus change","input, select, textarea",$.proxy(this.removeError,this))},removeError:function(){this.$el.removeClass("acf-error"),this.removeNotice(250),acf.doAction("valid_field",this)},trigger:function(t,e,i){return"invalidField"==t&&(i=!0),acf.Model.prototype.trigger.apply(this,[t,e,i])}}),acf.newField=function(t){var e=t.data("type"),n=i(e),a=acf.models[n]||acf.Field,r=new a(t);return acf.doAction("new_field",r),r};var i=function(t){return acf.strPascalCase(t||"")+"Field"};acf.registerFieldType=function(t){var n=t.prototype,a=n.type,r=i(a);acf.models[r]=t,e.push(a)},acf.getFieldType=function(t){var e=i(t);return acf.models[e]||!1},acf.getFieldTypes=function(t){t=acf.parseArgs(t,{category:""});var i=[];return e.map(function(e){var n=acf.getFieldType(e),a=n.prototype;t.category&&a.category!==t.category||i.push(n)}),i}}(jQuery),function($,t){acf.findFields=function(t){var e=".acf-field",i=!1;return t=acf.parseArgs(t,{key:"",name:"",type:"",is:"",parent:!1,sibling:!1,limit:!1,visible:!1,suppressFilters:!1}),t.suppressFilters||(t=acf.applyFilters("find_fields_args",t)),t.key&&(e+='[data-key="'+t.key+'"]'),t.type&&(e+='[data-type="'+t.type+'"]'),t.name&&(e+='[data-name="'+t.name+'"]'),t.is&&(e+=t.is),t.visible&&(e+=":visible"),i=t.parent?t.parent.find(e):t.sibling?t.sibling.siblings(e):$(e),t.suppressFilters||(i=i.not(".acf-clone .acf-field"),i=acf.applyFilters("find_fields",i)),t.limit&&(i=i.slice(0,t.limit)),i},acf.findField=function(t,e){return acf.findFields({key:t,limit:1,parent:e,suppressFilters:!0})},acf.getField=function(t){t instanceof jQuery||(t=acf.findField(t));var e=t.data("acf");return e||(e=acf.newField(t)),e},acf.getFields=function(t){t instanceof jQuery||(t=acf.findFields(t));var e=[];return t.each(function(){var t=acf.getField($(this));e.push(t)}),e},acf.findClosestField=function(t){return t.closest(".acf-field")},acf.getClosestField=function(t){var e=acf.findClosestField(t);return this.getField(e)};var e=function(t){var e=t,n=t+"_fields",a=t+"_field",r=function(t){var e=acf.arrayArgs(arguments),i=e.slice(1),a=acf.getFields({parent:t});if(a.length){var r=[n,a].concat(i);acf.doAction.apply(null,r)}},o=function(t){var e=acf.arrayArgs(arguments),i=e.slice(1);t.map(function(t,e){var n=[a,t].concat(i);acf.doAction.apply(null,n)})};acf.addAction(e,r),acf.addAction(n,o),i(t)},i=function(t){var e=t+"_field",i=t+"Field",n=function(n){var a=acf.arrayArgs(arguments),o=a.slice(1);["type","name","key"].map(function(t){var i="/"+t+"="+n.get(t);a=[e+i,n].concat(o),acf.doAction.apply(null,a)}),r.indexOf(t)>-1&&n.trigger(i,o)};acf.addAction(e,n)},n=["prepare","ready","load","append","remove","sortstart","sortstop","show","hide","unload"],a=["valid","invalid","enable","disable","new"],r=["remove","sortstart","sortstop","show","hide","unload","valid","invalid","enable","disable"];n.map(e),a.map(i);var o=new acf.Model({id:"fieldsEventManager",events:{'click .acf-field a[href="#"]':"onClick"},onClick:function(t){t.preventDefault()}})}(jQuery),function($,t){var e=0,i=acf.Field.extend({type:"accordion",wait:"",$control:function(){return this.$(".acf-fields:first")},initialize:function(){if(!this.$el.is("td")){if(this.get("endpoint"))return this.remove();var t=this.$el,i=this.$labelWrap(),n=this.$inputWrap(),a=this.$control(),r=n.children(".description");if(r.length&&i.append(r),this.$el.is("tr")){var o=this.$el.closest("table"),s=$('
              '),c=$('
              '),l=$('
                '),d=$("");s.append(i.html()),l.append(d),c.append(l),n.append(s),n.append(c),i.remove(),a.remove(),n.attr("colspan",2),i=s,n=c,a=d}t.addClass("acf-accordion"),i.addClass("acf-accordion-title"),n.addClass("acf-accordion-content"),e++,this.get("multi_expand")&&t.attr("multi-expand",1);var u=acf.getPreference("this.accordions")||[];void 0!==u[e-1]&&this.set("open",u[e-1]),this.get("open")&&(t.addClass("-open"),n.css("display","block")),i.prepend('');var f=t.parent();a.addClass(f.hasClass("-left")?"-left":""),a.addClass(f.hasClass("-clear")?"-clear":""),a.append(t.nextUntil(".acf-field-accordion",".acf-field")),a.removeAttr("data-open data-multi_expand data-endpoint")}}});acf.registerFieldType(i);var n=new acf.Model({actions:{unload:"onUnload"},events:{"click .acf-accordion-title":"onClick","invalidField .acf-accordion":"onInvalidField"},isOpen:function(t){return t.hasClass("-open")},toggle:function(t){this.isOpen(t)?this.close(t):this.open(t)},open:function(t){t.find(".acf-accordion-content:first").slideDown().css("display","block"),t.find(".acf-accordion-icon:first").removeClass("dashicons-arrow-right").addClass("dashicons-arrow-down"),t.addClass("-open"),acf.doAction("show",t),t.attr("multi-expand")||t.siblings(".acf-accordion.-open").each(function(){n.close($(this))})},close:function(t){t.find(".acf-accordion-content:first").slideUp(),t.find(".acf-accordion-icon:first").removeClass("dashicons-arrow-down").addClass("dashicons-arrow-right"),t.removeClass("-open"),acf.doAction("hide",t)},onClick:function(t,e){t.preventDefault(),this.toggle(e.parent())},onInvalidField:function(t,e){this.busy||(this.busy=!0,this.setTimeout(function(){this.busy=!1},1e3),this.open(e))},onUnload:function(t){var e=[];$(".acf-accordion").each(function(){var t=$(this).hasClass("-open")?1:0;e.push(t)}),e.length&&acf.setPreference("this.accordions",e)}})}(jQuery),function($,t){var e=acf.Field.extend({type:"button_group",events:{'click input[type="radio"]':"onClick"},$control:function(){return this.$(".acf-button-group")},$input:function(){return this.$("input:checked")},setValue:function(t){this.$('input[value="'+t+'"]').prop("checked",!0).trigger("change")},onClick:function(t,e){var i=e.parent("label"),n=i.hasClass("selected");this.$(".selected").removeClass("selected"),i.addClass("selected"), +this.get("allow_null")&&n&&(i.removeClass("selected"),e.prop("checked",!1).trigger("change"))}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"checkbox",events:{"change input":"onChange","click .acf-add-checkbox":"onClickAdd","click .acf-checkbox-toggle":"onClickToggle","click .acf-checkbox-custom":"onClickCustom"},$control:function(){return this.$(".acf-checkbox-list")},$toggle:function(){return this.$(".acf-checkbox-toggle")},$input:function(){return this.$('input[type="hidden"]')},$inputs:function(){return this.$('input[type="checkbox"]').not(".acf-checkbox-toggle")},getValue:function(){var t=[];return this.$(":checked").each(function(){t.push($(this).val())}),!!t.length&&t},onChange:function(t,e){var i=e.prop("checked"),n=this.$toggle();if(i?e.parent().addClass("selected"):e.parent().removeClass("selected"),n.length){0==this.$inputs().not(":checked").length?n.prop("checked",!0):n.prop("checked",!1)}},onClickAdd:function(t,e){var i='
              • ';e.parent("li").before(i)},onClickToggle:function(t,e){var i=e.prop("checked");this.$inputs().prop("checked",i)},onClickCustom:function(t,e){var i=e.prop("checked"),n=e.next('input[type="text"]');i?n.prop("disabled",!1):(n.prop("disabled",!0),""==n.val()&&e.parent("li").remove())}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"color_picker",wait:"load",$control:function(){return this.$(".acf-color-picker")},$input:function(){return this.$('input[type="hidden"]')},$inputText:function(){return this.$('input[type="text"]')},initialize:function(){var t=this.$input(),e=this.$inputText(),i=function(i){setTimeout(function(){acf.val(t,e.val())},1)},n={defaultColor:!1,palettes:!0,hide:!0,change:i,clear:i},n=acf.applyFilters("color_picker_args",n,this);e.wpColorPicker(n)}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"date_picker",events:{'blur input[type="text"]':"onBlur"},$control:function(){return this.$(".acf-date-picker")},$input:function(){return this.$('input[type="hidden"]')},$inputText:function(){return this.$('input[type="text"]')},initialize:function(){if(this.has("save_format"))return this.initializeCompatibility();var t=this.$input(),e=this.$inputText(),i={dateFormat:this.get("date_format"),altField:t,altFormat:"yymmdd",changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day")};i=acf.applyFilters("date_picker_args",i,this),acf.newDatePicker(e,i),acf.doAction("date_picker_init",e,i,this)},initializeCompatibility:function(){var t=this.$input(),e=this.$inputText();e.val(t.val());var i={dateFormat:this.get("date_format"),altField:t,altFormat:this.get("save_format"),changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day")};i=acf.applyFilters("date_picker_args",i,this);var n=i.dateFormat;i.dateFormat=this.get("save_format"),acf.newDatePicker(e,i),e.datepicker("option","dateFormat",n),acf.doAction("date_picker_init",e,i,this)},onBlur:function(){this.$inputText().val()||acf.val(this.$input(),"")}});acf.registerFieldType(e);var i=new acf.Model({priority:5,wait:"ready",initialize:function(){var t=acf.get("locale"),e=acf.get("rtl"),i=acf.get("datePickerL10n");return!!i&&(void 0!==$.datepicker&&(i.isRTL=e,$.datepicker.regional[t]=i,void $.datepicker.setDefaults(i)))}});acf.newDatePicker=function(t,e){if(void 0===$.datepicker)return!1;e=e||{},t.datepicker(e),$("body > #ui-datepicker-div").exists()&&$("body > #ui-datepicker-div").wrap('
                ')}}(jQuery),function($,t){var e=acf.models.DatePickerField.extend({type:"date_time_picker",$control:function(){return this.$(".acf-date-time-picker")},initialize:function(){var t=this.$input(),e=this.$inputText(),i={dateFormat:this.get("date_format"),timeFormat:this.get("time_format"),altField:t,altFieldTimeOnly:!1,altFormat:"yy-mm-dd",altTimeFormat:"HH:mm:ss",changeYear:!0,yearRange:"-100:+100",changeMonth:!0,showButtonPanel:!0,firstDay:this.get("first_day"),controlType:"select",oneLine:!0};i=acf.applyFilters("date_time_picker_args",i,this),acf.newDateTimePicker(e,i),acf.doAction("date_time_picker_init",e,i,this)}});acf.registerFieldType(e);var i=new acf.Model({priority:5,wait:"ready",initialize:function(){var t=acf.get("locale"),e=acf.get("rtl"),i=acf.get("dateTimePickerL10n");return!!i&&(void 0!==$.timepicker&&(i.isRTL=e,$.timepicker.regional[t]=i,void $.timepicker.setDefaults(i)))}});acf.newDateTimePicker=function(t,e){if(void 0===$.timepicker)return!1;e=e||{},t.datetimepicker(e),$("body > #ui-datepicker-div").exists()&&$("body > #ui-datepicker-div").wrap('
                ')}}(jQuery),function($,t){var e=acf.Field.extend({type:"google_map",map:!1,wait:"load",events:{'click a[data-name="clear"]':"onClickClear",'click a[data-name="locate"]':"onClickLocate",'click a[data-name="search"]':"onClickSearch","keydown .search":"onKeydownSearch","keyup .search":"onKeyupSearch","focus .search":"onFocusSearch","blur .search":"onBlurSearch",showField:"onShow"},$control:function(){return this.$(".acf-google-map")},$input:function(t){return this.$('input[data-name="'+(t||"address")+'"]')},$search:function(){return this.$(".search")},addClass:function(t){this.$control().addClass(t)},removeClass:function(t){this.$control().removeClass(t)},getValue:function(){var t={lat:"",lng:"",address:""};return this.$('input[type="hidden"]').each(function(){t[$(this).data("name")]=$(this).val()}),t.address||(t=!1),t},setValue:function(t){t=acf.parseArgs(t,{lat:"",lng:"",address:""});for(var e in t)acf.val(this.$input(e),t[e]);t.address||(t=!1),this.renderVal(t)},renderVal:function(t){t?(this.addClass("-value"),this.setPosition(t.lat,t.lng),this.map.marker.setVisible(!0)):(this.removeClass("-value"),this.map.marker.setVisible(!1)),this.$search().val(t.address)},setPosition:function(t,e){var i=this.newLatLng(t,e);return this.map.marker.setPosition(i),this.map.marker.setVisible(!0),acf.doAction("google_map_change",i,this.map,this),this.center(),this},center:function(){var t=this.map.marker.getPosition(),e=this.get("lat"),i=this.get("lng");t&&(e=t.lat(),i=t.lng());var n=this.newLatLng(e,i);this.map.setCenter(n)},getSearchVal:function(){return this.$search().val()},getCanvas:function(){return this.$(".canvas")},initialize:function(){if(!i.isReady())return void i.ready(this.initializeMap,this);this.initializeMap()},newLatLng:function(t,e){return new google.maps.LatLng(parseFloat(t),parseFloat(e))},initializeMap:function(){var t=this.get("zoom"),e=this.get("lat"),i=this.get("lng"),n={scrollwheel:!1,zoom:parseInt(t),center:this.newLatLng(e,i),mapTypeId:google.maps.MapTypeId.ROADMAP,marker:{draggable:!0,raiseOnDrag:!0},autocomplete:{}};n=acf.applyFilters("google_map_args",n,this);var a=new google.maps.Map(this.getCanvas()[0],n);this.addMapEvents(a,this);var r=acf.parseArgs(n.marker,{draggable:!0,raiseOnDrag:!0,map:a});r=acf.applyFilters("google_map_marker_args",r,this);var o=new google.maps.Marker(r);this.addMarkerEvents(o,this),a.acf=this,a.marker=o,this.map=a,acf.doAction("google_map_init",a,o,this);var s=this.getValue();this.renderVal(s)},addMapEvents:function(t,e){if(acf.isset(window,"google","maps","places","Autocomplete")){var i=t.autocomplete||{},n=new google.maps.places.Autocomplete(this.$search()[0],i);n.bindTo("bounds",t),google.maps.event.addListener(n,"place_changed",function(){e.setPlace(this.getPlace())})}google.maps.event.addListener(t,"click",function(t){var i=t.latLng.lat(),n=t.latLng.lng();e.searchPosition(i,n)})},addMarkerEvents:function(t,e){google.maps.event.addListener(t,"dragend",function(){var t=this.getPosition(),i=t.lat(),n=t.lng();e.searchPosition(i,n)})},searchPosition:function(t,e){var n=this.newLatLng(t,e),a=this.$control();this.setPosition(t,e),a.addClass("-loading");var r=$.proxy(function(i,n){a.removeClass("-loading");var r="";n!=google.maps.GeocoderStatus.OK?console.log("Geocoder failed due to: "+n):i[0]?r=i[0].formatted_address:console.log("No results found"),this.val({lat:t,lng:e,address:r})},this);i.geocoder.geocode({latLng:n},r)},setPlace:function(t){if(!t)return this;if(t.name&&!t.geometry)return this.searchAddress(t.name),this;var e=t.geometry.location.lat(),i=t.geometry.location.lng(),n=t.formatted_address;return this.setValue({lat:e,lng:i,address:n}),this},searchAddress:function(t){var e=t.split(",");if(2==e.length){var n=e[0],a=e[1];if($.isNumeric(n)&&$.isNumeric(a))return this.searchPosition(n,a)}var r=this.$control();r.addClass("-loading");var o=$.proxy(function(e,i){r.removeClass("-loading");var n="",a="";i!=google.maps.GeocoderStatus.OK?console.log("Geocoder failed due to: "+i):e[0]?(n=e[0].geometry.location.lat(),a=e[0].geometry.location.lng(),t=e[0].formatted_address):console.log("No results found"),this.val({lat:n,lng:a,address:t})},this);i.geocoder.geocode({address:t},o)},searchLocation:function(){if(!navigator.geolocation)return alert(acf.__("Sorry, this browser does not support geolocation"));var t=this.$control();t.addClass("-loading");var e=$.proxy(function(e,i){t.removeClass("-loading");var n=e.coords.latitude,a=e.coords.longitude;this.searchPosition(n,a)},this),i=function(e){t.removeClass("-loading")};navigator.geolocation.getCurrentPosition(e,i)},onClickClear:function(t,e){this.val(!1)},onClickLocate:function(t,e){this.searchLocation()},onClickSearch:function(t,e){this.searchAddress(this.$search().val())},onFocusSearch:function(t,e){this.removeClass("-value"),this.onKeyupSearch.apply(this,arguments)},onBlurSearch:function(t,e){this.setTimeout(function(){this.removeClass("-search"),e.val()&&this.addClass("-value")},100)},onKeyupSearch:function(t,e){e.val()?this.addClass("-search"):this.removeClass("-search")},onKeydownSearch:function(t,e){13==t.which&&t.preventDefault()},onMousedown:function(){},onShow:function(){if(!this.map)return!1;this.setTimeout(this.center,10)}});acf.registerFieldType(e);var i=new acf.Model({geocoder:!1,data:{status:!1},getStatus:function(){return this.get("status")},setStatus:function(t){return this.set("status",t)},isReady:function(){if("ready"==this.getStatus())return!0;if("loading"==this.getStatus())return!1;if(acf.isset(window,"google","maps","places"))return this.setStatus("ready"),!0;var t=acf.get("google_map_api");return t&&(this.setStatus("loading"),$.ajax({url:t,dataType:"script",cache:!0,context:this,success:function(){this.setStatus("ready"),this.geocoder=new google.maps.Geocoder,acf.doAction("google_map_api_loaded")}})),!1},ready:function(t,e){acf.addAction("google_map_api_loaded",t,10,e)}})}(jQuery),function($,t){var e=acf.Field.extend({type:"image",$control:function(){return this.$(".acf-image-uploader")},$input:function(){return this.$('input[type="hidden"]')},events:{'click a[data-name="add"]':"onClickAdd",'click a[data-name="edit"]':"onClickEdit",'click a[data-name="remove"]':"onClickRemove",'change input[type="file"]':"onChange"},initialize:function(){"basic"===this.get("uploader")&&this.$el.closest("form").attr("enctype","multipart/form-data")},validateAttachment:function(t){t=t||{},void 0!==t.id&&(t=t.attributes),t=acf.parseArgs(t,{url:"",alt:"",title:"",caption:"",description:"",width:0,height:0});var e=acf.isget(t,"sizes",this.get("preview_size"),"url");return null!==e&&(t.url=e),t},render:function(t){t=this.validateAttachment(t),this.$("img").attr({src:t.url,alt:t.alt,title:t.title});var e=t.id||"";this.val(e),e?this.$control().addClass("has-value"):this.$control().removeClass("has-value")},append:function(t,e){var i=function(t,e){for(var i=acf.getFields({key:t.get("key"),parent:e.$el}),n=0;n0?this.append(e,t):this.render(e)},this)})},editAttachment:function(){var t=this.val();if(t)var e=acf.newMediaPopup({mode:"edit",title:acf.__("Edit Image"),button:acf.__("Update Image"),attachment:t,field:this.get("key"),select:$.proxy(function(t,e){this.render(t)},this)})},removeAttachment:function(){this.render(!1)},onClickAdd:function(t,e){this.selectAttachment()},onClickEdit:function(t,e){this.editAttachment()},onClickRemove:function(t,e){this.removeAttachment()},onChange:function(t,e){var i=this.$input();acf.getFileInputData(e,function(t){i.val($.param(t))})}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.models.ImageField.extend({type:"file",$control:function(){return this.$(".acf-file-uploader")},$input:function(){return this.$('input[type="hidden"]')},validateAttachment:function(t){return t=t||{},void 0!==t.id&&(t=t.attributes),t=acf.parseArgs(t,{url:"",alt:"",title:"",filename:"",filesizeHumanReadable:"",icon:"/wp-includes/images/media/default.png"})},render:function(t){t=this.validateAttachment(t),this.$("img").attr({src:t.icon,alt:t.alt,title:t.title}),this.$('[data-name="title"]').text(t.title),this.$('[data-name="filename"]').text(t.filename).attr("href",t.url),this.$('[data-name="filesize"]').text(t.filesizeHumanReadable);var e=t.id||"";acf.val(this.$input(),e),e?this.$control().addClass("has-value"):this.$control().removeClass("has-value")},selectAttachment:function(){var t=this.parent(),e=t&&"repeater"===t.get("type"),i=acf.newMediaPopup({mode:"select",title:acf.__("Select File"),field:this.get("key"),multiple:e,library:this.get("library"),allowedTypes:this.get("mime_types"),select:$.proxy(function(e,i){i>0?this.append(e,t):this.render(e)},this)})},editAttachment:function(){var t=this.val();if(!t)return!1;var e=acf.newMediaPopup({mode:"edit",title:acf.__("Edit File"),button:acf.__("Update File"),attachment:t,field:this.get("key"),select:$.proxy(function(t,e){this.render(t)},this)})}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"link",events:{'click a[data-name="add"]':"onClickEdit",'click a[data-name="edit"]':"onClickEdit",'click a[data-name="remove"]':"onClickRemove","change .link-node":"onChange"},$control:function(){return this.$(".acf-link")},$node:function(){return this.$(".link-node")},getValue:function(){var t=this.$node();return!!t.attr("href")&&{title:t.html(),url:t.attr("href"),target:t.attr("target")}},setValue:function(t){t=acf.parseArgs(t,{title:"",url:"",target:""});var e=this.$control(),i=this.$node();e.removeClass("-value -external"),t.url&&e.addClass("-value"),"_blank"===t.target&&e.addClass("-external"),this.$(".link-title").html(t.title),this.$(".link-url").attr("href",t.url).html(t.url),i.html(t.title),i.attr("href",t.url),i.attr("target",t.target),this.$(".input-title").val(t.title),this.$(".input-target").val(t.target),this.$(".input-url").val(t.url).trigger("change")},onClickEdit:function(t,e){acf.wpLink.open(this.$node())},onClickRemove:function(t,e){this.setValue(!1)},onChange:function(t,e){var i=this.getValue();this.setValue(i)}});acf.registerFieldType(e),acf.wpLink=new acf.Model({getNodeValue:function(){var t=this.get("node");return{title:t.html(),url:t.attr("href"),target:t.attr("target")}},setNodeValue:function(t){var e=this.get("node");e.html(t.title),e.attr("href",t.url),e.attr("target",t.target),e.trigger("change")},getInputValue:function(){return{title:$("#wp-link-text").val(),url:$("#wp-link-url").val(),target:$("#wp-link-target").prop("checked")?"_blank":""}},setInputValue:function(t){$("#wp-link-text").val(t.title),$("#wp-link-url").val(t.url),$("#wp-link-target").prop("checked","_blank"===t.target)},open:function(t){this.on("wplink-open","onOpen"),this.on("wplink-close","onClose"),this.set("node",t);var e=$('');$("body").append(e);var i=this.getNodeValue();wpLink.open("acf-link-textarea",i.url,i.title,null)},onOpen:function(){$("#wp-link-wrap").addClass("has-text-field");var t=this.getNodeValue();this.setInputValue(t)},close:function(){wpLink.close()},onClose:function(){if(!this.has("node"))return!1;this.off("wplink-open"),this.off("wplink-close");var t=this.getInputValue();this.setNodeValue(t),$("#acf-link-textarea").remove(),this.set("node",null)}})}(jQuery),function($,t){var e=acf.Field.extend({type:"oembed",events:{'click [data-name="clear-button"]':"onClickClear","keypress .input-search":"onKeypressSearch","keyup .input-search":"onKeyupSearch","change .input-search":"onChangeSearch"},$control:function(){return this.$(".acf-oembed")},$input:function(){return this.$(".input-value")},$search:function(){return this.$(".input-search")},getValue:function(){return this.$input().val()},getSearchVal:function(){return this.$search().val()},setValue:function(t){t?this.$control().addClass("has-value"):this.$control().removeClass("has-value"),acf.val(this.$input(),t)},showLoading:function(t){acf.showLoading(this.$(".canvas"))},hideLoading:function(){acf.hideLoading(this.$(".canvas"))},maybeSearch:function(){var t=this.val(),e=this.getSearchVal();if(!e)return this.clear();if("http"!=e.substr(0,4)&&(e="http://"+e),e!==t){var i=this.get("timeout");i&&clearTimeout(i);var n=$.proxy(this.search,this,e);this.set("timeout",setTimeout(n,300))}},search:function(t){var e={action:"acf/fields/oembed/search",s:t,field_key:this.get("key")},i=this.get("xhr");i&&i.abort(),this.showLoading();var i=$.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),type:"post",dataType:"json",context:this,success:function(t){t&&t.html||(t={url:!1,html:""}),this.val(t.url),this.$(".canvas-media").html(t.html)},complete:function(){this.hideLoading()}});this.set("xhr",i)},clear:function(){this.val(""),this.$search().val(""),this.$(".canvas-media").html("")},onClickClear:function(t,e){this.clear()},onKeypressSearch:function(t,e){13==t.which&&(t.preventDefault(),this.maybeSearch())},onKeyupSearch:function(t,e){e.val()&&this.maybeSearch()},onChangeSearch:function(t,e){this.maybeSearch()}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"radio",events:{'click input[type="radio"]':"onClick"},$control:function(){return this.$(".acf-radio-list")},$input:function(){return this.$("input:checked")},$inputText:function(){return this.$('input[type="text"]')},getValue:function(){var t=this.$input().val();return"other"===t&&(t=this.inputText().val()),t},onClick:function(t,e){var i=e.parent("label"),n=i.hasClass("selected"),a=e.val();this.$(".selected").removeClass("selected"),i.addClass("selected"),this.get("allow_null")&&n&&(i.removeClass("selected"),e.prop("checked",!1).trigger("change"),a=!1),this.get("other_choice")&&("other"===a?this.$inputText().prop("disabled",!1):this.$inputText().prop("disabled",!0))}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"range",events:{'input input[type="range"]':"onChange","change input":"onChange"},$input:function(){return this.$('input[type="range"]')},$inputAlt:function(){return this.$('input[type="number"]')},setValue:function(t){this.busy=!0,acf.val(this.$input(),t),acf.val(this.$inputAlt(),t,!0),this.busy=!1},onChange:function(t,e){this.busy||this.setValue(e.val())}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"relationship",events:{"keypress [data-filter]":"onKeypressFilter","change [data-filter]":"onChangeFilter","keyup [data-filter]":"onChangeFilter","click .choices-list .acf-rel-item":"onClickAdd",'click [data-name="remove_item"]':"onClickRemove",mouseover:"onHover"},$control:function(){return this.$(".acf-relationship")},$list:function(t){return this.$("."+t+"-list")},$listItems:function(t){return this.$list(t).find(".acf-rel-item")},$listItem:function(t,e){return this.$list(t).find('.acf-rel-item[data-id="'+e+'"]')},getValue:function(){var t=[];return this.$listItems("values").each(function(){t.push($(this).data("id"))}),!!t.length&&t},newChoice:function(t){return["
              • ",''+t.text+"","
              • "].join("")},newValue:function(t){return["
              • ",'',''+t.text,'',"","
              • "].join("")},addSortable:function(t){this.$list("values").sortable({items:"li",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,update:function(){t.$input().trigger("change")}})},initialize:function(){var t=this.proxy(function(t){if(!this.get("loading")&&this.get("more")){var e=this.$list("choices"),i=Math.ceil(e.scrollTop()),n=Math.ceil(e[0].scrollHeight),a=Math.ceil(e.innerHeight()),r=this.get("paged")||1;i+a>=n&&(this.set("paged",r+1),this.fetch())}});this.$list("choices").scrollTop(0).on("scroll",t),this.fetch()},onHover:function(t){$().off(t),this.addSortable(this)},onKeypressFilter:function(t,e){13==t.which&&t.preventDefault()},onChangeFilter:function(t,e){var i=e.val(),n=e.data("filter");this.get(n)!==i&&(this.set(n,i),this.set("paged",1),e.is("select")?this.fetch():this.maybeFetch())},onClickAdd:function(t,e){var i=this.val(),n=parseInt(this.get("max"));if(e.hasClass("disabled"))return!1;if(n>0&&i&&i.length>=n)return this.showNotice({text:acf.__("Maximum values reached ( {max} values )").replace("{max}",n),type:"warning"}),!1;e.addClass("disabled");var a=this.newValue({id:e.data("id"),text:e.html()});this.$list("values").append(a),this.$input().trigger("change")},onClickRemove:function(t,e){var i=e.parent(),n=i.parent(),a=i.data("id");setTimeout(function(){n.remove()},1),this.$listItem("choices",a).removeClass("disabled"),this.$input().trigger("change")},maybeFetch:function(){var t=this.get("timeout");t&&clearTimeout(t),t=this.setTimeout(this.fetch,300),this.set("timeout",t)},getAjaxData:function(){var t=this.$control().data();for(var e in t)t[e]=this.get(e);return t.action="acf/fields/relationship/query",t.field_key=this.get("key"),t},fetch:function(){var t=this.get("xhr");t&&t.abort();var e=this.getAjaxData(),i=this.$list("choices");1==e.paged&&i.html("");var n=$('
              • '+acf.__("Loading")+"
              • ");i.append(n),this.set("loading",!0);var a=function(){this.set("loading",!1),n.remove()},r=function(t){if(!t||!t.results||!t.results.length)return this.set("more",!1),void(1==this.get("paged")&&this.$list("choices").append("
              • "+acf.__("No matches found")+"
              • "));this.set("more",t.more);var e=this.walkChoices(t.results),n=$(e),a=this.val();a&&a.length&&a.map(function(t){n.find('.acf-rel-item[data-id="'+t+'"]').addClass("disabled")}),i.append(n);var r=!1,o=!1;i.find(".acf-rel-label").each(function(){var t=$(this),e=t.siblings("ul");if(r&&r.text()==t.text())return o.append(e.children()),void $(this).parent().remove();r=t,o=e})},t=$.ajax({url:acf.get("ajaxurl"),dataType:"json",type:"post",data:acf.prepareForAjax(e),context:this,success:r,complete:a});this.set("xhr",t)},walkChoices:function(t){var e=function(t){var i="";return $.isArray(t)?t.map(function(t){i+=e(t)}):$.isPlainObject(t)&&(void 0!==t.children?(i+='
              • '+t.text+'
                  ',i+=e(t.children),i+="
              • "):i+='
              • '+t.text+"
              • "),i};return e(t)}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"select",select2:!1,wait:"load",events:{removeField:"onRemove"},$input:function(){return this.$("select")},initialize:function(){var t=this.$input();if(this.inherit(t),this.get("ui")){var e=this.get("ajax_action");e||(e="acf/fields/"+this.get("type")+"/query"),this.select2=acf.newSelect2(t,{field:this,ajax:this.get("ajax"),multiple:this.get("multiple"),placeholder:this.get("placeholder"),allowNull:this.get("allow_null"),ajaxAction:e})}},onRemove:function(){this.select2&&this.select2.destroy()}});acf.registerFieldType(e)}(jQuery),function($,t){var e="tab",i=acf.Field.extend({type:"tab",wait:"",tabs:!1,tab:!1,findFields:function(){return this.$el.nextUntil(".acf-field-tab",".acf-field")},getFields:function(){return acf.getFields(this.findFields())},findTabs:function(){return this.$el.prevAll(".acf-tab-wrap:first")},findTab:function(){return this.$(".acf-tab-button")},initialize:function(){if(this.$el.is("td"))return this.events={},!1;var t=this.findTabs(),e=this.findTab(),i=acf.parseArgs(e.data(),{endpoint:!1,placement:"",before:this.$el});!t.length||i.endpoint?this.tabs=new a(i):this.tabs=t.data("acf"),this.tab=this.tabs.addTab(e,this)},isActive:function(){return this.tab.isActive()},showFields:function(){this.getFields().map(function(t){t.show(this.cid,"tab"),t.hiddenByTab=!1},this)},hideFields:function(){this.getFields().map(function(t){t.hide(this.cid,"tab"),t.hiddenByTab=this.tab},this)},show:function(t){var e=acf.Field.prototype.show.apply(this,arguments);return e&&(this.tab.show(),this.tabs.refresh()),e},hide:function(t){var e=acf.Field.prototype.hide.apply(this,arguments);return e&&(this.tab.hide(),this.isActive()&&this.tabs.reset()),e},enable:function(t){this.getFields().map(function(t){t.enable("tab")})},disable:function(t){this.getFields().map(function(t){t.disable("tab")})}});acf.registerFieldType(i);var n=0,a=acf.Model.extend({tabs:[],active:!1,actions:{refresh:"onRefresh"},data:{before:!1,placement:"top",index:0,initialized:!1},setup:function(t){$.extend(this.data,t),this.tabs=[],this.active=!1;var e=this.get("placement"),i=this.get("before"),a=i.parent();"left"==e&&a.hasClass("acf-fields")&&a.addClass("-sidebar"),i.is("tr")?this.$el=$('
                '):this.$el=$('
                  '),i.before(this.$el),this.set("index",n,!0),n++},initializeTabs:function(){var t=this.getVisible().shift(),e=acf.getPreference("this.tabs")||[],i=this.get("index"),n=e[i];this.tabs[n]&&this.tabs[n].isVisible()&&(t=this.tabs[n]),t?this.selectTab(t):this.closeTabs(),this.set("initialized",!0)},getVisible:function(){return this.tabs.filter(function(t){return t.isVisible()})},getActive:function(){return this.active},setActive:function(t){return this.active=t},hasActive:function(){return!1!==this.active},isActive:function(t){var e=this.getActive();return e&&e.cid===t.cid},closeActive:function(){this.hasActive()&&this.closeTab(this.getActive())},openTab:function(t){this.closeActive(),t.open(),this.setActive(t)},closeTab:function(t){t.close(),this.setActive(!1)},closeTabs:function(){this.tabs.map(this.closeTab,this)},selectTab:function(t){this.tabs.map(function(e){t.cid!==e.cid&&this.closeTab(e)},this),this.openTab(t)},addTab:function(t,e){var i=$("
                • ");i.append(t),this.$("ul").append(i);var n=new r({$el:i,field:e,group:this});return this.tabs.push(n),n},reset:function(){return this.closeActive(),this.refresh()},refresh:function(){if(this.hasActive())return!1;var t=this.getVisible().shift();return t&&this.openTab(t),t},onRefresh:function(){if("left"===this.get("placement")){var t=this.$el.parent(),e=this.$el.children("ul"),i=t.is("td")?"height":"min-height",n=e.position().top+e.outerHeight(!0)-1;t.css(i,n)}}}),r=acf.Model.extend({group:!1,field:!1,events:{"click a":"onClick"},index:function(){return this.$el.index()},isVisible:function(){return acf.isVisible(this.$el)},isActive:function(){return this.$el.hasClass("active")},open:function(){this.$el.addClass("active"),this.field.showFields()},close:function(){this.$el.removeClass("active"),this.field.hideFields()},onClick:function(t,e){t.preventDefault(),this.toggle()},toggle:function(){this.isActive()||this.group.openTab(this)}}),o=new acf.Model({priority:50,actions:{prepare:"render",append:"render",unload:"onUnload",invalid_field:"onInvalidField"},findTabs:function(){return $(".acf-tab-wrap")},getTabs:function(){return acf.getInstances(this.findTabs())},render:function(t){this.getTabs().map(function(t){t.get("initialized")||t.initializeTabs()})},onInvalidField:function(t){this.busy||t.hiddenByTab&&(t.hiddenByTab.toggle(),this.busy=!0,this.setTimeout(function(){this.busy=!1},100))},onUnload:function(){var t=[];this.getTabs().map(function(e){var i=e.hasActive()?e.getActive().index():0;t.push(i)}),t.length&&acf.setPreference("this.tabs",t)}})}(jQuery),function($,t){var e=acf.models.SelectField.extend({type:"post_object"});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.models.SelectField.extend({type:"page_link"});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.models.SelectField.extend({type:"user"});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"taxonomy",data:{ftype:"select"},select2:!1,wait:"load",events:{'click a[data-name="add"]':"onClickAdd",'click input[type="radio"]':"onClickRadio"},$control:function(){return this.$(".acf-taxonomy-field")},$input:function(){return this.getRelatedPrototype().$input.apply(this,arguments)},getRelatedType:function(){var t=this.get("ftype");return"multi_select"==t&&(t="select"),t},getRelatedPrototype:function(){return acf.getFieldType(this.getRelatedType()).prototype},getValue:function(){return this.getRelatedPrototype().getValue.apply(this,arguments)},setValue:function(){return this.getRelatedPrototype().setValue.apply(this,arguments)},initialize:function(){this.getRelatedPrototype().initialize.apply(this,arguments)},onRemove:function(){this.select2&&this.select2.destroy()},onClickAdd:function(t,e){var i=this,n=!1,a=!1,r=!1,o=!1,s=!1,c=!1,l=!1,d=function(t){n.loading(!1),n.content(t),a=n.$("form"),r=n.$('input[name="term_name"]'),o=n.$('select[name="term_parent"]'),s=n.$(".acf-submit-button"),r.focus(),n.on("submit","form",u)},u=function(t,e){if(t.preventDefault(),""===r.val())return r.focus(),!1;acf.startButtonLoading(s);var n={action:"acf/fields/taxonomy/add_term",field_key:i.get("key"),term_name:r.val(),term_parent:o.length?o.val():0};$.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(n),type:"post",dataType:"json",success:f})},f=function(t){acf.stopButtonLoading(s),l&&l.remove(),acf.isAjaxSuccess(t)?(r.val(""),h(t.data),l=acf.newNotice({type:"success",text:acf.getAjaxMessage(t),target:a,timeout:2e3,dismiss:!1})):l=acf.newNotice({type:"error",text:acf.getAjaxError(t),target:a,timeout:2e3,dismiss:!1}),r.focus()},h=function(t){var e=$('");t.term_parent?o.children('option[value="'+t.term_parent+'"]').after(e):o.append(e),acf.getFields({type:"taxonomy"}).map(function(e){e.get("taxonomy")==i.get("taxonomy")&&e.appendTerm(t)}),i.selectTerm(t.term_id)};!function(){n=acf.newPopup({title:e.attr("title"),loading:!0,width:"300px"});var t={action:"acf/fields/taxonomy/add_term",field_key:i.get("key")};$.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"html",success:d})}()},appendTerm:function(t){"select"==this.getRelatedType()?this.appendTermSelect(t):this.appendTermCheckbox(t)},appendTermSelect:function(t){this.select2.addOption({id:t.term_id,text:t.term_label})},appendTermCheckbox:function(t){var e=this.$("[name]:first").attr("name"),i=this.$("ul:first");"checkbox"==this.getRelatedType()&&(e+="[]");var n=$(['
                • ',"","
                • "].join(""));if(t.term_parent){var a=i.find('li[data-id="'+t.term_parent+'"]');i=a.children("ul"),i.exists()||(i=$('
                    '),a.append(i))}i.append(n)},selectTerm:function(t){if("select"==this.getRelatedType())this.select2.selectOption(t);else{this.$('input[value="'+t+'"]').prop("checked",!0).trigger("change")}},onClickRadio:function(t,e){var i=e.parent("label"),n=i.hasClass("selected");this.$(".selected").removeClass("selected"),i.addClass("selected"), +this.get("allow_null")&&n&&(i.removeClass("selected"),e.prop("checked",!1).trigger("change"))}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.models.DatePickerField.extend({type:"time_picker",$control:function(){return this.$(".acf-time-picker")},initialize:function(){var t=this.$input(),e=this.$inputText(),i={timeFormat:this.get("time_format"),altField:t,altFieldTimeOnly:!1,altTimeFormat:"HH:mm:ss",showButtonPanel:!0,controlType:"select",oneLine:!0,closeText:acf.get("dateTimePickerL10n").selectText,timeOnly:!0};i.onClose=function(t,e,i){var n=e.dpDiv.find(".ui-datepicker-close");!t&&n.is(":hover")&&i._updateDateTime()},i=acf.applyFilters("time_picker_args",i,this),acf.newTimePicker(e,i),acf.doAction("time_picker_init",e,i,this)}});acf.registerFieldType(e),acf.newTimePicker=function(t,e){if(void 0===$.timepicker)return!1;e=e||{},t.timepicker(e),$("body > #ui-datepicker-div").exists()&&$("body > #ui-datepicker-div").wrap('
                    ')}}(jQuery),function($,t){var e=acf.Field.extend({type:"true_false",events:{"change .acf-switch-input":"onChange","focus .acf-switch-input":"onFocus","blur .acf-switch-input":"onBlur","keypress .acf-switch-input":"onKeypress"},$input:function(){return this.$('input[type="checkbox"]')},$switch:function(){return this.$(".acf-switch")},getValue:function(){return this.$input().prop("checked")?1:0},initialize:function(){this.render()},render:function(){var t=this.$switch();if(t.length){var e=t.children(".acf-switch-on"),i=t.children(".acf-switch-off"),n=Math.max(e.width(),i.width());n&&(e.css("min-width",n),i.css("min-width",n))}},switchOn:function(){this.$input().prop("checked",!0),this.$switch().addClass("-on")},switchOff:function(){this.$input().prop("checked",!1),this.$switch().removeClass("-on")},onChange:function(t,e){e.prop("checked")?this.switchOn():this.switchOff()},onFocus:function(t,e){this.$switch().addClass("-focus")},onBlur:function(t,e){this.$switch().removeClass("-focus")},onKeypress:function(t,e){return 37===t.keyCode?this.switchOff():39===t.keyCode?this.switchOn():void 0}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"url",events:{'keyup input[type="url"]':"onkeyup"},$control:function(){return this.$(".acf-input-wrap")},$input:function(){return this.$('input[type="url"]')},initialize:function(){this.render()},isValid:function(){var t=this.val();return!!t&&(-1!==t.indexOf("://")||0===t.indexOf("//"))},render:function(){this.isValid()?this.$control().addClass("-valid"):this.$control().removeClass("-valid")},onkeyup:function(t,e){this.render()}});acf.registerFieldType(e)}(jQuery),function($,t){var e=acf.Field.extend({type:"wysiwyg",wait:"load",events:{"mousedown .acf-editor-wrap.delay":"onMousedown",sortstartField:"disableEditor",sortstopField:"enableEditor",removeField:"disableEditor"},$control:function(){return this.$(".acf-editor-wrap")},$input:function(){return this.$("textarea")},getMode:function(){return this.$control().hasClass("tmce-active")?"visual":"text"},initialize:function(){this.$control().hasClass("delay")||this.initializeEditor()},initializeEditor:function(){var t=this.$control(),e=this.$input(),i={tinymce:!0,quicktags:!0,toolbar:this.get("toolbar"),mode:this.getMode(),field:this},n=e.attr("id"),a=acf.uniqueId("acf-editor-");acf.rename({target:t,search:n,replace:a,destructive:!0}),this.set("id",a,!0),acf.tinymce.initialize(a,i)},onMousedown:function(t){t.preventDefault();var e=this.$control();e.removeClass("delay"),e.find(".acf-editor-toolbar").remove(),this.initializeEditor()},enableEditor:function(){"visual"==this.getMode()&&acf.tinymce.enable(this.get("id"))},disableEditor:function(){acf.tinymce.destroy(this.get("id"))}});acf.registerFieldType(e)}(jQuery),function($,t){var e=[];acf.Condition=acf.Model.extend({type:"",operator:"==",label:"",choiceType:"input",fieldTypes:[],data:{conditions:!1,field:!1,rule:{}},events:{change:"change",keyup:"change",enableField:"change",disableField:"change"},setup:function(t){$.extend(this.data,t)},getEventTarget:function(t,e){return t||this.get("field").$el},change:function(t,e){this.get("conditions").change(t)},match:function(t,e){return!1},calculate:function(){return this.match(this.get("rule"),this.get("field"))},choices:function(t){return''}}),acf.newCondition=function(t,e){var i=e.get("field"),n=i.getField(t.field);if(!i||!n)return!1;var a={rule:t,target:i,conditions:e,field:n},r=n.get("type"),o=t.operator;return new(acf.getConditionTypes({fieldType:r,operator:o})[0]||acf.Condition)(a)};var i=function(t){return acf.strPascalCase(t||"")+"Condition"};acf.registerConditionType=function(t){var n=t.prototype,a=n.type,r=i(a);acf.models[r]=t,e.push(a)},acf.getConditionType=function(t){var e=i(t);return acf.models[e]||!1},acf.registerConditionForFieldType=function(t,e){var i=acf.getConditionType(t);i&&i.prototype.fieldTypes.push(e)},acf.getConditionTypes=function(t){t=acf.parseArgs(t,{fieldType:"",operator:""});var i=[];return e.map(function(e){var n=acf.getConditionType(e),a=n.prototype.fieldTypes,r=n.prototype.operator;t.fieldType&&-1===a.indexOf(t.fieldType)||t.operator&&r!==t.operator||i.push(n)}),i}}(jQuery),function($,t){var e="conditional_logic",i=new acf.Model({id:"conditionsManager",priority:20,actions:{new_field:"onNewField"},onNewField:function(t){t.has("conditions")&&t.getConditions().render()}}),n=function(t,e){var i=acf.getFields({key:e,sibling:t.$el,suppressFilters:!0});return i.length||(i=acf.getFields({key:e,parent:t.$el.parent(),suppressFilters:!0})),!!i.length&&i[0]};acf.Field.prototype.getField=function(t){var e=n(this,t);if(e)return e;for(var i=this.parents(),a=0;aparseFloat(e)},o=function(t,e){return parseFloat(t)-1},c=function(t,e){return i(t).indexOf(i(e))>-1},l=function(t,e){var n=new RegExp(i(e),"gi");return i(t).match(n)},d=acf.Condition.extend({type:"hasValue",operator:"!=empty",label:e("Has any value"),fieldTypes:["text","textarea","number","range","email","url","password","image","file","wysiwyg","oembed","select","checkbox","radio","button_group","link","post_object","page_link","relationship","taxonomy","user","google_map","date_picker","date_time_picker","time_picker","color_picker"],match:function(t,e){return!!e.val()},choices:function(t){return''}});acf.registerConditionType(d);var u=d.extend({type:"hasNoValue",operator:"==empty",label:e("Has no value"),match:function(t,e){return!d.prototype.match.apply(this,arguments)}});acf.registerConditionType(u);var f=acf.Condition.extend({type:"equalTo",operator:"==",label:e("Value is equal to"),fieldTypes:["text","textarea","number","range","email","url","password"],match:function(t,e){return $.isNumeric(t.value)?a(t.value,e.val()):n(t.value,e.val())},choices:function(t){return''}});acf.registerConditionType(f);var h=f.extend({type:"notEqualTo",operator:"!=",label:e("Value is not equal to"),match:function(t,e){return!f.prototype.match.apply(this,arguments)}});acf.registerConditionType(h);var p=acf.Condition.extend({type:"patternMatch",operator:"==pattern",label:e("Value matches pattern"),fieldTypes:["text","textarea","email","url","password","wysiwyg"],match:function(t,e){return l(e.val(),t.value)},choices:function(t){return''}});acf.registerConditionType(p);var g=acf.Condition.extend({type:"contains",operator:"==contains",label:e("Value contains"),fieldTypes:["text","textarea","number","email","url","password","wysiwyg","oembed"],match:function(t,e){return c(e.val(),t.value)},choices:function(t){return''}});acf.registerConditionType(g);var m=f.extend({type:"trueFalseEqualTo",choiceType:"select",fieldTypes:["true_false"],choices:function(t){return[{id:1,text:e("Checked")}]}});acf.registerConditionType(m);var v=h.extend({type:"trueFalseNotEqualTo",choiceType:"select",fieldTypes:["true_false"],choices:function(t){return[{id:1,text:e("Checked")}]}});acf.registerConditionType(v);var y=acf.Condition.extend({type:"selectEqualTo",operator:"==",label:e("Value is equal to"),fieldTypes:["select","checkbox","radio","button_group"],match:function(t,e){var i=e.val();return i instanceof Array?s(t.value,i):n(t.value,i)},choices:function(t){var i=[],n=t.$setting("choices textarea").val().split("\n");return t.$input("allow_null").prop("checked")&&i.push({id:"",text:e("Null")}),n.map(function(t){t=t.split(":"),t[1]=t[1]||t[0],i.push({id:$.trim(t[0]),text:$.trim(t[1])})}),i}});acf.registerConditionType(y);var b=y.extend({type:"selectNotEqualTo",operator:"!=",label:e("Value is not equal to"),match:function(t,e){return!y.prototype.match.apply(this,arguments)}});acf.registerConditionType(b);var x=acf.Condition.extend({type:"greaterThan",operator:">",label:e("Value is greater than"),fieldTypes:["number","range"],match:function(t,e){var i=e.val();return i instanceof Array&&(i=i.length),r(i,t.value)},choices:function(t){return''}});acf.registerConditionType(x);var _=x.extend({type:"lessThan",operator:"<",label:e("Value is less than"),match:function(t,e){var i=e.val();return i instanceof Array&&(i=i.length),o(i,t.value)},choices:function(t){return''}});acf.registerConditionType(_);var w=x.extend({type:"selectionGreaterThan",label:e("Selection is greater than"),fieldTypes:["checkbox","select","post_object","page_link","relationship","taxonomy","user"]});acf.registerConditionType(w);var k=_.extend({type:"selectionLessThan",label:e("Selection is less than"),fieldTypes:["checkbox","select","post_object","page_link","relationship","taxonomy","user"]});acf.registerConditionType(k)}(jQuery),function($,t){acf.newMediaPopup=function(t){var e=null,t=acf.parseArgs(t,{mode:"select",title:"",button:"",type:"",field:!1,allowedTypes:"",library:"all",multiple:!1,attachment:0,autoOpen:!0,open:function(){},select:function(){},close:function(){}});return e="edit"==t.mode?new acf.models.EditMediaPopup(t):new acf.models.SelectMediaPopup(t),t.autoOpen&&setTimeout(function(){e.open()},1),acf.doAction("new_media_popup",e),e};var e=function(){var t=acf.get("post_id");return $.isNumeric(t)?t:0};acf.getMimeTypes=function(){return this.get("mimeTypes")},acf.getMimeType=function(t){var e=acf.getMimeTypes();if(void 0!==e[t])return e[t];for(var i in e)if(-1!==i.indexOf(t))return e[i];return!1};var i=acf.Model.extend({id:"MediaPopup",data:{},defaults:{},frame:!1,setup:function(t){$.extend(this.data,t)},initialize:function(){var t=this.getFrameOptions();this.addFrameStates(t);var e=wp.media(t);e.acf=this,this.addFrameEvents(e,t),this.frame=e},open:function(){this.frame.open()},close:function(){this.frame.close()},remove:function(){this.frame.detach(),this.frame.dispose()},getFrameOptions:function(){var t={title:this.get("title"),multiple:this.get("multiple"),library:{},states:[]};return this.get("type")&&(t.library.type=this.get("type")),"uploadedTo"===this.get("library")&&(t.library.uploadedTo=e()),this.get("attachment")&&(t.library.post__in=[this.get("attachment")]),this.get("button")&&(t.button={text:this.get("button")}),t},addFrameStates:function(t){var e=wp.media.query(t.library);this.get("field")&&acf.isset(e,"mirroring","args")&&(e.mirroring.args._acfuploader=this.get("field")),t.states.push(new wp.media.controller.Library({library:e,multiple:this.get("multiple"),title:this.get("title"),priority:20,filterable:"all",editable:!0,allowLocalEdits:!0})),acf.isset(wp,"media","controller","EditImage")&&t.states.push(new wp.media.controller.EditImage)},addFrameEvents:function(t,e){t.on("open",function(){this.$el.closest(".media-modal").addClass("acf-media-modal -"+this.acf.get("mode"))},t),t.on("content:render:edit-image",function(){var t=this.state().get("image"),e=new wp.media.view.EditImage({model:t,controller:this}).render();this.content.set(e),e.loadEditor()},t),t.on("select",function(){var e=t.state().get("selection");e&&e.each(function(e,i){t.acf.get("select").apply(t.acf,[e,i])})}),t.on("close",function(){setTimeout(function(){t.acf.get("close").apply(t.acf),t.acf.remove()},1)})}});acf.models.SelectMediaPopup=i.extend({id:"SelectMediaPopup",setup:function(t){t.button||(t.button=acf._x("Select","verb")),i.prototype.setup.apply(this,arguments)},addFrameEvents:function(t,e){acf.isset(_wpPluploadSettings,"defaults","multipart_params")&&(_wpPluploadSettings.defaults.multipart_params._acfuploader=this.get("field"),t.on("open",function(){delete _wpPluploadSettings.defaults.multipart_params._acfuploader})),t.on("content:activate:browse",function(){var e=!1;try{e=t.content.get().toolbar}catch(t){return void console.log(t)}t.acf.customizeFilters.apply(t.acf,[e])}),i.prototype.addFrameEvents.apply(this,arguments)},customizeFilters:function(t){var e=t.get("filters");if("image"==this.get("type")&&(e.filters.all.text=acf.__("All images"),delete e.filters.audio,delete e.filters.video,delete e.filters.image,$.each(e.filters,function(t,e){e.props.type=e.props.type||"image"})),this.get("allowedTypes")){this.get("allowedTypes").split(" ").join("").split(".").join("").split(",").map(function(t){var i=acf.getMimeType(t);if(i){var n={text:i,props:{status:null,type:i,uploadedTo:null,orderby:"date",order:"DESC"},priority:20};e.filters[i]=n}})}if("uploadedTo"===this.get("library")){var i=this.frame.options.library.uploadedTo;delete e.filters.unattached,delete e.filters.uploaded,$.each(e.filters,function(t,e){e.text+=" ("+acf.__("Uploaded to this post")+")",e.props.uploadedTo=i})}var n=this.get("field");$.each(e.filters,function(t,e){e.props._acfuploader=n}),t.get("search").model.attributes._acfuploader=n,e.renderFilters&&e.renderFilters()}}),acf.models.EditMediaPopup=i.extend({id:"SelectMediaPopup",setup:function(t){t.button||(t.button=acf._x("Update","verb")),i.prototype.setup.apply(this,arguments)},addFrameEvents:function(t,e){t.on("open",function(){this.$el.closest(".media-modal").addClass("acf-expanded"),"browse"!=this.content.mode()&&this.content.mode("browse");var e=this.state(),i=e.get("selection"),n=wp.media.attachment(t.acf.get("attachment"));i.add(n)},t),i.prototype.addFrameEvents.apply(this,arguments)}});var n=new acf.Model({id:"customizePrototypes",wait:"ready",initialize:function(){acf.isset(wp,"media","view")&&(this.customizeAttachmentsRouter(),this.customizeAttachmentFilters(),this.customizeAttachmentCompat(),this.customizeAttachmentLibrary())},customizeAttachmentsRouter:function(){if(acf.isset(wp,"media","view","Router")){var t=wp.media.view.Router;wp.media.view.Router=t.extend({addExpand:function(){var t=$(['',''+acf.__("Expand Details")+"",''+acf.__("Collapse Details")+"",""].join(""));t.on("click",function(t){t.preventDefault();var e=$(this).closest(".media-modal");e.hasClass("acf-expanded")?e.removeClass("acf-expanded"):e.addClass("acf-expanded")}),this.$el.append(t)},initialize:function(){return t.prototype.initialize.apply(this,arguments),this.addExpand(),this}})}},customizeAttachmentFilters:function(){if(acf.isset(wp,"media","view","AttachmentFilters","All")){wp.media.view.AttachmentFilters.All.prototype.renderFilters=function(){this.$el.html(_.chain(this.filters).map(function(t,e){return{el:$("").val(e).html(t.text)[0],priority:t.priority||50}},this).sortBy("priority").pluck("el").value())}}},customizeAttachmentCompat:function(){if(acf.isset(wp,"media","view","AttachmentCompat")){var t=wp.media.view.AttachmentCompat,e=!1;wp.media.view.AttachmentCompat=t.extend({render:function(){return this.rendered?this:(this.rendered=!0,t.prototype.render.apply(this,arguments),clearTimeout(e),e=setTimeout($.proxy(function(){this.$el.is(":visible")&&acf.doAction("append",this.$el)},this),50),this)},dispose:function(){return this.$el.is(":visible")&&console.log("removed visible"),t.prototype.dispose.apply(this,arguments)}})}},customizeAttachmentLibrary:function(){if(acf.isset(wp,"media","view","Attachment","Library")){var t=wp.media.view.Attachment.Library;wp.media.view.Attachment.Library=t.extend({render:function(){var e=acf.isget(this,"controller","acf"),i=acf.isget(this,"model","attributes");if(e&&i){i.acf_errors&&this.$el.addClass("acf-disabled");var n=e.get("selected");n&&n.indexOf(i.id)>-1&&this.$el.addClass("acf-selected")}return t.prototype.render.apply(this,arguments)},toggleSelection:function(e){var i=this.collection,n=this.options.selection,a=this.model,r=n.single(),o=this.controller,s=acf.isget(this,"model","attributes","acf_errors"),c=o.$el.find(".media-frame-content .media-sidebar");if(c.children(".acf-selection-error").remove(),c.children().removeClass("acf-hidden"),o&&s){var l=acf.isget(this,"model","attributes","filename");return c.children().addClass("acf-hidden"),c.prepend(['
                    ',''+acf.__("Restricted")+"",''+l+"",''+s+"","
                    "].join("")),n.reset(),void n.single(a)}return t.prototype.toggleSelection.apply(this,arguments)}})}}})}(jQuery),function($,t){acf.screen=new acf.Model({active:!0,xhr:!1,wait:"ready",events:{"change #page_template":"onChangeTemplate","change #parent_id":"onChangeParent","change #post-formats-select input":"onChangeFormat","change .categorychecklist input":"onChangeTerm","change .categorychecklist select":"onChangeTerm",'change .acf-taxonomy-field[data-save="1"] input':"onChangeTerm",'change .acf-taxonomy-field[data-save="1"] select':"onChangeTerm"},data:{},fetch:function(){if(this.active&&"post"===acf.get("screen")){this.xhr&&this.xhr.abort();var t=acf.parseArgs(this.data,{post_id:acf.get("post_id")});t.action="acf/post/get_field_groups",t.exists=[],$(".acf-postbox").not(".acf-hidden").each(function(){t.exists.push($(this).attr("id").substr(4))});var e=function(t){acf.isAjaxSuccess(t)&&($(".acf-postbox").addClass("acf-hidden"),$(".acf-postbox-toggle").addClass("acf-hidden"),$("#acf-style").html(""),t.data.map(function(t,e){var i=$("#acf-"+t.key),n=$("#acf-"+t.key+"-hide"),a=n.parent();i.removeClass("acf-hidden hide-if-js").show(),a.removeClass("acf-hidden hide-if-js").show(),n.prop("checked",!0);var r=i.find(".acf-replace-with-fields");r.exists()&&(r.replaceWith(t.html),acf.doAction("append",i)),0===e&&$("#acf-style").html(t.style),acf.enable(i,"postbox")}))},i=function(t){$(".acf-postbox.acf-hidden").each(function(){acf.disable($(this),"postbox")})};this.xhr=$.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"json",context:this,success:e,complete:i})}},syncTaxonomyTerms:function(){var t=[""];$(".categorychecklist, .acf-taxonomy-field").each(function(){var e=$(this),i=e.find('input[type="checkbox"]').not(":disabled"),n=e.find('input[type="radio"]').not(":disabled"),a=e.find("select").not(":disabled"),r=e.find('input[type="hidden"]').not(":disabled");e.is(".acf-taxonomy-field")&&"1"!=e.attr("data-save")||e.closest(".media-frame").exists()||(i.exists()?i.filter(":checked").each(function(){t.push($(this).val())}):n.exists()?n.filter(":checked").each(function(){t.push($(this).val())}):a.exists()?a.find("option:selected").each(function(){t.push($(this).val())}):r.exists()&&r.each(function(){$(this).val()&&t.push($(this).val())}))}),t=t.filter(function(t,e,i){return i.indexOf(t)==e}),this.set("post_taxonomy",t).fetch()},onChangeTemplate:function(t,e){this.set("page_template",e.val()).fetch()},onChangeParent:function(t,e){var i="parent",n=0;""!=e.val()&&(i="child",n=e.val()),this.set("page_type",i).set("page_parent",n).fetch()},onChangeFormat:function(t,e){var i=e.val();"0"==i&&(i="standard"),this.set("post_format",i).fetch()},onChangeTerm:function(t,e){e.closest(".media-frame").exists()||this.setTimeout(this.syncTaxonomyTerms,1)}})}(jQuery),function($,t){function e(){return acf.isset(window,"jQuery","fn","select2","amd")?4:!!acf.isset(window,"Select2")&&3}acf.newSelect2=function(t,i){if(i=acf.parseArgs(i,{allowNull:!1,placeholder:"",multiple:!1,field:!1,ajax:!1,ajaxAction:"",ajaxData:function(t){return t},ajaxResults:function(t){return t}}),4==e())var r=new n(t,i);else var r=new a(t,i);return acf.doAction("new_select2",r),r};var i=acf.Model.extend({setup:function(t,e){$.extend(this.data,e),this.$el=t},initialize:function(){},selectOption:function(t){var e=this.getOption(t);e.prop("selected")||e.prop("selected",!0).trigger("change")},unselectOption:function(t){var e=this.getOption(t);e.prop("selected")&&e.prop("selected",!1).trigger("change")},getOption:function(t){return this.$('option[value="'+t+'"]')},addOption:function(t){t=acf.parseArgs(t,{id:"",text:"",selected:!1});var e=this.getOption(t.id);return e.length||(e=$(""),e.html(t.text),e.attr("value",t.id),e.prop("selected",t.selected),this.$el.append(e)),e},getValue:function(){var t=[],e=this.$el.find("option:selected");return e.exists()?(e=e.sort(function(t,e){return+t.getAttribute("data-i")-+e.getAttribute("data-i")}),e.each(function(){var e=$(this);t.push({$el:e,id:e.attr("value"),text:e.text()})}),t):t},mergeOptions:function(){},getChoices:function(){var t=function(e){var i=[];return e.children().each(function(){var e=$(this);e.is("optgroup")?i.push({text:e.attr("label"),children:t(e)}):i.push({id:e.attr("value"),text:e.text()})}),i};return t(this.$el)},decodeChoices:function(t){var e=function(t){return t.map(function(t){return t.text=acf.decode(t.text),t.children&&(t.children=e(t.children)),t}),t};return e(t)},getAjaxData:function(t){var e={action:this.get("ajaxAction"),s:t.term||"",paged:t.page||1},i=this.get("field");i&&(e.field_key=i.get("key"));var n=this.get("ajaxData");return n&&(e=n.apply(this,[e,t])),e=acf.applyFilters("select2_ajax_data",e,this.data,this.$el,i||!1,this),acf.prepareForAjax(e)},getAjaxResults:function(t,e){t=acf.parseArgs(t,{results:!1,more:!1}),t.results&&(t.results=this.decodeChoices(t.results));var i=this.get("ajaxResults");return i&&(t=i.apply(this,[t,e])),t=acf.applyFilters("select2_ajax_results",t,e,this)},processAjaxResults:function(t,e){var t=this.getAjaxResults(t,e);return t.more&&(t.pagination={more:!0}),setTimeout($.proxy(this.mergeOptions,this),1),t},destroy:function(){this.$el.data("select2")&&this.$el.select2("destroy"),this.$el.siblings(".select2-container").remove()}}),n=i.extend({initialize:function(){var t=this.$el,e={width:"100%",allowClear:this.get("allowNull"),placeholder:this.get("placeholder"),multiple:this.get("multiple"),data:[],escapeMarkup:function(t){return t}};e.multiple&&this.getValue().map(function(e){e.$el.detach().appendTo(t)}),t.removeData("ajax"),t.removeAttr("data-ajax"),this.get("ajax")&&(e.ajax={url:acf.get("ajaxurl"),delay:250,dataType:"json",type:"post",cache:!1,data:$.proxy(this.getAjaxData,this),processResults:$.proxy(this.processAjaxResults,this)});var i=this.get("field");e=acf.applyFilters("select2_args",e,t,this.data,i||!1,this),t.select2(e);var n=t.next(".select2-container");if(e.multiple){var a=n.find("ul");a.sortable({stop:function(e){a.find(".select2-selection__choice").each(function(){$($(this).data("data").element).detach().appendTo(t)}),t.trigger("change")}}),t.on("select2:select",this.proxy(function(t){this.getOption(t.params.data.id).detach().appendTo(this.$el)}))}n.addClass("-acf"),acf.doAction("select2_init",t,e,this.data,i||!1,this)},mergeOptions:function(){var t=!1,e=!1;$('.select2-results__option[role="group"]').each(function(){var i=$(this).children("ul"),n=$(this).children("strong");if(e&&e.text()===n.text())return t.append(i.children()),void $(this).remove();t=i,e=n})}}),a=i.extend({initialize:function(){var t=this.$el,e=this.getValue(),i=this.get("multiple"),n={width:"100%",allowClear:this.get("allowNull"),placeholder:this.get("placeholder"),separator:"||",multiple:this.get("multiple"),data:this.getChoices(),escapeMarkup:function(t){return t},dropdownCss:{"z-index":"999999999"},initSelection:function(t,n){n(i?e:e.shift())}},a=t.siblings("input");a.length||(a=$(''),t.before(a)),inputValue=e.map(function(t){return t.id}).join("||"),a.val(inputValue),n.multiple&&e.map(function(e){e.$el.detach().appendTo(t)}),n.allowClear&&(n.data=n.data.filter(function(t){return""!==t.id})),t.removeData("ajax"),t.removeAttr("data-ajax"),this.get("ajax")&&(n.ajax={url:acf.get("ajaxurl"),quietMillis:250,dataType:"json",type:"post",cache:!1,data:$.proxy(this.getAjaxData,this),results:$.proxy(this.processAjaxResults,this)});var r=this.get("field");n=acf.applyFilters("select2_args",n,t,this.data,r||!1,this),a.select2(n);var o=a.select2("container"),s=$.proxy(this.getOption,this);if(n.multiple){var c=o.find("ul");c.sortable({stop:function(){c.find(".select2-search-choice").each(function(){var e=$(this).data("select2Data");s(e.id).detach().appendTo(t)}),t.trigger("change")}})}a.on("select2-selecting",function(e){var i=e.choice,n=s(i.id);n.length||(n=$('")),n.detach().appendTo(t)}),o.addClass("-acf"),acf.doAction("select2_init",t,n,this.data,r||!1,this),a.on("change",function(){var e=a.val();e.indexOf("||")&&(e=e.split("||")),t.val(e).trigger("change")}),t.hide()},mergeOptions:function(){var t=!1,e=!1;$("#select2-drop .select2-result-with-children").each(function(){var i=$(this).children("ul"),n=$(this).children(".select2-result-label");if(e&&e.text()===n.text())return e.append(i.children()),void $(this).remove();t=i,e=n})},getAjaxData:function(t,e){var n={term:t,page:e};return i.prototype.getAjaxData.apply(this,[n])}}),r=new acf.Model({priority:5,wait:"prepare",initialize:function(){var t=acf.get("locale"),i=acf.get("rtl");return!!acf.get("select2L10n")&&(0!==t.indexOf("en")&&void(4==e()?this.addTranslations4():this.addTranslations3()))},addTranslations4:function(){var t=acf.get("select2L10n"),e=acf.get("locale");e=e.replace("_","-");var i={errorLoading:function(){return t.load_fail},inputTooLong:function(e){var i=e.input.length-e.maximum;return i>1?t.input_too_long_n.replace("%d",i):t.input_too_long_1},inputTooShort:function(e){var i=e.minimum-e.input.length;return i>1?t.input_too_short_n.replace("%d",i):t.input_too_short_1},loadingMore:function(){return t.load_more},maximumSelected:function(e){var i=e.maximum;return i>1?t.selection_too_long_n.replace("%d",i):t.selection_too_long_1},noResults:function(){return t.matches_0},searching:function(){return t.searching}};jQuery.fn.select2.amd.define("select2/i18n/"+e,[],function(){return i})},addTranslations3:function(){var t=acf.get("select2L10n"),e=acf.get("locale");e=e.replace("_","-");var i={formatMatches:function(e){return e>1?t.matches_n.replace("%d",e):t.matches_1},formatNoMatches:function(){return t.matches_0},formatAjaxError:function(){return t.load_fail},formatInputTooShort:function(e,i){var n=i-e.length;return n>1?t.input_too_short_n.replace("%d",n):t.input_too_short_1},formatInputTooLong:function(e,i){var n=e.length-i;return n>1?t.input_too_long_n.replace("%d",n):t.input_too_long_1},formatSelectionTooBig:function(e){return e>1?t.selection_too_long_n.replace("%d",e):t.selection_too_long_1},formatLoadMore:function(){return t.load_more},formatSearching:function(){return t.searching}};$.fn.select2.locales=$.fn.select2.locales||{},$.fn.select2.locales[e]=i,$.extend($.fn.select2.defaults,i)}})}(jQuery),function($,t){acf.tinymce={defaults:function(){return"undefined"!=typeof tinyMCEPreInit&&{tinymce:tinyMCEPreInit.mceInit.acf_content,quicktags:tinyMCEPreInit.qtInit.acf_content}},initialize:function(t,e){e=acf.parseArgs(e,{tinymce:!0,quicktags:!0,toolbar:"full",mode:"visual",field:!1}),e.tinymce&&this.initializeTinymce(t,e),e.quicktags&&this.initializeQuicktags(t,e)},initializeTinymce:function(t,e){var i=$("#"+t),n=this.defaults(),a=acf.get("toolbars"),r=e.field||!1,o=r.$el||!1;if("undefined"==typeof tinymce)return!1;if(!n)return!1;if(tinymce.get(t))return this.enable(t);var s=$.extend({},n.tinymce,e.tinymce);s.id=t,s.selector="#"+t;var c=e.toolbar;if(c&&void 0!==a[c])for(var l=1;l<=4;l++)s["toolbar"+l]=a[c][l]||"";if(s.setup=function(e){e.on("change",function(t){e.save(),i.trigger("change")}),$(e.getWin()).on("unload",function(){acf.tinymce.remove(t)})},s.wp_autoresize_on=!1,s=acf.applyFilters("wysiwyg_tinymce_settings",s,t,r),tinyMCEPreInit.mceInit[t]=s,"visual"==e.mode){var d=tinymce.init(s),u=tinymce.get(t);if(!u)return!1;u.acf=e.field,acf.doAction("wysiwyg_tinymce_init",u,u.id,s,r)}},initializeQuicktags:function(t,e){var i=this.defaults();if("undefined"==typeof quicktags)return!1;if(!i)return!1;var n=$.extend({},i.quicktags,e.quicktags);n.id=t;var a=e.field||!1,r=a.$el||!1;n=acf.applyFilters("wysiwyg_quicktags_settings",n,n.id,a),tinyMCEPreInit.qtInit[t]=n;var o=quicktags(n);if(!o)return!1;this.buildQuicktags(o),acf.doAction("wysiwyg_quicktags_init",o,o.id,n,a)},buildQuicktags:function(t){var e,i,n,a,r,t,o,s,c,l,d=",strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,";e=t.canvas,i=t.name,n=t.settings,r="",a={},c="",l=t.id,n.buttons&&(c=","+n.buttons+",");for(s in edButtons)edButtons[s]&&(o=edButtons[s].id,c&&-1!==d.indexOf(","+o+",")&&-1===c.indexOf(","+o+",")||edButtons[s].instance&&edButtons[s].instance!==l||(a[o]=edButtons[s],edButtons[s].html&&(r+=edButtons[s].html(i+"_"))));c&&-1!==c.indexOf(",dfw,")&&(a.dfw=new QTags.DFWButton,r+=a.dfw.html(i+"_")),"rtl"===document.getElementsByTagName("html")[0].dir&&(a.textdirection=new QTags.TextDirectionButton,r+=a.textdirection.html(i+"_")),t.toolbar.innerHTML=r,t.theButtons=a,"undefined"!=typeof jQuery&&jQuery(document).triggerHandler("quicktags-init",[t])},disable:function(t){this.destroyTinymce(t)},remove:function(t){this.destroyTinymce(t)},destroy:function(t){this.destroyTinymce(t)},destroyTinymce:function(t){if("undefined"==typeof tinymce)return!1;var e=tinymce.get(t);return!!e&&(e.save(),e.destroy(),!0)},enable:function(t){this.enableTinymce(t)},enableTinymce:function(t){return"undefined"!=typeof switchEditors&&(void 0!==tinyMCEPreInit.mceInit[t]&&(switchEditors.go(t,"tmce"),!0))}};var e=new acf.Model({priority:5,actions:{prepare:"onPrepare",ready:"onReady" +},onPrepare:function(){var t=$("#acf-hidden-wp-editor");t.exists()&&t.appendTo("body")},onReady:function(){acf.isset(window,"tinymce","on")&&tinymce.on("AddEditor",function(t){var e=t.editor;"acf"===e.id.substr(0,3)&&(e=tinymce.editors.content||e,tinymce.activeEditor=e,wpActiveEditor=e.id)})}})}(jQuery),function($,t){acf.validation=new acf.Model({active:!0,ignore:!1,errors:[],form:!1,wait:"prepare",actions:{ready:"addInputEvents",append:"addInputEvents"},events:{"click #publish":"onClickPublish","click #submit":"onClickPublish","click #save-post":"onClickSave","submit form":"onSubmit"},initialize:function(){acf.get("validation")||(this.disable(),this.actions={},this.events={})},getForm:function(t){var i=t.data("acf");return i||(i=new e(t)),this.form=i,i},enable:function(){this.active=!0},disable:function(){this.active=!1},pass:function(){this.ignore=!0,this.setTimeout(function(){this.ignore=!1},100)},reset:function(){this.ignore=!1,this.errors=[],this.form=!1},getErrors:function(){return this.errors},hasErrors:function(){return this.errors.length},addErrors:function(t){t.map(this.addError,this)},addError:function(t){this.errors.push(t)},getFieldErrors:function(){var t=[],e=[];return this.getErrors().map(function(i){if(i.input){var n=e.indexOf(i.input);n>-1?t[n]=i:(t.push(i),e.push(i.input))}}),t},getGlobalErrors:function(){return this.getErrors().filter(function(t){return!t.input})},showErrors:function(t){if(this.hasErrors()){var e=this.getForm(t),i=this.getFieldErrors(),n=this.getGlobalErrors(),a=0,r=!1;i.map(function(e){var i=t.find('[name="'+e.input+'"]').first();if(i.exists()||(i=t.find('[name^="'+e.input+'"]').first()),i.exists()){a++;var n=acf.getClosestField(i);n.showError(e.message),r||(r=n.$el)}},this);var o=acf.__("Validation failed");1==a?o+=". "+acf.__("1 field requires attention"):a>1&&(o+=". "+acf.__("%d fields require attention").replace("%d",a)),e.notice?e.notice.update({type:"error",text:o}):e.notice=acf.newNotice({type:"error",text:o,target:t}),r||(r=e.notice.$el),setTimeout(function(){$("html, body").animate({scrollTop:r.offset().top-$(window).height()/2},500)},10)}},fetch:function(t){if(!this.busy){this.busy=1,t=acf.parseArgs(t,{form:!1,event:!1,lock:!0,loading:function(){},complete:function(){},failure:function(){},success:function(t){t.submit()}});var e=t.form,i=this.getForm(e);if(t.event){var n=$.Event(null,t.event);t.success=function(){$(n.target).trigger(n)}}acf.doAction("validation_begin",e);var a=acf.serialize(e);a.action="acf/validate_save_post",this.lockForm(e),t.loading(e);var r=function(t){acf.isAjaxSuccess(t)&&(a=acf.applyFilters("validation_complete",t.data,e),a.valid||this.addErrors(a.errors))},o=function(){this.busy=0,this.unlockForm(e),this.hasErrors()?(acf.doAction("validation_failure",e),this.showErrors(e),t.failure(e)):(this.pass(),i.notice&&i.notice.update({type:"success",text:acf.__("Validation successful"),timeout:1e3}),acf.doAction("validation_success",e),acf.doAction("submit",e),t.success(e),t.lock&&this.lockForm(e)),this.reset(),t.complete(e)};$.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"json",context:this,success:r,complete:o})}},addInputEvents:function(t){var e=$(".acf-field [name]");e.length&&this.on(e,"invalid","onInvalid")},onInvalid:function(t,e){var i=e.closest("form");this.addError({input:e.attr("name"),message:t.target.validationMessage}),t.preventDefault(),i.submit()},onClickPublish:function(t,e){this.set("originalEvent",t),this.setTimeout(function(){this.set("originalEvent",null)},100)},onClickSave:function(t,e){this.pass()},onSubmit:function(t,e){acf.validateForm({form:e,event:this.get("originalEvent")||t})||t.preventDefault()},showSpinner:function(t){t.addClass("is-active"),t.css("display","inline-block")},hideSpinner:function(t){t.removeClass("is-active"),t.css("display","none")},disableSubmit:function(t){t.prop("disabled",!0).addClass("disabled")},enableSubmit:function(t){t.prop("disabled",!1).removeClass("disabled")},findSubmitWrap:function(t){var e=$("#submitdiv");if(e.length)return e;var e=$("#submitpost");if(e.length)return e;var e=t.find("p.submit").last();if(e.length)return e;var e=t.find(".acf-form-submit");return e.length?e:t},lockForm:function(t){var e=this.findSubmitWrap(t),i=e.find(".button, .acf-button"),n=e.find(".spinner, .acf-spinner");this.hideSpinner(n),this.disableSubmit(i),this.showSpinner(n.last())},unlockForm:function(t){var e=this.findSubmitWrap(t),i=e.find(".button, .acf-button"),n=e.find(".spinner, .acf-spinner");this.enableSubmit(i),this.hideSpinner(n)}});var e=acf.Model.extend({notice:!1,setup:function(t){this.$el=t},lock:function(){acf.validation.lockForm(this.$el)},unlock:function(){acf.validation.unlockForm(this.$el)}});acf.validateForm=function(t){if(!t.form)return!0;var e=acf.validation.getForm(t.form);return!acf.validation.active||(!!acf.validation.ignore||(e.$("#wp-preview").val()?(e.unlock(),!0):!e.$("#acf-form-data").length||(acf.validation.fetch(t),!1)))}}(jQuery),function($,t){var e=new acf.Model({priority:90,timeout:0,actions:{new_field:"refresh",show_field:"refresh",hide_field:"refresh",remove_field:"refresh"},refresh:function(){clearTimeout(this.timeout),this.timeout=setTimeout(function(){acf.doAction("refresh")},0)}}),i=new acf.Model({actions:{sortstart:"onSortstart"},onSortstart:function(t,e){t.is("tr")&&(t.css("position","relative"),t.children().each(function(){$(this).width($(this).width())}),t.css("position","absolute"),e.html('
                    '))}}),n=new acf.Model({actions:{after_duplicate:"onAfterDuplicate"},onAfterDuplicate:function(t,e){var i=[];t.find("select").each(function(t){i.push($(this).val())}),e.find("select").each(function(t){$(this).val(i[t])})}}),a=new acf.Model({id:"tableHelper",priority:20,actions:{refresh:"renderTables"},renderTables:function(t){var e=this;$(".acf-table:visible").each(function(){e.renderTable($(this))})},renderTable:function(t){var e=t.find("> thead > tr:visible > th[data-key]"),i=t.find("> tbody > tr:visible > td[data-key]");if(!e.length||!i.length)return!1;e.each(function(t){var e=$(this),n=e.data("key"),a=i.filter('[data-key="'+n+'"]'),r=a.filter(".acf-hidden");a.removeClass("acf-empty"),a.length===r.length?acf.hide(e):(acf.show(e),r.addClass("acf-empty"))}),e.css("width","auto"),e=e.not(".acf-hidden");var n=100,a=e.length;e.filter("[data-width]").each(function(){var t=$(this).data("width");$(this).css("width",t+"%"),n-=t});var r=e.not("[data-width]");if(r.length){var o=n/r.length;r.css("width",o+"%"),n=0}n>0&&e.last().css("width","auto"),i.filter(".-collapsed-target").each(function(){var t=$(this);t.parent().hasClass("-collapsed")?t.attr("colspan",e.length):t.removeAttr("colspan")})}}),r=new acf.Model({id:"fieldsHelper",priority:30,actions:{refresh:"renderGroups"},renderGroups:function(){var t=this;$(".acf-fields:visible").each(function(){t.renderGroup($(this))})},renderGroup:function(t){var e=0,i=0,n=$(),a=t.children(".acf-field[data-width]:visible");return!!a.length&&(t.hasClass("-left")?(a.removeAttr("data-width"),a.css("width","auto"),!1):(a.removeClass("-r0 -c0").css({"min-height":0}),a.each(function(t){var a=$(this),r=a.position(),o=Math.ceil(r.top),s=Math.ceil(r.left);n.length&&o>e&&(n.css({"min-height":i+"px"}),r=a.position(),o=Math.ceil(r.top),s=Math.ceil(r.left),e=0,i=0,n=$()),0==o?a.addClass("-r0"):0==s&&a.addClass("-c0");var c=Math.ceil(a.outerHeight())+1;i=Math.max(i,c),e=Math.max(e,o),n=n.add(a)}),void(n.length&&n.css({"min-height":i+"px"}))))}})}(jQuery),function($,t){acf.newCompatibility=function(t,e){return e=e||{},e.__proto__=t.__proto__,t.__proto__=e,t.compatibility=e,e},acf.getCompatibility=function(t){return t.compatibility||null};var e=acf.newCompatibility(acf,{l10n:{},o:{},fields:{},update:acf.set,add_action:acf.addAction,remove_action:acf.removeAction,do_action:acf.doAction,add_filter:acf.addFilter,remove_filter:acf.removeFilter,apply_filters:acf.applyFilters,parse_args:acf.parseArgs,disable_el:acf.disable,disable_form:acf.disable,enable_el:acf.enable,enable_form:acf.enable,update_user_setting:acf.updateUserSetting,prepare_for_ajax:acf.prepareForAjax,is_ajax_success:acf.isAjaxSuccess,remove_el:acf.remove,remove_tr:acf.remove,str_replace:acf.strReplace,render_select:acf.renderSelect,get_uniqid:acf.uniqid,serialize_form:acf.serialize,esc_html:acf.strEscape,str_sanitize:acf.strSanitize});e._e=function(t,e){t=t||"",e=e||"";var i=e?t+"."+e:t,n={"image.select":"Select Image","image.edit":"Edit Image","image.update":"Update Image"};if(n[i])return acf.__(n[i]);var a=this.l10n[t]||"";return e&&(a=a[e]||""),a},e.get_selector=function(t){var e=".acf-field";if(!t)return e;if($.isPlainObject(t)){if($.isEmptyObject(t))return e;for(var i in t){t=t[i];break}}return e+="-"+t,e=acf.strReplace("_","-",e),e=acf.strReplace("field-field-","field-",e)},e.get_fields=function(t,e,i){var n={is:t||"",parent:e||!1,suppressFilters:i||!1};return n.is&&(n.is=this.get_selector(n.is)),acf.findFields(n)},e.get_field=function(t,e){var i=this.get_fields.apply(this,arguments);return!!i.length&&i.first()},e.get_closest_field=function(t,e){return t.closest(this.get_selector(e))},e.get_field_wrap=function(t){return t.closest(this.get_selector())},e.get_field_key=function(t){return t.data("key")},e.get_field_type=function(t){return t.data("type")},e.get_data=function(t,e){return acf.parseArgs(t.data(),e)},e.maybe_get=function(t,e,i){void 0===i&&(i=null),keys=String(e).split(".");for(var n=0;n1){for(var c=0;c0?t.substr(0,n):t,r=n>0?t.substr(n+1):"",o=function(t){t.$el=$(this),acf.field_group&&(t.$field=t.$el.closest(".acf-field-object")),"function"==typeof i.event&&(t=i.event(t)),i[e].apply(i,arguments)};r?$(document).on(a,r,o):$(document).on(a,o)},get:function(t,e){return e=e||null,void 0!==this[t]&&(e=this[t]),e},set:function(t,e){return this[t]=e,"function"==typeof this["_set_"+t]&&this["_set_"+t].apply(this),this}},e.field=acf.model.extend({type:"",o:{},$field:null,_add_action:function(t,e){var i=this;t=t+"_field/type="+i.type,acf.add_action(t,function(t){i.set("$field",t),i[e].apply(i,arguments)})},_add_filter:function(t,e){var i=this;t=t+"_field/type="+i.type,acf.add_filter(t,function(t){i.set("$field",t),i[e].apply(i,arguments)})},_add_event:function(t,e){var i=this,n=t.substr(0,t.indexOf(" ")),a=t.substr(t.indexOf(" ")+1),r=acf.get_selector(i.type);$(document).on(n,r+" "+a,function(t){var n=$(this),a=acf.get_closest_field(n,i.type);a.length&&(a.is(i.$field)||i.set("$field",a),t.$el=n,t.$field=a,i[e].apply(i,[t]))})},_set_$field:function(){"function"==typeof this.focus&&this.focus()},doFocus:function(t){return this.set("$field",t)}});var r=acf.newCompatibility(acf.validation,{remove_error:function(t){acf.getField(t).removeError()},add_warning:function(t,e){acf.getField(t).showNotice({text:e,type:"warning",timeout:1e3})}});e.tooltip={tooltip:function(t,e){return acf.newTooltip({text:t,target:e}).$el},temp:function(t,e){var i=acf.newTooltip({text:t,target:e,timeout:250})},confirm:function(t,e,i,n,a){var r=acf.newTooltip({confirm:!0,text:i,target:t,confirm:function(){e(!0)},cancel:function(){e(!1)}})},confirm_remove:function(t,e){var i=acf.newTooltip({confirmRemove:!0,target:t,confirm:function(){e(!0)},cancel:function(){e(!1)}})}},e.media=new acf.Model({activeFrame:!1,actions:{new_media_popup:"onNewMediaPopup"},frame:function(){return this.activeFrame},onNewMediaPopup:function(t){this.activeFrame=t.frame},popup:function(t){return t.mime_types&&(t.allowedTypes=t.mime_types),t.id&&(t.attachment=t.id),acf.newMediaPopup(t).frame}}),e.select2={init:function(t,e,i){return e.allow_null&&(e.allowNull=e.allow_null),e.ajax_action&&(e.ajaxAction=e.ajax_action),i&&(e.field=acf.getField(i)),acf.newSelect2(t,e)},destroy:function(t){return acf.getInstance(t).destroy()}},e.postbox={render:function(t){return t.edit_url&&(t.editLink=t.edit_url),t.edit_title&&(t.editTitle=t.edit_title),acf.newPostbox(t)}},acf.newCompatibility(acf.screen,{update:function(){return this.set.apply(this,arguments)}}),e.ajax=acf.screen}(jQuery); \ No newline at end of file diff --git a/includes/admin/admin-field-group.php b/includes/admin/admin-field-group.php index 7f4f81f..136117e 100644 --- a/includes/admin/admin-field-group.php +++ b/includes/admin/admin-field-group.php @@ -120,7 +120,6 @@ class acf_admin_field_group { // filters add_filter('acf/input/admin_l10n', array($this, 'admin_l10n')); - } @@ -149,6 +148,27 @@ class acf_admin_field_group { wp_enqueue_script('acf-field-group'); + // localize text + acf_localize_text(array( + 'The string "field_" may not be used at the start of a field name' => __('The string "field_" may not be used at the start of a field name', 'acf'), + 'This field cannot be moved until its changes have been saved' => __('This field cannot be moved until its changes have been saved', 'acf'), + 'Field group title is required' => __('Field group title is required', 'acf'), + 'Move to trash. Are you sure?' => __('Move to trash. Are you sure?', 'acf'), + 'No toggle fields available' => __('No toggle fields available', 'acf'), + 'Move Custom Field' => __('Move Custom Field', 'acf'), + 'Checked' => __('Checked', 'acf'), + '(no label)' => __('(no label)', 'acf'), + '(this field)' => __('(this field)', 'acf'), + 'copy' => __('copy', 'acf'), + 'or' => __('or', 'acf'), + 'Null' => __('Null', 'acf'), + )); + + // localize data + acf_localize_data(array( + 'fieldTypes' => acf_get_field_types_info() + )); + // 3rd party hook do_action('acf/field_group/admin_enqueue_scripts'); @@ -221,7 +241,8 @@ class acf_admin_field_group { acf_form_data(array( 'screen' => 'field_group', 'post_id' => $post->ID, - 'delete_fields' => 0 + 'delete_fields' => 0, + 'validation' => 0 )); } @@ -262,33 +283,7 @@ class acf_admin_field_group { */ function admin_l10n( $l10n ) { - - // merge in new strings - $l10n = array_merge($l10n, array( - 'move_to_trash' => __("Move to trash. Are you sure?",'acf'), - 'checked' => __("checked",'acf'), - 'no_fields' => __("No toggle fields available",'acf'), - 'title_is_required' => __("Field group title is required",'acf'), - 'copy' => __("copy",'acf'), - 'or' => __("or",'acf'), - 'fields' => __("Fields",'acf'), - 'parent_fields' => __("Parent fields",'acf'), - 'sibling_fields' => __("Sibling fields",'acf'), - 'move_field' => __("Move Custom Field",'acf'), - 'move_field_warning' => __("This field cannot be moved until its changes have been saved",'acf'), - 'null' => __("Null",'acf'), - 'unload' => __('The changes you made will be lost if you navigate away from this page','acf'), - 'field_name_start' => __('The string "field_" may not be used at the start of a field name','acf'), - )); - - - // 3rd party hook - $l10n = apply_filters('acf/field_group/admin_l10n', $l10n); - - - // return - return $l10n; - + return apply_filters('acf/field_group/admin_l10n', $l10n); } @@ -427,43 +422,31 @@ class acf_admin_field_group { // do not save if this is an auto save routine if( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) { - return $post_id; - } - // bail early if not acf-field-group if( $post->post_type !== 'acf-field-group' ) { - return $post_id; - } - // only save once! WordPress save's a revision as well. if( wp_is_post_revision($post_id) ) { - return $post_id; - } - // verify nonce if( !acf_verify_nonce('field_group') ) { - return $post_id; - } - // disable filters to ensure ACF loads raw data from DB acf_disable_filters(); - // save fields - if( !empty($_POST['acf_fields']) ) { + if( !empty($_POST['acf_fields']) ) { + // loop foreach( $_POST['acf_fields'] as $field ) { // vars @@ -473,28 +456,21 @@ class acf_admin_field_group { // only saved field if has changed if( $save == 'meta' ) { - $specific = array( 'menu_order', 'post_parent', ); - } - - // set field parent - if( empty($field['parent']) ) { - + // set parent + if( !$field['parent'] ) { $field['parent'] = $post_id; - } - // save field acf_update_field( $field, $specific ); } - } @@ -695,51 +671,25 @@ class acf_admin_field_group { function ajax_render_field_settings() { + // validate + if( !acf_verify_ajax() ) die(); + // vars - $options = array( - 'nonce' => '', - 'parent' => 0, - 'field_group' => 0, - 'prefix' => '', - 'type' => '', - ); + $field = acf_maybe_get_POST('field'); + // check + if( !$field ) die(); - // load post options - $options = wp_parse_args($_POST, $options); - - - // verify nonce - if( !wp_verify_nonce($options['nonce'], 'acf_nonce') ) { - - die(0); - - } - - - // required - if( !$options['type'] ) { - - die(0); - - } - - - // render options - $field = acf_get_valid_field(array( - 'type' => $options['type'], - 'name' => 'temp', - 'prefix' => $options['prefix'], - 'parent' => $options['parent'], - 'field_group' => $options['field_group'], - )); + // set prefix + $field['prefix'] = acf_maybe_get_POST('prefix'); + // validate + $field = acf_get_valid_field( $field ); // render do_action("acf/render_field_settings/type={$field['type']}", $field); - - // die + // return die(); } diff --git a/includes/admin/admin.php b/includes/admin/admin.php index b432e23..b8ddc9a 100644 --- a/includes/admin/admin.php +++ b/includes/admin/admin.php @@ -177,7 +177,7 @@ class acf_admin { } ?> -
                    +
                    ", + timeout: 250, + target: $(this), + }); } catch (err) { diff --git a/includes/admin/views/field-group-field-conditional-logic.php b/includes/admin/views/field-group-field-conditional-logic.php index 90ca027..a49f761 100644 --- a/includes/admin/views/field-group-field-conditional-logic.php +++ b/includes/admin/views/field-group-field-conditional-logic.php @@ -15,15 +15,12 @@ if( empty($field['conditional_logic']) ) { // rule 0 array() - ) - ); - } ?> -
                    + @@ -36,7 +33,7 @@ if( empty($field['conditional_logic']) ) { 'prefix' => $field['prefix'], 'value' => $disabled ? 0 : 1, 'ui' => 1, - 'class' => 'conditional-toggle', + 'class' => 'conditions-toggle', )); ?> @@ -65,7 +62,7 @@ if( empty($field['conditional_logic']) ) { // valid rule $rule = wp_parse_args( $rule, array( 'field' => '', - 'operator' => '==', + 'operator' => '', 'value' => '', )); @@ -75,23 +72,29 @@ if( empty($field['conditional_logic']) ) { $rule_id = "rule_{$rule_id}"; $prefix = "{$field['prefix']}[conditional_logic][{$group_id}][{$rule_id}]"; + // data attributes + $attributes = array( + 'data-id' => $rule_id, + 'data-field' => $rule['field'], + 'data-operator' => $rule['operator'], + 'data-value' => $rule['value'] + ); + ?> - + >
                      'select', 'prefix' => $prefix, 'name' => 'field', - 'value' => $rule['field'], - 'choices' => $choices, - 'class' => 'conditional-rule-param', + 'class' => 'condition-rule-field', 'disabled' => $disabled, + 'value' => $rule['field'], + 'choices' => array( + $rule['field'] => $rule['field'] + ) )); ?> @@ -99,40 +102,34 @@ if( empty($field['conditional_logic']) ) { __("is equal to",'acf'), - '!=' => __("is not equal to",'acf'), - ); - - - // create field acf_render_field(array( 'type' => 'select', 'prefix' => $prefix, 'name' => 'operator', - 'value' => $rule['operator'], - 'choices' => $choices, - 'class' => 'conditional-rule-operator', + 'class' => 'condition-rule-operator', 'disabled' => $disabled, + 'value' => $rule['operator'], + 'choices' => array( + $rule['operator'] => $rule['operator'] + ) )); ?> 'select', 'prefix' => $prefix, 'name' => 'value', - 'value' => $rule['value'], - 'choices' => $choices, - 'class' => 'conditional-rule-value', + 'class' => 'condition-rule-value', 'disabled' => $disabled, + 'value' => $rule['value'], + 'choices' => array( + $rule['value'] => $rule['value'] + ) )); ?> diff --git a/includes/admin/views/field-group-field.php b/includes/admin/views/field-group-field.php index e089f2f..0c6657e 100644 --- a/includes/admin/views/field-group-field.php +++ b/includes/admin/views/field-group-field.php @@ -1,12 +1,15 @@ "acf-field-object acf-field-object-{$field['type']}", +$prefix = 'acf_fields[' . $field['ID'] . ']'; +$id = acf_idify( $prefix ); + +// add prefix +$field['prefix'] = $prefix; + +// div +$div = array( + 'class' => 'acf-field-object acf-field-object-' . acf_slugify($field['type']), 'data-id' => $field['ID'], 'data-key' => $field['key'], 'data-type' => $field['type'], @@ -16,22 +19,16 @@ $meta = array( 'ID' => $field['ID'], 'key' => $field['key'], 'parent' => $field['parent'], - 'menu_order' => $field['menu_order'], - 'save' => '', + 'menu_order' => $i, + 'save' => '' ); - -// class -$atts['class'] = str_replace('_', '-', $atts['class']); - ?> -
                      > +
                      >
                      $v ): - - acf_hidden_input(array( 'class' => "input-{$k}", 'name' => "{$field['prefix']}[{$k}]", 'value' => $v )); - + acf_hidden_input(array( 'name' => $prefix . '[' . $k . ']', 'value' => $v, 'id' => $id . '-' . $k )); endforeach; ?>
                      @@ -42,7 +39,7 @@ $atts['class'] = str_replace('_', '-', $atts['class']);
                    • - " href="#"> + " href="#">
                      " href="#"> @@ -60,7 +57,7 @@ $atts['class'] = str_replace('_', '-', $atts['class']);
                      - + '', 'type' => 'select', 'name' => 'type', - 'choices' => acf_get_field_types(), + 'choices' => acf_get_grouped_field_types(), 'class' => 'field-type' ), true); diff --git a/includes/admin/views/field-group-fields.php b/includes/admin/views/field-group-fields.php index 4a227cc..e4a9e50 100644 --- a/includes/admin/views/field-group-fields.php +++ b/includes/admin/views/field-group-fields.php @@ -8,9 +8,9 @@
                    • -
                      +
                      -
                      > +
                      + Add Field button to create your first field.",'acf'); ?>
                      diff --git a/includes/admin/views/field-group-locations.php b/includes/admin/views/field-group-locations.php index 9995003..12c76a8 100644 --- a/includes/admin/views/field-group-locations.php +++ b/includes/admin/views/field-group-locations.php @@ -36,7 +36,7 @@ global $field_group; - > > $filename, 'post_mime_type' => $type, - 'guid' => $url, - 'context' => 'acf-upload' + 'guid' => $url ); // Save the data @@ -3466,20 +3499,25 @@ function acf_update_nested_array( &$array, $ancestors, $value ) { function acf_is_screen( $id = '' ) { // bail early if not defined - if( !function_exists('get_current_screen') ) return false; - + if( !function_exists('get_current_screen') ) { + return false; + } // vars $current_screen = get_current_screen(); + // no screen + if( !$current_screen ) { + return false; - // bail early if no screen - if( !$current_screen ) return false; - - - // return - return ($id === $current_screen->id); + // array + } elseif( is_array($id) ) { + return in_array($current_screen->id, $id); + // string + } else { + return ($id === $current_screen->id); + } } diff --git a/includes/api/api-input.php b/includes/api/api-input.php index 9258d02..9bb486b 100644 --- a/includes/api/api-input.php +++ b/includes/api/api-input.php @@ -401,7 +401,7 @@ function acf_get_select_input( $atts = array() ) { // html $html = ''; - $html .= ''; $html .= acf_walk_select_input( $choices, $value ); $html .= '' . "\n"; @@ -447,7 +447,7 @@ function acf_walk_select_input( $choices = array(), $values = array(), $depth = // optgroup if( is_array($label) ){ - $html .= '' . "\n"; + $html .= ''; $html .= acf_walk_select_input( $label, $values, $depth+1 ); $html .= ''; @@ -467,7 +467,7 @@ function acf_walk_select_input( $choices = array(), $values = array(), $depth = // append - $html .= '' . "\n"; + $html .= ''; } diff --git a/includes/assets.php b/includes/assets.php new file mode 100644 index 0000000..e98f15a --- /dev/null +++ b/includes/assets.php @@ -0,0 +1,477 @@ + $v ) { + $this->text[ $k ] = $v; + } + } + + + /** + * add_data + * + * description + * + * @date 13/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + function add_data( $data ) { + foreach( (array) $data as $k => $v ) { + $this->data[ $k ] = $v; + } + } + + + /** + * register_scripts + * + * description + * + * @date 13/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + function register_scripts() { + + // vars + $version = acf_get_setting('version'); + $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; + + // scripts + wp_register_script('acf-input', acf_get_url("assets/js/acf-input{$min}.js"), array('jquery', 'jquery-ui-sortable', 'jquery-ui-resizable'), $version ); + wp_register_script('acf-field-group', acf_get_url("assets/js/acf-field-group{$min}.js"), array('acf-input'), $version ); + + // styles + wp_register_style('acf-global', acf_get_url('assets/css/acf-global.css'), array(), $version ); + wp_register_style('acf-input', acf_get_url('assets/css/acf-input.css'), array('acf-global'), $version ); + wp_register_style('acf-field-group', acf_get_url('assets/css/acf-field-group.css'), array('acf-input'), $version ); + + // action + do_action('acf/register_scripts', $version, $min); + } + + + /** + * enqueue_scripts + * + * Enqueue scripts for input + * + * @date 13/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + function enqueue_scripts( $args = array() ) { + + // run only once + if( acf_has_done('enqueue_scripts') ) { + return; + } + + // defaults + $args = wp_parse_args($args, array( + + // force tinymce editor to be enqueued + 'uploader' => false, + + // priority used for action callbacks, defaults to 20 which runs after defaults + 'priority' => 20, + + // action prefix + 'context' => is_admin() ? 'admin' : 'wp' + )); + + // define actions + $actions = array( + 'admin_enqueue_scripts' => $args['context'] . '_enqueue_scripts', + 'admin_print_scripts' => $args['context'] . '_print_scripts', + 'admin_head' => $args['context'] . '_head', + 'admin_footer' => $args['context'] . '_footer', + 'admin_print_footer_scripts' => $args['context'] . '_print_footer_scripts', + ); + + // fix customizer actions where head and footer are not available + if( $args['context'] == 'customize_controls' ) { + $actions['admin_head'] = $actions['admin_print_scripts']; + $actions['admin_footer'] = $actions['admin_print_footer_scripts']; + } + + // add actions + foreach( $actions as $function => $action ) { + acf_maybe_add_action( $action, array($this, $function), $args['priority'] ); + } + + // enqueue uploader + // WP requires a lot of JS + inline scripes to create the media modal and should be avoioded when possible. + // - priority must be less than 10 to allow WP to enqueue + if( $args['uploader'] ) { + add_action($actions['admin_footer'], 'acf_enqueue_uploader', 5); + } + + // enqueue + wp_enqueue_script('acf-input'); + wp_enqueue_style('acf-input'); + + // localize text + acf_localize_text(array( + + // unload + 'The changes you made will be lost if you navigate away from this page' => __('The changes you made will be lost if you navigate away from this page', 'acf'), + + // media + 'Select.verb' => _x('Select', 'verb', 'acf'), + 'Edit.verb' => _x('Edit', 'verb', 'acf'), + 'Update.verb' => _x('Update', 'verb', 'acf'), + 'Uploaded to this post' => __('Uploaded to this post', 'acf'), + 'Expand Details' => __('Expand Details', 'acf'), + 'Collapse Details' => __('Collapse Details', 'acf'), + 'Restricted' => __('Restricted', 'acf'), + 'All images' => __('All images', 'acf'), + + // validation + 'Validation successful' => __('Validation successful', 'acf'), + 'Validation failed' => __('Validation failed', 'acf'), + '1 field requires attention' => __('1 field requires attention', 'acf'), + '%d fields require attention' => __('%d fields require attention', 'acf'), + + // tooltip + 'Are you sure?' => __('Are you sure?','acf'), + 'Yes' => __('Yes','acf'), + 'No' => __('No','acf'), + 'Remove' => __('Remove','acf'), + 'Cancel' => __('Cancel','acf'), + + // conditions + 'Has any value' => __('Has any value', 'acf'), + 'Has no value' => __('Has no value', 'acf'), + 'Value is equal to' => __('Value is equal to', 'acf'), + 'Value is not equal to' => __('Value is not equal to', 'acf'), + 'Value matches pattern' => __('Value matches pattern', 'acf'), + 'Value contains' => __('Value contains', 'acf'), + 'Value is greater than' => __('Value is greater than', 'acf'), + 'Value is less than' => __('Value is less than', 'acf'), + 'Selection is greater than' => __('Selection is greater than', 'acf'), + 'Selection is less than' => __('Selection is less than', 'acf'), + )); + + // action + do_action('acf/enqueue_scripts'); + } + + + /** + * admin_enqueue_scripts + * + * description + * + * @date 16/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + function admin_enqueue_scripts() { + + // vars + $text = array(); + + // actions + do_action('acf/admin_enqueue_scripts'); + do_action('acf/input/admin_enqueue_scripts'); + + // only include translated strings + foreach( $this->text as $k => $v ) { + if( str_replace('.verb', '', $k) !== $v ) { + $text[ $k ] = $v; + } + } + + // localize text + if( $text ) { + wp_localize_script( 'acf-input', 'acfL10n', $text ); + } + } + + + /** + * admin_print_scripts + * + * description + * + * @date 18/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + function admin_print_scripts() { + do_action('acf/admin_print_scripts'); + } + + + /** + * admin_head + * + * description + * + * @date 16/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + function admin_head() { + + // actions + do_action('acf/admin_head'); + do_action('acf/input/admin_head'); + } + + + /** + * admin_footer + * + * description + * + * @date 16/4/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + function admin_footer() { + + // global + global $wp_version; + + // get data + $data = wp_parse_args($this->data, array( + 'screen' => acf_get_form_data('screen'), + 'post_id' => acf_get_form_data('post_id'), + 'nonce' => wp_create_nonce( 'acf_nonce' ), + 'admin_url' => admin_url(), + 'ajaxurl' => admin_url( 'admin-ajax.php' ), + 'validation' => acf_get_form_data('validation'), + 'wp_version' => $wp_version, + 'acf_version' => acf_get_setting('version'), + 'browser' => acf_get_browser(), + 'locale' => acf_get_locale(), + 'rtl' => is_rtl() + )); + + // get l10n (old) + $l10n = apply_filters( 'acf/input/admin_l10n', array() ); + + // todo: force 'acf-input' script enqueue if not yet included + // - fixes potential timing issue if acf_enqueue_assest() was called during body + + // localize data + ?> + + + + +
                      + +
                      + add_text( $text ); +} + + +/** +* acf_localize_data +* +* description +* +* @date 13/4/18 +* @since 5.6.9 +* +* @param type $var Description. Default. +* @return type Description. +*/ + +function acf_localize_data( $data ) { + return acf_get_instance('ACF_Assets')->add_data( $data ); +} + + +/* +* acf_enqueue_scripts +* +* +* +* @type function +* @date 6/10/13 +* @since 5.0.0 +* +* @param n/a +* @return n/a +*/ + +function acf_enqueue_scripts( $args = array() ) { + return acf_get_instance('ACF_Assets')->enqueue_scripts( $args ); +} + + +/* +* acf_enqueue_uploader +* +* This function will render a WP WYSIWYG and enqueue media +* +* @type function +* @date 27/10/2014 +* @since 5.0.9 +* +* @param n/a +* @return n/a +*/ + +function acf_enqueue_uploader() { + return acf_get_instance('ACF_Assets')->enqueue_uploader(); +} + +?> \ No newline at end of file diff --git a/includes/compatibility.php b/includes/compatibility.php index 4acef59..13885c4 100644 --- a/includes/compatibility.php +++ b/includes/compatibility.php @@ -279,23 +279,18 @@ class acf_compatibility { if( !empty($field['date_format']) ) { // extract vars - $date_format = acf_extract_var( $field, 'date_format' ); - $display_format = acf_extract_var( $field, 'display_format' ); - + $date_format = $field['date_format']; + $display_format = $field['display_format']; // convert from js to php - //$date_format = acf_convert_date_to_php( $date_format ); $display_format = acf_convert_date_to_php( $display_format ); - - // bail early if already matches 'Ymd' - if( $date_format === 'yymmdd' ) return $field; - - // append settings $field['display_format'] = $display_format; $field['save_format'] = $date_format; + // clean up + unset($field['date_format']); } diff --git a/includes/fields.php b/includes/fields.php index 189cf2a..2aa9424 100644 --- a/includes/fields.php +++ b/includes/fields.php @@ -6,7 +6,6 @@ if( ! class_exists('acf_fields') ) : class acf_fields { - /** @var array Contains an array of field type instances */ var $types = array(); @@ -25,16 +24,14 @@ class acf_fields { */ function __construct() { - /* do nothing */ - } /* * register_field_type * - * This function will store a field type class + * This function will register a field type instance * * @type function * @date 6/07/2016 @@ -46,24 +43,22 @@ class acf_fields { function register_field_type( $class ) { + // allow instance if( $class instanceOf acf_field ) { - $this->types[ $class->name ] = $class; - + + // allow class name } else { - $instance = new $class(); $this->types[ $instance->name ] = $instance; - } - } /* * get_field_type * - * This function will return a field type class + * This function will return a field type instance * * @type function * @date 6/07/2016 @@ -74,9 +69,7 @@ class acf_fields { */ function get_field_type( $name ) { - return isset( $this->types[$name] ) ? $this->types[$name] : null; - } @@ -94,9 +87,7 @@ class acf_fields { */ function is_field_type( $name ) { - return isset( $this->types[$name] ); - } @@ -104,7 +95,7 @@ class acf_fields { * register_field_type_info * * This function will store a basic array of info about the field type - * to later be overriden by the avbove register_field_type function + * to later be overriden by the above register_field_type function * * @type function * @date 29/5/17 @@ -119,14 +110,13 @@ class acf_fields { // convert to object $instance = (object) $info; $this->types[ $instance->name ] = $instance; - - } + } /* * get_field_types * - * This function will return an array of all field type infos + * This function will return an array of all field types * * @type function * @date 6/07/2016 @@ -137,46 +127,8 @@ class acf_fields { */ function get_field_types() { - - // vars - $groups = array(); - $l10n = array( - 'basic' => __('Basic', 'acf'), - 'content' => __('Content', 'acf'), - 'choice' => __('Choice', 'acf'), - 'relational' => __('Relational', 'acf'), - 'jquery' => __('jQuery', 'acf'), - 'layout' => __('Layout', 'acf'), - ); - - - // loop - foreach( $this->types as $type ) { - - // bail ealry if not public - if( !$type->public ) continue; - - - // translate - $cat = $type->category; - $cat = isset( $l10n[$cat] ) ? $l10n[$cat] : $cat; - - - // append - $groups[ $cat ][ $type->name ] = $type->label; - - } - - - // filter - $groups = apply_filters('acf/get_field_types', $groups); - - - // return - return $groups; - + return $this->types; } - } @@ -200,29 +152,7 @@ endif; // class_exists check */ function acf_register_field_type( $class ) { - return acf()->fields->register_field_type( $class ); - -} - - -/* -* acf_get_field_type -* -* alias of acf()->fields->get_field_type() -* -* @type function -* @date 31/5/17 -* @since 5.6.0 -* -* @param n/a -* @return n/a -*/ - -function acf_get_field_type( $name ) { - - return acf()->fields->get_field_type( $name ); - } @@ -240,9 +170,25 @@ function acf_get_field_type( $name ) { */ function acf_register_field_type_info( $info ) { - return acf()->fields->register_field_type_info( $info ); - +} + + +/* +* acf_get_field_type +* +* alias of acf()->fields->get_field_type() +* +* @type function +* @date 31/5/17 +* @since 5.6.0 +* +* @param n/a +* @return n/a +*/ + +function acf_get_field_type( $name ) { + return acf()->fields->get_field_type( $name ); } @@ -259,10 +205,51 @@ function acf_register_field_type_info( $info ) { * @return n/a */ -function acf_get_field_types() { +function acf_get_field_types( $args = array() ) { - return acf()->fields->get_field_types(); + // default + $args = wp_parse_args($args, array( + 'public' => true, // true, false + )); + // get field types + $field_types = acf()->fields->get_field_types(); + + // filter + return wp_filter_object_list( $field_types, $args ); +} + + +/** +* acf_get_field_types_info +* +* Returns an array containing information about each field type +* +* @date 18/6/18 +* @since 5.6.9 +* +* @param type $var Description. Default. +* @return type Description. +*/ + +function acf_get_field_types_info( $args = array() ) { + + // vars + $data = array(); + $field_types = acf_get_field_types(); + + // loop + foreach( $field_types as $type ) { + $data[ $type->name ] = array( + 'label' => $type->label, + 'name' => $type->name, + 'category' => $type->category, + 'public' => $type->public + ); + } + + // return + return $data; } @@ -280,9 +267,7 @@ function acf_get_field_types() { */ function acf_is_field_type( $name = '' ) { - return acf()->fields->is_field_type( $name ); - } @@ -300,10 +285,8 @@ function acf_is_field_type( $name = '' ) { */ function acf_get_field_type_prop( $name = '', $prop = '' ) { - $type = acf_get_field_type( $name ); return ($type && isset($type->$prop)) ? $type->$prop : null; - } @@ -321,10 +304,8 @@ function acf_get_field_type_prop( $name = '', $prop = '' ) { */ function acf_get_field_type_label( $name = '' ) { - - $type = acf_get_field_type( $name ); - return $type ? $type->label : ''.__('Unknown', 'acf').''; - + $label = acf_get_field_type_prop( $name, 'label' ); + return $label ? $label : ''.__('Unknown', 'acf').''; } @@ -347,9 +328,9 @@ function acf_field_type_exists( $type = '' ) { /* -* acf_get_grouped_field_types (deprecated) +* acf_get_grouped_field_types * -* deprecated in favour of acf_get_field_types() +* Returns an multi-dimentional array of field types "name => label" grouped by category * * @type function * @date 1/10/13 @@ -360,7 +341,38 @@ function acf_field_type_exists( $type = '' ) { */ function acf_get_grouped_field_types() { - return acf_get_field_types(); + + // vars + $types = acf_get_field_types(); + $groups = array(); + $l10n = array( + 'basic' => __('Basic', 'acf'), + 'content' => __('Content', 'acf'), + 'choice' => __('Choice', 'acf'), + 'relational' => __('Relational', 'acf'), + 'jquery' => __('jQuery', 'acf'), + 'layout' => __('Layout', 'acf'), + ); + + + // loop + foreach( $types as $type ) { + + // translate + $cat = $type->category; + $cat = isset( $l10n[$cat] ) ? $l10n[$cat] : $cat; + + // append + $groups[ $cat ][ $type->name ] = $type->label; + } + + + // filter + $groups = apply_filters('acf/get_field_types', $groups); + + + // return + return $groups; } ?> \ No newline at end of file diff --git a/includes/fields/class-acf-field-checkbox.php b/includes/fields/class-acf-field-checkbox.php index 3f070a9..e9dd7a2 100644 --- a/includes/fields/class-acf-field-checkbox.php +++ b/includes/fields/class-acf-field-checkbox.php @@ -366,7 +366,12 @@ class acf_field_checkbox extends acf_field { 'name' => 'save_custom', 'type' => 'true_false', 'ui' => 1, - 'message' => __("Save 'custom' values to the field's choices", 'acf') + 'message' => __("Save 'custom' values to the field's choices", 'acf'), + 'conditions' => array( + 'field' => 'allow_custom', + 'operator' => '==', + 'value' => 1 + ) )); diff --git a/includes/fields/class-acf-field-date_picker.php b/includes/fields/class-acf-field-date_picker.php index 102a592..196f766 100644 --- a/includes/fields/class-acf-field-date_picker.php +++ b/includes/fields/class-acf-field-date_picker.php @@ -29,49 +29,6 @@ class acf_field_date_picker extends acf_field { 'return_format' => 'd/m/Y', 'first_day' => 1 ); - $this->l10n = array( - 'closeText' => _x('Done', 'Date Picker JS closeText', 'acf'), - 'currentText' => _x('Today', 'Date Picker JS currentText', 'acf'), - 'nextText' => _x('Next', 'Date Picker JS nextText', 'acf'), - 'prevText' => _x('Prev', 'Date Picker JS prevText', 'acf'), - 'weekHeader' => _x('Wk', 'Date Picker JS weekHeader', 'acf'), - ); - - - // actions - add_action('init', array($this, 'init')); - - } - - - /* - * init - * - * This function is run on the 'init' action to set the field's $l10n data. Before the init action, - * access to the $wp_locale variable is not possible. - * - * @type action (init) - * @date 3/09/13 - * - * @param n/a - * @return n/a - */ - - function init() { - - // globals - global $wp_locale; - - - // append - $this->l10n = array_merge($this->l10n, array( - 'monthNames' => array_values( $wp_locale->month ), - 'monthNamesShort' => array_values( $wp_locale->month_abbrev ), - 'dayNames' => array_values( $wp_locale->weekday ), - 'dayNamesMin' => array_values( $wp_locale->weekday_initial ), - 'dayNamesShort' => array_values( $wp_locale->weekday_abbrev ) - )); - } @@ -91,16 +48,32 @@ class acf_field_date_picker extends acf_field { function input_admin_enqueue_scripts() { // bail ealry if no enqueue - if( !acf_get_setting('enqueue_datepicker') ) return; + if( !acf_get_setting('enqueue_datepicker') ) { + return; + } + // localize + global $wp_locale; + acf_localize_data(array( + 'datePickerL10n' => array( + 'closeText' => _x('Done', 'Date Picker JS closeText', 'acf'), + 'currentText' => _x('Today', 'Date Picker JS currentText', 'acf'), + 'nextText' => _x('Next', 'Date Picker JS nextText', 'acf'), + 'prevText' => _x('Prev', 'Date Picker JS prevText', 'acf'), + 'weekHeader' => _x('Wk', 'Date Picker JS weekHeader', 'acf'), + 'monthNames' => array_values( $wp_locale->month ), + 'monthNamesShort' => array_values( $wp_locale->month_abbrev ), + 'dayNames' => array_values( $wp_locale->weekday ), + 'dayNamesMin' => array_values( $wp_locale->weekday_initial ), + 'dayNamesShort' => array_values( $wp_locale->weekday_abbrev ) + ) + )); // script wp_enqueue_script('jquery-ui-datepicker'); - // style - wp_enqueue_style('acf-datepicker', acf_get_url('assets/inc/datepicker/jquery-ui.min.css'), '', '1.11.4' ); - + wp_enqueue_style('acf-datepicker', acf_get_url('assets/inc/datepicker/jquery-ui.min.css'), array(), '1.11.4' ); } diff --git a/includes/fields/class-acf-field-date_time_picker.php b/includes/fields/class-acf-field-date_time_picker.php index c64b96b..06b4415 100644 --- a/includes/fields/class-acf-field-date_time_picker.php +++ b/includes/fields/class-acf-field-date_time_picker.php @@ -29,28 +29,6 @@ class acf_field_date_and_time_picker extends acf_field { 'return_format' => 'd/m/Y g:i a', 'first_day' => 1 ); - $this->l10n = array( - 'timeOnlyTitle' => _x('Choose Time', 'Date Time Picker JS timeOnlyTitle', 'acf'), - 'timeText' => _x('Time', 'Date Time Picker JS timeText', 'acf'), - 'hourText' => _x('Hour', 'Date Time Picker JS hourText', 'acf'), - 'minuteText' => _x('Minute', 'Date Time Picker JS minuteText', 'acf'), - 'secondText' => _x('Second', 'Date Time Picker JS secondText', 'acf'), - 'millisecText' => _x('Millisecond', 'Date Time Picker JS millisecText', 'acf'), - 'microsecText' => _x('Microsecond', 'Date Time Picker JS microsecText', 'acf'), - 'timezoneText' => _x('Time Zone', 'Date Time Picker JS timezoneText', 'acf'), - 'currentText' => _x('Now', 'Date Time Picker JS currentText', 'acf'), - 'closeText' => _x('Done', 'Date Time Picker JS closeText', 'acf'), - 'selectText' => _x('Select', 'Date Time Picker JS selectText', 'acf'), - 'amNames' => array( - _x('AM', 'Date Time Picker JS amText', 'acf'), - _x('A', 'Date Time Picker JS amTextShort', 'acf'), - ), - 'pmNames' => array( - _x('PM', 'Date Time Picker JS pmText', 'acf'), - _x('P', 'Date Time Picker JS pmTextShort', 'acf'), - ) - ); - } @@ -84,6 +62,30 @@ class acf_field_date_and_time_picker extends acf_field { // style wp_enqueue_style('acf-timepicker', acf_get_url('assets/inc/timepicker/jquery-ui-timepicker-addon.min.css'), '', $version); + // localize + acf_localize_data(array( + 'dateTimePickerL10n' => array( + 'timeOnlyTitle' => _x('Choose Time', 'Date Time Picker JS timeOnlyTitle', 'acf'), + 'timeText' => _x('Time', 'Date Time Picker JS timeText', 'acf'), + 'hourText' => _x('Hour', 'Date Time Picker JS hourText', 'acf'), + 'minuteText' => _x('Minute', 'Date Time Picker JS minuteText', 'acf'), + 'secondText' => _x('Second', 'Date Time Picker JS secondText', 'acf'), + 'millisecText' => _x('Millisecond', 'Date Time Picker JS millisecText', 'acf'), + 'microsecText' => _x('Microsecond', 'Date Time Picker JS microsecText', 'acf'), + 'timezoneText' => _x('Time Zone', 'Date Time Picker JS timezoneText', 'acf'), + 'currentText' => _x('Now', 'Date Time Picker JS currentText', 'acf'), + 'closeText' => _x('Done', 'Date Time Picker JS closeText', 'acf'), + 'selectText' => _x('Select', 'Date Time Picker JS selectText', 'acf'), + 'amNames' => array( + _x('AM', 'Date Time Picker JS amText', 'acf'), + _x('A', 'Date Time Picker JS amTextShort', 'acf'), + ), + 'pmNames' => array( + _x('PM', 'Date Time Picker JS pmText', 'acf'), + _x('P', 'Date Time Picker JS pmTextShort', 'acf'), + ) + ) + )); } diff --git a/includes/fields/class-acf-field-file.php b/includes/fields/class-acf-field-file.php index b4d565b..cb6b566 100644 --- a/includes/fields/class-acf-field-file.php +++ b/includes/fields/class-acf-field-file.php @@ -31,17 +31,33 @@ class acf_field_file extends acf_field { 'max_size' => 0, 'mime_types' => '' ); - $this->l10n = array( - 'select' => __("Select File",'acf'), - 'edit' => __("Edit File",'acf'), - 'update' => __("Update File",'acf'), - 'uploadedTo' => __("Uploaded to this post",'acf'), - ); - // filters - add_filter('get_media_item_args', array($this, 'get_media_item_args')); - + add_filter('get_media_item_args', array($this, 'get_media_item_args')); + } + + + /* + * input_admin_enqueue_scripts + * + * description + * + * @type function + * @date 16/12/2015 + * @since 5.3.2 + * + * @param $post_id (int) + * @return $post_id (int) + */ + + function input_admin_enqueue_scripts() { + + // localize + acf_localize_text(array( + 'Select File' => __('Select File', 'acf'), + 'Edit File' => __('Edit File', 'acf'), + 'Update File' => __('Update File', 'acf'), + )); } diff --git a/includes/fields/class-acf-field-google-map.php b/includes/fields/class-acf-field-google-map.php index 6fbcc48..07e2c2f 100644 --- a/includes/fields/class-acf-field-google-map.php +++ b/includes/fields/class-acf-field-google-map.php @@ -36,11 +36,63 @@ class acf_field_google_map extends acf_field { 'center_lng' => '144.96328', 'zoom' => '14' ); - $this->l10n = array( - 'locating' => __("Locating",'acf'), - 'browser_support' => __("Sorry, this browser does not support geolocation",'acf'), - ); + } + + + /* + * input_admin_enqueue_scripts + * + * description + * + * @type function + * @date 16/12/2015 + * @since 5.3.2 + * + * @param $post_id (int) + * @return $post_id (int) + */ + + function input_admin_enqueue_scripts() { + // localize + acf_localize_text(array( + 'Sorry, this browser does not support geolocation' => __('Sorry, this browser does not support geolocation', 'acf'), + )); + + + // bail ealry if no enqueue + if( !acf_get_setting('enqueue_google_maps') ) { + return; + } + + + // vars + $api = array( + 'key' => acf_get_setting('google_api_key'), + 'client' => acf_get_setting('google_api_client'), + 'libraries' => 'places', + 'ver' => 3, + 'callback' => '' + ); + + + // filter + $api = apply_filters('acf/fields/google_map/api', $api); + + + // remove empty + if( empty($api['key']) ) unset($api['key']); + if( empty($api['client']) ) unset($api['client']); + + + // construct url + $url = add_query_arg($api, 'https://maps.googleapis.com/maps/api/js'); + + + // localize + acf_localize_data(array( + 'google_map_api' => $url + )); } @@ -102,7 +154,7 @@ class acf_field_google_map extends acf_field {
                      $v ): - acf_hidden_input(array( 'name' => $field['name'].'['.$k.']', 'value' => $v, 'class' => 'input-'.$k )); + acf_hidden_input(array( 'name' => $field['name'].'['.$k.']', 'value' => $v, 'data-name' => $k )); endforeach; ?>
                      @@ -252,56 +304,6 @@ class acf_field_google_map extends acf_field { // return return $value; } - - - /* - * input_admin_footer - * - * description - * - * @type function - * @date 6/03/2014 - * @since 5.0.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - function input_admin_footer() { - - // bail ealry if no qneueu - if( !acf_get_setting('enqueue_google_maps') ) return; - - - // vars - $api = array( - 'key' => acf_get_setting('google_api_key'), - 'client' => acf_get_setting('google_api_client'), - 'libraries' => 'places', - 'ver' => 3, - 'callback' => '' - ); - - - // filter - $api = apply_filters('acf/fields/google_map/api', $api); - - - // remove empty - if( empty($api['key']) ) unset($api['key']); - if( empty($api['client']) ) unset($api['client']); - - - // construct url - $url = add_query_arg($api, 'https://maps.googleapis.com/maps/api/js'); - -?> - - 0, 'mime_types' => '' ); - $this->l10n = array( - 'select' => __("Select Image",'acf'), - 'edit' => __("Edit Image",'acf'), - 'update' => __("Update Image",'acf'), - 'uploadedTo' => __("Uploaded to this post",'acf'), - 'all' => __("All images",'acf'), - ); - // filters add_filter('get_media_item_args', array($this, 'get_media_item_args')); @@ -51,6 +43,31 @@ class acf_field_image extends acf_field { } + + /* + * input_admin_enqueue_scripts + * + * description + * + * @type function + * @date 16/12/2015 + * @since 5.3.2 + * + * @param $post_id (int) + * @return $post_id (int) + */ + + function input_admin_enqueue_scripts() { + + // localize + acf_localize_text(array( + 'Select Image' => __('Select Image', 'acf'), + 'Edit Image' => __('Edit Image', 'acf'), + 'Update Image' => __('Update Image', 'acf'), + 'All images' => __('All images', 'acf'), + )); + } + /* * render_field() diff --git a/includes/fields/class-acf-field-oembed.php b/includes/fields/class-acf-field-oembed.php index 1452c08..6e59465 100644 --- a/includes/fields/class-acf-field-oembed.php +++ b/includes/fields/class-acf-field-oembed.php @@ -202,45 +202,32 @@ class acf_field_oembed extends acf_field { 'class' => 'acf-oembed', ); + // _e("No embed found for the given URL.", 'acf'); // value if( $field['value'] ) $atts['class'] .= ' has-value'; ?>
                      > - $field['name'], 'value' => $field['value'], 'data-name' => 'value-input' )); ?> + + 'input-value', 'name' => $field['name'], 'value' => $field['value'] )); ?> +
                      - -
                      -

                      -
                      - - - + 'input-search', 'value' => $field['value'], 'placeholder' => __("Enter URL", 'acf'), 'autocomplete' => 'off' )); ?>
                      -
                      +
                      - -
                      - +
                      + wp_oembed_get($field['value'], $field['width'], $field['height']); + } ?>
                      - -
                      -

                      -
                      - -
                      - wp_oembed_get($field['value'], $field['width'], $field['height']); ?> -
                      - -
                      +
                      'save_other_choice', 'type' => 'true_false', 'ui' => 1, - 'message' => __("Save 'other' values to the field's choices", 'acf') + 'message' => __("Save 'other' values to the field's choices", 'acf'), + 'conditions' => array( + 'field' => 'other_choice', + 'operator' => '==', + 'value' => 1 + ) )); diff --git a/includes/fields/class-acf-field-relationship.php b/includes/fields/class-acf-field-relationship.php index b29e5ed..2982133 100644 --- a/includes/fields/class-acf-field-relationship.php +++ b/includes/fields/class-acf-field-relationship.php @@ -33,13 +33,6 @@ class acf_field_relationship extends acf_field { 'elements' => array(), 'return_format' => 'object' ); - $this->l10n = array( - 'min' => __("Minimum values reached ( {min} values )",'acf'), - 'max' => __("Maximum values reached ( {max} values )",'acf'), - 'loading' => __('Loading','acf'), - 'empty' => __('No matches found','acf'), - ); - // extra add_action('wp_ajax_acf/fields/relationship/query', array($this, 'ajax_query')); @@ -48,6 +41,31 @@ class acf_field_relationship extends acf_field { } + /* + * input_admin_enqueue_scripts + * + * description + * + * @type function + * @date 16/12/2015 + * @since 5.3.2 + * + * @param $post_id (int) + * @return $post_id (int) + */ + + function input_admin_enqueue_scripts() { + + // localize + acf_localize_text(array( + //'Minimum values reached ( {min} values )' => __('Minimum values reached ( {min} values )', 'acf'), + 'Maximum values reached ( {max} values )' => __('Maximum values reached ( {max} values )', 'acf'), + 'Loading' => __('Loading', 'acf'), + 'No matches found' => __('No matches found', 'acf'), + )); + } + + /* * ajax_query * @@ -565,10 +583,10 @@ class acf_field_relationship extends acf_field {
                      -
                        +
                          -
                            +
                              '', 'return_format' => 'value' ); - $this->l10n = array( - 'matches_1' => _x('One result is available, press enter to select it.', 'Select2 JS matches_1', 'acf'), - 'matches_n' => _x('%d results are available, use up and down arrow keys to navigate.', 'Select2 JS matches_n', 'acf'), - 'matches_0' => _x('No matches found', 'Select2 JS matches_0', 'acf'), - 'input_too_short_1' => _x('Please enter 1 or more characters', 'Select2 JS input_too_short_1', 'acf' ), - 'input_too_short_n' => _x('Please enter %d or more characters', 'Select2 JS input_too_short_n', 'acf' ), - 'input_too_long_1' => _x('Please delete 1 character', 'Select2 JS input_too_long_1', 'acf' ), - 'input_too_long_n' => _x('Please delete %d characters', 'Select2 JS input_too_long_n', 'acf' ), - 'selection_too_long_1' => _x('You can only select 1 item', 'Select2 JS selection_too_long_1', 'acf' ), - 'selection_too_long_n' => _x('You can only select %d items', 'Select2 JS selection_too_long_n', 'acf' ), - 'load_more' => _x('Loading more results…', 'Select2 JS load_more', 'acf' ), - 'searching' => _x('Searching…', 'Select2 JS searching', 'acf' ), - 'load_fail' => _x('Loading failed', 'Select2 JS load_fail', 'acf' ), - ); // ajax @@ -118,6 +104,24 @@ class acf_field_select extends acf_field { wp_enqueue_script('select2', $script, array('jquery'), $version ); wp_enqueue_style('select2', $style, '', $version ); + + // localize + acf_localize_data(array( + 'select2L10n' => array( + 'matches_1' => _x('One result is available, press enter to select it.', 'Select2 JS matches_1', 'acf'), + 'matches_n' => _x('%d results are available, use up and down arrow keys to navigate.', 'Select2 JS matches_n', 'acf'), + 'matches_0' => _x('No matches found', 'Select2 JS matches_0', 'acf'), + 'input_too_short_1' => _x('Please enter 1 or more characters', 'Select2 JS input_too_short_1', 'acf' ), + 'input_too_short_n' => _x('Please enter %d or more characters', 'Select2 JS input_too_short_n', 'acf' ), + 'input_too_long_1' => _x('Please delete 1 character', 'Select2 JS input_too_long_1', 'acf' ), + 'input_too_long_n' => _x('Please delete %d characters', 'Select2 JS input_too_long_n', 'acf' ), + 'selection_too_long_1' => _x('You can only select 1 item', 'Select2 JS selection_too_long_1', 'acf' ), + 'selection_too_long_n' => _x('You can only select %d items', 'Select2 JS selection_too_long_n', 'acf' ), + 'load_more' => _x('Loading more results…', 'Select2 JS load_more', 'acf' ), + 'searching' => _x('Searching…', 'Select2 JS searching', 'acf' ), + 'load_fail' => _x('Loading failed', 'Select2 JS load_fail', 'acf' ), + ) + )); } @@ -262,13 +266,34 @@ class acf_field_select extends acf_field { } + // prepend empty choice for single inputs + $prepend = false; + + if( !$field['multiple'] ) { + + // allow null or ajax + if( $field['allow_null'] || $field['ajax'] ) { + $prepend = true; + } + } + // allow null // - have tried array_merge but this causes keys to re-index if is numeric (post ID's) - if( $field['allow_null'] && !$field['multiple'] ) { - - $prepend = array('' => '- ' . $field['placeholder'] . ' -'); - $choices = $prepend + $choices; - + if( $prepend ) { + $placeholder = '- ' . $field['placeholder'] . ' -'; + $choices = array( '' => $placeholder ) + $choices; + } + + + // clean up choices if using ajax + if( $field['ajax'] ) { + $minimal = array(); + foreach( $value as $key ) { + if( isset($choices[ $key ]) ) { + $minimal[ $key ] = $choices[ $key ]; + } + } + $choices = $minimal; } @@ -287,11 +312,10 @@ class acf_field_select extends acf_field { // multiple if( $field['multiple'] ) { - + $select['multiple'] = 'multiple'; $select['size'] = 5; $select['name'] .= '[]'; - } @@ -301,34 +325,12 @@ class acf_field_select extends acf_field { if( !empty($field['ajax_action']) ) $select['data-ajax_action'] = $field['ajax_action']; - // hidden input - if( $field['ui'] ) { - - $v = $value; - - if( $field['multiple'] ) { - - $v = implode('||', $v); - - } else { - - $v = acf_maybe_get($v, 0, ''); - - } - - acf_hidden_input(array( - 'id' => $field['id'] . '-input', - 'name' => $field['name'], - 'value' => $v - )); - - } elseif( $field['multiple'] ) { - + // hidden input is needed to allow validation to see - - - - - - -
                            - -
                          +
                          +
                            + +
                          +
                          + 'allow_null', 'type' => 'true_false', 'ui' => 1, + 'conditions' => array( + 'field' => 'field_type', + 'operator' => '!=', + 'value' => 'checkbox' + ) )); @@ -994,7 +990,10 @@ class acf_field_taxonomy extends acf_field { } - ?>

                          + +

                          + __('Text shown when active','acf'), 'type' => 'text', 'name' => 'ui_on_text', - 'placeholder' => __('Yes', 'acf') + 'placeholder' => __('Yes', 'acf'), + 'conditions' => array( + 'field' => 'ui', + 'operator' => '==', + 'value' => 1 + ) )); @@ -166,7 +171,12 @@ class acf_field_true_false extends acf_field { 'instructions' => __('Text shown when inactive','acf'), 'type' => 'text', 'name' => 'ui_off_text', - 'placeholder' => __('No', 'acf') + 'placeholder' => __('No', 'acf'), + 'conditions' => array( + 'field' => 'ui', + 'operator' => '==', + 'value' => 1 + ) )); } diff --git a/includes/fields/class-acf-field-wysiwyg.php b/includes/fields/class-acf-field-wysiwyg.php index 2756d5e..5de6c13 100644 --- a/includes/fields/class-acf-field-wysiwyg.php +++ b/includes/fields/class-acf-field-wysiwyg.php @@ -35,7 +35,6 @@ class acf_field_wysiwyg extends acf_field { // add acf_the_content filters $this->add_filters(); - } @@ -166,67 +165,55 @@ class acf_field_wysiwyg extends acf_field { /* - * input_admin_footer - * - * description - * - * @type function - * @date 6/03/2014 - * @since 5.0.0 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - function input_admin_footer() { - - // vars - $json = array(); + * input_admin_enqueue_scripts + * + * description + * + * @type function + * @date 16/12/2015 + * @since 5.3.2 + * + * @param $post_id (int) + * @return $post_id (int) + */ + + function input_admin_enqueue_scripts() { + + // vars + $data = array(); $toolbars = $this->get_toolbars(); - + // bail ealry if no toolbars if( empty($toolbars) ) { - return; - } - - // loop through toolbars + + // loop foreach( $toolbars as $label => $rows ) { // vars - $label = sanitize_title( $label ); - $label = str_replace('-', '_', $label); + $key = $label; + $key = sanitize_title( $key ); + $key = str_replace('-', '_', $key); - // append to $json - $json[ $label ] = array(); + // append + $data[ $key ] = array(); - - // convert to strings - if( !empty($rows) ) { - + if( $rows ) { foreach( $rows as $i => $row ) { - - $json[ $label ][ $i ] = implode(',', $row); - + $data[ $key ][ $i ] = implode(',', $row); } - } - } - -?> - - $data + )); + } /* * render_field() @@ -434,7 +421,12 @@ class acf_field_wysiwyg extends acf_field { 'instructions' => '', 'type' => 'select', 'name' => 'toolbar', - 'choices' => $choices + 'choices' => $choices, + 'conditions' => array( + 'field' => 'tabs', + 'operator' => '!=', + 'value' => 'text' + ) )); @@ -455,6 +447,11 @@ class acf_field_wysiwyg extends acf_field { 'name' => 'delay', 'type' => 'true_false', 'ui' => 1, + 'conditions' => array( + 'field' => 'tabs', + 'operator' => '!=', + 'value' => 'text' + ) )); } diff --git a/includes/form.php b/includes/form.php new file mode 100644 index 0000000..1a45359 --- /dev/null +++ b/includes/form.php @@ -0,0 +1,277 @@ + 'post', // Current screen loaded (post, user, taxonomy, etc) + 'post_id' => 0, // ID of current post being edited + 'nonce' => '', // nonce used for $_POST validation (defaults to screen) + 'validation' => 1, // enables form validation + 'changed' => 0, // used by revisions and unload to detect change + )); + + // crete nonce + $data['nonce'] = wp_create_nonce($data['screen']); + + // update + $this->data = $data; + + // return + return $data; + } + + + /* + * get_data + * + * Returns data. + * + * @type function + * @date 4/03/2016 + * @since 5.3.2 + * + * @param string $name The data anme. + * @return mixed The data. + */ + + function get_data( $name = false ) { + return isset($this->data[ $name ]) ? $this->data[ $name ] : null; + } + + /** + * render_data + * + * Renders the
                          element with hidden "form data" inputs + * + * @date 17/4/18 + * @since 5.6.9 + * + * @param array $data An array of data. + * @return void + */ + + function render_data( $data = array() ) { + + // set form data + $data = $this->set_data( $data ); + + ?> +
                          + $value ) { + + // input + acf_hidden_input(array( + 'id' => '_acf_' . $name, + 'name' => '_acf_' . $name, + 'value' => $value + )); + } + + // actions + do_action('acf/form_data', $data); + do_action('acf/input/form_data', $data); + + ?> +
                          + set_data(array( + 'post_id' => $post_id + )); + + // action + do_action('acf/save_post', $post_id); + + // return + return true; + } + + + /** + * _save_post + * + * Saves the actual $_POST['acf'] data. + * Performing this logic within an action allows developers to hook in before and after data is saved. + * + * @date 24/10/2014 + * @since 5.0.9 + * + * @param mixed $post_id The $post_id used to save data to the DB + * @return void. + */ + + function _save_post( $post_id ) { + + // bail early if empty + // - post data may have be modified + if( empty($_POST['acf']) ) { + return; + } + + // loop + foreach( $_POST['acf'] as $key => $value ) { + + // get field + $field = acf_get_field( $key ); + + // update + if( $field ) { + acf_update_value( $value, $post_id, $field ); + } + } + } +} + +// instantiate +acf_new_instance('ACF_Form'); + +endif; // class_exists check + + +/* +* acf_get_form_data +* +* alias of acf()->form->get_data() +* +* @type function +* @date 6/10/13 +* @since 5.0.0 +* +* @param n/a +* @return n/a +*/ + +function acf_get_form_data( $name = '' ) { + return acf_get_instance('ACF_Form')->get_data( $name ); +} + + +/* +* acf_set_form_data +* +* alias of acf()->form->set_data() +* +* @type function +* @date 6/10/13 +* @since 5.0.0 +* +* @param n/a +* @return n/a +*/ + +function acf_set_form_data( $data = array() ) { + return acf_get_instance('ACF_Form')->set_data( $data ); +} + + +/* +* acf_form_data +* +* description +* +* @type function +* @date 15/10/13 +* @since 5.0.0 +* +* @param $post_id (int) +* @return $post_id (int) +*/ + +function acf_form_data( $data = array() ) { + return acf_get_instance('ACF_Form')->render_data( $data ); +} + +/* +* acf_save_post +* +* description +* +* @type function +* @date 15/10/13 +* @since 5.0.0 +* +* @param $post_id (int) +* @return $post_id (int) +*/ + +function acf_save_post( $post_id = 0, $values = null ) { + return acf_get_instance('ACF_Form')->save_post( $post_id, $values ); +} + +?> \ No newline at end of file diff --git a/includes/forms/form-attachment.php b/includes/forms/form-attachment.php index 029ff0c..8198830 100644 --- a/includes/forms/form-attachment.php +++ b/includes/forms/form-attachment.php @@ -14,7 +14,6 @@ if( ! class_exists('acf_form_attachment') ) : class acf_form_attachment { - /* * __construct * @@ -44,48 +43,6 @@ class acf_form_attachment { } - /* - * validate_page - * - * This function will check if the current page is for a post/page edit form - * - * @type function - * @date 23/06/12 - * @since 3.1.8 - * - * @param n/a - * @return (boolean) - */ - - function validate_page() { - - // global - global $pagenow, $typenow, $wp_version; - - - // validate page - if( $pagenow === 'post.php' && $typenow === 'attachment' ) { - - return true; - - } - - - // validate page - if( $pagenow === 'upload.php' && version_compare($wp_version, '4.0', '>=') ) { - - add_action('admin_footer', array($this, 'admin_footer'), 0); - - return true; - - } - - - // return - return false; - } - - /* * admin_enqueue_scripts * @@ -102,17 +59,20 @@ class acf_form_attachment { function admin_enqueue_scripts() { - // bail early if not valid page - if( !$this->validate_page() ) { - + // bail early if not valid screen + if( !acf_is_screen(array('attachment', 'upload')) ) { return; - } - - - // load acf scripts - acf_enqueue_scripts(); + // load acf scripts + acf_enqueue_scripts(array( + 'uploader' => true, + )); + + // actions + if( acf_is_screen('upload') ) { + add_action('admin_footer', array($this, 'admin_footer'), 0); + } } @@ -135,7 +95,6 @@ class acf_form_attachment { acf_form_data(array( 'screen' => 'attachment', 'post_id' => 0, - 'ajax' => 1 )); ?> @@ -166,7 +125,7 @@ acf.unload.active = 0; function edit_attachment( $form_fields, $post ) { // vars - $is_page = $this->validate_page(); + $is_page = acf_is_screen('attachment'); $post_id = $post->ID; $el = 'tr'; $args = array( diff --git a/includes/forms/form-comment.php b/includes/forms/form-comment.php index 80ef092..b911722 100644 --- a/includes/forms/form-comment.php +++ b/includes/forms/form-comment.php @@ -183,7 +183,7 @@ class acf_form_comment { @@ -231,6 +231,10 @@ class acf_form_comment { if( !$field_groups ) return $html; + // enqueue scripts + acf_enqueue_scripts(); + + // ob ob_start(); diff --git a/includes/forms/form-customizer.php b/includes/forms/form-customizer.php index 0d91101..2c34aa8 100644 --- a/includes/forms/form-customizer.php +++ b/includes/forms/form-customizer.php @@ -29,7 +29,7 @@ class acf_form_customizer { // actions - add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts')); + add_action('customize_controls_init', array($this, 'customize_controls_init')); add_action('customize_preview_init', array($this, 'customize_preview_init'), 1, 1); add_action('customize_save', array($this, 'customize_save'), 1, 1); @@ -54,14 +54,12 @@ class acf_form_customizer { * @return N/A */ - function admin_enqueue_scripts() { - - // validate screen - if( !acf_is_screen('customize') ) return; - + function customize_controls_init() { // load acf scripts - acf_enqueue_scripts(); + acf_enqueue_scripts(array( + 'context' => 'customize_controls' + )); // actions diff --git a/includes/forms/form-post.php b/includes/forms/form-post.php index 82bdfab..f7bde6f 100644 --- a/includes/forms/form-post.php +++ b/includes/forms/form-post.php @@ -83,7 +83,7 @@ class ACF_Form_Post { // update vars if( !empty($post) ) { - $this->post_id = $post->ID; + $this->post_id = (int) $post->ID; $this->typenow = $typenow; } @@ -134,7 +134,9 @@ class ACF_Form_Post { // load acf scripts - acf_enqueue_scripts(); + acf_enqueue_scripts(array( + 'uploader' => true, + )); // actions @@ -299,8 +301,8 @@ class ACF_Form_Post { 'key' => $field_group['key'], 'style' => $field_group['style'], 'label' => $field_group['label_placement'], - 'edit_url' => '', - 'edit_title' => __('Edit field group', 'acf'), + 'editLink' => '', + 'editTitle' => __('Edit field group', 'acf'), 'visibility' => $visibility ); @@ -308,7 +310,7 @@ class ACF_Form_Post { // edit_url if( $field_group['ID'] && acf_current_user_can_admin() ) { - $o['edit_url'] = admin_url('post.php?post=' . $field_group['ID'] . '&action=edit'); + $o['editLink'] = admin_url('post.php?post=' . $field_group['ID'] . '&action=edit'); } @@ -334,7 +336,7 @@ class ACF_Form_Post { diff --git a/includes/forms/form-taxonomy.php b/includes/forms/form-taxonomy.php index 7579b06..7ebf5b3 100644 --- a/includes/forms/form-taxonomy.php +++ b/includes/forms/form-taxonomy.php @@ -14,7 +14,7 @@ if( ! class_exists('acf_form_taxonomy') ) : class acf_form_taxonomy { - var $form = '#addtag'; + var $view = 'add'; /* @@ -140,7 +140,7 @@ class acf_form_taxonomy { // update vars - $this->form = '#addtag'; + $this->view = 'add'; // get field groups @@ -195,7 +195,7 @@ class acf_form_taxonomy { // update vars - $this->form = '#edittag'; + $this->view = 'edit'; // get field groups @@ -252,66 +252,42 @@ class acf_form_taxonomy { (function($) { // vars - var $spinner = $('form; ?> p.submit .spinner'); + var view = 'view; ?>'; - - // create spinner if not exists (may exist in future WP versions) - if( !$spinner.exists() ) { - - // create spinner - $spinner = $(''); - - - // append - $('form; ?> p.submit').append( $spinner ); - + // add missing spinners + var $submit = $('input.button-primary'); + if( !$submit.next('.spinner').length ) { + $submit.after(''); } +form == '#addtag' ): ?> - - // store origional HTML - var $el = $('#acf-term-fields'); - var html = $el.html(); +// add view +if( $this->view == 'add' ): ?> - // events - $('#submit').on('click', function( e ){ + // vars + var $form = $('#addtag'); + var $fields = $('#acf-term-fields'); + var html = $fields.html(); - // bail early if not active - if( !acf.validation.active ) { - return true; + // WP triggers click as primary action + $submit.on('click', function( e ){ + + // validate + var valid = acf.validateForm({ + form: $form, + event: e, + lock: false + }); + + // if not valid, stop event and allow validation to continue + if( !valid ) { + e.preventDefault(); + e.stopImmediatePropagation(); } - - // ignore validation (only ignore once) - if( acf.validation.ignore ) { - acf.validation.ignore = 0; - return true; - } - - // bail early if this form does not contain ACF data - if( !$('#acf-form-data').exists() ) { - return true; - } - - // stop WP JS validation - e.stopImmediatePropagation(); - - // store submit trigger so it will be clicked if validation is passed - acf.validation.$trigger = $(this); - - // run validation - acf.validation.fetch( $('#addtag') ); - - // stop all other click events on this input - return false; - }); - + // listen to AJAX add-tag complete $(document).ajaxComplete(function(event, xhr, settings) { // bail early if is other ajax call @@ -319,26 +295,22 @@ class acf_form_taxonomy { return; } - // unlock form - acf.validation.toggle( $('#addtag'), 'unlock' ); - // bail early if response contains error if( xhr.responseText.indexOf('wp_error') !== -1 ) { return; } // action for 3rd party customization - acf.do_action('remove', $el); + acf.doAction('remove', $fields); - // restore html - $el.html( html ); - - // reset unload - acf.unload.off(); + // reset HTML + $fields.html( html ); // action for 3rd party customization - acf.do_action('append', $el); + acf.doAction('append', $fields); + // reset unload + acf.unload.reset(); }); @@ -433,4 +405,4 @@ new acf_form_taxonomy(); endif; -?> \ No newline at end of file +?> diff --git a/includes/forms/form-user.php b/includes/forms/form-user.php index 8733b36..845fe9b 100644 --- a/includes/forms/form-user.php +++ b/includes/forms/form-user.php @@ -1,20 +1,13 @@ -validate_page() ) { - + // bail early if not valid screen + if( !acf_is_screen(array('profile', 'user', 'user-edit')) ) { return; - } - - // load acf scripts + // enqueue acf_enqueue_scripts(); + } + + + /** + * login_form_register + * + * Customizes and enqueues scripts + * + * @date 17/4/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + function login_form_register() { - - // actions - add_action('acf/input/admin_footer', array($this, 'admin_footer'), 10, 1); - + // customize action prefix so that "admin_head" = "login_head" + acf_enqueue_scripts(array( + 'context' => 'login' + )); } /* * register_user * - * description + * Called during the user register form * * @type function * @date 8/10/13 * @since 5.0.0 * - * @param $post_id (int) - * @return $post_id (int) + * @param void + * @return void */ - function register_user() { - - // update vars - $this->form = '#registerform'; - + function render_register() { // render - $this->render( 0, 'register', 'div' ); - + $this->render(array( + 'user_id' => 0, + 'view' => 'register', + 'el' => 'div' + )); } /* - * edit_user + * render_edit * - * description + * Called during the user edit form * * @type function * @date 8/10/13 * @since 5.0.0 * - * @param $post_id (int) - * @return $post_id (int) + * @param void + * @return void */ - function edit_user( $user ) { - - // update vars - $this->form = '#your-profile'; + function render_edit( $user ) { + // add compatibility with front-end user profile edit forms such as bbPress + if( !is_admin() ) { + acf_enqueue_scripts(); + } // render - $this->render( $user->ID, 'edit', 'tr' ); - + $this->render(array( + 'user_id' => $user->ID, + 'view' => 'edit', + 'el' => 'tr' + )); } @@ -180,15 +152,14 @@ class acf_form_user { * @return $post_id (int) */ - function user_new_form() { - - // update vars - $this->form = '#createuser'; - + function render_new() { // render - $this->render( 0, 'add', 'tr' ); - + $this->render(array( + 'user_id' => 0, + 'view' => 'new', + 'el' => 'tr' + )); } @@ -207,36 +178,44 @@ class acf_form_user { * @return n/a */ - function render( $user_id, $user_form, $el = 'tr' ) { + function render( $args = array() ) { + + // defaults + $args = wp_parse_args($args, array( + 'user_id' => 0, + 'view' => 'edit', + 'el' => 'tr', + )); // vars - $post_id = "user_{$user_id}"; - $show_title = true; - - - // args - $args = array( - 'user_id' => 'new', - 'user_form' => $user_form - ); - - if( $user_id ) $args['user_id'] = $user_id; - + $post_id = 'user_' . $args['user_id']; // get field groups - $field_groups = acf_get_field_groups( $args ); - + $field_groups = acf_get_field_groups(array( + 'user_id' => $args['user_id'] ? $args['user_id'] : 'new', + 'user_form' => $args['view'] + )); // bail early if no field groups - if( empty($field_groups) ) return; - + if( empty($field_groups) ) { + return; + } // form data acf_form_data(array( - 'screen' => 'user', - 'post_id' => $post_id, + 'screen' => 'user', + 'post_id' => $post_id, + 'validation' => ($args['view'] == 'register') ? 0 : 1 )); + // elements + $before = '
                          '; + $after = '
                          '; + + if( $args['el'] == 'div') { + $before = '
                          '; + $after = '
                          '; + } // loop foreach( $field_groups as $field_group ) { @@ -244,35 +223,19 @@ class acf_form_user { // vars $fields = acf_get_fields( $field_group ); - // title - if( $show_title && $field_group['style'] === 'default' ) { + if( $field_group['style'] === 'default' ) { echo '

                          ' . $field_group['title'] . '

                          '; } - - // table start - if( $el == 'tr' ) { - echo ''; - } else { - echo '
                          '; - } - - - // render fields - acf_render_fields( $fields, $post_id, $el, $field_group['instruction_placement'] ); - - - // table end - if( $el == 'tr' ) { - echo '
                          '; - } else { - echo '
                          '; - } - + // render + echo $before; + acf_render_fields( $fields, $post_id, $args['el'], $field_group['instruction_placement'] ); + echo $after; } - - + + // actions + add_action('acf/input/admin_footer', array($this, 'admin_footer'), 10, 1); } @@ -290,79 +253,19 @@ class acf_form_user { */ function admin_footer() { - -?> - + + // script + ?> @@ -262,119 +262,68 @@ class acf_form_widget { (function($) { // vars - acf.update('post_id', 'widgets'); - + acf.set('post_id', 'widgets'); // restrict get fields - acf.add_filter('get_fields', function( $fields ){ - - // widgets - $fields = $fields.not('#available-widgets .acf-field'); - - - // customizer - $fields = $fields.not('.widget-tpl .acf-field'); + acf.addFilter('find_fields_args', function( args ){ + // add parent + if( !args.parent ) { + args.parent = $('#widgets-right'); + } // return - return $fields; - + return args; }); - + // on publish $('#widgets-right').on('click', '.widget-control-save', function( e ){ // vars - var $form = $(this).closest('form'); + var $button = $(this); + var $form = $button.closest('form'); + // validate + var valid = acf.validateForm({ + form: $form, + event: e, + lock: false + }); - // bail early if not active - if( !acf.validation.active ) { - - return true; - + // if not valid, stop event and allow validation to continue + if( !valid ) { + e.preventDefault(); + e.stopImmediatePropagation(); } - - - // ignore validation (only ignore once) - if( acf.validation.ignore ) { - - acf.validation.ignore = 0; - return true; - - } - - - // bail early if this form does not contain ACF data - if( !$form.find('#acf-form-data').exists() ) { - - return true; - - } - - - // stop WP JS validation - e.stopImmediatePropagation(); - - - // store submit trigger so it will be clicked if validation is passed - acf.validation.$trigger = $(this); - - - // run validation - acf.validation.fetch( $form ); - - - // stop all other click events on this input - return false; - }); - - $(document).on('click', '.widget-top', function(){ - - var $el = $(this).parent().children('.widget-inside'); - - setTimeout(function(){ - - acf.get_fields('', $el).each(function(){ - - acf.do_action('show_field', $(this)); - - }); - - }, 250); - + // show + $('#widgets-right').on('click', '.widget-top', function(){ + var $widget = $(this).parent(); + if( $widget.hasClass('open') ) { + acf.doAction('hide', $widget); + } else { + acf.doAction('show', $widget); + } }); $(document).on('widget-added', function( e, $widget ){ // - use delay to avoid rendering issues with customizer (ensures div is visible) setTimeout(function(){ - - acf.do_action('append', $widget ); - + acf.doAction('append', $widget ); }, 100); - }); - $(document).on('widget-saved widget-updated', function( e, $widget ){ - - // unlock form - acf.validation.toggle( $widget, 'unlock' ); - - }); - })(jQuery); \ No newline at end of file +?> diff --git a/includes/input.php b/includes/input.php deleted file mode 100644 index 8aa0f00..0000000 --- a/includes/input.php +++ /dev/null @@ -1,522 +0,0 @@ -admin_enqueue_scripts = 'admin_enqueue_scripts'; - $this->admin_head = 'admin_head'; - $this->admin_footer = 'admin_footer'; - $this->enqueued = false; - $this->data = array(); - - - // actions - add_action('acf/save_post', array($this, 'save_post'), 10, 1); - - } - - - /* - * get_data - * - * This function will return form data - * - * @type function - * @date 4/03/2016 - * @since 5.3.2 - * - * @param $key (mixed) - * @return (mixed) - */ - - function get_data( $key = false ) { - - // vars - $data = $this->data; - - - // key - if( $key && isset($data[ $key ]) ) { - - $data = $data[ $key ]; - - } - - - // return - return $data; - - } - - - /* - * set_data - * - * This function will se the form data - * - * @type function - * @date 4/03/2016 - * @since 5.3.2 - * - * @param $data (array) - * @return (array) - */ - - function set_data( $data ) { - - // defaults - $data = acf_parse_args($data, array( - 'screen' => 'post', // Current screen loaded (post, user, taxonomy, etc) - 'post_id' => 0, // ID of current post being edited - 'nonce' => '', // nonce used for $_POST validation (defaults to screen) - 'validation' => 1, // runs AJAX validation - 'ajax' => 0, // if screen uses ajax to append new HTML (enqueue all assets) - 'changed' => 0, // used to detect change and prompt unload - )); - - // nonce - if( !$data['nonce'] ) { - $data['nonce'] = $data['screen']; - } - - // enqueue uploader if page allows AJAX fields to appear - // priority must be less than 10 to allow WP to enqueue - if( $data['ajax'] ) { - add_action($this->admin_footer, 'acf_enqueue_uploader', 5); - } - - // update - $this->data = $data; - - // return - return $data; - } - - - /* - * enqueue - * - * This function will determin the actions to use for different pages - * - * @type function - * @date 13/01/2016 - * @since 5.3.2 - * - * @param n/a - * @return n/a - */ - - function enqueue() { - - // bail ealry if already enqueued - if( $this->enqueued ) return; - - - // update setting - $this->enqueued = true; - - - // global - global $pagenow; - - - // determine action hooks - if( $pagenow == 'customize.php' ) { - - $this->admin_head = 'customize_controls_print_scripts'; - $this->admin_footer = 'customize_controls_print_footer_scripts'; - - } elseif( $pagenow == 'wp-login.php' ) { - - $this->admin_enqueue_scripts = 'login_enqueue_scripts'; - $this->admin_head = 'login_head'; - $this->admin_footer = 'login_footer'; - - } elseif( !is_admin() ) { - - $this->admin_enqueue_scripts = 'wp_enqueue_scripts'; - $this->admin_head = 'wp_head'; - $this->admin_footer = 'wp_footer'; - - } - - - // actions - acf_maybe_add_action($this->admin_enqueue_scripts, array($this, 'admin_enqueue_scripts'), 20 ); - acf_maybe_add_action($this->admin_head, array($this, 'admin_head'), 20 ); - acf_maybe_add_action($this->admin_footer, array($this, 'admin_footer'), 20 ); - - } - - - /* - * admin_enqueue_scripts - * - * The acf input screen admin_enqueue_scripts - * - * @type function - * @date 4/03/2016 - * @since 5.3.2 - * - * @param n/a - * @return n/a - */ - - function admin_enqueue_scripts() { - - // scripts - wp_enqueue_script('acf-input'); - - - // styles - wp_enqueue_style('acf-input'); - - - // do action - do_action('acf/input/admin_enqueue_scripts'); - - } - - - /* - * admin_head - * - * The acf input screen admin_head - * - * @type function - * @date 4/03/2016 - * @since 5.3.2 - * - * @param n/a - * @return n/a - */ - - function admin_head() { - - // do action - do_action('acf/input/admin_head'); - - } - - - /* - * admin_footer - * - * The acf input screen admin_footer - * - * @type function - * @date 4/03/2016 - * @since 5.3.2 - * - * @param n/a - * @return n/a - */ - - function admin_footer() { - - // global - global $wp_version; - - - // options - $o = array( - 'screen' => acf_get_form_data('screen'), - 'post_id' => acf_get_form_data('post_id'), - 'nonce' => wp_create_nonce( 'acf_nonce' ), - 'admin_url' => admin_url(), - 'ajaxurl' => admin_url( 'admin-ajax.php' ), - 'ajax' => acf_get_form_data('ajax'), - 'validation' => acf_get_form_data('validation'), - 'wp_version' => $wp_version, - 'acf_version' => acf_get_setting('version'), - 'browser' => acf_get_browser(), - 'locale' => get_locale(), - 'rtl' => is_rtl() - ); - - - // l10n - $l10n = apply_filters( 'acf/input/admin_l10n', array( - 'unload' => __('The changes you made will be lost if you navigate away from this page','acf'), - 'expand_details' => __('Expand Details','acf'), - 'collapse_details' => __('Collapse Details','acf'), - 'validation_successful' => __('Validation successful', 'acf'), - 'validation_failed' => __('Validation failed', 'acf'), - 'validation_failed_1' => __('1 field requires attention', 'acf'), - 'validation_failed_2' => __('%d fields require attention', 'acf'), - 'restricted' => __('Restricted','acf'), - 'are_you_sure' => __('Are you sure?','acf'), - 'yes' => __('Yes','acf'), - 'no' => __('No','acf'), - 'remove' => __('Remove','acf'), - 'cancel' => __('Cancel','acf') - )); - - -?> - - - - $v ) { - - // get field - $field = acf_get_field( $k ); - - - // continue if no field - if( !$field ) continue; - - - // update - acf_update_value( $v, $post_id, $field ); - - } - - } - -} - -// initialize -acf()->input = new acf_input(); - -endif; // class_exists check - - - -/* -* acf_enqueue_scripts -* -* alias of acf()->form->enqueue() -* -* @type function -* @date 6/10/13 -* @since 5.0.0 -* -* @param n/a -* @return n/a -*/ - -function acf_enqueue_scripts() { - - return acf()->input->enqueue(); - -} - - -/* -* acf_get_form_data -* -* alias of acf()->form->get_data() -* -* @type function -* @date 6/10/13 -* @since 5.0.0 -* -* @param n/a -* @return n/a -*/ - -function acf_get_form_data( $key = false ) { - - return acf()->input->get_data( $key ); - -} - - -/* -* acf_set_form_data -* -* alias of acf()->form->set_data() -* -* @type function -* @date 6/10/13 -* @since 5.0.0 -* -* @param n/a -* @return n/a -*/ - -function acf_set_form_data( $data = array() ) { - - return acf()->input->set_data( $data ); - -} - - -/* -* acf_enqueue_uploader -* -* This function will render a WP WYSIWYG and enqueue media -* -* @type function -* @date 27/10/2014 -* @since 5.0.9 -* -* @param n/a -* @return n/a -*/ - -function acf_enqueue_uploader() { - - // bail early if doing ajax - if( acf_is_ajax() ) return; - - - // bail ealry if already run - if( acf_has_done('enqueue_uploader') ) return; - - - // enqueue media if user can upload - if( current_user_can('upload_files') ) { - - wp_enqueue_media(); - - } - - - // create dummy editor - ?>
                          -
                          - $v ): ?> - - - -
                          - $post_id - )); - - - // hook for 3rd party customization - do_action('acf/save_post', $post_id); - - - // return - return true; - -} diff --git a/includes/media.php b/includes/media.php index 1b7ff28..747f212 100644 --- a/includes/media.php +++ b/includes/media.php @@ -1,6 +1,10 @@ _x('Select', 'verb', 'acf'), - 'edit' => _x('Edit', 'verb', 'acf'), - 'update' => _x('Update', 'verb', 'acf'), - 'uploadedTo' => __("Uploaded to this post",'acf'), - 'default_icon' => wp_mime_type_icon() - ); - - - // return - return $l10n; + function enqueue_scripts(){ + // localize + acf_localize_data(array( + 'mimeTypeIcon' => wp_mime_type_icon(), + 'mimeTypes' => get_allowed_mime_types() + )); } - + /* * handle_upload_prefilter @@ -82,19 +75,14 @@ class acf_media { // bail early if no acf field if( empty($_POST['_acfuploader']) ) { - return $file; - } // load field $field = acf_get_field( $_POST['_acfuploader'] ); - if( !$field ) { - return $file; - } @@ -111,15 +99,12 @@ class acf_media { // append error if( !empty($errors) ) { - $file['error'] = implode("\n", $errors); - } // return return $file; - } @@ -140,39 +125,12 @@ class acf_media { // bail early if no $_FILES data if( empty($_FILES['acf']['name']) ) { - return; - } // upload files acf_upload_files(); - - } - - - /* - * admin_footer - * - * description - * - * @type function - * @date 19/02/2015 - * @since 5.1.5 - * - * @param $post_id (int) - * @return $post_id (int) - */ - - function admin_footer() { - -?> - -', $errors); - } // return return $response; - } - } +// instantiate +acf_new_instance('ACF_Media'); -// initialize -new acf_media(); +endif; // class_exists check ?> \ No newline at end of file diff --git a/includes/updates.php b/includes/updates.php index 1b610cd..581db2d 100644 --- a/includes/updates.php +++ b/includes/updates.php @@ -7,9 +7,9 @@ if( ! class_exists('acf_updates') ) : class acf_updates { // vars - var $version = '2.2', + var $version = '2.3', $plugins = array(), - $updates = false, + $force_check = false, $dev = 0; @@ -28,13 +28,16 @@ class acf_updates { function __construct() { + // vars + $this->force_check = !empty($_GET['force-check']); + + // append update information to transient add_filter('pre_set_site_transient_update_plugins', array($this, 'modify_plugins_transient'), 10, 1); // modify plugin data visible in the 'View details' popup add_filter('plugins_api', array($this, 'modify_plugin_details'), 10, 3); - } @@ -62,32 +65,16 @@ class acf_updates { 'version' => '', )); - // Check if is_plugin_active() function exists. This is required on the front end of the // site, since it is in a file that is normally only loaded in the admin. if( !function_exists( 'is_plugin_active' ) ) { - require_once ABSPATH . 'wp-admin/includes/plugin.php'; - } - - // bail early if not active plugin (included in theme) - if( !is_plugin_active($plugin['basename']) ) return; - - - // add custom message in plugin update row - // removed: decided this message will have a negative impact on user - // if( is_admin() ) { - // - // add_action('in_plugin_update_message-' . $plugin['basename'], array($this, 'modify_plugin_update_message'), 10, 2 ); - // - // } - - - // append - $this->plugins[ $plugin['basename'] ] = $plugin; - + // add if is active plugin (not included in theme) + if( is_plugin_active($plugin['basename']) ) { + $this->plugins[ $plugin['basename'] ] = $plugin; + } } @@ -110,14 +97,11 @@ class acf_updates { // vars $url = 'https://connect.advancedcustomfields.com/' . $query; - - // test - if( $this->dev ) $url = 'http://connect/' . $query; - - - // log - //acf_log('acf connect: '. $url, $body); - + // development mode + if( $this->dev ) { + $url = 'http://connect/' . $query; + acf_log('acf connect: '. $url, $body); + } // post $raw_response = wp_remote_post( $url, array( @@ -125,35 +109,25 @@ class acf_updates { 'body' => $body )); - // wp error if( is_wp_error($raw_response) ) { - return $raw_response; // http error } elseif( wp_remote_retrieve_response_code($raw_response) != 200 ) { - return new WP_Error( 'server_error', wp_remote_retrieve_response_message($raw_response) ); - } - // decode response $json = json_decode( wp_remote_retrieve_body($raw_response), true ); - // allow non json value if( $json === null ) { - return wp_remote_retrieve_body($raw_response); - } - // return return $json; - } @@ -173,42 +147,131 @@ class acf_updates { function get_plugin_info( $id = '' ) { // var - $transient_name = 'acf_plugin_info_'.$id; + $transient_name = 'acf_plugin_info_' . $id; - - // delete transient (force-check is used to refresh) - if( !empty($_GET['force-check']) ) { - - delete_transient($transient_name); + // ignore cache (only once) + if( $this->force_check ) { + $this->force_check = false; + // check cache + } else { + $transient = get_transient($transient_name); + if( $transient !== false ) return $transient; } - - - // try transient - $transient = get_transient($transient_name); - if( $transient !== false ) return $transient; - // connect $response = $this->request('v2/plugins/get-info?p='.$id); - - // ensure response is expected JSON array (not string) + // convert string (misc error) to WP_Error object if( is_string($response) ) { $response = new WP_Error( 'server_error', esc_html($response) ); } + // allow json to include expiration but force minimum and max for safety + $expiration = $this->get_expiration($response, DAY_IN_SECONDS, MONTH_IN_SECONDS); // update transient - set_transient($transient_name, $response, HOUR_IN_SECONDS ); - + set_transient($transient_name, $response, $expiration ); // return return $response; - } + /** + * get_plugin_updates + * + * description + * + * @date 8/7/18 + * @since 5.6.9 + * + * @param type $var Description. Default. + * @return type Description. + */ + + function get_plugin_updates() { + + // var + $transient_name = 'acf_plugin_updates'; + + // ignore cache (only once) + if( $this->force_check ) { + $this->force_check = false; + + // check cache + } else { + $transient = get_transient($transient_name); + if( $transient !== false ) return $transient; + } + + // vars + $post = array( + 'plugins' => wp_json_encode($this->plugins), + 'wp' => wp_json_encode(array( + 'wp_name' => get_bloginfo('name'), + 'wp_url' => home_url(), + 'wp_version' => get_bloginfo('version'), + 'wp_language' => get_bloginfo('language'), + 'wp_timezone' => get_option('timezone_string'), + )), + 'acf' => wp_json_encode(array( + 'acf_version' => get_option('acf_version'), + 'acf_pro' => (defined('ACF_PRO') && ACF_PRO), + )), + ); + + // request + $response = $this->request('v2/plugins/update-check', $post); + + // allow json to include expiration but force minimum and max for safety + $expiration = $this->get_expiration($response, DAY_IN_SECONDS, MONTH_IN_SECONDS); + + // update transient + set_transient($transient_name, $response, $expiration ); + + // return + return $response; + } + + /** + * get_expiration + * + * This function safely gets the expiration value from a response + * + * @date 8/7/18 + * @since 5.6.9 + * + * @param mixed $response The response from the server. Default false. + * @param int $min The minimum expiration limit. Default 0. + * @param int $max The maximum expiration limit. Default 0. + * @return int + */ + + function get_expiration( $response = false, $min = 0, $max = 0 ) { + + // vars + $expiration = 0; + + // check + if( is_array($response) && isset($response['expiration']) ) { + $expiration = (int) $response['expiration']; + } + + // min + if( $expiration < $min ) { + return $min; + } + + // max + if( $expiration > $max ) { + return $max; + } + + // return + return $expiration; + } + /* * refresh_plugins_transient * @@ -227,14 +290,12 @@ class acf_updates { // vars $transient = get_site_transient('update_plugins'); - // bail early if no transient if( empty($transient) ) return; - // update (will trigger modify function) + $this->force_check = true; set_site_transient( 'update_plugins', $transient ); - } @@ -254,50 +315,22 @@ class acf_updates { function modify_plugins_transient( $transient ) { // bail early if no response (error) - if( !isset($transient->response) ) return $transient; - - - // fetch updates once (this filter is called multiple times during a single page load) - if( !$this->updates ) { - - // vars - $post = array( - 'plugins' => wp_json_encode($this->plugins), - 'wp' => wp_json_encode(array( - 'wp_name' => get_bloginfo('name'), - 'wp_url' => home_url(), - 'wp_version' => get_bloginfo('version'), - 'wp_language' => get_bloginfo('language'), - 'wp_timezone' => get_option('timezone_string'), - )), - 'acf' => wp_json_encode(array( - 'acf_version' => get_option('acf_version'), - 'acf_pro' => (defined('ACF_PRO') && ACF_PRO), - )), - ); - - - // connect - $this->updates = $this->request('v2/plugins/update-check', $post); - + if( !isset($transient->response) ) { + return $transient; } + // fetch updates (this filter is called multiple times during a single page load) + $updates = $this->get_plugin_updates(); // append - if( is_array($this->updates) ) { - - foreach( $this->updates['plugins'] as $basename => $update ) { - + if( is_array($updates) ) { + foreach( $updates['plugins'] as $basename => $update ) { $transient->response[ $basename ] = (object) $update; - } - } - // return return $transient; - } @@ -375,35 +408,6 @@ class acf_updates { return $response; } - - - /* - * modify_plugin_update_message - * - * Displays an update message for plugin list screens. - * Shows only the version updates from the current until the newest version - * - * @type function - * @date 14/06/2016 - * @since 5.3.8 - * - * @param $plugin_data (array) - * @param $r (object) - * @return n/a - */ - -/* - function modify_plugin_update_message( $plugin_data, $response ) { - - // show notice if exists in transient data - if( isset($response->notice) ) { - - echo '
                          ' . $response->notice . '
                          '; - - } - - } -*/ } diff --git a/includes/walkers/class-acf-walker-nav-menu-edit.php b/includes/walkers/class-acf-walker-nav-menu-edit.php index d5f76fb..bd094dc 100644 --- a/includes/walkers/class-acf-walker-nav-menu-edit.php +++ b/includes/walkers/class-acf-walker-nav-menu-edit.php @@ -126,7 +126,7 @@ class ACF_Walker_Nav_Menu_Edit extends Walker_Nav_Menu_Edit { if( acf_is_ajax('add-menu-item') ): ?> term_id . '">'; + $output .= '
                        • ' . $term->name . ''; } diff --git a/lang/acf-ar.mo b/lang/acf-ar.mo index 50546e76a64cd87bee665552057b28c64aebfcc8..8d00f178d8b04e364fbd45bcbb3f7c0b452607b8 100644 GIT binary patch delta 11976 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\n" "Language-Team: Adil el hallaoui \n" "Language: ar\n" @@ -12,12 +12,9 @@ msgstr "" "X-Generator: Poedit 1.8.1\n" "X-Poedit-Basepath: ..\n" "X-Poedit-WPHeader: acf.php\n" -"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" -"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" -"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.js\n" @@ -33,8 +30,7 @@ msgstr "مجموعات الحقول" msgid "Field Group" msgstr "مجموعة الحقول" -#: acf.php:357 acf.php:389 includes/admin/admin.php:118 -#: pro/fields/class-acf-field-flexible-content.php:574 +#: acf.php:357 acf.php:389 includes/admin/admin.php:118 pro/fields/class-acf-field-flexible-content.php:574 msgid "Add New" msgstr "إضافة جديد" @@ -66,10 +62,7 @@ msgstr "لم يتم العثور على نتائج" msgid "No Field Groups found in Trash" msgstr "لا توجد مجموعات حقول في سلة المهملات" -#: acf.php:387 includes/admin/admin-field-group.php:182 -#: includes/admin/admin-field-group.php:275 -#: includes/admin/admin-field-groups.php:510 -#: pro/fields/class-acf-field-clone.php:857 +#: acf.php:387 includes/admin/admin-field-group.php:182 includes/admin/admin-field-group.php:275 includes/admin/admin-field-groups.php:510 pro/fields/class-acf-field-clone.php:857 msgid "Fields" msgstr "حقول" @@ -85,10 +78,9 @@ msgstr "إضافة حقل جديد" msgid "Edit Field" msgstr "تحرير الحقل" -#: acf.php:392 includes/admin/views/field-group-fields.php:41 -#: includes/admin/views/settings-info.php:105 +#: acf.php:392 includes/admin/views/field-group-fields.php:41 includes/admin/views/settings-info.php:105 msgid "New Field" -msgstr "إضافة حقل جديد" +msgstr "حقل جديد" #: acf.php:393 msgid "View Field" @@ -96,7 +88,7 @@ msgstr "عرض الحقل" #: acf.php:394 msgid "Search Fields" -msgstr "بحث الحقول" +msgstr "بحث في الحقول" #: acf.php:395 msgid "No Fields found" @@ -106,8 +98,7 @@ msgstr "لم يتم العثور على أية حقول" msgid "No Fields found in Trash" msgstr "لم يتم العثور على أية حقول في سلة المهملات" -#: acf.php:435 includes/admin/admin-field-group.php:390 -#: includes/admin/admin-field-groups.php:567 +#: acf.php:435 includes/admin/admin-field-group.php:390 includes/admin/admin-field-groups.php:567 msgid "Inactive" msgstr "غير نشط" @@ -122,9 +113,7 @@ msgstr[3] "غير نشطة (%s)" msgstr[4] "غير نشطة (%s)" msgstr[5] "غير نشطة (%s)" -#: includes/admin/admin-field-group.php:68 -#: includes/admin/admin-field-group.php:69 -#: includes/admin/admin-field-group.php:71 +#: includes/admin/admin-field-group.php:68 includes/admin/admin-field-group.php:69 includes/admin/admin-field-group.php:71 msgid "Field group updated." msgstr "تم تحديث مجموعة الحقول" @@ -174,25 +163,20 @@ msgstr "تبديل الحقول غير متوفر" #: includes/admin/admin-field-group.php:272 msgid "Field group title is required" -msgstr "عنوان حقل المجموعة مطلوب" +msgstr "عنوان مجموعة الحقول مطلوب" -#: includes/admin/admin-field-group.php:273 -#: includes/api/api-field-group.php:732 +#: includes/admin/admin-field-group.php:273 includes/api/api-field-group.php:732 msgid "copy" msgstr "انسخ" -#: includes/admin/admin-field-group.php:274 -#: includes/admin/views/field-group-field-conditional-logic.php:54 -#: includes/admin/views/field-group-field-conditional-logic.php:154 -#: includes/admin/views/field-group-locations.php:29 -#: includes/admin/views/html-location-group.php:3 -#: includes/api/api-helpers.php:3970 +#: includes/admin/admin-field-group.php:274 includes/admin/views/field-group-field-conditional-logic.php:54 includes/admin/views/field-group-field-conditional-logic.php:154 +#: includes/admin/views/field-group-locations.php:29 includes/admin/views/html-location-group.php:3 includes/api/api-helpers.php:3970 msgid "or" msgstr "او" #: includes/admin/admin-field-group.php:276 msgid "Parent fields" -msgstr "الحقول الأصل" +msgstr "الحقول الأصلية" #: includes/admin/admin-field-group.php:277 msgid "Sibling fields" @@ -216,14 +200,13 @@ msgstr "سيتم فقدان التغييرات التي أجريتها إذا غ #: includes/admin/admin-field-group.php:282 msgid "The string \"field_\" may not be used at the start of a field name" -msgstr "لا يجوز استخدام المقطع “field_” في بداية اسم الحقل" +msgstr "لا يجوز استخدام المقطع \"field_\" في بداية اسم الحقل" #: includes/admin/admin-field-group.php:360 msgid "Field Keys" msgstr "مفاتيح الحقل" -#: includes/admin/admin-field-group.php:390 -#: includes/admin/views/field-group-options.php:9 +#: includes/admin/admin-field-group.php:390 includes/admin/views/field-group-options.php:9 msgid "Active" msgstr "نشط" @@ -268,12 +251,12 @@ msgstr "تم تكرار مجموعة الحقول %s." #, php-format msgid "%s field group duplicated." msgid_plural "%s field groups duplicated." -msgstr[0] "مجموعة الحقل متكررة. %s" -msgstr[1] "مجموعة الحقل متكررة. %s" -msgstr[2] "مجموعة الحقل متكررة. %s" -msgstr[3] "مجموعة الحقل متكررة. %s" -msgstr[4] "مجموعة الحقل متكررة. %s" -msgstr[5] "مجموعة الحقل متكررة. %s" +msgstr[0] "تم تكرار مجموعة الحقول. %s" +msgstr[1] "تم تكرار مجموعة الحقول. %s" +msgstr[2] "تم تكرار مجموعة الحقول. %s" +msgstr[3] "تم تكرار مجموعة الحقول. %s" +msgstr[4] "تم تكرار مجموعة الحقول. %s" +msgstr[5] "تم تكرار مجموعة الحقول. %s" #: includes/admin/admin-field-groups.php:227 #, php-format @@ -284,27 +267,22 @@ msgstr "تمت مزامنة مجموعة الحقول %s." #, php-format msgid "%s field group synchronised." msgid_plural "%s field groups synchronised." -msgstr[0] "مجموعة الحقل متزامنة. %s" -msgstr[1] "مجموعة الحقل متزامنة. %s" -msgstr[2] "مجموعة الحقل متزامنة. %s" -msgstr[3] "مجموعة الحقل متزامنة. %s" -msgstr[4] "مجموعة الحقل متزامنة. %s" -msgstr[5] "مجموعة الحقل متزامنة. %s" +msgstr[0] "تمت مزامنة مجموعة الحقول. %s" +msgstr[1] "تمت مزامنة مجموعة الحقول. %s" +msgstr[2] "تمت مزامنة مجموعة الحقول. %s" +msgstr[3] "تمت مزامنة مجموعة الحقول. %s" +msgstr[4] "تمت مزامنة مجموعة الحقول. %s" +msgstr[5] "تمت مزامنة مجموعة الحقول. %s" -#: includes/admin/admin-field-groups.php:394 -#: includes/admin/admin-field-groups.php:557 +#: includes/admin/admin-field-groups.php:394 includes/admin/admin-field-groups.php:557 msgid "Sync available" msgstr "المزامنة متوفرة" -#: includes/admin/admin-field-groups.php:507 includes/forms/form-front.php:38 -#: pro/fields/class-acf-field-gallery.php:370 +#: includes/admin/admin-field-groups.php:507 includes/forms/form-front.php:38 pro/fields/class-acf-field-gallery.php:370 msgid "Title" msgstr "العنوان" -#: includes/admin/admin-field-groups.php:508 -#: includes/admin/views/field-group-options.php:96 -#: includes/admin/views/install-network.php:21 -#: includes/admin/views/install-network.php:29 +#: includes/admin/admin-field-groups.php:508 includes/admin/views/field-group-options.php:96 includes/admin/views/install-network.php:21 includes/admin/views/install-network.php:29 #: pro/fields/class-acf-field-gallery.php:397 msgid "Description" msgstr "الوصف" @@ -316,11 +294,9 @@ msgstr "الحالة" #. Description of the plugin/theme #: includes/admin/admin-field-groups.php:607 msgid "Customise WordPress with powerful, professional and intuitive fields." -msgstr "تخصيص وورد مع حقول قوية ومهنية وبديهية‪.‬" +msgstr "خصص ووردبرس بحقول قوية ومهنية وبديهية‪.‬" -#: includes/admin/admin-field-groups.php:609 -#: includes/admin/settings-info.php:76 -#: pro/admin/views/html-settings-updates.php:111 +#: includes/admin/admin-field-groups.php:609 includes/admin/settings-info.php:76 pro/admin/views/html-settings-updates.php:111 msgid "Changelog" msgstr "سجل التغييرات" @@ -358,16 +334,11 @@ msgstr "شكرا لك على التحديث إلى v %s %s!" msgid "Duplicate this item" msgstr "تكرار هذا العنصر" -#: includes/admin/admin-field-groups.php:668 -#: includes/admin/admin-field-groups.php:684 -#: includes/admin/views/field-group-field.php:49 -#: pro/fields/class-acf-field-flexible-content.php:573 +#: includes/admin/admin-field-groups.php:668 includes/admin/admin-field-groups.php:684 includes/admin/views/field-group-field.php:49 pro/fields/class-acf-field-flexible-content.php:573 msgid "Duplicate" msgstr "تكرار" -#: includes/admin/admin-field-groups.php:701 -#: includes/fields/class-acf-field-google-map.php:132 -#: includes/fields/class-acf-field-relationship.php:737 +#: includes/admin/admin-field-groups.php:701 includes/fields/class-acf-field-google-map.php:132 includes/fields/class-acf-field-relationship.php:737 msgid "Search" msgstr "بحث" @@ -380,8 +351,7 @@ msgstr "اختيار %s" msgid "Synchronise field group" msgstr "مزامنة مجموعة الحقول" -#: includes/admin/admin-field-groups.php:768 -#: includes/admin/admin-field-groups.php:798 +#: includes/admin/admin-field-groups.php:768 includes/admin/admin-field-groups.php:798 msgid "Sync" msgstr "مزامنة" @@ -392,15 +362,13 @@ msgstr "تطبيق" #: includes/admin/admin-field-groups.php:798 #, fuzzy msgid "Bulk Actions" -msgstr "- اجراءات جماعية -" +msgstr "اجراءات جماعية" -#: includes/admin/admin.php:113 -#: includes/admin/views/field-group-options.php:118 +#: includes/admin/admin.php:113 includes/admin/views/field-group-options.php:118 msgid "Custom Fields" msgstr "الحقول المخصصة" -#: includes/admin/install-network.php:88 includes/admin/install.php:70 -#: includes/admin/install.php:121 +#: includes/admin/install-network.php:88 includes/admin/install.php:70 includes/admin/install.php:121 msgid "Upgrade Database" msgstr "ترقية قاعدة البيانات" @@ -416,8 +384,7 @@ msgstr "حدث خطأ أثناء التحقق من صحة الطلب" msgid "No updates available." msgstr "لا توجد تحديثات متوفرة." -#: includes/admin/settings-addons.php:51 -#: includes/admin/views/settings-addons.php:3 +#: includes/admin/settings-addons.php:51 includes/admin/views/settings-addons.php:3 msgid "Add-ons" msgstr "الإضافات" @@ -433,9 +400,7 @@ msgstr "معلومات" msgid "What's New" msgstr "ما الجديد" -#: includes/admin/settings-tools.php:50 -#: includes/admin/views/settings-tools-export.php:19 -#: includes/admin/views/settings-tools.php:31 +#: includes/admin/settings-tools.php:50 includes/admin/views/settings-tools-export.php:19 includes/admin/views/settings-tools.php:31 msgid "Tools" msgstr "أدوات" @@ -443,8 +408,7 @@ msgstr "أدوات" msgid "No field groups selected" msgstr "لم يتم تحديد مجموعات الحقول" -#: includes/admin/settings-tools.php:184 -#: includes/fields/class-acf-field-file.php:174 +#: includes/admin/settings-tools.php:184 includes/fields/class-acf-field-file.php:174 msgid "No file selected" msgstr "لم يتم إختيار ملف" @@ -458,7 +422,7 @@ msgstr "نوع الملف غير صحيح" #: includes/admin/settings-tools.php:223 msgid "Import file empty" -msgstr "استيراد ملف فارغ" +msgstr "الملف المستورد فارغ" #: includes/admin/settings-tools.php:331 #, php-format @@ -479,41 +443,31 @@ msgstr "المنطق الشرطي" msgid "Show this field if" msgstr "إظهار هذا الحقل إذا" -#: includes/admin/views/field-group-field-conditional-logic.php:103 -#: includes/locations.php:243 +#: includes/admin/views/field-group-field-conditional-logic.php:103 includes/locations.php:243 msgid "is equal to" -msgstr "تساوي" +msgstr "يساوي" -#: includes/admin/views/field-group-field-conditional-logic.php:104 -#: includes/locations.php:244 +#: includes/admin/views/field-group-field-conditional-logic.php:104 includes/locations.php:244 msgid "is not equal to" -msgstr "لا تساوي" +msgstr "لا يساوي" -#: includes/admin/views/field-group-field-conditional-logic.php:141 -#: includes/admin/views/html-location-rule.php:80 +#: includes/admin/views/field-group-field-conditional-logic.php:141 includes/admin/views/html-location-rule.php:80 msgid "and" msgstr "و" -#: includes/admin/views/field-group-field-conditional-logic.php:156 -#: includes/admin/views/field-group-locations.php:31 +#: includes/admin/views/field-group-field-conditional-logic.php:156 includes/admin/views/field-group-locations.php:31 msgid "Add rule group" msgstr "إضافة مجموعة قاعدة" -#: includes/admin/views/field-group-field.php:41 -#: pro/fields/class-acf-field-flexible-content.php:420 -#: pro/fields/class-acf-field-repeater.php:358 +#: includes/admin/views/field-group-field.php:41 pro/fields/class-acf-field-flexible-content.php:420 pro/fields/class-acf-field-repeater.php:358 msgid "Drag to reorder" msgstr "اسحب لإعادة الترتيب" -#: includes/admin/views/field-group-field.php:45 -#: includes/admin/views/field-group-field.php:48 +#: includes/admin/views/field-group-field.php:45 includes/admin/views/field-group-field.php:48 msgid "Edit field" msgstr "تحرير الحقل" -#: includes/admin/views/field-group-field.php:48 -#: includes/fields/class-acf-field-image.php:140 -#: includes/fields/class-acf-field-link.php:152 -#: pro/fields/class-acf-field-gallery.php:357 +#: includes/admin/views/field-group-field.php:48 includes/fields/class-acf-field-image.php:140 includes/fields/class-acf-field-link.php:152 pro/fields/class-acf-field-gallery.php:357 msgid "Edit" msgstr "تحرير" @@ -533,8 +487,7 @@ msgstr "نقل" msgid "Delete field" msgstr "حذف الحقل" -#: includes/admin/views/field-group-field.php:51 -#: pro/fields/class-acf-field-flexible-content.php:572 +#: includes/admin/views/field-group-field.php:51 pro/fields/class-acf-field-flexible-content.php:572 msgid "Delete" msgstr "حذف" @@ -558,8 +511,7 @@ msgstr "كلمة واحدة، لا مسافات. الشرطات السفلية msgid "Field Type" msgstr "نوع الحقل" -#: includes/admin/views/field-group-field.php:101 -#: includes/fields/class-acf-field-tab.php:102 +#: includes/admin/views/field-group-field.php:101 includes/fields/class-acf-field-tab.php:102 msgid "Instructions" msgstr "التعليمات" @@ -573,7 +525,7 @@ msgstr "مطلوب؟" #: includes/admin/views/field-group-field.php:134 msgid "Wrapper Attributes" -msgstr "" +msgstr "سمات المجمع" #: includes/admin/views/field-group-field.php:140 msgid "width" @@ -581,7 +533,7 @@ msgstr "العرض" #: includes/admin/views/field-group-field.php:155 msgid "class" -msgstr "" +msgstr "class" #: includes/admin/views/field-group-field.php:168 msgid "id" @@ -595,17 +547,12 @@ msgstr "أغلق الحقل" msgid "Order" msgstr "ترتيب" -#: includes/admin/views/field-group-fields.php:5 -#: includes/fields/class-acf-field-checkbox.php:317 -#: includes/fields/class-acf-field-radio.php:321 -#: includes/fields/class-acf-field-select.php:530 +#: includes/admin/views/field-group-fields.php:5 includes/fields/class-acf-field-checkbox.php:317 includes/fields/class-acf-field-radio.php:321 includes/fields/class-acf-field-select.php:530 #: pro/fields/class-acf-field-flexible-content.php:599 msgid "Label" msgstr "تسمية" -#: includes/admin/views/field-group-fields.php:6 -#: includes/fields/class-acf-field-taxonomy.php:970 -#: pro/fields/class-acf-field-flexible-content.php:612 +#: includes/admin/views/field-group-fields.php:6 includes/fields/class-acf-field-taxonomy.php:970 pro/fields/class-acf-field-flexible-content.php:612 msgid "Name" msgstr "الاسم" @@ -615,28 +562,23 @@ msgstr "المفتاح" #: includes/admin/views/field-group-fields.php:8 msgid "Type" -msgstr "النوع:" +msgstr "النوع" #: includes/admin/views/field-group-fields.php:14 -msgid "" -"No fields. Click the + Add Field button to create your " -"first field." +msgid "No fields. Click the + Add Field button to create your first field." msgstr "لا توجد حقول. انقر على زر + إضافة حقل لإنشاء أول حقل." #: includes/admin/views/field-group-fields.php:31 msgid "+ Add Field" -msgstr "+ إضافة حقل" +msgstr "+ اضف حقل" #: includes/admin/views/field-group-locations.php:9 msgid "Rules" msgstr "القواعد" #: includes/admin/views/field-group-locations.php:10 -msgid "" -"Create a set of rules to determine which edit screens will use these " -"advanced custom fields" -msgstr "" -"إنشاء مجموعة من القواعد لتحديد أي شاشات التحرير ستستخدم هذه الحقول المخصصة" +msgid "Create a set of rules to determine which edit screens will use these advanced custom fields" +msgstr "إنشىء مجموعة من القواعد لتحديد أي شاشات التحرير ستستخدم هذه الحقول المخصصة" #: includes/admin/views/field-group-options.php:23 msgid "Style" @@ -670,13 +612,11 @@ msgstr "الجانب" msgid "Label placement" msgstr "تعيين مكان التسمية" -#: includes/admin/views/field-group-options.php:62 -#: includes/fields/class-acf-field-tab.php:116 +#: includes/admin/views/field-group-options.php:62 includes/fields/class-acf-field-tab.php:116 msgid "Top aligned" msgstr "محاذاة إلى الأعلى" -#: includes/admin/views/field-group-options.php:63 -#: includes/fields/class-acf-field-tab.php:117 +#: includes/admin/views/field-group-options.php:63 includes/fields/class-acf-field-tab.php:117 msgid "Left aligned" msgstr "محاذاة لليسار" @@ -702,7 +642,7 @@ msgstr "مجموعات الحقول ذات الترتيب الأدنى ستظه #: includes/admin/views/field-group-options.php:97 msgid "Shown in field group list" -msgstr "تظهر في قائمة مجموعة الحقول" +msgstr "اظهار في قائمة مجموعة الحقول" #: includes/admin/views/field-group-options.php:107 msgid "Hide on screen" @@ -713,12 +653,8 @@ msgid "Select items to hide them from the edit screen." msgstr "تحديد العناصر لإخفائها من شاشة التحرير." #: includes/admin/views/field-group-options.php:108 -msgid "" -"If multiple field groups appear on an edit screen, the first field group's " -"options will be used (the one with the lowest order number)" -msgstr "" -"إذا ظهرت مجموعات حقول متعددة في شاشة التعديل، فسيتم استخدام خيارات المجموعة " -"الأولى (تلك التي تحتوي على أقل رقم ترتيب)" +msgid "If multiple field groups appear on an edit screen, the first field group's options will be used (the one with the lowest order number)" +msgstr "إذا ظهرت مجموعات حقول متعددة في شاشة التحرير. سيتم استخدام خيارات المجموعة الأولى (تلك التي تحتوي على أقل رقم ترتيب)" #: includes/admin/views/field-group-options.php:115 msgid "Permalink" @@ -726,7 +662,7 @@ msgstr "الرابط الدائم" #: includes/admin/views/field-group-options.php:116 msgid "Content Editor" -msgstr "محرر النصوص" +msgstr "محرر المحتوى" #: includes/admin/views/field-group-options.php:117 msgid "Excerpt" @@ -760,8 +696,7 @@ msgstr "الشكل" msgid "Page Attributes" msgstr "سمات الصفحة" -#: includes/admin/views/field-group-options.php:126 -#: includes/fields/class-acf-field-relationship.php:751 +#: includes/admin/views/field-group-options.php:126 includes/fields/class-acf-field-relationship.php:751 msgid "Featured Image" msgstr "صورة بارزة" @@ -785,22 +720,16 @@ msgstr "إظهار هذه المجموعة إذا" msgid "Upgrade Sites" msgstr "ترقية المواقع" -#: includes/admin/views/install-network.php:9 -#: includes/admin/views/install.php:3 +#: includes/admin/views/install-network.php:9 includes/admin/views/install.php:3 msgid "Advanced Custom Fields Database Upgrade" msgstr "الحقول المخصصة المتقدمة: ترقية قاعدة البيانات" #: includes/admin/views/install-network.php:11 #, php-format -msgid "" -"The following sites require a DB upgrade. Check the ones you want to update " -"and then click %s." -msgstr "" -"تتطلب المواقع التالية ترقية قاعدة البيانات. تحقق من تلك التي تحتاج إلى " -"ترقيتها ومن ثم انقر على %s." +msgid "The following sites require a DB upgrade. Check the ones you want to update and then click %s." +msgstr "تتطلب المواقع التالية ترقية قاعدة البيانات. تحقق من تلك التي تحتاج إلى ترقيتها ومن ثم انقر على %s." -#: includes/admin/views/install-network.php:20 -#: includes/admin/views/install-network.php:28 +#: includes/admin/views/install-network.php:20 includes/admin/views/install-network.php:28 msgid "Site" msgstr "الموقع" @@ -815,47 +744,35 @@ msgstr "الموقع محدث" #: includes/admin/views/install-network.php:63 #, php-format -msgid "" -"Database Upgrade complete. Return to network dashboard" -msgstr "" -"تمت ترقية قاعدة البيانات. العودة إلى لوحة معلومات الشبكة" +msgid "Database Upgrade complete. Return to network dashboard" +msgstr "تمت ترقية قاعدة البيانات. العودة إلى لوحة معلومات الشبكة" -#: includes/admin/views/install-network.php:102 -#: includes/admin/views/install-notice.php:42 -msgid "" -"It is strongly recommended that you backup your database before proceeding. " -"Are you sure you wish to run the updater now?" -msgstr "" -"يوصى بشدة أن تقوم بأخذ نسخة احتياطية من قاعدة البيانات قبل المتابعة. هل أنت " -"متأكد أنك ترغب في تشغيل التحديث الآن؟" +#: includes/admin/views/install-network.php:102 includes/admin/views/install-notice.php:42 +msgid "It is strongly recommended that you backup your database before proceeding. Are you sure you wish to run the updater now?" +msgstr "يوصى بشدة أن تقوم بأخذ نسخة احتياطية من قاعدة البيانات قبل المتابعة. هل أنت متأكد أنك ترغب في تشغيل التحديث الآن؟" #: includes/admin/views/install-network.php:158 msgid "Upgrade complete" msgstr "اكتملت عملية الترقية" -#: includes/admin/views/install-network.php:162 -#: includes/admin/views/install.php:9 +#: includes/admin/views/install-network.php:162 includes/admin/views/install.php:9 #, php-format msgid "Upgrading data to version %s" msgstr "ترقية البيانات إلى الإصدار %s" -#: includes/admin/views/install-notice.php:8 -#: pro/fields/class-acf-field-repeater.php:36 +#: includes/admin/views/install-notice.php:8 pro/fields/class-acf-field-repeater.php:36 msgid "Repeater" msgstr "المكرر" -#: includes/admin/views/install-notice.php:9 -#: pro/fields/class-acf-field-flexible-content.php:36 +#: includes/admin/views/install-notice.php:9 pro/fields/class-acf-field-flexible-content.php:36 msgid "Flexible Content" msgstr "المحتوى المرن" -#: includes/admin/views/install-notice.php:10 -#: pro/fields/class-acf-field-gallery.php:36 +#: includes/admin/views/install-notice.php:10 pro/fields/class-acf-field-gallery.php:36 msgid "Gallery" msgstr "الالبوم" -#: includes/admin/views/install-notice.php:11 -#: pro/locations/class-acf-location-options-page.php:13 +#: includes/admin/views/install-notice.php:11 pro/locations/class-acf-location-options-page.php:13 msgid "Options Page" msgstr "خيارات الصفحة" @@ -869,18 +786,12 @@ msgid "Thank you for updating to %s v%s!" msgstr "شكرا لك على تحديث %s إلى الإصدار %s!" #: includes/admin/views/install-notice.php:28 -msgid "" -"Before you start using the new awesome features, please update your database " -"to the newest version." -msgstr "" -"قبل البدء باستخدام الميزات الجديدة، الرجاء تحديث قاعدة البيانات الخاصة بك " -"إلى الإصدار الأحدث." +msgid "Before you start using the new awesome features, please update your database to the newest version." +msgstr "قبل البدء باستخدام الميزات الجديدة، الرجاء تحديث قاعدة البيانات الخاصة بك إلى الإصدار الأحدث." #: includes/admin/views/install-notice.php:31 #, php-format -msgid "" -"Please also ensure any premium add-ons (%s) have first been updated to the " -"latest version." +msgid "Please also ensure any premium add-ons (%s) have first been updated to the latest version." msgstr "يرجى أيضا التأكد من تحديث أي إضافات مدفوعة (%s) أولا إلى أحدث إصدار." #: includes/admin/views/install.php:7 @@ -906,96 +817,69 @@ msgstr "مرحبا بك في الحقول المخصصة المتقدمة" #: includes/admin/views/settings-info.php:4 #, php-format -msgid "" -"Thank you for updating! ACF %s is bigger and better than ever before. We " -"hope you like it." -msgstr "" -"شكرا لك للتحديث! ACF %s أكبر وأفضل من أي وقت مضى. نحن نأمل لك أنت تكون كذلك." +msgid "Thank you for updating! ACF %s is bigger and better than ever before. We hope you like it." +msgstr "شكرا لك للتحديث! ACF %s أكبر وأفضل من أي وقت مضى. نحن نأمل لك أنت تكون كذلك." #: includes/admin/views/settings-info.php:17 msgid "A smoother custom field experience" -msgstr "تجربة حقول مخصصة أكثر سلاسة" +msgstr "حقول مخصصة أكثر سلاسة" #: includes/admin/views/settings-info.php:22 msgid "Improved Usability" msgstr "تحسين قابلية الاستخدام" #: includes/admin/views/settings-info.php:23 -msgid "" -"Including the popular Select2 library has improved both usability and speed " -"across a number of field types including post object, page link, taxonomy " -"and select." -msgstr "" -"دمج مكتبة Select2 حسن قابلية الاستخدام والسرعة عبر عدد من أنواع الحقول بما " -"في ذلك موضوع المنشور، رابط الصفحة، التصنيف والتحديد" +msgid "Including the popular Select2 library has improved both usability and speed across a number of field types including post object, page link, taxonomy and select." +msgstr "دمج مكتبة Select2 حسن قابلية الاستخدام والسرعة عبر عدد من أنواع الحقول بما في ذلك موضوع المنشور، رابط الصفحة، التصنيف والتحديد" #: includes/admin/views/settings-info.php:27 msgid "Improved Design" -msgstr "تحسين تصميم" +msgstr "تصميم محسّن" #: includes/admin/views/settings-info.php:28 -msgid "" -"Many fields have undergone a visual refresh to make ACF look better than " -"ever! Noticeable changes are seen on the gallery, relationship and oEmbed " -"(new) fields!" -msgstr "" -"شهدت العديد من الحقول بتحديث visual جعل ACF تبدو أفضل من أي وقت مضى! وتعتبر " -"تغييرات ملحوظة في معرض، والعلاقة وحقول oEmbed (جديد)!" +msgid "Many fields have undergone a visual refresh to make ACF look better than ever! Noticeable changes are seen on the gallery, relationship and oEmbed (new) fields!" +msgstr "شهدت العديد من الحقول تحديث مرئي جعل ACF تبدو أفضل من أي وقت مضى! تلاحظ التغييرات في المعرض، العلاقة وحقول oEmbed (جديد)!" #: includes/admin/views/settings-info.php:32 msgid "Improved Data" -msgstr "تحسين البيانات" +msgstr "بيانات محسّنة" #: includes/admin/views/settings-info.php:33 -msgid "" -"Redesigning the data architecture has allowed sub fields to live " -"independently from their parents. This allows you to drag and drop fields in " -"and out of parent fields!" -msgstr "" -"إعادة تصميم هيكل البيانات سمحت الحقول الفرعية للعيش بشكل مستقل عن والديهم. " -"هذا يسمح لك لسحب وإسقاط المجالات داخل وخارج حقول الأم!" +msgid "Redesigning the data architecture has allowed sub fields to live independently from their parents. This allows you to drag and drop fields in and out of parent fields!" +msgstr "إعادة تصميم هيكل البيانات سمحت للحقول الفرعية للعمل بشكل مستقل عن الحقول الأصلية. هذا يسمح لك بسحب وافلات الحقول داخل وخارج الحقول الأصلية!" #: includes/admin/views/settings-info.php:39 msgid "Goodbye Add-ons. Hello PRO" -msgstr "وداعا الوظائف الإضافية. مرحبا برو" +msgstr "وداعا للوظائف الإضافية. مرحبا برو" #: includes/admin/views/settings-info.php:44 msgid "Introducing ACF PRO" -msgstr "إدخال ACF برو" +msgstr "نقدم ACF برو" #: includes/admin/views/settings-info.php:45 -msgid "" -"We're changing the way premium functionality is delivered in an exciting way!" -msgstr "نحن تغيير الطريقة التي يتم تسليم قسط وظيفة بطريقة مثيرة!" +msgid "We're changing the way premium functionality is delivered in an exciting way!" +msgstr "نحن تغيير طريقة الوظائف المتميزة بشكل مثير!" #: includes/admin/views/settings-info.php:46 #, php-format msgid "" -"All 4 premium add-ons have been combined into a new Pro " -"version of ACF. With both personal and developer licenses available, " -"premium functionality is more affordable and accessible than ever before!" +"All 4 premium add-ons have been combined into a new Pro version of ACF. With both personal and developer licenses available, premium functionality is more affordable and " +"accessible than ever before!" msgstr "" -"وقد تم دمج كل قسط 4 إضافات في جديد الإصدار Pro لمكافحة التزييف. مع التراخيص الشخصية والمطور المتوفرة، وظيفة قسط أكثر يسرا وسهولة من أي " -"وقت مضى!" +"تم دمج الإضافات المدفوعة الأربعة في النسخة الإحترافية من ACF. مع توفير رخص شخصية واخرى للمطورين، لتصبح الوظائف المميزة بأسعار معقولة ويمكن الوصول إليها أكثر من أي وقت مضى!" #: includes/admin/views/settings-info.php:50 msgid "Powerful Features" msgstr "ميزات قوية" #: includes/admin/views/settings-info.php:51 -msgid "" -"ACF PRO contains powerful features such as repeatable data, flexible content " -"layouts, a beautiful gallery field and the ability to create extra admin " -"options pages!" -msgstr "" -"ACF برو يحتوي على ميزات قوية مثل البيانات قابل للتكرار وتخطيطات المحتوى " -"مرنة، وحقل معرض جميلة والقدرة على إنشاء صفحات خيارات مشرف إضافي!" +msgid "ACF PRO contains powerful features such as repeatable data, flexible content layouts, a beautiful gallery field and the ability to create extra admin options pages!" +msgstr "يحتوي ACF PRO على ميزات قوية مثل البيانات القابلة للتكرار، والمحتوى المرن، وحقل المعرض الجميل والقدرة على إنشاء صفحات خيارات إضافية للمشرفين!" #: includes/admin/views/settings-info.php:52 #, php-format msgid "Read more about ACF PRO features." -msgstr "اقرأ المزيد حول ميزات “مكافحة التزييف للمحترفين”." +msgstr "اقرأ المزيد حول ميزات ACF PRO." #: includes/admin/views/settings-info.php:56 msgid "Easy Upgrading" @@ -1003,23 +887,13 @@ msgstr "ترقية سهلة" #: includes/admin/views/settings-info.php:57 #, php-format -msgid "" -"To help make upgrading easy, login to your store account " -"and claim a free copy of ACF PRO!" -msgstr "" -"للمساعدة في جعل الترقية سهلة، تسجيل الدخول إلى حسابك في المتجر والمطالبة بنسخة مجانية من المحترفين ACF!" +msgid "To help make upgrading easy, login to your store account and claim a free copy of ACF PRO!" +msgstr "للمساعدة في جعل الترقية سهلة، سجل الدخول إلى حسابك في المتجر واحصل على نسخة مجانية من ACF PRO!" #: includes/admin/views/settings-info.php:58 #, php-format -msgid "" -"We also wrote an upgrade guide to answer any questions, " -"but if you do have one, please contact our support team via the help desk" -msgstr "" -"نحن كتب أيضا تحديث دليل الرد على أية أسئلة، ولكن إذا كان " -"لديك واحدة، الرجاء الاتصال بفريق الدعم الخاص بنا عن طريق مكتب " -"المساعدة" +msgid "We also wrote an upgrade guide to answer any questions, but if you do have one, please contact our support team via the help desk" +msgstr "نحن كتبنا أيضا دليل للتحديث للرد على أية أسئلة، ولكن إذا كان إذا كان لديك اي سؤال، الرجاء الاتصال بفريق الدعم الخاص بنا عن طريق مكتب المساعدة" #: includes/admin/views/settings-info.php:66 msgid "Under the Hood" @@ -1027,38 +901,35 @@ msgstr "تحت الغطاء" #: includes/admin/views/settings-info.php:71 msgid "Smarter field settings" -msgstr "إعدادات الحقل أكثر ذكاء" +msgstr "إعدادات حقول أكثر ذكاء" #: includes/admin/views/settings-info.php:72 msgid "ACF now saves its field settings as individual post objects" -msgstr "ACF الآن يحفظ إعدادات الحقل به الفرد وظيفة الكائنات" +msgstr "ACF الآن يحفظ إعدادات الحقول كـ post object منفصل" #: includes/admin/views/settings-info.php:76 msgid "More AJAX" -msgstr "أياكس أكثر" +msgstr "اجاكس أكثر" #: includes/admin/views/settings-info.php:77 msgid "More fields use AJAX powered search to speed up page loading" -msgstr "استخدام أكثر من حقول البحث أجاكس بالطاقة لتسريع تحميل الصفحة" +msgstr "حقول اكثر تستخدم بحث أجاكس لتسريع تحميل الصفحة" #: includes/admin/views/settings-info.php:81 msgid "Local JSON" -msgstr "JSON المحلية" +msgstr "JSON محلي" #: includes/admin/views/settings-info.php:82 msgid "New auto export to JSON feature improves speed" -msgstr "تصدير السيارات الجديدة إلى ميزة JSON يحسن سرعة" +msgstr "تصدير اتوماتيكي الى JSON يحسن السرعة" #: includes/admin/views/settings-info.php:88 msgid "Better version control" -msgstr "أفضل إصدار عنصر التحكم" +msgstr "تحكم أفضل في الإصدارات" #: includes/admin/views/settings-info.php:89 -msgid "" -"New auto export to JSON feature allows field settings to be version " -"controlled" -msgstr "" -"تصدير السيارات الجديدة إلى ميزة JSON تسمح إعدادات الحقل أن يكون المتحكم" +msgid "New auto export to JSON feature allows field settings to be version controlled" +msgstr "تصدير السيارات الجديدة إلى ميزة JSON تسمح إعدادات الحقل أن يكون المتحكم" #: includes/admin/views/settings-info.php:93 msgid "Swapped XML for JSON" @@ -1093,9 +964,7 @@ msgid "New Settings" msgstr "إعدادات جديدة" #: includes/admin/views/settings-info.php:116 -msgid "" -"Field group settings have been added for label placement and instruction " -"placement" +msgid "Field group settings have been added for label placement and instruction placement" msgstr "تم إضافة إعدادات مجموعة الحقل موضع التسمية ووضع التعليمات" #: includes/admin/views/settings-info.php:122 @@ -1119,23 +988,18 @@ msgid "Relationship Field" msgstr "حقل العلاقة" #: includes/admin/views/settings-info.php:133 -msgid "" -"New Relationship field setting for 'Filters' (Search, Post Type, Taxonomy)" -msgstr "" -"إعداد الحقل العلاقة الجديدة عن 'فلاتر' (البحث، \"نوع الوظيفة\"، التصنيف)" +msgid "New Relationship field setting for 'Filters' (Search, Post Type, Taxonomy)" +msgstr "إعداد الحقل العلاقة الجديدة عن 'فلاتر' (البحث، \"نوع الوظيفة\"، التصنيف)" #: includes/admin/views/settings-info.php:139 msgid "Moving Fields" msgstr "نقل الحقول" #: includes/admin/views/settings-info.php:140 -msgid "" -"New field group functionality allows you to move a field between groups & " -"parents" +msgid "New field group functionality allows you to move a field between groups & parents" msgstr "وظائف جديدة في مجموعة حقل يسمح لك بنقل حقل بين المجموعات & الآباء" -#: includes/admin/views/settings-info.php:144 -#: includes/fields/class-acf-field-page_link.php:36 +#: includes/admin/views/settings-info.php:144 includes/fields/class-acf-field-page_link.php:36 msgid "Page Link" msgstr "رابط الصفحة" @@ -1148,9 +1012,7 @@ msgid "Better Options Pages" msgstr "أفضل خيارات صفحات" #: includes/admin/views/settings-info.php:150 -msgid "" -"New functions for options page allow creation of both parent and child menu " -"pages" +msgid "New functions for options page allow creation of both parent and child menu pages" msgstr "مهام جديدة لصفحة خيارات تسمح بإنشاء كل من الأم والطفل صفحات القائمة" #: includes/admin/views/settings-info.php:159 @@ -1164,17 +1026,11 @@ msgstr "تصدير حقل المجموعات" #: includes/admin/views/settings-tools-export.php:27 msgid "" -"The following code can be used to register a local version of the selected " -"field group(s). A local field group can provide many benefits such as faster " -"load times, version control & dynamic fields/settings. Simply copy and paste " -"the following code to your theme's functions.php file or include it within " -"an external file." +"The following code can be used to register a local version of the selected field group(s). A local field group can provide many benefits such as faster load times, version control & dynamic " +"fields/settings. Simply copy and paste the following code to your theme's functions.php file or include it within an external file." msgstr "" -"يمكن استخدام التعليمات البرمجية التالية لتسجيل نسخة محلية من الأفرقة " -"الميدانية المحددة. مجموعة مجال محلية يمكن أن توفر العديد من المزايا مثل " -"أوقات تحميل أسرع، والتحكم في الإصدار & الحقول/إعدادات الحيوي. ببساطة نسخ " -"ولصق التعليمة البرمجية التالية إلى ملف functions.php الموضوع الخاص بك أو " -"إدراجه ضمن ملف خارجي." +"يمكن استخدام التعليمات البرمجية التالية لتسجيل نسخة محلية من الأفرقة الميدانية المحددة. مجموعة مجال محلية يمكن أن توفر العديد من المزايا مثل أوقات تحميل أسرع، والتحكم في الإصدار & الحقول/" +"إعدادات الحيوي. ببساطة نسخ ولصق التعليمة البرمجية التالية إلى ملف functions.php الموضوع الخاص بك أو إدراجه ضمن ملف خارجي." #: includes/admin/views/settings-tools.php:5 msgid "Select Field Groups" @@ -1186,15 +1042,11 @@ msgstr "تصدير حقل المجموعات" #: includes/admin/views/settings-tools.php:38 msgid "" -"Select the field groups you would like to export and then select your export " -"method. Use the download button to export to a .json file which you can then " -"import to another ACF installation. Use the generate button to export to PHP " -"code which you can place in your theme." +"Select the field groups you would like to export and then select your export method. Use the download button to export to a .json file which you can then import to another ACF installation. " +"Use the generate button to export to PHP code which you can place in your theme." msgstr "" -"حدد مجموعات الحقول التي ترغب في تصدير ومن ثم حدد طريقة التصدير الخاصة بك. " -"استخدام زر التحميل للتصدير إلى ملف.json الذي يمكنك ثم استيراد إلى تثبيت ACF " -"آخر. استخدم الزر إنشاء للتصدير لرمز بي إتش بي التي يمكنك وضع في الموضوع " -"الخاص بك." +"حدد مجموعات الحقول التي ترغب في تصدير ومن ثم حدد طريقة التصدير الخاصة بك. استخدام زر التحميل للتصدير إلى ملف.json الذي يمكنك ثم استيراد إلى تثبيت ACF آخر. استخدم الزر إنشاء للتصدير لرمز بي " +"إتش بي التي يمكنك وضع في الموضوع الخاص بك." #: includes/admin/views/settings-tools.php:50 msgid "Download export file" @@ -1209,15 +1061,10 @@ msgid "Import Field Groups" msgstr "استيراد حقل المجموعات" #: includes/admin/views/settings-tools.php:67 -msgid "" -"Select the Advanced Custom Fields JSON file you would like to import. When " -"you click the import button below, ACF will import the field groups." -msgstr "" -"حدد ملف متقدمة JSON حقول مخصصة ترغب في استيراد. عند النقر فوق الزر “استيراد” " -"أدناه، سيتم استيراد ACF الأفرقة الميدانية." +msgid "Select the Advanced Custom Fields JSON file you would like to import. When you click the import button below, ACF will import the field groups." +msgstr "حدد ملف متقدمة JSON حقول مخصصة ترغب في استيراد. عند النقر فوق الزر “استيراد” أدناه، سيتم استيراد ACF الأفرقة الميدانية." -#: includes/admin/views/settings-tools.php:77 -#: includes/fields/class-acf-field-file.php:46 +#: includes/admin/views/settings-tools.php:77 includes/fields/class-acf-field-file.php:46 msgid "Select File" msgstr "إختر ملف" @@ -1241,15 +1088,11 @@ msgstr "كبير" msgid "Full Size" msgstr "العرض الكامل" -#: includes/api/api-helpers.php:1248 includes/api/api-helpers.php:1837 -#: pro/fields/class-acf-field-clone.php:1042 +#: includes/api/api-helpers.php:1248 includes/api/api-helpers.php:1837 pro/fields/class-acf-field-clone.php:1042 msgid "(no title)" msgstr "(بدون عنوان)" -#: includes/api/api-helpers.php:1874 -#: includes/fields/class-acf-field-page_link.php:284 -#: includes/fields/class-acf-field-post_object.php:283 -#: includes/fields/class-acf-field-taxonomy.php:992 +#: includes/api/api-helpers.php:1874 includes/fields/class-acf-field-page_link.php:284 includes/fields/class-acf-field-post_object.php:283 includes/fields/class-acf-field-taxonomy.php:992 #, fuzzy msgid "Parent" msgstr "أعلى مستوى الصفحة (أعلى مستوى)" @@ -1309,13 +1152,8 @@ msgstr "علائقي" msgid "jQuery" msgstr "جي كويري" -#: includes/fields.php:149 includes/fields/class-acf-field-checkbox.php:286 -#: includes/fields/class-acf-field-group.php:485 -#: includes/fields/class-acf-field-radio.php:300 -#: pro/fields/class-acf-field-clone.php:889 -#: pro/fields/class-acf-field-flexible-content.php:569 -#: pro/fields/class-acf-field-flexible-content.php:618 -#: pro/fields/class-acf-field-repeater.php:514 +#: includes/fields.php:149 includes/fields/class-acf-field-checkbox.php:286 includes/fields/class-acf-field-group.php:485 includes/fields/class-acf-field-radio.php:300 +#: pro/fields/class-acf-field-clone.php:889 pro/fields/class-acf-field-flexible-content.php:569 pro/fields/class-acf-field-flexible-content.php:618 pro/fields/class-acf-field-repeater.php:514 msgid "Layout" msgstr "المخطط" @@ -1327,8 +1165,7 @@ msgstr "نوع حقل غير موجود" msgid "Unknown" msgstr "" -#: includes/fields/class-acf-field-checkbox.php:36 -#: includes/fields/class-acf-field-taxonomy.php:786 +#: includes/fields/class-acf-field-checkbox.php:36 includes/fields/class-acf-field-taxonomy.php:786 msgid "Checkbox" msgstr "خانة المربع" @@ -1341,27 +1178,19 @@ msgstr "تبديل جميع" msgid "Add new choice" msgstr "إضافة حقل جديد" -#: includes/fields/class-acf-field-checkbox.php:246 -#: includes/fields/class-acf-field-radio.php:250 -#: includes/fields/class-acf-field-select.php:466 +#: includes/fields/class-acf-field-checkbox.php:246 includes/fields/class-acf-field-radio.php:250 includes/fields/class-acf-field-select.php:466 msgid "Choices" msgstr "خيارات" -#: includes/fields/class-acf-field-checkbox.php:247 -#: includes/fields/class-acf-field-radio.php:251 -#: includes/fields/class-acf-field-select.php:467 +#: includes/fields/class-acf-field-checkbox.php:247 includes/fields/class-acf-field-radio.php:251 includes/fields/class-acf-field-select.php:467 msgid "Enter each choice on a new line." msgstr "أدخل كل خيار في سطر جديد." -#: includes/fields/class-acf-field-checkbox.php:247 -#: includes/fields/class-acf-field-radio.php:251 -#: includes/fields/class-acf-field-select.php:467 +#: includes/fields/class-acf-field-checkbox.php:247 includes/fields/class-acf-field-radio.php:251 includes/fields/class-acf-field-select.php:467 msgid "For more control, you may specify both a value and label like this:" msgstr "لمزيد من التحكم، يمكنك تحديد كل من قيمة وتسمية مثل هذا:" -#: includes/fields/class-acf-field-checkbox.php:247 -#: includes/fields/class-acf-field-radio.php:251 -#: includes/fields/class-acf-field-select.php:467 +#: includes/fields/class-acf-field-checkbox.php:247 includes/fields/class-acf-field-radio.php:251 includes/fields/class-acf-field-select.php:467 msgid "red : Red" msgstr ">>أحمر >>أحمر" @@ -1384,32 +1213,22 @@ msgstr "نقل الحقل مخصص" msgid "Save 'custom' values to the field's choices" msgstr "حفظ قيم 'أخرى' للخيارات للحقل" -#: includes/fields/class-acf-field-checkbox.php:277 -#: includes/fields/class-acf-field-color_picker.php:146 -#: includes/fields/class-acf-field-email.php:133 -#: includes/fields/class-acf-field-number.php:145 -#: includes/fields/class-acf-field-radio.php:291 -#: includes/fields/class-acf-field-select.php:475 -#: includes/fields/class-acf-field-text.php:142 -#: includes/fields/class-acf-field-textarea.php:139 -#: includes/fields/class-acf-field-true_false.php:150 -#: includes/fields/class-acf-field-url.php:114 +#: includes/fields/class-acf-field-checkbox.php:277 includes/fields/class-acf-field-color_picker.php:146 includes/fields/class-acf-field-email.php:133 +#: includes/fields/class-acf-field-number.php:145 includes/fields/class-acf-field-radio.php:291 includes/fields/class-acf-field-select.php:475 includes/fields/class-acf-field-text.php:142 +#: includes/fields/class-acf-field-textarea.php:139 includes/fields/class-acf-field-true_false.php:150 includes/fields/class-acf-field-url.php:114 #: includes/fields/class-acf-field-wysiwyg.php:436 msgid "Default Value" msgstr "قيمة إفتراضية" -#: includes/fields/class-acf-field-checkbox.php:278 -#: includes/fields/class-acf-field-select.php:476 +#: includes/fields/class-acf-field-checkbox.php:278 includes/fields/class-acf-field-select.php:476 msgid "Enter each default value on a new line" msgstr "قم بإدخال كل قيمة افتراضية في سطر جديد" -#: includes/fields/class-acf-field-checkbox.php:292 -#: includes/fields/class-acf-field-radio.php:306 +#: includes/fields/class-acf-field-checkbox.php:292 includes/fields/class-acf-field-radio.php:306 msgid "Vertical" msgstr "عمودي" -#: includes/fields/class-acf-field-checkbox.php:293 -#: includes/fields/class-acf-field-radio.php:307 +#: includes/fields/class-acf-field-checkbox.php:293 includes/fields/class-acf-field-radio.php:307 msgid "Horizontal" msgstr "أفقي" @@ -1421,33 +1240,22 @@ msgstr "تبديل" msgid "Prepend an extra checkbox to toggle all choices" msgstr "إلحاق مسبق خانة اختيار إضافية لتبديل جميع الخيارات" -#: includes/fields/class-acf-field-checkbox.php:310 -#: includes/fields/class-acf-field-file.php:219 -#: includes/fields/class-acf-field-image.php:206 -#: includes/fields/class-acf-field-link.php:180 -#: includes/fields/class-acf-field-radio.php:314 -#: includes/fields/class-acf-field-taxonomy.php:839 +#: includes/fields/class-acf-field-checkbox.php:310 includes/fields/class-acf-field-file.php:219 includes/fields/class-acf-field-image.php:206 includes/fields/class-acf-field-link.php:180 +#: includes/fields/class-acf-field-radio.php:314 includes/fields/class-acf-field-taxonomy.php:839 msgid "Return Value" msgstr "القيمة المرجعة" -#: includes/fields/class-acf-field-checkbox.php:311 -#: includes/fields/class-acf-field-file.php:220 -#: includes/fields/class-acf-field-image.php:207 -#: includes/fields/class-acf-field-link.php:181 +#: includes/fields/class-acf-field-checkbox.php:311 includes/fields/class-acf-field-file.php:220 includes/fields/class-acf-field-image.php:207 includes/fields/class-acf-field-link.php:181 #: includes/fields/class-acf-field-radio.php:315 msgid "Specify the returned value on front end" msgstr "حدد القيمة التي تم إرجاعها في النهاية الأمامية" -#: includes/fields/class-acf-field-checkbox.php:316 -#: includes/fields/class-acf-field-radio.php:320 -#: includes/fields/class-acf-field-select.php:529 +#: includes/fields/class-acf-field-checkbox.php:316 includes/fields/class-acf-field-radio.php:320 includes/fields/class-acf-field-select.php:529 #, fuzzy msgid "Value" msgstr "%s القيمة مطلوبة" -#: includes/fields/class-acf-field-checkbox.php:318 -#: includes/fields/class-acf-field-radio.php:322 -#: includes/fields/class-acf-field-select.php:531 +#: includes/fields/class-acf-field-checkbox.php:318 includes/fields/class-acf-field-radio.php:322 includes/fields/class-acf-field-select.php:531 msgid "Both (Array)" msgstr "" @@ -1502,25 +1310,17 @@ msgctxt "Date Picker JS weekHeader" msgid "Wk" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:223 -#: includes/fields/class-acf-field-date_time_picker.php:197 -#: includes/fields/class-acf-field-time_picker.php:127 +#: includes/fields/class-acf-field-date_picker.php:223 includes/fields/class-acf-field-date_time_picker.php:197 includes/fields/class-acf-field-time_picker.php:127 #, fuzzy msgid "Display Format" msgstr "تنسيق العرض" -#: includes/fields/class-acf-field-date_picker.php:224 -#: includes/fields/class-acf-field-date_time_picker.php:198 -#: includes/fields/class-acf-field-time_picker.php:128 +#: includes/fields/class-acf-field-date_picker.php:224 includes/fields/class-acf-field-date_time_picker.php:198 includes/fields/class-acf-field-time_picker.php:128 msgid "The format displayed when editing a post" msgstr "تنسيق عرض عند تحرير وظيفة" -#: includes/fields/class-acf-field-date_picker.php:232 -#: includes/fields/class-acf-field-date_picker.php:263 -#: includes/fields/class-acf-field-date_time_picker.php:207 -#: includes/fields/class-acf-field-date_time_picker.php:224 -#: includes/fields/class-acf-field-time_picker.php:135 -#: includes/fields/class-acf-field-time_picker.php:150 +#: includes/fields/class-acf-field-date_picker.php:232 includes/fields/class-acf-field-date_picker.php:263 includes/fields/class-acf-field-date_time_picker.php:207 +#: includes/fields/class-acf-field-date_time_picker.php:224 includes/fields/class-acf-field-time_picker.php:135 includes/fields/class-acf-field-time_picker.php:150 #, fuzzy msgid "Custom:" msgstr "الحقول المخصصة المتقدم" @@ -1535,23 +1335,16 @@ msgstr "شكل" msgid "The format used when saving a value" msgstr "تنسيق عرض عند تحرير وظيفة" -#: includes/fields/class-acf-field-date_picker.php:253 -#: includes/fields/class-acf-field-date_time_picker.php:214 -#: includes/fields/class-acf-field-post_object.php:447 -#: includes/fields/class-acf-field-relationship.php:778 -#: includes/fields/class-acf-field-select.php:524 -#: includes/fields/class-acf-field-time_picker.php:142 +#: includes/fields/class-acf-field-date_picker.php:253 includes/fields/class-acf-field-date_time_picker.php:214 includes/fields/class-acf-field-post_object.php:447 +#: includes/fields/class-acf-field-relationship.php:778 includes/fields/class-acf-field-select.php:524 includes/fields/class-acf-field-time_picker.php:142 msgid "Return Format" msgstr "إعادة تنسيق" -#: includes/fields/class-acf-field-date_picker.php:254 -#: includes/fields/class-acf-field-date_time_picker.php:215 -#: includes/fields/class-acf-field-time_picker.php:143 +#: includes/fields/class-acf-field-date_picker.php:254 includes/fields/class-acf-field-date_time_picker.php:215 includes/fields/class-acf-field-time_picker.php:143 msgid "The format returned via template functions" msgstr "تنسيق عاد عبر دالات القالب" -#: includes/fields/class-acf-field-date_picker.php:272 -#: includes/fields/class-acf-field-date_time_picker.php:231 +#: includes/fields/class-acf-field-date_picker.php:272 includes/fields/class-acf-field-date_time_picker.php:231 msgid "Week Starts On" msgstr "يبدأ الأسبوع في" @@ -1640,59 +1433,34 @@ msgstr "م" msgid "Email" msgstr "البريد الإلكتروني" -#: includes/fields/class-acf-field-email.php:134 -#: includes/fields/class-acf-field-number.php:146 -#: includes/fields/class-acf-field-radio.php:292 -#: includes/fields/class-acf-field-text.php:143 -#: includes/fields/class-acf-field-textarea.php:140 -#: includes/fields/class-acf-field-url.php:115 -#: includes/fields/class-acf-field-wysiwyg.php:437 +#: includes/fields/class-acf-field-email.php:134 includes/fields/class-acf-field-number.php:146 includes/fields/class-acf-field-radio.php:292 includes/fields/class-acf-field-text.php:143 +#: includes/fields/class-acf-field-textarea.php:140 includes/fields/class-acf-field-url.php:115 includes/fields/class-acf-field-wysiwyg.php:437 msgid "Appears when creating a new post" msgstr "يظهر عند إنشاء مقالة جديدة" -#: includes/fields/class-acf-field-email.php:142 -#: includes/fields/class-acf-field-number.php:154 -#: includes/fields/class-acf-field-password.php:134 -#: includes/fields/class-acf-field-text.php:151 -#: includes/fields/class-acf-field-textarea.php:148 -#: includes/fields/class-acf-field-url.php:123 +#: includes/fields/class-acf-field-email.php:142 includes/fields/class-acf-field-number.php:154 includes/fields/class-acf-field-password.php:134 includes/fields/class-acf-field-text.php:151 +#: includes/fields/class-acf-field-textarea.php:148 includes/fields/class-acf-field-url.php:123 msgid "Placeholder Text" msgstr "نص الـ placeholder" -#: includes/fields/class-acf-field-email.php:143 -#: includes/fields/class-acf-field-number.php:155 -#: includes/fields/class-acf-field-password.php:135 -#: includes/fields/class-acf-field-text.php:152 -#: includes/fields/class-acf-field-textarea.php:149 -#: includes/fields/class-acf-field-url.php:124 +#: includes/fields/class-acf-field-email.php:143 includes/fields/class-acf-field-number.php:155 includes/fields/class-acf-field-password.php:135 includes/fields/class-acf-field-text.php:152 +#: includes/fields/class-acf-field-textarea.php:149 includes/fields/class-acf-field-url.php:124 msgid "Appears within the input" msgstr "سيظهر داخل مربع الإدخال." -#: includes/fields/class-acf-field-email.php:151 -#: includes/fields/class-acf-field-number.php:163 -#: includes/fields/class-acf-field-password.php:143 -#: includes/fields/class-acf-field-text.php:160 +#: includes/fields/class-acf-field-email.php:151 includes/fields/class-acf-field-number.php:163 includes/fields/class-acf-field-password.php:143 includes/fields/class-acf-field-text.php:160 msgid "Prepend" msgstr "Prepend" -#: includes/fields/class-acf-field-email.php:152 -#: includes/fields/class-acf-field-number.php:164 -#: includes/fields/class-acf-field-password.php:144 -#: includes/fields/class-acf-field-text.php:161 +#: includes/fields/class-acf-field-email.php:152 includes/fields/class-acf-field-number.php:164 includes/fields/class-acf-field-password.php:144 includes/fields/class-acf-field-text.php:161 msgid "Appears before the input" msgstr "يظهر قبل الإدخال" -#: includes/fields/class-acf-field-email.php:160 -#: includes/fields/class-acf-field-number.php:172 -#: includes/fields/class-acf-field-password.php:152 -#: includes/fields/class-acf-field-text.php:169 +#: includes/fields/class-acf-field-email.php:160 includes/fields/class-acf-field-number.php:172 includes/fields/class-acf-field-password.php:152 includes/fields/class-acf-field-text.php:169 msgid "Append" msgstr "إلحاق" -#: includes/fields/class-acf-field-email.php:161 -#: includes/fields/class-acf-field-number.php:173 -#: includes/fields/class-acf-field-password.php:153 -#: includes/fields/class-acf-field-text.php:170 +#: includes/fields/class-acf-field-email.php:161 includes/fields/class-acf-field-number.php:173 includes/fields/class-acf-field-password.php:153 includes/fields/class-acf-field-text.php:170 msgid "Appears after the input" msgstr "يظهر بعد إدخال" @@ -1708,9 +1476,7 @@ msgstr "تعديل الملف" msgid "Update File" msgstr "تحديث ملف" -#: includes/fields/class-acf-field-file.php:49 -#: includes/fields/class-acf-field-image.php:54 includes/media.php:57 -#: pro/fields/class-acf-field-gallery.php:55 +#: includes/fields/class-acf-field-file.php:49 includes/fields/class-acf-field-image.php:54 includes/media.php:57 pro/fields/class-acf-field-gallery.php:55 msgid "Uploaded to this post" msgstr "اضافة للصفحة" @@ -1719,13 +1485,8 @@ msgstr "اضافة للصفحة" msgid "File name" msgstr "إسم الملف" -#: includes/fields/class-acf-field-file.php:149 -#: includes/fields/class-acf-field-file.php:252 -#: includes/fields/class-acf-field-file.php:263 -#: includes/fields/class-acf-field-image.php:266 -#: includes/fields/class-acf-field-image.php:295 -#: pro/fields/class-acf-field-gallery.php:705 -#: pro/fields/class-acf-field-gallery.php:734 +#: includes/fields/class-acf-field-file.php:149 includes/fields/class-acf-field-file.php:252 includes/fields/class-acf-field-file.php:263 includes/fields/class-acf-field-image.php:266 +#: includes/fields/class-acf-field-image.php:295 pro/fields/class-acf-field-gallery.php:705 pro/fields/class-acf-field-gallery.php:734 msgid "File size" msgstr "حجم الملف" @@ -1745,63 +1506,42 @@ msgstr "رابط الملف URL" msgid "File ID" msgstr "معرف الملف" -#: includes/fields/class-acf-field-file.php:234 -#: includes/fields/class-acf-field-image.php:231 -#: pro/fields/class-acf-field-gallery.php:670 +#: includes/fields/class-acf-field-file.php:234 includes/fields/class-acf-field-image.php:231 pro/fields/class-acf-field-gallery.php:670 msgid "Library" msgstr "المكتبة" -#: includes/fields/class-acf-field-file.php:235 -#: includes/fields/class-acf-field-image.php:232 -#: pro/fields/class-acf-field-gallery.php:671 +#: includes/fields/class-acf-field-file.php:235 includes/fields/class-acf-field-image.php:232 pro/fields/class-acf-field-gallery.php:671 msgid "Limit the media library choice" msgstr "الحد من اختيار مكتبة الوسائط" -#: includes/fields/class-acf-field-file.php:240 -#: includes/fields/class-acf-field-image.php:237 -#: includes/locations/class-acf-location-attachment.php:105 -#: includes/locations/class-acf-location-comment.php:83 -#: includes/locations/class-acf-location-nav-menu.php:106 -#: includes/locations/class-acf-location-taxonomy.php:83 -#: includes/locations/class-acf-location-user-form.php:91 -#: includes/locations/class-acf-location-user-role.php:108 -#: includes/locations/class-acf-location-widget.php:87 +#: includes/fields/class-acf-field-file.php:240 includes/fields/class-acf-field-image.php:237 includes/locations/class-acf-location-attachment.php:105 +#: includes/locations/class-acf-location-comment.php:83 includes/locations/class-acf-location-nav-menu.php:106 includes/locations/class-acf-location-taxonomy.php:83 +#: includes/locations/class-acf-location-user-form.php:91 includes/locations/class-acf-location-user-role.php:108 includes/locations/class-acf-location-widget.php:87 #: pro/fields/class-acf-field-gallery.php:676 msgid "All" msgstr "الكل" -#: includes/fields/class-acf-field-file.php:241 -#: includes/fields/class-acf-field-image.php:238 -#: pro/fields/class-acf-field-gallery.php:677 +#: includes/fields/class-acf-field-file.php:241 includes/fields/class-acf-field-image.php:238 pro/fields/class-acf-field-gallery.php:677 msgid "Uploaded to post" msgstr "تم تحميلها للصفحة" -#: includes/fields/class-acf-field-file.php:248 -#: includes/fields/class-acf-field-image.php:245 -#: pro/fields/class-acf-field-gallery.php:684 +#: includes/fields/class-acf-field-file.php:248 includes/fields/class-acf-field-image.php:245 pro/fields/class-acf-field-gallery.php:684 msgid "Minimum" msgstr "الأدنى" -#: includes/fields/class-acf-field-file.php:249 -#: includes/fields/class-acf-field-file.php:260 +#: includes/fields/class-acf-field-file.php:249 includes/fields/class-acf-field-file.php:260 msgid "Restrict which files can be uploaded" msgstr "تقييد الملفات التي يمكن تحميلها" -#: includes/fields/class-acf-field-file.php:259 -#: includes/fields/class-acf-field-image.php:274 -#: pro/fields/class-acf-field-gallery.php:713 +#: includes/fields/class-acf-field-file.php:259 includes/fields/class-acf-field-image.php:274 pro/fields/class-acf-field-gallery.php:713 msgid "Maximum" msgstr "الحد الأقصى" -#: includes/fields/class-acf-field-file.php:270 -#: includes/fields/class-acf-field-image.php:303 -#: pro/fields/class-acf-field-gallery.php:742 +#: includes/fields/class-acf-field-file.php:270 includes/fields/class-acf-field-image.php:303 pro/fields/class-acf-field-gallery.php:742 msgid "Allowed file types" msgstr "أنواع الملفات المسموح بها" -#: includes/fields/class-acf-field-file.php:271 -#: includes/fields/class-acf-field-image.php:304 -#: pro/fields/class-acf-field-gallery.php:743 +#: includes/fields/class-acf-field-file.php:271 includes/fields/class-acf-field-image.php:304 pro/fields/class-acf-field-gallery.php:743 msgid "Comma separated list. Leave blank for all types" msgstr "قائمة مفصولة بفواصل. اترك المساحة فارغة لجميع أنواع" @@ -1829,13 +1569,11 @@ msgstr "الموقع الحالي" msgid "Search for address..." msgstr "البحث عن عنوان..." -#: includes/fields/class-acf-field-google-map.php:167 -#: includes/fields/class-acf-field-google-map.php:178 +#: includes/fields/class-acf-field-google-map.php:167 includes/fields/class-acf-field-google-map.php:178 msgid "Center" msgstr "منتصف" -#: includes/fields/class-acf-field-google-map.php:168 -#: includes/fields/class-acf-field-google-map.php:179 +#: includes/fields/class-acf-field-google-map.php:168 includes/fields/class-acf-field-google-map.php:179 msgid "Center the initial map" msgstr "مركز الخريطة الأولى" @@ -1847,12 +1585,8 @@ msgstr "تكبير" msgid "Set the initial zoom level" msgstr "ضبط مستوى التكبير" -#: includes/fields/class-acf-field-google-map.php:200 -#: includes/fields/class-acf-field-image.php:257 -#: includes/fields/class-acf-field-image.php:286 -#: includes/fields/class-acf-field-oembed.php:297 -#: pro/fields/class-acf-field-gallery.php:696 -#: pro/fields/class-acf-field-gallery.php:725 +#: includes/fields/class-acf-field-google-map.php:200 includes/fields/class-acf-field-image.php:257 includes/fields/class-acf-field-image.php:286 +#: includes/fields/class-acf-field-oembed.php:297 pro/fields/class-acf-field-gallery.php:696 pro/fields/class-acf-field-gallery.php:725 msgid "Height" msgstr "الإرتفاع" @@ -1864,34 +1598,23 @@ msgstr "تخصيص ارتفاع الخريطة" msgid "Group" msgstr "مجموعة" -#: includes/fields/class-acf-field-group.php:469 -#: pro/fields/class-acf-field-repeater.php:453 +#: includes/fields/class-acf-field-group.php:469 pro/fields/class-acf-field-repeater.php:453 msgid "Sub Fields" msgstr "الحقول الفرعية" -#: includes/fields/class-acf-field-group.php:486 -#: pro/fields/class-acf-field-clone.php:890 +#: includes/fields/class-acf-field-group.php:486 pro/fields/class-acf-field-clone.php:890 msgid "Specify the style used to render the selected fields" msgstr "حدد النمط المستخدم لعرض الحقول المحددة" -#: includes/fields/class-acf-field-group.php:491 -#: pro/fields/class-acf-field-clone.php:895 -#: pro/fields/class-acf-field-flexible-content.php:629 -#: pro/fields/class-acf-field-repeater.php:522 +#: includes/fields/class-acf-field-group.php:491 pro/fields/class-acf-field-clone.php:895 pro/fields/class-acf-field-flexible-content.php:629 pro/fields/class-acf-field-repeater.php:522 msgid "Block" msgstr "حظر هذا الشخص" -#: includes/fields/class-acf-field-group.php:492 -#: pro/fields/class-acf-field-clone.php:896 -#: pro/fields/class-acf-field-flexible-content.php:628 -#: pro/fields/class-acf-field-repeater.php:521 +#: includes/fields/class-acf-field-group.php:492 pro/fields/class-acf-field-clone.php:896 pro/fields/class-acf-field-flexible-content.php:628 pro/fields/class-acf-field-repeater.php:521 msgid "Table" msgstr "جدول" -#: includes/fields/class-acf-field-group.php:493 -#: pro/fields/class-acf-field-clone.php:897 -#: pro/fields/class-acf-field-flexible-content.php:630 -#: pro/fields/class-acf-field-repeater.php:523 +#: includes/fields/class-acf-field-group.php:493 pro/fields/class-acf-field-clone.php:897 pro/fields/class-acf-field-flexible-content.php:630 pro/fields/class-acf-field-repeater.php:523 msgid "Row" msgstr "سطر" @@ -1903,13 +1626,11 @@ msgstr "Image" msgid "Select Image" msgstr "إختر صورة" -#: includes/fields/class-acf-field-image.php:52 -#: pro/fields/class-acf-field-gallery.php:53 +#: includes/fields/class-acf-field-image.php:52 pro/fields/class-acf-field-gallery.php:53 msgid "Edit Image" msgstr "تحرير الصورة" -#: includes/fields/class-acf-field-image.php:53 -#: pro/fields/class-acf-field-gallery.php:54 +#: includes/fields/class-acf-field-image.php:53 pro/fields/class-acf-field-gallery.php:54 msgid "Update Image" msgstr "تحديث الصورة" @@ -1917,9 +1638,7 @@ msgstr "تحديث الصورة" msgid "All images" msgstr "جميع الصور الجديدة" -#: includes/fields/class-acf-field-image.php:142 -#: includes/fields/class-acf-field-link.php:153 includes/input.php:267 -#: pro/fields/class-acf-field-gallery.php:358 +#: includes/fields/class-acf-field-image.php:142 includes/fields/class-acf-field-link.php:153 includes/input.php:267 pro/fields/class-acf-field-gallery.php:358 #: pro/fields/class-acf-field-gallery.php:546 msgid "Remove" msgstr "ازالة" @@ -1952,17 +1671,11 @@ msgstr "مشاهدة الحجم" msgid "Shown when entering data" msgstr "العرض عند ادخال البيانات" -#: includes/fields/class-acf-field-image.php:246 -#: includes/fields/class-acf-field-image.php:275 -#: pro/fields/class-acf-field-gallery.php:685 -#: pro/fields/class-acf-field-gallery.php:714 +#: includes/fields/class-acf-field-image.php:246 includes/fields/class-acf-field-image.php:275 pro/fields/class-acf-field-gallery.php:685 pro/fields/class-acf-field-gallery.php:714 msgid "Restrict which images can be uploaded" msgstr "تقييد الصور التي يمكن تحميلها" -#: includes/fields/class-acf-field-image.php:249 -#: includes/fields/class-acf-field-image.php:278 -#: includes/fields/class-acf-field-oembed.php:286 -#: pro/fields/class-acf-field-gallery.php:688 +#: includes/fields/class-acf-field-image.php:249 includes/fields/class-acf-field-image.php:278 includes/fields/class-acf-field-oembed.php:286 pro/fields/class-acf-field-gallery.php:688 #: pro/fields/class-acf-field-gallery.php:717 msgid "Width" msgstr "عرض" @@ -1989,34 +1702,27 @@ msgstr "الصفيف ملف" msgid "Link URL" msgstr "رابط الملف URL" -#: includes/fields/class-acf-field-message.php:36 -#: includes/fields/class-acf-field-message.php:115 -#: includes/fields/class-acf-field-true_false.php:141 +#: includes/fields/class-acf-field-message.php:36 includes/fields/class-acf-field-message.php:115 includes/fields/class-acf-field-true_false.php:141 msgid "Message" msgstr "الرسالة" -#: includes/fields/class-acf-field-message.php:124 -#: includes/fields/class-acf-field-textarea.php:176 +#: includes/fields/class-acf-field-message.php:124 includes/fields/class-acf-field-textarea.php:176 msgid "New Lines" msgstr "خطوط جديدة" -#: includes/fields/class-acf-field-message.php:125 -#: includes/fields/class-acf-field-textarea.php:177 +#: includes/fields/class-acf-field-message.php:125 includes/fields/class-acf-field-textarea.php:177 msgid "Controls how new lines are rendered" msgstr "عناصر تحكم جديدة كيف يتم عرض الخطوط" -#: includes/fields/class-acf-field-message.php:129 -#: includes/fields/class-acf-field-textarea.php:181 +#: includes/fields/class-acf-field-message.php:129 includes/fields/class-acf-field-textarea.php:181 msgid "Automatically add paragraphs" msgstr "إضافة الفقرات تلقائيا" -#: includes/fields/class-acf-field-message.php:130 -#: includes/fields/class-acf-field-textarea.php:182 +#: includes/fields/class-acf-field-message.php:130 includes/fields/class-acf-field-textarea.php:182 msgid "Automatically add <br>" msgstr "تلقائياً بإضافة < br >" -#: includes/fields/class-acf-field-message.php:131 -#: includes/fields/class-acf-field-textarea.php:183 +#: includes/fields/class-acf-field-message.php:131 includes/fields/class-acf-field-textarea.php:183 msgid "No Formatting" msgstr "لا يوجد تنسيق" @@ -2066,8 +1772,7 @@ msgstr "المضمن" msgid "Enter URL" msgstr "قم بإدخال عنوان URL" -#: includes/fields/class-acf-field-oembed.php:250 -#: includes/fields/class-acf-field-taxonomy.php:904 +#: includes/fields/class-acf-field-oembed.php:250 includes/fields/class-acf-field-taxonomy.php:904 msgid "Error." msgstr "خطأ." @@ -2075,8 +1780,7 @@ msgstr "خطأ." msgid "No embed found for the given URL." msgstr "تضمين لا العثور على عنوان URL معين." -#: includes/fields/class-acf-field-oembed.php:283 -#: includes/fields/class-acf-field-oembed.php:294 +#: includes/fields/class-acf-field-oembed.php:283 includes/fields/class-acf-field-oembed.php:294 msgid "Embed Size" msgstr "تضمين الحجم" @@ -2084,36 +1788,24 @@ msgstr "تضمين الحجم" msgid "Archives" msgstr "الأرشيفات" -#: includes/fields/class-acf-field-page_link.php:500 -#: includes/fields/class-acf-field-post_object.php:399 -#: includes/fields/class-acf-field-relationship.php:704 +#: includes/fields/class-acf-field-page_link.php:500 includes/fields/class-acf-field-post_object.php:399 includes/fields/class-acf-field-relationship.php:704 msgid "Filter by Post Type" msgstr "فرز حسب النوع" -#: includes/fields/class-acf-field-page_link.php:508 -#: includes/fields/class-acf-field-post_object.php:407 -#: includes/fields/class-acf-field-relationship.php:712 +#: includes/fields/class-acf-field-page_link.php:508 includes/fields/class-acf-field-post_object.php:407 includes/fields/class-acf-field-relationship.php:712 msgid "All post types" msgstr "أنواع المقالات" -#: includes/fields/class-acf-field-page_link.php:514 -#: includes/fields/class-acf-field-post_object.php:413 -#: includes/fields/class-acf-field-relationship.php:718 +#: includes/fields/class-acf-field-page_link.php:514 includes/fields/class-acf-field-post_object.php:413 includes/fields/class-acf-field-relationship.php:718 msgid "Filter by Taxonomy" msgstr "تصفية حسب التصنيف" -#: includes/fields/class-acf-field-page_link.php:522 -#: includes/fields/class-acf-field-post_object.php:421 -#: includes/fields/class-acf-field-relationship.php:726 +#: includes/fields/class-acf-field-page_link.php:522 includes/fields/class-acf-field-post_object.php:421 includes/fields/class-acf-field-relationship.php:726 msgid "All taxonomies" msgstr "كافة التصنيفات" -#: includes/fields/class-acf-field-page_link.php:528 -#: includes/fields/class-acf-field-post_object.php:427 -#: includes/fields/class-acf-field-radio.php:259 -#: includes/fields/class-acf-field-select.php:484 -#: includes/fields/class-acf-field-taxonomy.php:799 -#: includes/fields/class-acf-field-user.php:423 +#: includes/fields/class-acf-field-page_link.php:528 includes/fields/class-acf-field-post_object.php:427 includes/fields/class-acf-field-radio.php:259 +#: includes/fields/class-acf-field-select.php:484 includes/fields/class-acf-field-taxonomy.php:799 includes/fields/class-acf-field-user.php:423 msgid "Allow Null?" msgstr "إلغاء السماح؟" @@ -2121,9 +1813,7 @@ msgstr "إلغاء السماح؟" msgid "Allow Archives URLs" msgstr "السماح بالعناوين المؤرشفة" -#: includes/fields/class-acf-field-page_link.php:548 -#: includes/fields/class-acf-field-post_object.php:437 -#: includes/fields/class-acf-field-select.php:494 +#: includes/fields/class-acf-field-page_link.php:548 includes/fields/class-acf-field-post_object.php:437 includes/fields/class-acf-field-select.php:494 #: includes/fields/class-acf-field-user.php:433 msgid "Select multiple values?" msgstr "قم بتحديد قيم متعددة؟" @@ -2132,14 +1822,11 @@ msgstr "قم بتحديد قيم متعددة؟" msgid "Password" msgstr "كلمة السر" -#: includes/fields/class-acf-field-post_object.php:36 -#: includes/fields/class-acf-field-post_object.php:452 -#: includes/fields/class-acf-field-relationship.php:783 +#: includes/fields/class-acf-field-post_object.php:36 includes/fields/class-acf-field-post_object.php:452 includes/fields/class-acf-field-relationship.php:783 msgid "Post Object" msgstr "كائن آخر" -#: includes/fields/class-acf-field-post_object.php:453 -#: includes/fields/class-acf-field-relationship.php:784 +#: includes/fields/class-acf-field-post_object.php:453 includes/fields/class-acf-field-relationship.php:784 msgid "Post ID" msgstr "ID مرسل" @@ -2199,14 +1886,11 @@ msgstr "حدد التصنيف" msgid "Filters" msgstr "فرز" -#: includes/fields/class-acf-field-relationship.php:738 -#: includes/locations/class-acf-location-post-type.php:27 +#: includes/fields/class-acf-field-relationship.php:738 includes/locations/class-acf-location-post-type.php:27 msgid "Post Type" msgstr "نوع المشاركة" -#: includes/fields/class-acf-field-relationship.php:739 -#: includes/fields/class-acf-field-taxonomy.php:36 -#: includes/fields/class-acf-field-taxonomy.php:769 +#: includes/fields/class-acf-field-relationship.php:739 includes/fields/class-acf-field-taxonomy.php:36 includes/fields/class-acf-field-taxonomy.php:769 msgid "Taxonomy" msgstr "التصنيف" @@ -2226,8 +1910,7 @@ msgstr "الحد الأدنى للمقالات" msgid "Maximum posts" msgstr "الحد الأقصى للمقالات" -#: includes/fields/class-acf-field-relationship.php:871 -#: pro/fields/class-acf-field-gallery.php:815 +#: includes/fields/class-acf-field-relationship.php:871 pro/fields/class-acf-field-gallery.php:815 #, php-format msgid "%s requires at least %s selection" msgid_plural "%s requires at least %s selections" @@ -2238,8 +1921,7 @@ msgstr[3] "%s يتطلب على الأقل تحديد %s " msgstr[4] "%s يتطلب على الأقل تحديد %s " msgstr[5] "%s يتطلب على الأقل تحديد %s " -#: includes/fields/class-acf-field-select.php:36 -#: includes/fields/class-acf-field-taxonomy.php:791 +#: includes/fields/class-acf-field-select.php:36 includes/fields/class-acf-field-taxonomy.php:791 msgctxt "noun" msgid "Select" msgstr "اختار" @@ -2314,8 +1996,7 @@ msgctxt "verb" msgid "Select" msgstr "اختار" -#: includes/fields/class-acf-field-select.php:504 -#: includes/fields/class-acf-field-true_false.php:159 +#: includes/fields/class-acf-field-select.php:504 includes/fields/class-acf-field-true_false.php:159 msgid "Stylised UI" msgstr "واجهة المستخدم الأنيقة" @@ -2336,29 +2017,16 @@ msgid "Tab" msgstr "تبويب" #: includes/fields/class-acf-field-tab.php:96 -msgid "" -"The tab field will display incorrectly when added to a Table style repeater " -"field or flexible content field layout" -msgstr "" -"سيتم عرض الحقل علامة التبويب بشكل غير صحيح عند إضافة حقل مكرر نمط جدول أو " -"تخطيط الحقل المحتوى مرنة" +msgid "The tab field will display incorrectly when added to a Table style repeater field or flexible content field layout" +msgstr "سيتم عرض الحقل علامة التبويب بشكل غير صحيح عند إضافة حقل مكرر نمط جدول أو تخطيط الحقل المحتوى مرنة" #: includes/fields/class-acf-field-tab.php:97 -msgid "" -"Use \"Tab Fields\" to better organize your edit screen by grouping fields " -"together." -msgstr "" -"استخدام \"علامة التبويب الحقول\" إلى تنظيم أفضل شاشة تحرير الخاص بك عن طريق " -"تجميع الحقول معا." +msgid "Use \"Tab Fields\" to better organize your edit screen by grouping fields together." +msgstr "استخدام \"علامة التبويب الحقول\" إلى تنظيم أفضل شاشة تحرير الخاص بك عن طريق تجميع الحقول معا." #: includes/fields/class-acf-field-tab.php:98 -msgid "" -"All fields following this \"tab field\" (or until another \"tab field\" is " -"defined) will be grouped together using this field's label as the tab " -"heading." -msgstr "" -"كافة الحقول بعد هذا \"حقل علامة التبويب\" (أو حتى يتم تعريف \"حقل علامة " -"التبويب\" آخر) سوف يتم تجميعها معا باستخدام تسمية هذا الحقل كعنوان التبويب." +msgid "All fields following this \"tab field\" (or until another \"tab field\" is defined) will be grouped together using this field's label as the tab heading." +msgstr "كافة الحقول بعد هذا \"حقل علامة التبويب\" (أو حتى يتم تعريف \"حقل علامة التبويب\" آخر) سوف يتم تجميعها معا باستخدام تسمية هذا الحقل كعنوان التبويب." #: includes/fields/class-acf-field-tab.php:112 msgid "Placement" @@ -2372,9 +2040,7 @@ msgstr "نقطة النهاية" msgid "Use this field as an end-point and start a new group of tabs" msgstr "استخدم هذا الحقل كنقطة نهاية وبداية مجموعة جديدة من علامات التبويب" -#: includes/fields/class-acf-field-taxonomy.php:719 -#: includes/fields/class-acf-field-true_false.php:95 -#: includes/fields/class-acf-field-true_false.php:184 includes/input.php:266 +#: includes/fields/class-acf-field-taxonomy.php:719 includes/fields/class-acf-field-true_false.php:95 includes/fields/class-acf-field-true_false.php:184 includes/input.php:266 #: pro/admin/views/html-settings-updates.php:103 msgid "No" msgstr "لا" @@ -2466,13 +2132,11 @@ msgstr "إضافة" msgid "Text" msgstr "نص" -#: includes/fields/class-acf-field-text.php:178 -#: includes/fields/class-acf-field-textarea.php:157 +#: includes/fields/class-acf-field-text.php:178 includes/fields/class-acf-field-textarea.php:157 msgid "Character Limit" msgstr "الحد الأقصى للحروف" -#: includes/fields/class-acf-field-text.php:179 -#: includes/fields/class-acf-field-textarea.php:158 +#: includes/fields/class-acf-field-text.php:179 includes/fields/class-acf-field-textarea.php:158 msgid "Leave blank for no limit" msgstr "اتركه فارغا لبدون حد." @@ -2497,9 +2161,7 @@ msgstr "عنصر إختيار التاريخ:" msgid "True / False" msgstr "صح / خطأ" -#: includes/fields/class-acf-field-true_false.php:94 -#: includes/fields/class-acf-field-true_false.php:174 includes/input.php:265 -#: pro/admin/views/html-settings-updates.php:93 +#: includes/fields/class-acf-field-true_false.php:94 includes/fields/class-acf-field-true_false.php:174 includes/input.php:265 pro/admin/views/html-settings-updates.php:93 msgid "Yes" msgstr "نعم" @@ -2592,8 +2254,7 @@ msgstr "تأخير التهيئة؟" msgid "TinyMCE will not be initalized until field is clicked" msgstr "لن يتم تهيئة TinyMCE حتى يتم النقر فوق الحقل" -#: includes/forms/form-comment.php:166 includes/forms/form-post.php:303 -#: pro/admin/admin-options-page.php:304 +#: includes/forms/form-comment.php:166 includes/forms/form-post.php:303 pro/admin/admin-options-page.php:304 msgid "Edit field group" msgstr "تحرير مجموعة الحقول" @@ -2601,8 +2262,7 @@ msgstr "تحرير مجموعة الحقول" msgid "Validate Email" msgstr "التحقق من البريد الإليكتروني" -#: includes/forms/form-front.php:103 -#: pro/fields/class-acf-field-gallery.php:588 pro/options-page.php:81 +#: includes/forms/form-front.php:103 pro/fields/class-acf-field-gallery.php:588 pro/options-page.php:81 msgid "Update" msgstr "تحديث" @@ -2626,8 +2286,7 @@ msgstr "طي التفاصيل" msgid "Validation successful" msgstr "عملية التحقق تمت بنجاح" -#: includes/input.php:261 includes/validation.php:285 -#: includes/validation.php:296 +#: includes/input.php:261 includes/validation.php:285 includes/validation.php:296 msgid "Validation failed" msgstr "فشل في عملية التحقق" @@ -2721,8 +2380,7 @@ msgstr "الصفحة الأصل" msgid "Page Template" msgstr "قالب الصفحة:" -#: includes/locations/class-acf-location-page-template.php:102 -#: includes/locations/class-acf-location-post-template.php:156 +#: includes/locations/class-acf-location-page-template.php:102 includes/locations/class-acf-location-post-template.php:156 msgid "Default Template" msgstr "قالب افتراضي" @@ -2821,19 +2479,14 @@ msgstr "نشر" #: pro/admin/admin-options-page.php:202 #, php-format -msgid "" -"No Custom Field Groups found for this options page. Create a " -"Custom Field Group" -msgstr "" -"لم يتم العثور على أية \"مجموعات حقول مخصصة لصفحة الخيارات هذة. أنشئ مجموعة حقول مخصصة" +msgid "No Custom Field Groups found for this options page. Create a Custom Field Group" +msgstr "لم يتم العثور على أية \"مجموعات حقول مخصصة لصفحة الخيارات هذة. أنشئ مجموعة حقول مخصصة" #: pro/admin/admin-settings-updates.php:78 msgid "Error. Could not connect to update server" msgstr "خطأ. تعذر الاتصال بخادم التحديث" -#: pro/admin/admin-settings-updates.php:162 -#: pro/admin/views/html-settings-updates.php:17 +#: pro/admin/admin-settings-updates.php:162 pro/admin/views/html-settings-updates.php:17 msgid "Updates" msgstr "تحديثات" @@ -2851,14 +2504,8 @@ msgstr "معلومات الترخيص" #: pro/admin/views/html-settings-updates.php:24 #, fuzzy, php-format -msgid "" -"To unlock updates, please enter your license key below. If you don't have a " -"licence key, please see details & pricing." -msgstr "" -"لتمكين التحديثات، الرجاء إدخال مفتاح الترخيص الخاص بك على صفحة التحديثات . إذا لم يكن لديك مفتاح ترخيص، يرجى الاطلاع على تفاصيل & التسعير" +msgid "To unlock updates, please enter your license key below. If you don't have a licence key, please see details & pricing." +msgstr "لتمكين التحديثات، الرجاء إدخال مفتاح الترخيص الخاص بك على صفحة التحديثات . إذا لم يكن لديك مفتاح ترخيص، يرجى الاطلاع على تفاصيل & التسعير" #: pro/admin/views/html-settings-updates.php:33 msgid "License Key" @@ -2952,9 +2599,7 @@ msgstr "مجموعة حقول مجهولة" msgid "All fields from %s field group" msgstr "جميع الحقول من المجموعة الحقلية %s" -#: pro/fields/class-acf-field-flexible-content.php:42 -#: pro/fields/class-acf-field-repeater.php:230 -#: pro/fields/class-acf-field-repeater.php:534 +#: pro/fields/class-acf-field-flexible-content.php:42 pro/fields/class-acf-field-repeater.php:230 pro/fields/class-acf-field-repeater.php:534 msgid "Add Row" msgstr "إضافة صف" @@ -3011,8 +2656,7 @@ msgstr "إضافة تنسيق جديد" msgid "Remove layout" msgstr "إزالة من التكوين" -#: pro/fields/class-acf-field-flexible-content.php:425 -#: pro/fields/class-acf-field-repeater.php:360 +#: pro/fields/class-acf-field-flexible-content.php:425 pro/fields/class-acf-field-repeater.php:360 msgid "Click to toggle" msgstr "انقر للتبديل" @@ -3044,8 +2688,7 @@ msgstr "الحد الأدنى" msgid "Max" msgstr "الحد أقصى" -#: pro/fields/class-acf-field-flexible-content.php:685 -#: pro/fields/class-acf-field-repeater.php:530 +#: pro/fields/class-acf-field-flexible-content.php:685 pro/fields/class-acf-field-repeater.php:530 msgid "Button Label" msgstr "زر" @@ -3175,14 +2818,8 @@ msgstr "تم تحديث الإعدادات" #: pro/updates.php:97 #, fuzzy, php-format -msgid "" -"To enable updates, please enter your license key on the Updates page. If you don't have a licence key, please see details & pricing." -msgstr "" -"لتمكين التحديثات، الرجاء إدخال مفتاح الترخيص الخاص بك على صفحة التحديثات . إذا لم يكن لديك مفتاح ترخيص، يرجى الاطلاع على تفاصيل & التسعير" +msgid "To enable updates, please enter your license key on the Updates page. If you don't have a licence key, please see details & pricing." +msgstr "لتمكين التحديثات، الرجاء إدخال مفتاح الترخيص الخاص بك على صفحة التحديثات . إذا لم يكن لديك مفتاح ترخيص، يرجى الاطلاع على تفاصيل & التسعير" #. Plugin URI of the plugin/theme msgid "https://www.advancedcustomfields.com/" @@ -3238,12 +2875,8 @@ msgstr "http://www.elliotcondon.com/" #~ msgid "Success. Import tool added %s field groups: %s" #~ msgstr "تم بنجاح أداة استيراد أضافت %s جماعات الحقل %s" -#~ msgid "" -#~ "Warning. Import tool detected %s field groups already exist and " -#~ "have been ignored: %s" -#~ msgstr "" -#~ "تحذير. الكشف عن أداة استيراد مجموعة الحقول %s موجودة بالفعل، وتم " -#~ "تجاهل %s" +#~ msgid "Warning. Import tool detected %s field groups already exist and have been ignored: %s" +#~ msgstr "تحذير. الكشف عن أداة استيراد مجموعة الحقول %s موجودة بالفعل، وتم تجاهل %s" #~ msgid "Upgrade ACF" #~ msgstr "ترقية ACF" @@ -3285,17 +2918,13 @@ msgstr "http://www.elliotcondon.com/" #~ msgstr "حفظ الإعدادات" #~ msgid "License" -#~ msgstr "ترخيص" +#~ msgstr "الترخيص" -#~ msgid "" -#~ "To unlock updates, please enter your license key below. If you don't have " -#~ "a licence key, please see" -#~ msgstr "" -#~ "لإلغاء تأمين التحديثات، الرجاء إدخال مفتاح الترخيص الخاص بك أدناه. إذا لم " -#~ "يكن لديك مفتاح ترخيص، الرجاء مراجعة" +#~ msgid "To unlock updates, please enter your license key below. If you don't have a licence key, please see" +#~ msgstr "لللحصول على التحديثات، الرجاء إدخال مفتاح الترخيص الخاص بك أدناه. إذا لم يكن لديك مفتاح ترخيص، الرجاء مراجعة" #~ msgid "details & pricing" -#~ msgstr "تفاصيل & التسعير" +#~ msgstr "التفاصيل & الأسعار" #~ msgid "Advanced Custom Fields Pro" #~ msgstr "حقول مخصصة متقدمة برو" diff --git a/lang/acf-de_DE.mo b/lang/acf-de_DE.mo index 17343cd4ddc5d0d9001adab1f07081ec385d2057..3400e448f78b7cf6360e75936ddc73c9094cc51c 100644 GIT binary patch delta 15199 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 K^Vyk;dH)A#r~^U( diff --git a/lang/acf-de_DE.po b/lang/acf-de_DE.po index d371499..a1f6d8e 100644 --- a/lang/acf-de_DE.po +++ b/lang/acf-de_DE.po @@ -1,17 +1,17 @@ msgid "" msgstr "" -"Project-Id-Version: Advanced Custom Fields Pro v5.6.7\n" +"Project-Id-Version: Advanced Custom Fields Pro v5.7\n" "Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n" -"POT-Creation-Date: 2017-12-13 02:10+0100\n" -"PO-Revision-Date: 2018-02-06 10:05+1000\n" -"Last-Translator: Elliot Condon \n" +"POT-Creation-Date: 2018-04-16 17:11+1000\n" +"PO-Revision-Date: 2018-04-29 02:59+0200\n" +"Last-Translator: Ralf Koller \n" "Language-Team: Ralf Koller \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.1\n" +"X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" @@ -23,116 +23,115 @@ msgstr "" "X-Poedit-SearchPathExcluded-0: *.js\n" # @ acf -#: acf.php:67 +#: acf.php:81 msgid "Advanced Custom Fields" msgstr "Advanced Custom Fields" # @ acf -#: acf.php:369 includes/admin/admin.php:117 +#: acf.php:388 includes/admin/admin.php:117 msgid "Field Groups" msgstr "Feld-Gruppen" # @ acf -#: acf.php:370 +#: acf.php:389 msgid "Field Group" msgstr "Feld-Gruppe" # @ acf -#: acf.php:371 acf.php:403 includes/admin/admin.php:118 -#: pro/fields/class-acf-field-flexible-content.php:559 +#: acf.php:390 acf.php:422 includes/admin/admin.php:118 +#: pro/fields/class-acf-field-flexible-content.php:551 msgid "Add New" msgstr "Erstellen" # @ acf -#: acf.php:372 +#: acf.php:391 msgid "Add New Field Group" msgstr "Neue Feld-Gruppe erstellen" # @ acf -#: acf.php:373 +#: acf.php:392 msgid "Edit Field Group" msgstr "Feld-Gruppe bearbeiten" # @ acf -#: acf.php:374 +#: acf.php:393 msgid "New Field Group" msgstr "Neue Feld-Gruppe" # @ acf -#: acf.php:375 +#: acf.php:394 msgid "View Field Group" msgstr "Feld-Gruppe anzeigen" # @ acf -#: acf.php:376 +#: acf.php:395 msgid "Search Field Groups" msgstr "Feld-Gruppen suchen" # @ acf -#: acf.php:377 +#: acf.php:396 msgid "No Field Groups found" msgstr "Keine Feld-Gruppen gefunden" # @ acf -#: acf.php:378 +#: acf.php:397 msgid "No Field Groups found in Trash" msgstr "Keine Feld-Gruppen im Papierkorb gefunden" # @ acf -#: acf.php:401 includes/admin/admin-field-group.php:182 -#: includes/admin/admin-field-group.php:275 +#: acf.php:420 includes/admin/admin-field-group.php:196 #: includes/admin/admin-field-groups.php:510 -#: pro/fields/class-acf-field-clone.php:807 +#: pro/fields/class-acf-field-clone.php:811 msgid "Fields" msgstr "Felder" # @ acf -#: acf.php:402 +#: acf.php:421 msgid "Field" msgstr "Feld" # @ acf -#: acf.php:404 +#: acf.php:423 msgid "Add New Field" msgstr "Feld hinzufügen" # @ acf -#: acf.php:405 +#: acf.php:424 msgid "Edit Field" msgstr "Feld bearbeiten" # @ acf -#: acf.php:406 includes/admin/views/field-group-fields.php:41 +#: acf.php:425 includes/admin/views/field-group-fields.php:41 #: includes/admin/views/settings-info.php:105 msgid "New Field" msgstr "Neues Feld" # @ acf -#: acf.php:407 +#: acf.php:426 msgid "View Field" msgstr "Feld anzeigen" # @ acf -#: acf.php:408 +#: acf.php:427 msgid "Search Fields" msgstr "Felder suchen" # @ acf -#: acf.php:409 +#: acf.php:428 msgid "No Fields found" msgstr "Keine Felder gefunden" # @ acf -#: acf.php:410 +#: acf.php:429 msgid "No Fields found in Trash" msgstr "Keine Feld-Gruppen im Papierkorb gefunden" -#: acf.php:449 includes/admin/admin-field-group.php:390 +#: acf.php:468 includes/admin/admin-field-group.php:377 #: includes/admin/admin-field-groups.php:567 msgid "Inactive" msgstr "Inaktiv" -#: acf.php:454 +#: acf.php:473 #, php-format msgid "Inactive (%s)" msgid_plural "Inactive (%s)" @@ -177,119 +176,103 @@ msgid "Field group draft updated." msgstr "Entwurf der Feld-Gruppe aktualisiert." # @ acf -#: includes/admin/admin-field-group.php:183 -msgid "Location" -msgstr "Position" - -#: includes/admin/admin-field-group.php:184 -#: includes/admin/tools/class-acf-admin-tool-export.php:295 -msgid "Settings" -msgstr "Einstellungen" +#: includes/admin/admin-field-group.php:154 +msgid "The string \"field_\" may not be used at the start of a field name" +msgstr "Der Feldname darf nicht mit \"field_\" beginnen" # @ acf -#: includes/admin/admin-field-group.php:269 -msgid "Move to trash. Are you sure?" -msgstr "Wirklich in den Papierkorb verschieben?" +#: includes/admin/admin-field-group.php:155 +msgid "This field cannot be moved until its changes have been saved" +msgstr "Diese Feld kann nicht verschoben werden, bevor es gesichert wurde" # @ acf -#: includes/admin/admin-field-group.php:270 -msgid "checked" -msgstr "ausgewählt" - -# @ acf -#: includes/admin/admin-field-group.php:271 -msgid "No toggle fields available" -msgstr "Es liegen keine Auswahl-Feld-Typen vor" - -# @ acf -#: includes/admin/admin-field-group.php:272 +#: includes/admin/admin-field-group.php:156 msgid "Field group title is required" msgstr "Es ist ein Titel für die Feld-Gruppe erforderlich" # @ acf -#: includes/admin/admin-field-group.php:273 +#: includes/admin/admin-field-group.php:157 +msgid "Move to trash. Are you sure?" +msgstr "Wirklich in den Papierkorb verschieben?" + +# @ acf +#: includes/admin/admin-field-group.php:158 +msgid "Move Custom Field" +msgstr "Benutzerdefiniertes Feld verschieben" + +# @ acf +#: includes/admin/admin-field-group.php:159 +msgid "checked" +msgstr "ausgewählt" + +# @ acf +#: includes/admin/admin-field-group.php:160 +msgid "(no label)" +msgstr "(ohne Bezeichnung)" + +# @ acf +#: includes/admin/admin-field-group.php:161 #: includes/api/api-field-group.php:751 msgid "copy" msgstr "kopieren" # @ acf -#: includes/admin/admin-field-group.php:274 -#: includes/admin/views/field-group-field-conditional-logic.php:54 -#: includes/admin/views/field-group-field-conditional-logic.php:154 +#: includes/admin/admin-field-group.php:162 +#: includes/admin/views/field-group-field-conditional-logic.php:51 +#: includes/admin/views/field-group-field-conditional-logic.php:139 #: includes/admin/views/field-group-locations.php:29 #: includes/admin/views/html-location-group.php:3 -#: includes/api/api-helpers.php:3981 +#: includes/api/api-helpers.php:4158 msgid "or" msgstr "oder" # @ acf -#: includes/admin/admin-field-group.php:276 -msgid "Parent fields" -msgstr "Übergeordnete Felder" - -# @ acf -#: includes/admin/admin-field-group.php:277 -msgid "Sibling fields" -msgstr "Geschwister-Felder" - -# @ acf -#: includes/admin/admin-field-group.php:278 -msgid "Move Custom Field" -msgstr "Benutzerdefiniertes Feld verschieben" - -# @ acf -#: includes/admin/admin-field-group.php:279 -msgid "This field cannot be moved until its changes have been saved" -msgstr "Diese Feld kann nicht verschoben werden, bevor es gesichert wurde" - -# @ acf -#: includes/admin/admin-field-group.php:280 +#: includes/admin/admin-field-group.php:163 msgid "Null" msgstr "Null" # @ acf -#: includes/admin/admin-field-group.php:281 includes/input.php:258 -msgid "The changes you made will be lost if you navigate away from this page" -msgstr "" -"Die vorgenommenen Änderungen gehen verloren wenn diese Seite verlassen wird" +#: includes/admin/admin-field-group.php:197 +msgid "Location" +msgstr "Position" -# @ acf -#: includes/admin/admin-field-group.php:282 -msgid "The string \"field_\" may not be used at the start of a field name" -msgstr "Der Feldname darf nicht mit \"field_\" beginnen" +#: includes/admin/admin-field-group.php:198 +#: includes/admin/tools/class-acf-admin-tool-export.php:295 +msgid "Settings" +msgstr "Einstellungen" -#: includes/admin/admin-field-group.php:360 +#: includes/admin/admin-field-group.php:347 msgid "Field Keys" msgstr "Feldschlüssel" -#: includes/admin/admin-field-group.php:390 +#: includes/admin/admin-field-group.php:377 #: includes/admin/views/field-group-options.php:9 msgid "Active" msgstr "Aktiviert" # @ acf -#: includes/admin/admin-field-group.php:801 +#: includes/admin/admin-field-group.php:753 msgid "Move Complete." msgstr "Verschieben erfolgreich abgeschlossen." # @ acf -#: includes/admin/admin-field-group.php:802 +#: includes/admin/admin-field-group.php:754 #, php-format msgid "The %s field can now be found in the %s field group" msgstr "Das Feld \"%s\" wurde in die %s Feld-Gruppe verschoben" # @ acf -#: includes/admin/admin-field-group.php:803 +#: includes/admin/admin-field-group.php:755 msgid "Close Window" msgstr "Schließen" # @ acf -#: includes/admin/admin-field-group.php:844 +#: includes/admin/admin-field-group.php:796 msgid "Please select the destination for this field" msgstr "In welche Feld-Gruppe solle dieses Feld verschoben werden" # @ acf -#: includes/admin/admin-field-group.php:851 +#: includes/admin/admin-field-group.php:803 msgid "Move Field" msgstr "Feld verschieben" @@ -407,15 +390,15 @@ msgstr "Dieses Element duplizieren" # @ acf #: includes/admin/admin-field-groups.php:667 #: includes/admin/admin-field-groups.php:683 -#: includes/admin/views/field-group-field.php:49 -#: pro/fields/class-acf-field-flexible-content.php:558 +#: includes/admin/views/field-group-field.php:46 +#: pro/fields/class-acf-field-flexible-content.php:550 msgid "Duplicate" msgstr "Duplizieren" # @ acf #: includes/admin/admin-field-groups.php:700 -#: includes/fields/class-acf-field-google-map.php:112 -#: includes/fields/class-acf-field-relationship.php:656 +#: includes/fields/class-acf-field-google-map.php:113 +#: includes/fields/class-acf-field-relationship.php:657 msgid "Search" msgstr "Suchen" @@ -472,7 +455,7 @@ msgid "Error validating request" msgstr "Fehler bei der Überprüfung der Anfrage" # @ acf -#: includes/admin/install.php:210 includes/admin/views/install.php:105 +#: includes/admin/install.php:210 includes/admin/views/install.php:104 msgid "No updates available." msgstr "Keine Aktualisierungen verfügbar." @@ -566,6 +549,10 @@ msgstr "" msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" +#: includes/admin/tools/class-acf-admin-tool-export.php:483 +msgid "Copied" +msgstr "Kopiert" + # @ acf #: includes/admin/tools/class-acf-admin-tool-import.php:26 msgid "Import Field Groups" @@ -583,7 +570,7 @@ msgstr "" # @ acf #: includes/admin/tools/class-acf-admin-tool-import.php:66 -#: includes/fields/class-acf-field-file.php:35 +#: includes/fields/class-acf-field-file.php:37 msgid "Select File" msgstr "Datei auswählen" @@ -594,7 +581,7 @@ msgstr "Datei importieren" # @ acf #: includes/admin/tools/class-acf-admin-tool-import.php:100 -#: includes/fields/class-acf-field-file.php:159 +#: includes/fields/class-acf-field-file.php:154 msgid "No file selected" msgstr "Keine Datei ausgewählt" @@ -621,55 +608,43 @@ msgstr[0] "Eine Feld-Gruppe importiert" msgstr[1] "%s Feld-Gruppen importiert" # @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:28 +#: includes/admin/views/field-group-field-conditional-logic.php:25 msgid "Conditional Logic" msgstr "Bedingungen für die Anzeige" # @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:54 +#: includes/admin/views/field-group-field-conditional-logic.php:51 msgid "Show this field if" msgstr "Zeige dieses Feld, wenn" # @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:103 -#: includes/locations.php:247 -msgid "is equal to" -msgstr "ist gleich" - -# @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:104 -#: includes/locations.php:248 -msgid "is not equal to" -msgstr "ist ungleich" - -# @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:141 +#: includes/admin/views/field-group-field-conditional-logic.php:126 #: includes/admin/views/html-location-rule.php:80 msgid "and" msgstr "und" # @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:156 +#: includes/admin/views/field-group-field-conditional-logic.php:141 #: includes/admin/views/field-group-locations.php:31 msgid "Add rule group" msgstr "Regelgruppe hinzufügen" # @ acf -#: includes/admin/views/field-group-field.php:41 +#: includes/admin/views/field-group-field.php:38 #: pro/fields/class-acf-field-flexible-content.php:403 #: pro/fields/class-acf-field-repeater.php:296 msgid "Drag to reorder" msgstr "Ziehen zum Sortieren" # @ acf +#: includes/admin/views/field-group-field.php:42 #: includes/admin/views/field-group-field.php:45 -#: includes/admin/views/field-group-field.php:48 msgid "Edit field" msgstr "Feld bearbeiten" # @ acf -#: includes/admin/views/field-group-field.php:48 -#: includes/fields/class-acf-field-file.php:141 +#: includes/admin/views/field-group-field.php:45 +#: includes/fields/class-acf-field-file.php:136 #: includes/fields/class-acf-field-image.php:122 #: includes/fields/class-acf-field-link.php:139 #: pro/fields/class-acf-field-gallery.php:342 @@ -677,95 +652,95 @@ msgid "Edit" msgstr "Bearbeiten" # @ acf -#: includes/admin/views/field-group-field.php:49 +#: includes/admin/views/field-group-field.php:46 msgid "Duplicate field" msgstr "Feld duplizieren" # @ acf -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move field to another group" msgstr "Feld in eine andere Gruppe verschieben" # @ acf -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move" msgstr "Verschieben" # @ acf -#: includes/admin/views/field-group-field.php:51 +#: includes/admin/views/field-group-field.php:48 msgid "Delete field" msgstr "Feld löschen" # @ acf -#: includes/admin/views/field-group-field.php:51 -#: pro/fields/class-acf-field-flexible-content.php:557 +#: includes/admin/views/field-group-field.php:48 +#: pro/fields/class-acf-field-flexible-content.php:549 msgid "Delete" msgstr "Löschen" # @ acf -#: includes/admin/views/field-group-field.php:67 +#: includes/admin/views/field-group-field.php:65 msgid "Field Label" msgstr "Bezeichnung" # @ acf -#: includes/admin/views/field-group-field.php:68 +#: includes/admin/views/field-group-field.php:66 msgid "This is the name which will appear on the EDIT page" msgstr "Dieser Name wird in der Bearbeitungs-Ansicht eines Beitrags angezeigt" # @ acf -#: includes/admin/views/field-group-field.php:77 +#: includes/admin/views/field-group-field.php:75 msgid "Field Name" msgstr "Feld-Name" # @ acf -#: includes/admin/views/field-group-field.php:78 +#: includes/admin/views/field-group-field.php:76 msgid "Single word, no spaces. Underscores and dashes allowed" msgstr "" "Nur ein Wort ohne Leerzeichen; es sind nur Unterstriche und Bindestriche als " "Sonderzeichen erlaubt" # @ acf -#: includes/admin/views/field-group-field.php:87 +#: includes/admin/views/field-group-field.php:85 msgid "Field Type" msgstr "Feld-Typ" # @ acf -#: includes/admin/views/field-group-field.php:98 +#: includes/admin/views/field-group-field.php:96 msgid "Instructions" msgstr "Anweisungen" # @ acf -#: includes/admin/views/field-group-field.php:99 +#: includes/admin/views/field-group-field.php:97 msgid "Instructions for authors. Shown when submitting data" msgstr "Anweisungen für Autoren werden in der Bearbeitungs-Ansicht angezeigt" # @ acf -#: includes/admin/views/field-group-field.php:108 +#: includes/admin/views/field-group-field.php:106 msgid "Required?" msgstr "Erforderlich?" # @ acf -#: includes/admin/views/field-group-field.php:131 +#: includes/admin/views/field-group-field.php:129 msgid "Wrapper Attributes" msgstr "Wrapper-Attribute" # @ acf -#: includes/admin/views/field-group-field.php:137 +#: includes/admin/views/field-group-field.php:135 msgid "width" msgstr "Breite" # @ acf -#: includes/admin/views/field-group-field.php:152 +#: includes/admin/views/field-group-field.php:150 msgid "class" msgstr "Klasse" # @ acf -#: includes/admin/views/field-group-field.php:165 +#: includes/admin/views/field-group-field.php:163 msgid "id" msgstr "ID" # @ acf -#: includes/admin/views/field-group-field.php:177 +#: includes/admin/views/field-group-field.php:175 msgid "Close Field" msgstr "Feld schließen" @@ -777,17 +752,17 @@ msgstr "Reihenfolge" # @ acf #: includes/admin/views/field-group-fields.php:5 #: includes/fields/class-acf-field-button-group.php:198 -#: includes/fields/class-acf-field-checkbox.php:415 -#: includes/fields/class-acf-field-radio.php:306 -#: includes/fields/class-acf-field-select.php:432 -#: pro/fields/class-acf-field-flexible-content.php:584 +#: includes/fields/class-acf-field-checkbox.php:420 +#: includes/fields/class-acf-field-radio.php:311 +#: includes/fields/class-acf-field-select.php:418 +#: pro/fields/class-acf-field-flexible-content.php:576 msgid "Label" msgstr "Name" # @ acf #: includes/admin/views/field-group-fields.php:6 #: includes/fields/class-acf-field-taxonomy.php:964 -#: pro/fields/class-acf-field-flexible-content.php:597 +#: pro/fields/class-acf-field-flexible-content.php:589 msgid "Name" msgstr "Feld-Name" @@ -981,7 +956,7 @@ msgstr "Seiten-Attribute" # @ acf #: includes/admin/views/field-group-options.php:126 -#: includes/fields/class-acf-field-relationship.php:670 +#: includes/fields/class-acf-field-relationship.php:671 msgid "Featured Image" msgstr "Beitragsbild" @@ -1487,73 +1462,218 @@ msgid "We think you'll love the changes in %s." msgstr "Wir glauben Du wirst die Änderungen in %s lieben." # @ acf -#: includes/api/api-helpers.php:880 +#: includes/api/api-helpers.php:1039 msgid "Thumbnail" msgstr "Miniaturbild" # @ acf -#: includes/api/api-helpers.php:881 +#: includes/api/api-helpers.php:1040 msgid "Medium" msgstr "Mittel" # @ acf -#: includes/api/api-helpers.php:882 +#: includes/api/api-helpers.php:1041 msgid "Large" msgstr "Groß" # @ acf -#: includes/api/api-helpers.php:931 +#: includes/api/api-helpers.php:1090 msgid "Full Size" msgstr "Volle Größe" # @ acf -#: includes/api/api-helpers.php:1272 includes/api/api-helpers.php:1845 -#: pro/fields/class-acf-field-clone.php:992 +#: includes/api/api-helpers.php:1431 includes/api/api-helpers.php:2004 +#: pro/fields/class-acf-field-clone.php:996 msgid "(no title)" msgstr "(ohne Titel)" # @ acf -#: includes/api/api-helpers.php:3902 +#: includes/api/api-helpers.php:4079 #, php-format msgid "Image width must be at least %dpx." msgstr "Die Breite des Bildes muss mindestens %dpx sein." # @ acf -#: includes/api/api-helpers.php:3907 +#: includes/api/api-helpers.php:4084 #, php-format msgid "Image width must not exceed %dpx." msgstr "Die Breite des Bildes darf %dpx nicht überschreiten." # @ acf -#: includes/api/api-helpers.php:3923 +#: includes/api/api-helpers.php:4100 #, php-format msgid "Image height must be at least %dpx." msgstr "Die Höhe des Bildes muss mindestens %dpx sein." # @ acf -#: includes/api/api-helpers.php:3928 +#: includes/api/api-helpers.php:4105 #, php-format msgid "Image height must not exceed %dpx." msgstr "Die Höhe des Bild darf %dpx nicht überschreiten." # @ acf -#: includes/api/api-helpers.php:3946 +#: includes/api/api-helpers.php:4123 #, php-format msgid "File size must be at least %s." msgstr "Die Dateigröße muss mindestens %s sein." # @ acf -#: includes/api/api-helpers.php:3951 +#: includes/api/api-helpers.php:4128 #, php-format msgid "File size must must not exceed %s." msgstr "Die Dateigröße darf %s nicht überschreiten." # @ acf -#: includes/api/api-helpers.php:3985 +#: includes/api/api-helpers.php:4162 #, php-format msgid "File type must be %s." msgstr "Der Dateityp muss %s sein." +# @ acf +#: includes/assets.php:164 +msgid "The changes you made will be lost if you navigate away from this page" +msgstr "" +"Die vorgenommenen Änderungen gehen verloren wenn diese Seite verlassen wird" + +#: includes/assets.php:167 includes/fields/class-acf-field-select.php:257 +msgctxt "verb" +msgid "Select" +msgstr "Auswählen" + +#: includes/assets.php:168 +msgctxt "verb" +msgid "Edit" +msgstr "Bearbeiten" + +#: includes/assets.php:169 +msgctxt "verb" +msgid "Update" +msgstr "Aktualisieren" + +# @ acf +#: includes/assets.php:170 pro/fields/class-acf-field-gallery.php:44 +msgid "Uploaded to this post" +msgstr "Zu diesem Beitrag hochgeladen" + +# @ acf +#: includes/assets.php:171 +msgid "Expand Details" +msgstr "Details einblenden" + +# @ acf +#: includes/assets.php:172 +msgid "Collapse Details" +msgstr "Details ausblenden" + +#: includes/assets.php:173 +msgid "Restricted" +msgstr "Eingeschränkt" + +# @ acf +#: includes/assets.php:174 +msgid "All images" +msgstr "Alle Bilder" + +# @ acf +#: includes/assets.php:177 +msgid "Validation successful" +msgstr "Überprüfung erfolgreich" + +# @ acf +#: includes/assets.php:178 includes/validation.php:285 +#: includes/validation.php:296 +msgid "Validation failed" +msgstr "Überprüfung fehlgeschlagen" + +# @ acf +#: includes/assets.php:179 +msgid "1 field requires attention" +msgstr "Für 1 Feld ist eine Aktualisierung notwendig" + +# @ acf +#: includes/assets.php:180 +#, php-format +msgid "%d fields require attention" +msgstr "Für %d Felder ist eine Aktualisierung notwendig" + +# @ acf +#: includes/assets.php:183 +msgid "Are you sure?" +msgstr "Wirklich entfernen?" + +# @ acf +#: includes/assets.php:184 includes/fields/class-acf-field-true_false.php:79 +#: includes/fields/class-acf-field-true_false.php:159 +#: pro/admin/views/html-settings-updates.php:89 +msgid "Yes" +msgstr "Ja" + +# @ acf +#: includes/assets.php:185 includes/fields/class-acf-field-true_false.php:80 +#: includes/fields/class-acf-field-true_false.php:174 +#: pro/admin/views/html-settings-updates.php:99 +msgid "No" +msgstr "Nein" + +# @ acf +#: includes/assets.php:186 includes/fields/class-acf-field-file.php:138 +#: includes/fields/class-acf-field-image.php:124 +#: includes/fields/class-acf-field-link.php:140 +#: pro/fields/class-acf-field-gallery.php:343 +#: pro/fields/class-acf-field-gallery.php:531 +msgid "Remove" +msgstr "Entfernen" + +#: includes/assets.php:187 +msgid "Cancel" +msgstr "Abbrechen" + +#: includes/assets.php:190 +msgid "Has any value" +msgstr "Hat einen Wert" + +#: includes/assets.php:191 +msgid "Has no value" +msgstr "Hat keinen Wert" + +# @ acf +#: includes/assets.php:192 +msgid "Value is equal to" +msgstr "Wert ist gleich" + +# @ acf +#: includes/assets.php:193 +msgid "Value is not equal to" +msgstr "Wert ist ungleich" + +# @ acf +#: includes/assets.php:194 +msgid "Value matches pattern" +msgstr "Wert entspricht regulärem Ausdruck" + +#: includes/assets.php:195 +msgid "Value contains" +msgstr "Wert enthält" + +# @ acf +#: includes/assets.php:196 +msgid "Value is greater than" +msgstr "Wert ist größer als" + +# @ acf +#: includes/assets.php:197 +msgid "Value is less than" +msgstr "Wert ist kleiner als" + +#: includes/assets.php:198 +msgid "Selection is greater than" +msgstr "Auswahl ist größer als" + +# @ acf +#: includes/assets.php:199 +msgid "Selection is less than" +msgstr "Auswahl ist kleiner als" + # @ acf #: includes/fields.php:144 msgid "Basic" @@ -1580,15 +1700,14 @@ msgid "jQuery" msgstr "jQuery" # @ acf -#: includes/fields.php:149 -#: includes/fields/class-acf-field-button-group.php:177 -#: includes/fields/class-acf-field-checkbox.php:384 +#: includes/fields.php:149 includes/fields/class-acf-field-button-group.php:177 +#: includes/fields/class-acf-field-checkbox.php:389 #: includes/fields/class-acf-field-group.php:474 -#: includes/fields/class-acf-field-radio.php:285 -#: pro/fields/class-acf-field-clone.php:839 -#: pro/fields/class-acf-field-flexible-content.php:554 -#: pro/fields/class-acf-field-flexible-content.php:603 -#: pro/fields/class-acf-field-repeater.php:450 +#: includes/fields/class-acf-field-radio.php:290 +#: pro/fields/class-acf-field-clone.php:843 +#: pro/fields/class-acf-field-flexible-content.php:546 +#: pro/fields/class-acf-field-flexible-content.php:595 +#: pro/fields/class-acf-field-repeater.php:442 msgid "Layout" msgstr "Layout" @@ -1642,7 +1761,7 @@ msgstr "Button-Gruppe" #: includes/fields/class-acf-field-button-group.php:149 #: includes/fields/class-acf-field-checkbox.php:344 #: includes/fields/class-acf-field-radio.php:235 -#: includes/fields/class-acf-field-select.php:368 +#: includes/fields/class-acf-field-select.php:349 msgid "Choices" msgstr "Auswahlmöglichkeiten" @@ -1650,7 +1769,7 @@ msgstr "Auswahlmöglichkeiten" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:350 msgid "Enter each choice on a new line." msgstr "Jede Auswahlmöglichkeit in separater Zeile eingeben." @@ -1658,7 +1777,7 @@ msgstr "Jede Auswahlmöglichkeit in separater Zeile eingeben." #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:350 msgid "For more control, you may specify both a value and label like this:" msgstr "" "Für eine bessere Darstellung, kannst Du auch einen Wert und dazu dessen " @@ -1668,7 +1787,7 @@ msgstr "" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:350 msgid "red : Red" msgstr "rot : Rot" @@ -1677,21 +1796,21 @@ msgstr "rot : Rot" #: includes/fields/class-acf-field-page_link.php:513 #: includes/fields/class-acf-field-post_object.php:412 #: includes/fields/class-acf-field-radio.php:244 -#: includes/fields/class-acf-field-select.php:386 +#: includes/fields/class-acf-field-select.php:367 #: includes/fields/class-acf-field-taxonomy.php:793 -#: includes/fields/class-acf-field-user.php:408 +#: includes/fields/class-acf-field-user.php:409 msgid "Allow Null?" msgstr "NULL-Werte zulassen?" # @ acf #: includes/fields/class-acf-field-button-group.php:168 -#: includes/fields/class-acf-field-checkbox.php:375 +#: includes/fields/class-acf-field-checkbox.php:380 #: includes/fields/class-acf-field-color_picker.php:131 #: includes/fields/class-acf-field-email.php:118 #: includes/fields/class-acf-field-number.php:127 -#: includes/fields/class-acf-field-radio.php:276 -#: includes/fields/class-acf-field-range.php:148 -#: includes/fields/class-acf-field-select.php:377 +#: includes/fields/class-acf-field-radio.php:281 +#: includes/fields/class-acf-field-range.php:146 +#: includes/fields/class-acf-field-select.php:358 #: includes/fields/class-acf-field-text.php:119 #: includes/fields/class-acf-field-textarea.php:102 #: includes/fields/class-acf-field-true_false.php:135 @@ -1704,8 +1823,8 @@ msgstr "Standardwert" #: includes/fields/class-acf-field-button-group.php:169 #: includes/fields/class-acf-field-email.php:119 #: includes/fields/class-acf-field-number.php:128 -#: includes/fields/class-acf-field-radio.php:277 -#: includes/fields/class-acf-field-range.php:149 +#: includes/fields/class-acf-field-radio.php:282 +#: includes/fields/class-acf-field-range.php:147 #: includes/fields/class-acf-field-text.php:120 #: includes/fields/class-acf-field-textarea.php:103 #: includes/fields/class-acf-field-url.php:101 @@ -1715,50 +1834,50 @@ msgstr "Erscheint bei der Erstellung eines neuen Beitrags" # @ acf #: includes/fields/class-acf-field-button-group.php:183 -#: includes/fields/class-acf-field-checkbox.php:391 -#: includes/fields/class-acf-field-radio.php:292 +#: includes/fields/class-acf-field-checkbox.php:396 +#: includes/fields/class-acf-field-radio.php:297 msgid "Horizontal" msgstr "Horizontal" # @ acf #: includes/fields/class-acf-field-button-group.php:184 -#: includes/fields/class-acf-field-checkbox.php:390 -#: includes/fields/class-acf-field-radio.php:291 +#: includes/fields/class-acf-field-checkbox.php:395 +#: includes/fields/class-acf-field-radio.php:296 msgid "Vertical" msgstr "Vertikal" # @ acf #: includes/fields/class-acf-field-button-group.php:191 -#: includes/fields/class-acf-field-checkbox.php:408 -#: includes/fields/class-acf-field-file.php:204 +#: includes/fields/class-acf-field-checkbox.php:413 +#: includes/fields/class-acf-field-file.php:199 #: includes/fields/class-acf-field-image.php:188 #: includes/fields/class-acf-field-link.php:166 -#: includes/fields/class-acf-field-radio.php:299 +#: includes/fields/class-acf-field-radio.php:304 #: includes/fields/class-acf-field-taxonomy.php:833 msgid "Return Value" msgstr "Rückgabewert" # @ acf #: includes/fields/class-acf-field-button-group.php:192 -#: includes/fields/class-acf-field-checkbox.php:409 -#: includes/fields/class-acf-field-file.php:205 +#: includes/fields/class-acf-field-checkbox.php:414 +#: includes/fields/class-acf-field-file.php:200 #: includes/fields/class-acf-field-image.php:189 #: includes/fields/class-acf-field-link.php:167 -#: includes/fields/class-acf-field-radio.php:300 +#: includes/fields/class-acf-field-radio.php:305 msgid "Specify the returned value on front end" msgstr "Legt den Rückgabewert für das Front-End fest" #: includes/fields/class-acf-field-button-group.php:197 -#: includes/fields/class-acf-field-checkbox.php:414 -#: includes/fields/class-acf-field-radio.php:305 -#: includes/fields/class-acf-field-select.php:431 +#: includes/fields/class-acf-field-checkbox.php:419 +#: includes/fields/class-acf-field-radio.php:310 +#: includes/fields/class-acf-field-select.php:417 msgid "Value" msgstr "Wert" #: includes/fields/class-acf-field-button-group.php:199 -#: includes/fields/class-acf-field-checkbox.php:416 -#: includes/fields/class-acf-field-radio.php:307 -#: includes/fields/class-acf-field-select.php:433 +#: includes/fields/class-acf-field-checkbox.php:421 +#: includes/fields/class-acf-field-radio.php:312 +#: includes/fields/class-acf-field-select.php:419 msgid "Both (Array)" msgstr "Beide (Array)" @@ -1795,16 +1914,16 @@ msgstr "" "Speichere benutzerdefinierte Werte zu den Auswahlmöglichkeiten des Feldes" # @ acf -#: includes/fields/class-acf-field-checkbox.php:376 -#: includes/fields/class-acf-field-select.php:378 +#: includes/fields/class-acf-field-checkbox.php:381 +#: includes/fields/class-acf-field-select.php:359 msgid "Enter each default value on a new line" msgstr "Jeden Standardwert in einer neuen Zeile eingeben" -#: includes/fields/class-acf-field-checkbox.php:398 +#: includes/fields/class-acf-field-checkbox.php:403 msgid "Toggle" msgstr "Auswählen" -#: includes/fields/class-acf-field-checkbox.php:399 +#: includes/fields/class-acf-field-checkbox.php:404 msgid "Prepend an extra checkbox to toggle all choices" msgstr "" "Hänge eine zusätzliche Checkbox an mit der man alle Optionen auswählen kann" @@ -1838,82 +1957,83 @@ msgstr "Aktuelle Farbe" msgid "Date Picker" msgstr "Datum" -#: includes/fields/class-acf-field-date_picker.php:33 +#: includes/fields/class-acf-field-date_picker.php:59 msgctxt "Date Picker JS closeText" msgid "Done" msgstr "Fertig" -#: includes/fields/class-acf-field-date_picker.php:34 +#: includes/fields/class-acf-field-date_picker.php:60 msgctxt "Date Picker JS currentText" msgid "Today" msgstr "Heute" -#: includes/fields/class-acf-field-date_picker.php:35 +#: includes/fields/class-acf-field-date_picker.php:61 msgctxt "Date Picker JS nextText" msgid "Next" msgstr "Nächstes" -#: includes/fields/class-acf-field-date_picker.php:36 +#: includes/fields/class-acf-field-date_picker.php:62 msgctxt "Date Picker JS prevText" msgid "Prev" msgstr "Vorheriges" -#: includes/fields/class-acf-field-date_picker.php:37 +#: includes/fields/class-acf-field-date_picker.php:63 msgctxt "Date Picker JS weekHeader" msgid "Wk" msgstr "Wo." # @ acf -#: includes/fields/class-acf-field-date_picker.php:207 -#: includes/fields/class-acf-field-date_time_picker.php:181 +#: includes/fields/class-acf-field-date_picker.php:180 +#: includes/fields/class-acf-field-date_time_picker.php:183 #: includes/fields/class-acf-field-time_picker.php:109 msgid "Display Format" msgstr "Darstellungs-Format" # @ acf -#: includes/fields/class-acf-field-date_picker.php:208 -#: includes/fields/class-acf-field-date_time_picker.php:182 +#: includes/fields/class-acf-field-date_picker.php:181 +#: includes/fields/class-acf-field-date_time_picker.php:184 #: includes/fields/class-acf-field-time_picker.php:110 msgid "The format displayed when editing a post" msgstr "Das Datums-Format für die Anzeige in der Bearbeitungs-Ansicht" -#: includes/fields/class-acf-field-date_picker.php:216 -#: includes/fields/class-acf-field-date_picker.php:247 -#: includes/fields/class-acf-field-date_time_picker.php:191 -#: includes/fields/class-acf-field-date_time_picker.php:208 +#: includes/fields/class-acf-field-date_picker.php:189 +#: includes/fields/class-acf-field-date_picker.php:220 +#: includes/fields/class-acf-field-date_time_picker.php:193 +#: includes/fields/class-acf-field-date_time_picker.php:210 #: includes/fields/class-acf-field-time_picker.php:117 #: includes/fields/class-acf-field-time_picker.php:132 msgid "Custom:" msgstr "Individuelles Format:" -#: includes/fields/class-acf-field-date_picker.php:226 +#: includes/fields/class-acf-field-date_picker.php:199 msgid "Save Format" msgstr "Format abspeichern" -#: includes/fields/class-acf-field-date_picker.php:227 +#: includes/fields/class-acf-field-date_picker.php:200 msgid "The format used when saving a value" msgstr "Das Format das für das Speichern eines Wertes verwendet wird" # @ acf -#: includes/fields/class-acf-field-date_picker.php:237 -#: includes/fields/class-acf-field-date_time_picker.php:198 +#: includes/fields/class-acf-field-date_picker.php:210 +#: includes/fields/class-acf-field-date_time_picker.php:200 #: includes/fields/class-acf-field-post_object.php:432 -#: includes/fields/class-acf-field-relationship.php:697 -#: includes/fields/class-acf-field-select.php:426 +#: includes/fields/class-acf-field-relationship.php:698 +#: includes/fields/class-acf-field-select.php:412 #: includes/fields/class-acf-field-time_picker.php:124 +#: includes/fields/class-acf-field-user.php:428 msgid "Return Format" msgstr "Rückgabewert" # @ acf -#: includes/fields/class-acf-field-date_picker.php:238 -#: includes/fields/class-acf-field-date_time_picker.php:199 +#: includes/fields/class-acf-field-date_picker.php:211 +#: includes/fields/class-acf-field-date_time_picker.php:201 #: includes/fields/class-acf-field-time_picker.php:125 msgid "The format returned via template functions" msgstr "Das Datums-Format für die Ausgabe in den Template-Funktionen" # @ acf -#: includes/fields/class-acf-field-date_picker.php:256 -#: includes/fields/class-acf-field-date_time_picker.php:215 +#: includes/fields/class-acf-field-date_picker.php:229 +#: includes/fields/class-acf-field-date_time_picker.php:217 msgid "Week Starts On" msgstr "Die Woche beginnt am" @@ -1921,77 +2041,77 @@ msgstr "Die Woche beginnt am" msgid "Date Time Picker" msgstr "Datum und Uhrzeit auswählen" -#: includes/fields/class-acf-field-date_time_picker.php:33 +#: includes/fields/class-acf-field-date_time_picker.php:68 msgctxt "Date Time Picker JS timeOnlyTitle" msgid "Choose Time" msgstr "Zeit auswählen" -#: includes/fields/class-acf-field-date_time_picker.php:34 +#: includes/fields/class-acf-field-date_time_picker.php:69 msgctxt "Date Time Picker JS timeText" msgid "Time" msgstr "Zeit" -#: includes/fields/class-acf-field-date_time_picker.php:35 +#: includes/fields/class-acf-field-date_time_picker.php:70 msgctxt "Date Time Picker JS hourText" msgid "Hour" msgstr "Stunde" -#: includes/fields/class-acf-field-date_time_picker.php:36 +#: includes/fields/class-acf-field-date_time_picker.php:71 msgctxt "Date Time Picker JS minuteText" msgid "Minute" msgstr "Minute" -#: includes/fields/class-acf-field-date_time_picker.php:37 +#: includes/fields/class-acf-field-date_time_picker.php:72 msgctxt "Date Time Picker JS secondText" msgid "Second" msgstr "Sekunde" -#: includes/fields/class-acf-field-date_time_picker.php:38 +#: includes/fields/class-acf-field-date_time_picker.php:73 msgctxt "Date Time Picker JS millisecText" msgid "Millisecond" msgstr "Millisekunde" -#: includes/fields/class-acf-field-date_time_picker.php:39 +#: includes/fields/class-acf-field-date_time_picker.php:74 msgctxt "Date Time Picker JS microsecText" msgid "Microsecond" msgstr "Mikrosekunde" -#: includes/fields/class-acf-field-date_time_picker.php:40 +#: includes/fields/class-acf-field-date_time_picker.php:75 msgctxt "Date Time Picker JS timezoneText" msgid "Time Zone" msgstr "Zeitzone" -#: includes/fields/class-acf-field-date_time_picker.php:41 +#: includes/fields/class-acf-field-date_time_picker.php:76 msgctxt "Date Time Picker JS currentText" msgid "Now" msgstr "Jetzt" -#: includes/fields/class-acf-field-date_time_picker.php:42 +#: includes/fields/class-acf-field-date_time_picker.php:77 msgctxt "Date Time Picker JS closeText" msgid "Done" msgstr "Fertig" -#: includes/fields/class-acf-field-date_time_picker.php:43 +#: includes/fields/class-acf-field-date_time_picker.php:78 msgctxt "Date Time Picker JS selectText" msgid "Select" msgstr "Auswählen" -#: includes/fields/class-acf-field-date_time_picker.php:45 +#: includes/fields/class-acf-field-date_time_picker.php:80 msgctxt "Date Time Picker JS amText" msgid "AM" msgstr "vorm." -#: includes/fields/class-acf-field-date_time_picker.php:46 +#: includes/fields/class-acf-field-date_time_picker.php:81 msgctxt "Date Time Picker JS amTextShort" msgid "A" msgstr "vorm." -#: includes/fields/class-acf-field-date_time_picker.php:49 +#: includes/fields/class-acf-field-date_time_picker.php:84 msgctxt "Date Time Picker JS pmText" msgid "PM" msgstr "nachm." -#: includes/fields/class-acf-field-date_time_picker.php:50 +#: includes/fields/class-acf-field-date_time_picker.php:85 msgctxt "Date Time Picker JS pmTextShort" msgid "P" msgstr "nachm." @@ -2025,7 +2145,7 @@ msgstr "Platzhalter-Text solange keine Eingabe im Feld vorgenommen wurde" #: includes/fields/class-acf-field-email.php:136 #: includes/fields/class-acf-field-number.php:145 #: includes/fields/class-acf-field-password.php:80 -#: includes/fields/class-acf-field-range.php:187 +#: includes/fields/class-acf-field-range.php:185 #: includes/fields/class-acf-field-text.php:137 msgid "Prepend" msgstr "Voranstellen" @@ -2034,7 +2154,7 @@ msgstr "Voranstellen" #: includes/fields/class-acf-field-email.php:137 #: includes/fields/class-acf-field-number.php:146 #: includes/fields/class-acf-field-password.php:81 -#: includes/fields/class-acf-field-range.php:188 +#: includes/fields/class-acf-field-range.php:186 #: includes/fields/class-acf-field-text.php:138 msgid "Appears before the input" msgstr "Wird dem Eingabefeld vorangestellt" @@ -2043,7 +2163,7 @@ msgstr "Wird dem Eingabefeld vorangestellt" #: includes/fields/class-acf-field-email.php:145 #: includes/fields/class-acf-field-number.php:154 #: includes/fields/class-acf-field-password.php:89 -#: includes/fields/class-acf-field-range.php:196 +#: includes/fields/class-acf-field-range.php:194 #: includes/fields/class-acf-field-text.php:146 msgid "Append" msgstr "Anhängen" @@ -2052,7 +2172,7 @@ msgstr "Anhängen" #: includes/fields/class-acf-field-email.php:146 #: includes/fields/class-acf-field-number.php:155 #: includes/fields/class-acf-field-password.php:90 -#: includes/fields/class-acf-field-range.php:197 +#: includes/fields/class-acf-field-range.php:195 #: includes/fields/class-acf-field-text.php:147 msgid "Appears after the input" msgstr "Wird dem Eingabefeld hinten angestellt" @@ -2063,30 +2183,23 @@ msgid "File" msgstr "Datei" # @ acf -#: includes/fields/class-acf-field-file.php:36 +#: includes/fields/class-acf-field-file.php:38 msgid "Edit File" msgstr "Datei bearbeiten" # @ acf -#: includes/fields/class-acf-field-file.php:37 +#: includes/fields/class-acf-field-file.php:39 msgid "Update File" msgstr "Datei aktualisieren" -# @ acf -#: includes/fields/class-acf-field-file.php:38 -#: includes/fields/class-acf-field-image.php:43 includes/media.php:57 -#: pro/fields/class-acf-field-gallery.php:44 -msgid "Uploaded to this post" -msgstr "Zu diesem Beitrag hochgeladen" - -#: includes/fields/class-acf-field-file.php:130 +#: includes/fields/class-acf-field-file.php:125 msgid "File name" msgstr "Dateiname" # @ acf -#: includes/fields/class-acf-field-file.php:134 -#: includes/fields/class-acf-field-file.php:237 -#: includes/fields/class-acf-field-file.php:248 +#: includes/fields/class-acf-field-file.php:129 +#: includes/fields/class-acf-field-file.php:232 +#: includes/fields/class-acf-field-file.php:243 #: includes/fields/class-acf-field-image.php:248 #: includes/fields/class-acf-field-image.php:277 #: pro/fields/class-acf-field-gallery.php:690 @@ -2095,50 +2208,41 @@ msgid "File size" msgstr "Dateigröße" # @ acf -#: includes/fields/class-acf-field-file.php:143 -#: includes/fields/class-acf-field-image.php:124 -#: includes/fields/class-acf-field-link.php:140 includes/input.php:269 -#: pro/fields/class-acf-field-gallery.php:343 -#: pro/fields/class-acf-field-gallery.php:531 -msgid "Remove" -msgstr "Entfernen" - -# @ acf -#: includes/fields/class-acf-field-file.php:159 +#: includes/fields/class-acf-field-file.php:154 msgid "Add File" msgstr "Datei hinzufügen" # @ acf -#: includes/fields/class-acf-field-file.php:210 +#: includes/fields/class-acf-field-file.php:205 msgid "File Array" msgstr "Datei-Array" # @ acf -#: includes/fields/class-acf-field-file.php:211 +#: includes/fields/class-acf-field-file.php:206 msgid "File URL" msgstr "Datei-URL" # @ acf -#: includes/fields/class-acf-field-file.php:212 +#: includes/fields/class-acf-field-file.php:207 msgid "File ID" msgstr "Datei-ID" # @ acf -#: includes/fields/class-acf-field-file.php:219 +#: includes/fields/class-acf-field-file.php:214 #: includes/fields/class-acf-field-image.php:213 #: pro/fields/class-acf-field-gallery.php:655 msgid "Library" msgstr "Medienübersicht" # @ acf -#: includes/fields/class-acf-field-file.php:220 +#: includes/fields/class-acf-field-file.php:215 #: includes/fields/class-acf-field-image.php:214 #: pro/fields/class-acf-field-gallery.php:656 msgid "Limit the media library choice" msgstr "Beschränkt die Auswahl in der Medienübersicht" # @ acf -#: includes/fields/class-acf-field-file.php:225 +#: includes/fields/class-acf-field-file.php:220 #: includes/fields/class-acf-field-image.php:219 #: includes/locations/class-acf-location-attachment.php:101 #: includes/locations/class-acf-location-comment.php:79 @@ -2152,43 +2256,43 @@ msgid "All" msgstr "Alle" # @ acf -#: includes/fields/class-acf-field-file.php:226 +#: includes/fields/class-acf-field-file.php:221 #: includes/fields/class-acf-field-image.php:220 #: pro/fields/class-acf-field-gallery.php:662 msgid "Uploaded to post" msgstr "Für den Beitrag hochgeladen" # @ acf -#: includes/fields/class-acf-field-file.php:233 +#: includes/fields/class-acf-field-file.php:228 #: includes/fields/class-acf-field-image.php:227 #: pro/fields/class-acf-field-gallery.php:669 msgid "Minimum" msgstr "Minimum" # @ acf -#: includes/fields/class-acf-field-file.php:234 -#: includes/fields/class-acf-field-file.php:245 +#: includes/fields/class-acf-field-file.php:229 +#: includes/fields/class-acf-field-file.php:240 msgid "Restrict which files can be uploaded" msgstr "" "Erlaubt nur das Hochladen von Dateien die die angegebenen Eigenschaften " "erfüllen" # @ acf -#: includes/fields/class-acf-field-file.php:244 +#: includes/fields/class-acf-field-file.php:239 #: includes/fields/class-acf-field-image.php:256 #: pro/fields/class-acf-field-gallery.php:698 msgid "Maximum" msgstr "Maximum" # @ acf -#: includes/fields/class-acf-field-file.php:255 +#: includes/fields/class-acf-field-file.php:250 #: includes/fields/class-acf-field-image.php:285 #: pro/fields/class-acf-field-gallery.php:727 msgid "Allowed file types" msgstr "Erlaubte Datei-Formate" # @ acf -#: includes/fields/class-acf-field-file.php:256 +#: includes/fields/class-acf-field-file.php:251 #: includes/fields/class-acf-field-image.php:286 #: pro/fields/class-acf-field-gallery.php:728 msgid "Comma separated list. Leave blank for all types" @@ -2202,64 +2306,59 @@ msgid "Google Map" msgstr "Google Maps" # @ acf -#: includes/fields/class-acf-field-google-map.php:40 -msgid "Locating" -msgstr "Lokalisiere" - -# @ acf -#: includes/fields/class-acf-field-google-map.php:41 +#: includes/fields/class-acf-field-google-map.php:43 msgid "Sorry, this browser does not support geolocation" msgstr "Dieser Browser unterstützt keine Geo-Lokation" # @ acf -#: includes/fields/class-acf-field-google-map.php:113 +#: includes/fields/class-acf-field-google-map.php:114 msgid "Clear location" msgstr "Position löschen" # @ acf -#: includes/fields/class-acf-field-google-map.php:114 +#: includes/fields/class-acf-field-google-map.php:115 msgid "Find current location" msgstr "Aktuelle Position finden" # @ acf -#: includes/fields/class-acf-field-google-map.php:117 +#: includes/fields/class-acf-field-google-map.php:118 msgid "Search for address..." msgstr "Nach der Adresse suchen..." # @ acf -#: includes/fields/class-acf-field-google-map.php:147 -#: includes/fields/class-acf-field-google-map.php:158 +#: includes/fields/class-acf-field-google-map.php:148 +#: includes/fields/class-acf-field-google-map.php:159 msgid "Center" msgstr "Kartenmittelpunkt" # @ acf -#: includes/fields/class-acf-field-google-map.php:148 -#: includes/fields/class-acf-field-google-map.php:159 +#: includes/fields/class-acf-field-google-map.php:149 +#: includes/fields/class-acf-field-google-map.php:160 msgid "Center the initial map" msgstr "Der Mittelpunkt der Ausgangskarte" # @ acf -#: includes/fields/class-acf-field-google-map.php:170 +#: includes/fields/class-acf-field-google-map.php:171 msgid "Zoom" msgstr "Zoom" # @ acf -#: includes/fields/class-acf-field-google-map.php:171 +#: includes/fields/class-acf-field-google-map.php:172 msgid "Set the initial zoom level" msgstr "Legt die Zoomstufe der Karte fest" # @ acf -#: includes/fields/class-acf-field-google-map.php:180 +#: includes/fields/class-acf-field-google-map.php:181 #: includes/fields/class-acf-field-image.php:239 #: includes/fields/class-acf-field-image.php:268 -#: includes/fields/class-acf-field-oembed.php:281 +#: includes/fields/class-acf-field-oembed.php:268 #: pro/fields/class-acf-field-gallery.php:681 #: pro/fields/class-acf-field-gallery.php:710 msgid "Height" msgstr "Höhe" # @ acf -#: includes/fields/class-acf-field-google-map.php:181 +#: includes/fields/class-acf-field-google-map.php:182 msgid "Customise the map height" msgstr "Legt die Höhe der Karte fest" @@ -2272,37 +2371,37 @@ msgstr "" # @ acf #: includes/fields/class-acf-field-group.php:459 -#: pro/fields/class-acf-field-repeater.php:389 +#: pro/fields/class-acf-field-repeater.php:381 msgid "Sub Fields" msgstr "Wiederholungsfelder" #: includes/fields/class-acf-field-group.php:475 -#: pro/fields/class-acf-field-clone.php:840 +#: pro/fields/class-acf-field-clone.php:844 msgid "Specify the style used to render the selected fields" msgstr "" "Gib den Stil an mit dem die ausgewählten Felder angezeigt werden sollen" # @ acf #: includes/fields/class-acf-field-group.php:480 -#: pro/fields/class-acf-field-clone.php:845 -#: pro/fields/class-acf-field-flexible-content.php:614 -#: pro/fields/class-acf-field-repeater.php:458 +#: pro/fields/class-acf-field-clone.php:849 +#: pro/fields/class-acf-field-flexible-content.php:606 +#: pro/fields/class-acf-field-repeater.php:450 msgid "Block" msgstr "Block" # @ acf #: includes/fields/class-acf-field-group.php:481 -#: pro/fields/class-acf-field-clone.php:846 -#: pro/fields/class-acf-field-flexible-content.php:613 -#: pro/fields/class-acf-field-repeater.php:457 +#: pro/fields/class-acf-field-clone.php:850 +#: pro/fields/class-acf-field-flexible-content.php:605 +#: pro/fields/class-acf-field-repeater.php:449 msgid "Table" msgstr "Tabelle" # @ acf #: includes/fields/class-acf-field-group.php:482 -#: pro/fields/class-acf-field-clone.php:847 -#: pro/fields/class-acf-field-flexible-content.php:615 -#: pro/fields/class-acf-field-repeater.php:459 +#: pro/fields/class-acf-field-clone.php:851 +#: pro/fields/class-acf-field-flexible-content.php:607 +#: pro/fields/class-acf-field-repeater.php:451 msgid "Row" msgstr "Reihe" @@ -2312,27 +2411,22 @@ msgid "Image" msgstr "Bild" # @ acf -#: includes/fields/class-acf-field-image.php:40 +#: includes/fields/class-acf-field-image.php:42 msgid "Select Image" msgstr "Bild auswählen" # @ acf -#: includes/fields/class-acf-field-image.php:41 +#: includes/fields/class-acf-field-image.php:43 #: pro/fields/class-acf-field-gallery.php:42 msgid "Edit Image" msgstr "Bild bearbeiten" # @ acf -#: includes/fields/class-acf-field-image.php:42 +#: includes/fields/class-acf-field-image.php:44 #: pro/fields/class-acf-field-gallery.php:43 msgid "Update Image" msgstr "Bild aktualisieren" -# @ acf -#: includes/fields/class-acf-field-image.php:44 -msgid "All images" -msgstr "Alle Bilder" - # @ acf #: includes/fields/class-acf-field-image.php:140 msgid "No image selected" @@ -2381,7 +2475,7 @@ msgstr "" # @ acf #: includes/fields/class-acf-field-image.php:231 #: includes/fields/class-acf-field-image.php:260 -#: includes/fields/class-acf-field-oembed.php:270 +#: includes/fields/class-acf-field-oembed.php:257 #: pro/fields/class-acf-field-gallery.php:673 #: pro/fields/class-acf-field-gallery.php:702 msgid "Width" @@ -2467,19 +2561,19 @@ msgstr "Numerisch" # @ acf #: includes/fields/class-acf-field-number.php:163 -#: includes/fields/class-acf-field-range.php:157 +#: includes/fields/class-acf-field-range.php:155 msgid "Minimum Value" msgstr "Mindestwert" # @ acf #: includes/fields/class-acf-field-number.php:172 -#: includes/fields/class-acf-field-range.php:167 +#: includes/fields/class-acf-field-range.php:165 msgid "Maximum Value" msgstr "Maximalwert" # @ acf #: includes/fields/class-acf-field-number.php:181 -#: includes/fields/class-acf-field-range.php:177 +#: includes/fields/class-acf-field-range.php:175 msgid "Step Size" msgstr "Schrittweite" @@ -2506,23 +2600,13 @@ msgid "oEmbed" msgstr "oEmbed" # @ acf -#: includes/fields/class-acf-field-oembed.php:219 +#: includes/fields/class-acf-field-oembed.php:216 msgid "Enter URL" msgstr "URL eingeben" -#: includes/fields/class-acf-field-oembed.php:234 -#: includes/fields/class-acf-field-taxonomy.php:898 -msgid "Error." -msgstr "Fehler." - # @ acf -#: includes/fields/class-acf-field-oembed.php:234 -msgid "No embed found for the given URL." -msgstr "Keine Inhalte für die eingegebene URL gefunden." - -# @ acf -#: includes/fields/class-acf-field-oembed.php:267 -#: includes/fields/class-acf-field-oembed.php:278 +#: includes/fields/class-acf-field-oembed.php:254 +#: includes/fields/class-acf-field-oembed.php:265 msgid "Embed Size" msgstr "Maße" @@ -2540,28 +2624,28 @@ msgstr "Übergeordnet" # @ acf #: includes/fields/class-acf-field-page_link.php:485 #: includes/fields/class-acf-field-post_object.php:384 -#: includes/fields/class-acf-field-relationship.php:623 +#: includes/fields/class-acf-field-relationship.php:624 msgid "Filter by Post Type" msgstr "Nach Post Types filtern" # @ acf #: includes/fields/class-acf-field-page_link.php:493 #: includes/fields/class-acf-field-post_object.php:392 -#: includes/fields/class-acf-field-relationship.php:631 +#: includes/fields/class-acf-field-relationship.php:632 msgid "All post types" msgstr "Alle verfügbaren Post Types" # @ acf #: includes/fields/class-acf-field-page_link.php:499 #: includes/fields/class-acf-field-post_object.php:398 -#: includes/fields/class-acf-field-relationship.php:637 +#: includes/fields/class-acf-field-relationship.php:638 msgid "Filter by Taxonomy" msgstr "Nach Taxonomien filtern" # @ acf #: includes/fields/class-acf-field-page_link.php:507 #: includes/fields/class-acf-field-post_object.php:406 -#: includes/fields/class-acf-field-relationship.php:645 +#: includes/fields/class-acf-field-relationship.php:646 msgid "All taxonomies" msgstr "Alle Taxonomien" @@ -2572,8 +2656,8 @@ msgstr "Archiv-URL's zulassen" # @ acf #: includes/fields/class-acf-field-page_link.php:533 #: includes/fields/class-acf-field-post_object.php:422 -#: includes/fields/class-acf-field-select.php:396 -#: includes/fields/class-acf-field-user.php:418 +#: includes/fields/class-acf-field-select.php:377 +#: includes/fields/class-acf-field-user.php:419 msgid "Select multiple values?" msgstr "Mehrere Werte auswählbar?" @@ -2585,13 +2669,13 @@ msgstr "Passwort" # @ acf #: includes/fields/class-acf-field-post_object.php:25 #: includes/fields/class-acf-field-post_object.php:437 -#: includes/fields/class-acf-field-relationship.php:702 +#: includes/fields/class-acf-field-relationship.php:703 msgid "Post Object" msgstr "Beitrags-Objekt" # @ acf #: includes/fields/class-acf-field-post_object.php:438 -#: includes/fields/class-acf-field-relationship.php:703 +#: includes/fields/class-acf-field-relationship.php:704 msgid "Post ID" msgstr "Beitrags-ID" @@ -2632,80 +2716,76 @@ msgid "Relationship" msgstr "Beziehung" # @ acf -#: includes/fields/class-acf-field-relationship.php:37 -msgid "Minimum values reached ( {min} values )" -msgstr "Minimum der Einträge mit ({min} Einträge) erreicht" - -# @ acf -#: includes/fields/class-acf-field-relationship.php:38 +#: includes/fields/class-acf-field-relationship.php:40 msgid "Maximum values reached ( {max} values )" msgstr "Maximum der Einträge mit ({max} Einträge) erreicht" # @ acf -#: includes/fields/class-acf-field-relationship.php:39 +#: includes/fields/class-acf-field-relationship.php:41 msgid "Loading" msgstr "Lade" # @ acf -#: includes/fields/class-acf-field-relationship.php:40 +#: includes/fields/class-acf-field-relationship.php:42 msgid "No matches found" msgstr "Keine Übereinstimmung gefunden" # @ acf -#: includes/fields/class-acf-field-relationship.php:423 +#: includes/fields/class-acf-field-relationship.php:424 msgid "Select post type" msgstr "Beitrag-Typ auswählen" # @ acf -#: includes/fields/class-acf-field-relationship.php:449 +#: includes/fields/class-acf-field-relationship.php:450 msgid "Select taxonomy" msgstr "Taxonomie auswählen" # @ acf -#: includes/fields/class-acf-field-relationship.php:539 +#: includes/fields/class-acf-field-relationship.php:540 msgid "Search..." msgstr "Suchen..." # @ acf -#: includes/fields/class-acf-field-relationship.php:651 +#: includes/fields/class-acf-field-relationship.php:652 msgid "Filters" msgstr "Filter" # @ acf -#: includes/fields/class-acf-field-relationship.php:657 +#: includes/fields/class-acf-field-relationship.php:658 #: includes/locations/class-acf-location-post-type.php:27 msgid "Post Type" msgstr "Beitrags-Typ" # @ acf -#: includes/fields/class-acf-field-relationship.php:658 +#: includes/fields/class-acf-field-relationship.php:659 #: includes/fields/class-acf-field-taxonomy.php:28 #: includes/fields/class-acf-field-taxonomy.php:763 +#: includes/locations/class-acf-location-taxonomy.php:27 msgid "Taxonomy" msgstr "Taxonomie" # @ acf -#: includes/fields/class-acf-field-relationship.php:665 +#: includes/fields/class-acf-field-relationship.php:666 msgid "Elements" msgstr "Elemente" # @ acf -#: includes/fields/class-acf-field-relationship.php:666 +#: includes/fields/class-acf-field-relationship.php:667 msgid "Selected elements will be displayed in each result" msgstr "Die ausgewählten Elemente werden in jedem Ergebnis mit angezeigt" # @ acf -#: includes/fields/class-acf-field-relationship.php:677 +#: includes/fields/class-acf-field-relationship.php:678 msgid "Minimum posts" msgstr "Min. Anzahl der Beiträge" # @ acf -#: includes/fields/class-acf-field-relationship.php:686 +#: includes/fields/class-acf-field-relationship.php:687 msgid "Maximum posts" msgstr "Max. Anzahl der Beiträge" # @ acf -#: includes/fields/class-acf-field-relationship.php:790 +#: includes/fields/class-acf-field-relationship.php:791 #: pro/fields/class-acf-field-gallery.php:800 #, php-format msgid "%s requires at least %s selection" @@ -2719,13 +2799,13 @@ msgctxt "noun" msgid "Select" msgstr "Auswahl" -#: includes/fields/class-acf-field-select.php:38 +#: includes/fields/class-acf-field-select.php:40 msgctxt "Select2 JS matches_1" msgid "One result is available, press enter to select it." msgstr "" "Es ist ein Ergebnis verfügbar, drücke die Eingabetaste um es auszuwählen." -#: includes/fields/class-acf-field-select.php:39 +#: includes/fields/class-acf-field-select.php:41 #, php-format msgctxt "Select2 JS matches_n" msgid "%d results are available, use up and down arrow keys to navigate." @@ -2733,76 +2813,71 @@ msgstr "" "Es sind %d Ergebnisse verfügbar, benutze die Pfeiltasten um nach oben und " "unten zu navigieren." -#: includes/fields/class-acf-field-select.php:40 +#: includes/fields/class-acf-field-select.php:42 msgctxt "Select2 JS matches_0" msgid "No matches found" msgstr "Keine Übereinstimmungen gefunden" -#: includes/fields/class-acf-field-select.php:41 +#: includes/fields/class-acf-field-select.php:43 msgctxt "Select2 JS input_too_short_1" msgid "Please enter 1 or more characters" msgstr "Gib bitte ein oder mehr Zeichen ein" -#: includes/fields/class-acf-field-select.php:42 +#: includes/fields/class-acf-field-select.php:44 #, php-format msgctxt "Select2 JS input_too_short_n" msgid "Please enter %d or more characters" msgstr "Gib bitte %d oder mehr Zeichen ein" -#: includes/fields/class-acf-field-select.php:43 +#: includes/fields/class-acf-field-select.php:45 msgctxt "Select2 JS input_too_long_1" msgid "Please delete 1 character" msgstr "Lösche bitte ein Zeichen" -#: includes/fields/class-acf-field-select.php:44 +#: includes/fields/class-acf-field-select.php:46 #, php-format msgctxt "Select2 JS input_too_long_n" msgid "Please delete %d characters" msgstr "Lösche bitte %d Zeichen" -#: includes/fields/class-acf-field-select.php:45 +#: includes/fields/class-acf-field-select.php:47 msgctxt "Select2 JS selection_too_long_1" msgid "You can only select 1 item" msgstr "Du kannst nur ein Element auswählen" -#: includes/fields/class-acf-field-select.php:46 +#: includes/fields/class-acf-field-select.php:48 #, php-format msgctxt "Select2 JS selection_too_long_n" msgid "You can only select %d items" msgstr "Du kannst nur %d Elemente auswählen" -#: includes/fields/class-acf-field-select.php:47 +#: includes/fields/class-acf-field-select.php:49 msgctxt "Select2 JS load_more" msgid "Loading more results…" msgstr "Mehr Ergebnisse laden…" -#: includes/fields/class-acf-field-select.php:48 +#: includes/fields/class-acf-field-select.php:50 msgctxt "Select2 JS searching" msgid "Searching…" msgstr "Suchen…" -#: includes/fields/class-acf-field-select.php:49 +#: includes/fields/class-acf-field-select.php:51 msgctxt "Select2 JS load_fail" msgid "Loading failed" msgstr "Laden fehlgeschlagen" -#: includes/fields/class-acf-field-select.php:255 includes/media.php:54 -msgctxt "verb" -msgid "Select" -msgstr "Auswählen" - # @ acf -#: includes/fields/class-acf-field-select.php:406 +#: includes/fields/class-acf-field-select.php:387 #: includes/fields/class-acf-field-true_false.php:144 msgid "Stylised UI" msgstr "Modernes Auswahlfeld" # @ acf -#: includes/fields/class-acf-field-select.php:416 +#: includes/fields/class-acf-field-select.php:397 msgid "Use AJAX to lazy load choices?" msgstr "AJAX verwenden um die Auswahl mittels Lazy Loading zu laden?" -#: includes/fields/class-acf-field-select.php:427 +#: includes/fields/class-acf-field-select.php:413 msgid "Specify the value returned" msgstr "Lege den Rückgabewert fest" @@ -2911,6 +2986,10 @@ msgstr "Begriffs-Objekt" msgid "Term ID" msgstr "Begriffs-ID" +#: includes/fields/class-acf-field-taxonomy.php:898 +msgid "Error." +msgstr "Fehler." + # @ acf #: includes/fields/class-acf-field-taxonomy.php:898 #, php-format @@ -2930,7 +3009,7 @@ msgid "%s added" msgstr "%s hinzugefügt" # @ acf -#: includes/fields/class-acf-field-taxonomy.php:997 +#: includes/fields/class-acf-field-taxonomy.php:998 msgid "Add" msgstr "Hinzufügen" @@ -2975,20 +3054,6 @@ msgstr "Zeit auswählen" msgid "True / False" msgstr "Ja/Nein" -# @ acf -#: includes/fields/class-acf-field-true_false.php:79 -#: includes/fields/class-acf-field-true_false.php:159 includes/input.php:267 -#: pro/admin/views/html-settings-updates.php:89 -msgid "Yes" -msgstr "Ja" - -# @ acf -#: includes/fields/class-acf-field-true_false.php:80 -#: includes/fields/class-acf-field-true_false.php:169 includes/input.php:268 -#: pro/admin/views/html-settings-updates.php:99 -msgid "No" -msgstr "Nein" - #: includes/fields/class-acf-field-true_false.php:127 msgid "Displays text alongside the checkbox" msgstr "Zeigt den Text neben der Checkbox an" @@ -3001,11 +3066,11 @@ msgstr "Wenn aktiv" msgid "Text shown when active" msgstr "Der Text der im aktiven Zustand angezeigt wird" -#: includes/fields/class-acf-field-true_false.php:165 +#: includes/fields/class-acf-field-true_false.php:170 msgid "Off Text" msgstr "Wenn inaktiv" -#: includes/fields/class-acf-field-true_false.php:166 +#: includes/fields/class-acf-field-true_false.php:171 msgid "Text shown when inactive" msgstr "Der Text der im inaktiven Zustand angezeigt wird" @@ -3025,15 +3090,30 @@ msgid "User" msgstr "Benutzer" # @ acf -#: includes/fields/class-acf-field-user.php:393 +#: includes/fields/class-acf-field-user.php:394 msgid "Filter by role" msgstr "Filtere nach Benutzerrollen" # @ acf -#: includes/fields/class-acf-field-user.php:401 +#: includes/fields/class-acf-field-user.php:402 msgid "All user roles" msgstr "Alle Benutzerrollen" +# @ acf +#: includes/fields/class-acf-field-user.php:433 +msgid "User Array" +msgstr "Benutzer-Array" + +# @ acf +#: includes/fields/class-acf-field-user.php:434 +msgid "User Object" +msgstr "Benutzer-Objekt" + +# @ acf +#: includes/fields/class-acf-field-user.php:435 +msgid "User ID" +msgstr "Benutzer-ID" + # @ acf #: includes/fields/class-acf-field-wysiwyg.php:25 msgid "Wysiwyg Editor" @@ -3103,8 +3183,8 @@ msgid "Validate Email" msgstr "E-Mail bestätigen" # @ acf -#: includes/forms/form-front.php:103 -#: pro/fields/class-acf-field-gallery.php:573 pro/options-page.php:81 +#: includes/forms/form-front.php:103 pro/fields/class-acf-field-gallery.php:573 +#: pro/options-page.php:81 msgid "Update" msgstr "Aktualisieren" @@ -3117,51 +3197,6 @@ msgstr "Beitrag aktualisiert" msgid "Spam Detected" msgstr "Spam entdeckt" -# @ acf -#: includes/input.php:259 -msgid "Expand Details" -msgstr "Details einblenden" - -# @ acf -#: includes/input.php:260 -msgid "Collapse Details" -msgstr "Details ausblenden" - -# @ acf -#: includes/input.php:261 -msgid "Validation successful" -msgstr "Überprüfung erfolgreich" - -# @ acf -#: includes/input.php:262 includes/validation.php:285 -#: includes/validation.php:296 -msgid "Validation failed" -msgstr "Überprüfung fehlgeschlagen" - -# @ acf -#: includes/input.php:263 -msgid "1 field requires attention" -msgstr "Für 1 Feld ist eine Aktualisierung notwendig" - -# @ acf -#: includes/input.php:264 -#, php-format -msgid "%d fields require attention" -msgstr "Für %d Felder ist eine Aktualisierung notwendig" - -#: includes/input.php:265 -msgid "Restricted" -msgstr "Eingeschränkt" - -# @ acf -#: includes/input.php:266 -msgid "Are you sure?" -msgstr "Wirklich entfernen?" - -#: includes/input.php:270 -msgid "Cancel" -msgstr "Abbrechen" - # @ acf #: includes/locations.php:93 includes/locations/class-acf-location-post.php:27 msgid "Post" @@ -3177,6 +3212,16 @@ msgstr "Seite" msgid "Forms" msgstr "Formulare" +# @ acf +#: includes/locations.php:247 +msgid "is equal to" +msgstr "ist gleich" + +# @ acf +#: includes/locations.php:248 +msgid "is not equal to" +msgstr "ist ungleich" + # @ acf #: includes/locations/class-acf-location-attachment.php:27 msgid "Attachment" @@ -3261,27 +3306,27 @@ msgid "Page Type" msgstr "Seitentyp" # @ acf -#: includes/locations/class-acf-location-page-type.php:145 +#: includes/locations/class-acf-location-page-type.php:146 msgid "Front Page" msgstr "Startseite" # @ acf -#: includes/locations/class-acf-location-page-type.php:146 +#: includes/locations/class-acf-location-page-type.php:147 msgid "Posts Page" msgstr "Beitrags-Seite" # @ acf -#: includes/locations/class-acf-location-page-type.php:147 +#: includes/locations/class-acf-location-page-type.php:148 msgid "Top Level Page (no parent)" msgstr "Seite ohne übergeordnete Seiten" # @ acf -#: includes/locations/class-acf-location-page-type.php:148 +#: includes/locations/class-acf-location-page-type.php:149 msgid "Parent Page (has children)" msgstr "Übergeordnete Seite (mit Unterseiten)" # @ acf -#: includes/locations/class-acf-location-page-type.php:149 +#: includes/locations/class-acf-location-page-type.php:150 msgid "Child Page (has parent)" msgstr "Unterseite (mit übergeordneter Seite)" @@ -3310,11 +3355,6 @@ msgstr "Beitrags-Taxonomie" msgid "Post Template" msgstr "Beitrags-Template" -# @ acf -#: includes/locations/class-acf-location-taxonomy.php:27 -msgid "Taxonomy Term" -msgstr "Taxonomie" - # @ acf #: includes/locations/class-acf-location-user-form.php:27 msgid "User Form" @@ -3340,16 +3380,6 @@ msgstr "Benutzerrolle" msgid "Widget" msgstr "Widget" -#: includes/media.php:55 -msgctxt "verb" -msgid "Edit" -msgstr "Bearbeiten" - -#: includes/media.php:56 -msgctxt "verb" -msgid "Update" -msgstr "Aktualisieren" - # @ acf #: includes/validation.php:364 #, php-format @@ -3468,56 +3498,56 @@ msgctxt "noun" msgid "Clone" msgstr "Klon" -#: pro/fields/class-acf-field-clone.php:808 +#: pro/fields/class-acf-field-clone.php:812 msgid "Select one or more fields you wish to clone" msgstr "Wähle ein oder mehrere Felder aus die Du klonen möchtest" # @ acf -#: pro/fields/class-acf-field-clone.php:825 +#: pro/fields/class-acf-field-clone.php:829 msgid "Display" msgstr "Anzeige" -#: pro/fields/class-acf-field-clone.php:826 +#: pro/fields/class-acf-field-clone.php:830 msgid "Specify the style used to render the clone field" msgstr "Gib den Stil an mit dem das Klon-Feld angezeigt werden soll" -#: pro/fields/class-acf-field-clone.php:831 +#: pro/fields/class-acf-field-clone.php:835 msgid "Group (displays selected fields in a group within this field)" msgstr "" "Gruppe (zeigt die ausgewählten Felder in einer Gruppe innerhalb dieses " "Feldes an)" -#: pro/fields/class-acf-field-clone.php:832 +#: pro/fields/class-acf-field-clone.php:836 msgid "Seamless (replaces this field with selected fields)" msgstr "Nahtlos (ersetzt dieses Feld mit den ausgewählten Feldern)" -#: pro/fields/class-acf-field-clone.php:853 +#: pro/fields/class-acf-field-clone.php:857 #, php-format msgid "Labels will be displayed as %s" msgstr "Bezeichnungen werden als %s angezeigt" -#: pro/fields/class-acf-field-clone.php:856 +#: pro/fields/class-acf-field-clone.php:860 msgid "Prefix Field Labels" msgstr "Präfix für Feld-Beschriftungen" -#: pro/fields/class-acf-field-clone.php:867 +#: pro/fields/class-acf-field-clone.php:871 #, php-format msgid "Values will be saved as %s" msgstr "Werte werden als %s gespeichert" -#: pro/fields/class-acf-field-clone.php:870 +#: pro/fields/class-acf-field-clone.php:874 msgid "Prefix Field Names" msgstr "Präfix für Feld-Namen" -#: pro/fields/class-acf-field-clone.php:988 +#: pro/fields/class-acf-field-clone.php:992 msgid "Unknown field" msgstr "Unbekanntes Feld" -#: pro/fields/class-acf-field-clone.php:1027 +#: pro/fields/class-acf-field-clone.php:1031 msgid "Unknown field group" msgstr "Unbekannte Feld-Gruppe" -#: pro/fields/class-acf-field-clone.php:1031 +#: pro/fields/class-acf-field-clone.php:1035 #, php-format msgid "All fields from %s field group" msgstr "Alle Felder von Feld-Gruppe %s" @@ -3525,7 +3555,7 @@ msgstr "Alle Felder von Feld-Gruppe %s" # @ acf #: pro/fields/class-acf-field-flexible-content.php:31 #: pro/fields/class-acf-field-repeater.php:174 -#: pro/fields/class-acf-field-repeater.php:470 +#: pro/fields/class-acf-field-repeater.php:462 msgid "Add Row" msgstr "Eintrag hinzufügen" @@ -3601,53 +3631,53 @@ msgid "Click to toggle" msgstr "Zum Auswählen anklicken" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:548 msgid "Reorder Layout" msgstr "Layout sortieren" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:548 msgid "Reorder" msgstr "Sortieren" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:557 +#: pro/fields/class-acf-field-flexible-content.php:549 msgid "Delete Layout" msgstr "Layout löschen" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:558 +#: pro/fields/class-acf-field-flexible-content.php:550 msgid "Duplicate Layout" msgstr "Layout duplizieren" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:559 +#: pro/fields/class-acf-field-flexible-content.php:551 msgid "Add New Layout" msgstr "Neues Layout hinzufügen" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:630 +#: pro/fields/class-acf-field-flexible-content.php:622 msgid "Min" msgstr "Min" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:643 +#: pro/fields/class-acf-field-flexible-content.php:635 msgid "Max" msgstr "Max" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:670 -#: pro/fields/class-acf-field-repeater.php:466 +#: pro/fields/class-acf-field-flexible-content.php:662 +#: pro/fields/class-acf-field-repeater.php:458 msgid "Button Label" msgstr "Button-Beschriftung" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:679 +#: pro/fields/class-acf-field-flexible-content.php:671 msgid "Minimum Layouts" msgstr "Minimum Layouts" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:688 +#: pro/fields/class-acf-field-flexible-content.php:680 msgid "Maximum Layouts" msgstr "Maximum Layouts" @@ -3746,32 +3776,32 @@ msgid "Maximum rows reached ({max} rows)" msgstr "Maximum der Einträge mit ({max} Reihen) erreicht" # @ acf -#: pro/fields/class-acf-field-repeater.php:343 +#: pro/fields/class-acf-field-repeater.php:335 msgid "Add row" msgstr "Eintrag hinzufügen" # @ acf -#: pro/fields/class-acf-field-repeater.php:344 +#: pro/fields/class-acf-field-repeater.php:336 msgid "Remove row" msgstr "Eintrag entfernen" -#: pro/fields/class-acf-field-repeater.php:419 +#: pro/fields/class-acf-field-repeater.php:411 msgid "Collapsed" msgstr "Zugeklappt" -#: pro/fields/class-acf-field-repeater.php:420 +#: pro/fields/class-acf-field-repeater.php:412 msgid "Select a sub field to show when row is collapsed" msgstr "" "Wähle welches der Wiederholungsfelder im zugeklappten Zustand angezeigt " "werden soll" # @ acf -#: pro/fields/class-acf-field-repeater.php:430 +#: pro/fields/class-acf-field-repeater.php:422 msgid "Minimum Rows" msgstr "Minimum der Einträge" # @ acf -#: pro/fields/class-acf-field-repeater.php:440 +#: pro/fields/class-acf-field-repeater.php:432 msgid "Maximum Rows" msgstr "Maximum der Einträge" @@ -3815,6 +3845,34 @@ msgstr "Elliot Condon" msgid "http://www.elliotcondon.com/" msgstr "http://www.elliotcondon.com/" +# @ acf +#~ msgid "No toggle fields available" +#~ msgstr "Es liegen keine Auswahl-Feld-Typen vor" + +# @ acf +#~ msgid "Parent fields" +#~ msgstr "Übergeordnete Felder" + +# @ acf +#~ msgid "Sibling fields" +#~ msgstr "Geschwister-Felder" + +# @ acf +#~ msgid "Locating" +#~ msgstr "Lokalisiere" + +# @ acf +#~ msgid "No embed found for the given URL." +#~ msgstr "Keine Inhalte für die eingegebene URL gefunden." + +# @ acf +#~ msgid "Minimum values reached ( {min} values )" +#~ msgstr "Minimum der Einträge mit ({min} Einträge) erreicht" + +# @ acf +#~ msgid "Taxonomy Term" +#~ msgstr "Taxonomie" + # @ acf #~ msgid "Export Field Groups to PHP" #~ msgstr "Exportieren der Feld-Gruppen nach PHP" diff --git a/lang/acf-de_DE_formal.mo b/lang/acf-de_DE_formal.mo index 666cf93cdb928de40929f9778249239d2a10e1b3..e9fcc5599384574a2cb552a412528fc3c42f3ab8 100644 GIT binary patch delta 15177 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 VBSRSZ;LPmg5$3ME;h$VA@PAkeKh*#L delta 14909 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\n" +"POT-Creation-Date: 2018-04-16 17:11+1000\n" +"PO-Revision-Date: 2018-04-29 02:59+0200\n" +"Last-Translator: Ralf Koller \n" "Language-Team: Ralf Koller \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.1\n" +"X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" @@ -23,116 +23,115 @@ msgstr "" "X-Poedit-SearchPathExcluded-0: *.js\n" # @ acf -#: acf.php:67 +#: acf.php:81 msgid "Advanced Custom Fields" msgstr "Advanced Custom Fields" # @ acf -#: acf.php:369 includes/admin/admin.php:117 +#: acf.php:388 includes/admin/admin.php:117 msgid "Field Groups" msgstr "Feld-Gruppen" # @ acf -#: acf.php:370 +#: acf.php:389 msgid "Field Group" msgstr "Feld-Gruppe" # @ acf -#: acf.php:371 acf.php:403 includes/admin/admin.php:118 -#: pro/fields/class-acf-field-flexible-content.php:559 +#: acf.php:390 acf.php:422 includes/admin/admin.php:118 +#: pro/fields/class-acf-field-flexible-content.php:551 msgid "Add New" msgstr "Erstellen" # @ acf -#: acf.php:372 +#: acf.php:391 msgid "Add New Field Group" msgstr "Neue Feld-Gruppe erstellen" # @ acf -#: acf.php:373 +#: acf.php:392 msgid "Edit Field Group" msgstr "Feld-Gruppe bearbeiten" # @ acf -#: acf.php:374 +#: acf.php:393 msgid "New Field Group" msgstr "Neue Feld-Gruppe" # @ acf -#: acf.php:375 +#: acf.php:394 msgid "View Field Group" msgstr "Feld-Gruppe anzeigen" # @ acf -#: acf.php:376 +#: acf.php:395 msgid "Search Field Groups" msgstr "Feld-Gruppen suchen" # @ acf -#: acf.php:377 +#: acf.php:396 msgid "No Field Groups found" msgstr "Keine Feld-Gruppen gefunden" # @ acf -#: acf.php:378 +#: acf.php:397 msgid "No Field Groups found in Trash" msgstr "Keine Feld-Gruppen im Papierkorb gefunden" # @ acf -#: acf.php:401 includes/admin/admin-field-group.php:182 -#: includes/admin/admin-field-group.php:275 +#: acf.php:420 includes/admin/admin-field-group.php:196 #: includes/admin/admin-field-groups.php:510 -#: pro/fields/class-acf-field-clone.php:807 +#: pro/fields/class-acf-field-clone.php:811 msgid "Fields" msgstr "Felder" # @ acf -#: acf.php:402 +#: acf.php:421 msgid "Field" msgstr "Feld" # @ acf -#: acf.php:404 +#: acf.php:423 msgid "Add New Field" msgstr "Feld hinzufügen" # @ acf -#: acf.php:405 +#: acf.php:424 msgid "Edit Field" msgstr "Feld bearbeiten" # @ acf -#: acf.php:406 includes/admin/views/field-group-fields.php:41 +#: acf.php:425 includes/admin/views/field-group-fields.php:41 #: includes/admin/views/settings-info.php:105 msgid "New Field" msgstr "Neues Feld" # @ acf -#: acf.php:407 +#: acf.php:426 msgid "View Field" msgstr "Feld anzeigen" # @ acf -#: acf.php:408 +#: acf.php:427 msgid "Search Fields" msgstr "Felder suchen" # @ acf -#: acf.php:409 +#: acf.php:428 msgid "No Fields found" msgstr "Keine Felder gefunden" # @ acf -#: acf.php:410 +#: acf.php:429 msgid "No Fields found in Trash" msgstr "Keine Feld-Gruppen im Papierkorb gefunden" -#: acf.php:449 includes/admin/admin-field-group.php:390 +#: acf.php:468 includes/admin/admin-field-group.php:377 #: includes/admin/admin-field-groups.php:567 msgid "Inactive" msgstr "Inaktiv" -#: acf.php:454 +#: acf.php:473 #, php-format msgid "Inactive (%s)" msgid_plural "Inactive (%s)" @@ -177,119 +176,103 @@ msgid "Field group draft updated." msgstr "Entwurf der Feld-Gruppe aktualisiert." # @ acf -#: includes/admin/admin-field-group.php:183 -msgid "Location" -msgstr "Position" - -#: includes/admin/admin-field-group.php:184 -#: includes/admin/tools/class-acf-admin-tool-export.php:295 -msgid "Settings" -msgstr "Einstellungen" +#: includes/admin/admin-field-group.php:154 +msgid "The string \"field_\" may not be used at the start of a field name" +msgstr "Der Feldname darf nicht mit \"field_\" beginnen" # @ acf -#: includes/admin/admin-field-group.php:269 -msgid "Move to trash. Are you sure?" -msgstr "Wirklich in den Papierkorb verschieben?" +#: includes/admin/admin-field-group.php:155 +msgid "This field cannot be moved until its changes have been saved" +msgstr "Diese Feld kann nicht verschoben werden, bevor es gesichert wurde" # @ acf -#: includes/admin/admin-field-group.php:270 -msgid "checked" -msgstr "ausgewählt" - -# @ acf -#: includes/admin/admin-field-group.php:271 -msgid "No toggle fields available" -msgstr "Es liegen keine Auswahl-Feld-Typen vor" - -# @ acf -#: includes/admin/admin-field-group.php:272 +#: includes/admin/admin-field-group.php:156 msgid "Field group title is required" msgstr "Es ist ein Titel für die Feld-Gruppe erforderlich" # @ acf -#: includes/admin/admin-field-group.php:273 +#: includes/admin/admin-field-group.php:157 +msgid "Move to trash. Are you sure?" +msgstr "Wirklich in den Papierkorb verschieben?" + +# @ acf +#: includes/admin/admin-field-group.php:158 +msgid "Move Custom Field" +msgstr "Benutzerdefiniertes Feld verschieben" + +# @ acf +#: includes/admin/admin-field-group.php:159 +msgid "checked" +msgstr "ausgewählt" + +# @ acf +#: includes/admin/admin-field-group.php:160 +msgid "(no label)" +msgstr "(ohne Bezeichnung)" + +# @ acf +#: includes/admin/admin-field-group.php:161 #: includes/api/api-field-group.php:751 msgid "copy" msgstr "kopieren" # @ acf -#: includes/admin/admin-field-group.php:274 -#: includes/admin/views/field-group-field-conditional-logic.php:54 -#: includes/admin/views/field-group-field-conditional-logic.php:154 +#: includes/admin/admin-field-group.php:162 +#: includes/admin/views/field-group-field-conditional-logic.php:51 +#: includes/admin/views/field-group-field-conditional-logic.php:139 #: includes/admin/views/field-group-locations.php:29 #: includes/admin/views/html-location-group.php:3 -#: includes/api/api-helpers.php:3981 +#: includes/api/api-helpers.php:4158 msgid "or" msgstr "oder" # @ acf -#: includes/admin/admin-field-group.php:276 -msgid "Parent fields" -msgstr "Übergeordnete Felder" - -# @ acf -#: includes/admin/admin-field-group.php:277 -msgid "Sibling fields" -msgstr "Geschwister-Felder" - -# @ acf -#: includes/admin/admin-field-group.php:278 -msgid "Move Custom Field" -msgstr "Benutzerdefiniertes Feld verschieben" - -# @ acf -#: includes/admin/admin-field-group.php:279 -msgid "This field cannot be moved until its changes have been saved" -msgstr "Diese Feld kann nicht verschoben werden, bevor es gesichert wurde" - -# @ acf -#: includes/admin/admin-field-group.php:280 +#: includes/admin/admin-field-group.php:163 msgid "Null" msgstr "Null" # @ acf -#: includes/admin/admin-field-group.php:281 includes/input.php:258 -msgid "The changes you made will be lost if you navigate away from this page" -msgstr "" -"Die vorgenommenen Änderungen gehen verloren wenn diese Seite verlassen wird" +#: includes/admin/admin-field-group.php:197 +msgid "Location" +msgstr "Position" -# @ acf -#: includes/admin/admin-field-group.php:282 -msgid "The string \"field_\" may not be used at the start of a field name" -msgstr "Der Feldname darf nicht mit \"field_\" beginnen" +#: includes/admin/admin-field-group.php:198 +#: includes/admin/tools/class-acf-admin-tool-export.php:295 +msgid "Settings" +msgstr "Einstellungen" -#: includes/admin/admin-field-group.php:360 +#: includes/admin/admin-field-group.php:347 msgid "Field Keys" msgstr "Feldschlüssel" -#: includes/admin/admin-field-group.php:390 +#: includes/admin/admin-field-group.php:377 #: includes/admin/views/field-group-options.php:9 msgid "Active" msgstr "Aktiviert" # @ acf -#: includes/admin/admin-field-group.php:801 +#: includes/admin/admin-field-group.php:753 msgid "Move Complete." msgstr "Verschieben erfolgreich abgeschlossen." # @ acf -#: includes/admin/admin-field-group.php:802 +#: includes/admin/admin-field-group.php:754 #, php-format msgid "The %s field can now be found in the %s field group" msgstr "Das Feld \"%s\" wurde in die %s Feld-Gruppe verschoben" # @ acf -#: includes/admin/admin-field-group.php:803 +#: includes/admin/admin-field-group.php:755 msgid "Close Window" msgstr "Schließen" # @ acf -#: includes/admin/admin-field-group.php:844 +#: includes/admin/admin-field-group.php:796 msgid "Please select the destination for this field" msgstr "In welche Feld-Gruppe solle dieses Feld verschoben werden" # @ acf -#: includes/admin/admin-field-group.php:851 +#: includes/admin/admin-field-group.php:803 msgid "Move Field" msgstr "Feld verschieben" @@ -407,15 +390,15 @@ msgstr "Dieses Element duplizieren" # @ acf #: includes/admin/admin-field-groups.php:667 #: includes/admin/admin-field-groups.php:683 -#: includes/admin/views/field-group-field.php:49 -#: pro/fields/class-acf-field-flexible-content.php:558 +#: includes/admin/views/field-group-field.php:46 +#: pro/fields/class-acf-field-flexible-content.php:550 msgid "Duplicate" msgstr "Duplizieren" # @ acf #: includes/admin/admin-field-groups.php:700 -#: includes/fields/class-acf-field-google-map.php:112 -#: includes/fields/class-acf-field-relationship.php:656 +#: includes/fields/class-acf-field-google-map.php:113 +#: includes/fields/class-acf-field-relationship.php:657 msgid "Search" msgstr "Suchen" @@ -472,7 +455,7 @@ msgid "Error validating request" msgstr "Fehler bei der Überprüfung der Anfrage" # @ acf -#: includes/admin/install.php:210 includes/admin/views/install.php:105 +#: includes/admin/install.php:210 includes/admin/views/install.php:104 msgid "No updates available." msgstr "Keine Aktualisierungen verfügbar." @@ -566,6 +549,10 @@ msgstr "" msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" +#: includes/admin/tools/class-acf-admin-tool-export.php:483 +msgid "Copied" +msgstr "Kopiert" + # @ acf #: includes/admin/tools/class-acf-admin-tool-import.php:26 msgid "Import Field Groups" @@ -583,7 +570,7 @@ msgstr "" # @ acf #: includes/admin/tools/class-acf-admin-tool-import.php:66 -#: includes/fields/class-acf-field-file.php:35 +#: includes/fields/class-acf-field-file.php:37 msgid "Select File" msgstr "Datei auswählen" @@ -594,7 +581,7 @@ msgstr "Datei importieren" # @ acf #: includes/admin/tools/class-acf-admin-tool-import.php:100 -#: includes/fields/class-acf-field-file.php:159 +#: includes/fields/class-acf-field-file.php:154 msgid "No file selected" msgstr "Keine Datei ausgewählt" @@ -621,55 +608,43 @@ msgstr[0] "Eine Feld-Gruppe importiert" msgstr[1] "%s Feld-Gruppen importiert" # @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:28 +#: includes/admin/views/field-group-field-conditional-logic.php:25 msgid "Conditional Logic" msgstr "Bedingungen für die Anzeige" # @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:54 +#: includes/admin/views/field-group-field-conditional-logic.php:51 msgid "Show this field if" msgstr "Zeige dieses Feld, wenn" # @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:103 -#: includes/locations.php:247 -msgid "is equal to" -msgstr "ist gleich" - -# @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:104 -#: includes/locations.php:248 -msgid "is not equal to" -msgstr "ist ungleich" - -# @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:141 +#: includes/admin/views/field-group-field-conditional-logic.php:126 #: includes/admin/views/html-location-rule.php:80 msgid "and" msgstr "und" # @ acf -#: includes/admin/views/field-group-field-conditional-logic.php:156 +#: includes/admin/views/field-group-field-conditional-logic.php:141 #: includes/admin/views/field-group-locations.php:31 msgid "Add rule group" msgstr "Regelgruppe hinzufügen" # @ acf -#: includes/admin/views/field-group-field.php:41 +#: includes/admin/views/field-group-field.php:38 #: pro/fields/class-acf-field-flexible-content.php:403 #: pro/fields/class-acf-field-repeater.php:296 msgid "Drag to reorder" msgstr "Ziehen zum Sortieren" # @ acf +#: includes/admin/views/field-group-field.php:42 #: includes/admin/views/field-group-field.php:45 -#: includes/admin/views/field-group-field.php:48 msgid "Edit field" msgstr "Feld bearbeiten" # @ acf -#: includes/admin/views/field-group-field.php:48 -#: includes/fields/class-acf-field-file.php:141 +#: includes/admin/views/field-group-field.php:45 +#: includes/fields/class-acf-field-file.php:136 #: includes/fields/class-acf-field-image.php:122 #: includes/fields/class-acf-field-link.php:139 #: pro/fields/class-acf-field-gallery.php:342 @@ -677,95 +652,95 @@ msgid "Edit" msgstr "Bearbeiten" # @ acf -#: includes/admin/views/field-group-field.php:49 +#: includes/admin/views/field-group-field.php:46 msgid "Duplicate field" msgstr "Feld duplizieren" # @ acf -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move field to another group" msgstr "Feld in eine andere Gruppe verschieben" # @ acf -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move" msgstr "Verschieben" # @ acf -#: includes/admin/views/field-group-field.php:51 +#: includes/admin/views/field-group-field.php:48 msgid "Delete field" msgstr "Feld löschen" # @ acf -#: includes/admin/views/field-group-field.php:51 -#: pro/fields/class-acf-field-flexible-content.php:557 +#: includes/admin/views/field-group-field.php:48 +#: pro/fields/class-acf-field-flexible-content.php:549 msgid "Delete" msgstr "Löschen" # @ acf -#: includes/admin/views/field-group-field.php:67 +#: includes/admin/views/field-group-field.php:65 msgid "Field Label" msgstr "Bezeichnung" # @ acf -#: includes/admin/views/field-group-field.php:68 +#: includes/admin/views/field-group-field.php:66 msgid "This is the name which will appear on the EDIT page" msgstr "Dieser Name wird in der Bearbeitungs-Ansicht eines Beitrags angezeigt" # @ acf -#: includes/admin/views/field-group-field.php:77 +#: includes/admin/views/field-group-field.php:75 msgid "Field Name" msgstr "Feld-Name" # @ acf -#: includes/admin/views/field-group-field.php:78 +#: includes/admin/views/field-group-field.php:76 msgid "Single word, no spaces. Underscores and dashes allowed" msgstr "" "Nur ein Wort ohne Leerzeichen; es sind nur Unterstriche und Bindestriche als " "Sonderzeichen erlaubt" # @ acf -#: includes/admin/views/field-group-field.php:87 +#: includes/admin/views/field-group-field.php:85 msgid "Field Type" msgstr "Feld-Typ" # @ acf -#: includes/admin/views/field-group-field.php:98 +#: includes/admin/views/field-group-field.php:96 msgid "Instructions" msgstr "Anweisungen" # @ acf -#: includes/admin/views/field-group-field.php:99 +#: includes/admin/views/field-group-field.php:97 msgid "Instructions for authors. Shown when submitting data" msgstr "Anweisungen für Autoren werden in der Bearbeitungs-Ansicht angezeigt" # @ acf -#: includes/admin/views/field-group-field.php:108 +#: includes/admin/views/field-group-field.php:106 msgid "Required?" msgstr "Erforderlich?" # @ acf -#: includes/admin/views/field-group-field.php:131 +#: includes/admin/views/field-group-field.php:129 msgid "Wrapper Attributes" msgstr "Wrapper-Attribute" # @ acf -#: includes/admin/views/field-group-field.php:137 +#: includes/admin/views/field-group-field.php:135 msgid "width" msgstr "Breite" # @ acf -#: includes/admin/views/field-group-field.php:152 +#: includes/admin/views/field-group-field.php:150 msgid "class" msgstr "Klasse" # @ acf -#: includes/admin/views/field-group-field.php:165 +#: includes/admin/views/field-group-field.php:163 msgid "id" msgstr "ID" # @ acf -#: includes/admin/views/field-group-field.php:177 +#: includes/admin/views/field-group-field.php:175 msgid "Close Field" msgstr "Feld schließen" @@ -777,17 +752,17 @@ msgstr "Reihenfolge" # @ acf #: includes/admin/views/field-group-fields.php:5 #: includes/fields/class-acf-field-button-group.php:198 -#: includes/fields/class-acf-field-checkbox.php:415 -#: includes/fields/class-acf-field-radio.php:306 -#: includes/fields/class-acf-field-select.php:432 -#: pro/fields/class-acf-field-flexible-content.php:584 +#: includes/fields/class-acf-field-checkbox.php:420 +#: includes/fields/class-acf-field-radio.php:311 +#: includes/fields/class-acf-field-select.php:418 +#: pro/fields/class-acf-field-flexible-content.php:576 msgid "Label" msgstr "Name" # @ acf #: includes/admin/views/field-group-fields.php:6 #: includes/fields/class-acf-field-taxonomy.php:964 -#: pro/fields/class-acf-field-flexible-content.php:597 +#: pro/fields/class-acf-field-flexible-content.php:589 msgid "Name" msgstr "Feld-Name" @@ -981,7 +956,7 @@ msgstr "Seiten-Attribute" # @ acf #: includes/admin/views/field-group-options.php:126 -#: includes/fields/class-acf-field-relationship.php:670 +#: includes/fields/class-acf-field-relationship.php:671 msgid "Featured Image" msgstr "Beitragsbild" @@ -1487,73 +1462,218 @@ msgid "We think you'll love the changes in %s." msgstr "Wir glauben Sie werden die Änderungen in %s lieben." # @ acf -#: includes/api/api-helpers.php:880 +#: includes/api/api-helpers.php:1039 msgid "Thumbnail" msgstr "Miniaturbild" # @ acf -#: includes/api/api-helpers.php:881 +#: includes/api/api-helpers.php:1040 msgid "Medium" msgstr "Mittel" # @ acf -#: includes/api/api-helpers.php:882 +#: includes/api/api-helpers.php:1041 msgid "Large" msgstr "Groß" # @ acf -#: includes/api/api-helpers.php:931 +#: includes/api/api-helpers.php:1090 msgid "Full Size" msgstr "Volle Größe" # @ acf -#: includes/api/api-helpers.php:1272 includes/api/api-helpers.php:1845 -#: pro/fields/class-acf-field-clone.php:992 +#: includes/api/api-helpers.php:1431 includes/api/api-helpers.php:2004 +#: pro/fields/class-acf-field-clone.php:996 msgid "(no title)" msgstr "(ohne Titel)" # @ acf -#: includes/api/api-helpers.php:3902 +#: includes/api/api-helpers.php:4079 #, php-format msgid "Image width must be at least %dpx." msgstr "Die Breite des Bildes muss mindestens %dpx sein." # @ acf -#: includes/api/api-helpers.php:3907 +#: includes/api/api-helpers.php:4084 #, php-format msgid "Image width must not exceed %dpx." msgstr "Die Breite des Bildes darf %dpx nicht überschreiten." # @ acf -#: includes/api/api-helpers.php:3923 +#: includes/api/api-helpers.php:4100 #, php-format msgid "Image height must be at least %dpx." msgstr "Die Höhe des Bildes muss mindestens %dpx sein." # @ acf -#: includes/api/api-helpers.php:3928 +#: includes/api/api-helpers.php:4105 #, php-format msgid "Image height must not exceed %dpx." msgstr "Die Höhe des Bild darf %dpx nicht überschreiten." # @ acf -#: includes/api/api-helpers.php:3946 +#: includes/api/api-helpers.php:4123 #, php-format msgid "File size must be at least %s." msgstr "Die Dateigröße muss mindestens %s sein." # @ acf -#: includes/api/api-helpers.php:3951 +#: includes/api/api-helpers.php:4128 #, php-format msgid "File size must must not exceed %s." msgstr "Die Dateigröße darf %s nicht überschreiten." # @ acf -#: includes/api/api-helpers.php:3985 +#: includes/api/api-helpers.php:4162 #, php-format msgid "File type must be %s." msgstr "Der Dateityp muss %s sein." +# @ acf +#: includes/assets.php:164 +msgid "The changes you made will be lost if you navigate away from this page" +msgstr "" +"Die vorgenommenen Änderungen gehen verloren wenn diese Seite verlassen wird" + +#: includes/assets.php:167 includes/fields/class-acf-field-select.php:257 +msgctxt "verb" +msgid "Select" +msgstr "Auswählen" + +#: includes/assets.php:168 +msgctxt "verb" +msgid "Edit" +msgstr "Bearbeiten" + +#: includes/assets.php:169 +msgctxt "verb" +msgid "Update" +msgstr "Aktualisieren" + +# @ acf +#: includes/assets.php:170 pro/fields/class-acf-field-gallery.php:44 +msgid "Uploaded to this post" +msgstr "Zu diesem Beitrag hochgeladen" + +# @ acf +#: includes/assets.php:171 +msgid "Expand Details" +msgstr "Details einblenden" + +# @ acf +#: includes/assets.php:172 +msgid "Collapse Details" +msgstr "Details ausblenden" + +#: includes/assets.php:173 +msgid "Restricted" +msgstr "Eingeschränkt" + +# @ acf +#: includes/assets.php:174 +msgid "All images" +msgstr "Alle Bilder" + +# @ acf +#: includes/assets.php:177 +msgid "Validation successful" +msgstr "Überprüfung erfolgreich" + +# @ acf +#: includes/assets.php:178 includes/validation.php:285 +#: includes/validation.php:296 +msgid "Validation failed" +msgstr "Überprüfung fehlgeschlagen" + +# @ acf +#: includes/assets.php:179 +msgid "1 field requires attention" +msgstr "Für 1 Feld ist eine Aktualisierung notwendig" + +# @ acf +#: includes/assets.php:180 +#, php-format +msgid "%d fields require attention" +msgstr "Für %d Felder ist eine Aktualisierung notwendig" + +# @ acf +#: includes/assets.php:183 +msgid "Are you sure?" +msgstr "Wirklich entfernen?" + +# @ acf +#: includes/assets.php:184 includes/fields/class-acf-field-true_false.php:79 +#: includes/fields/class-acf-field-true_false.php:159 +#: pro/admin/views/html-settings-updates.php:89 +msgid "Yes" +msgstr "Ja" + +# @ acf +#: includes/assets.php:185 includes/fields/class-acf-field-true_false.php:80 +#: includes/fields/class-acf-field-true_false.php:174 +#: pro/admin/views/html-settings-updates.php:99 +msgid "No" +msgstr "Nein" + +# @ acf +#: includes/assets.php:186 includes/fields/class-acf-field-file.php:138 +#: includes/fields/class-acf-field-image.php:124 +#: includes/fields/class-acf-field-link.php:140 +#: pro/fields/class-acf-field-gallery.php:343 +#: pro/fields/class-acf-field-gallery.php:531 +msgid "Remove" +msgstr "Entfernen" + +#: includes/assets.php:187 +msgid "Cancel" +msgstr "Abbrechen" + +#: includes/assets.php:190 +msgid "Has any value" +msgstr "Hat einen Wert" + +#: includes/assets.php:191 +msgid "Has no value" +msgstr "Hat keinen Wert" + +# @ acf +#: includes/assets.php:192 +msgid "Value is equal to" +msgstr "Wert ist gleich" + +# @ acf +#: includes/assets.php:193 +msgid "Value is not equal to" +msgstr "Wert ist ungleich" + +# @ acf +#: includes/assets.php:194 +msgid "Value matches pattern" +msgstr "Wert entspricht regulärem Ausdruck" + +#: includes/assets.php:195 +msgid "Value contains" +msgstr "Wert enthält" + +# @ acf +#: includes/assets.php:196 +msgid "Value is greater than" +msgstr "Wert ist größer als" + +# @ acf +#: includes/assets.php:197 +msgid "Value is less than" +msgstr "Wert ist kleiner als" + +#: includes/assets.php:198 +msgid "Selection is greater than" +msgstr "Auswahl ist größer als" + +# @ acf +#: includes/assets.php:199 +msgid "Selection is less than" +msgstr "Auswahl ist kleiner als" + # @ acf #: includes/fields.php:144 msgid "Basic" @@ -1580,15 +1700,14 @@ msgid "jQuery" msgstr "jQuery" # @ acf -#: includes/fields.php:149 -#: includes/fields/class-acf-field-button-group.php:177 -#: includes/fields/class-acf-field-checkbox.php:384 +#: includes/fields.php:149 includes/fields/class-acf-field-button-group.php:177 +#: includes/fields/class-acf-field-checkbox.php:389 #: includes/fields/class-acf-field-group.php:474 -#: includes/fields/class-acf-field-radio.php:285 -#: pro/fields/class-acf-field-clone.php:839 -#: pro/fields/class-acf-field-flexible-content.php:554 -#: pro/fields/class-acf-field-flexible-content.php:603 -#: pro/fields/class-acf-field-repeater.php:450 +#: includes/fields/class-acf-field-radio.php:290 +#: pro/fields/class-acf-field-clone.php:843 +#: pro/fields/class-acf-field-flexible-content.php:546 +#: pro/fields/class-acf-field-flexible-content.php:595 +#: pro/fields/class-acf-field-repeater.php:442 msgid "Layout" msgstr "Layout" @@ -1642,7 +1761,7 @@ msgstr "Button-Gruppe" #: includes/fields/class-acf-field-button-group.php:149 #: includes/fields/class-acf-field-checkbox.php:344 #: includes/fields/class-acf-field-radio.php:235 -#: includes/fields/class-acf-field-select.php:368 +#: includes/fields/class-acf-field-select.php:349 msgid "Choices" msgstr "Auswahlmöglichkeiten" @@ -1650,7 +1769,7 @@ msgstr "Auswahlmöglichkeiten" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:350 msgid "Enter each choice on a new line." msgstr "Jede Auswahlmöglichkeit in separater Zeile eingeben." @@ -1658,7 +1777,7 @@ msgstr "Jede Auswahlmöglichkeit in separater Zeile eingeben." #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:350 msgid "For more control, you may specify both a value and label like this:" msgstr "" "Für eine bessere Darstellung, können Sie auch einen Wert und dazu dessen " @@ -1668,7 +1787,7 @@ msgstr "" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:350 msgid "red : Red" msgstr "rot : Rot" @@ -1677,21 +1796,21 @@ msgstr "rot : Rot" #: includes/fields/class-acf-field-page_link.php:513 #: includes/fields/class-acf-field-post_object.php:412 #: includes/fields/class-acf-field-radio.php:244 -#: includes/fields/class-acf-field-select.php:386 +#: includes/fields/class-acf-field-select.php:367 #: includes/fields/class-acf-field-taxonomy.php:793 -#: includes/fields/class-acf-field-user.php:408 +#: includes/fields/class-acf-field-user.php:409 msgid "Allow Null?" msgstr "NULL-Werte zulassen?" # @ acf #: includes/fields/class-acf-field-button-group.php:168 -#: includes/fields/class-acf-field-checkbox.php:375 +#: includes/fields/class-acf-field-checkbox.php:380 #: includes/fields/class-acf-field-color_picker.php:131 #: includes/fields/class-acf-field-email.php:118 #: includes/fields/class-acf-field-number.php:127 -#: includes/fields/class-acf-field-radio.php:276 -#: includes/fields/class-acf-field-range.php:148 -#: includes/fields/class-acf-field-select.php:377 +#: includes/fields/class-acf-field-radio.php:281 +#: includes/fields/class-acf-field-range.php:146 +#: includes/fields/class-acf-field-select.php:358 #: includes/fields/class-acf-field-text.php:119 #: includes/fields/class-acf-field-textarea.php:102 #: includes/fields/class-acf-field-true_false.php:135 @@ -1704,8 +1823,8 @@ msgstr "Standardwert" #: includes/fields/class-acf-field-button-group.php:169 #: includes/fields/class-acf-field-email.php:119 #: includes/fields/class-acf-field-number.php:128 -#: includes/fields/class-acf-field-radio.php:277 -#: includes/fields/class-acf-field-range.php:149 +#: includes/fields/class-acf-field-radio.php:282 +#: includes/fields/class-acf-field-range.php:147 #: includes/fields/class-acf-field-text.php:120 #: includes/fields/class-acf-field-textarea.php:103 #: includes/fields/class-acf-field-url.php:101 @@ -1715,50 +1834,50 @@ msgstr "Erscheint bei der Erstellung eines neuen Beitrags" # @ acf #: includes/fields/class-acf-field-button-group.php:183 -#: includes/fields/class-acf-field-checkbox.php:391 -#: includes/fields/class-acf-field-radio.php:292 +#: includes/fields/class-acf-field-checkbox.php:396 +#: includes/fields/class-acf-field-radio.php:297 msgid "Horizontal" msgstr "Horizontal" # @ acf #: includes/fields/class-acf-field-button-group.php:184 -#: includes/fields/class-acf-field-checkbox.php:390 -#: includes/fields/class-acf-field-radio.php:291 +#: includes/fields/class-acf-field-checkbox.php:395 +#: includes/fields/class-acf-field-radio.php:296 msgid "Vertical" msgstr "Vertikal" # @ acf #: includes/fields/class-acf-field-button-group.php:191 -#: includes/fields/class-acf-field-checkbox.php:408 -#: includes/fields/class-acf-field-file.php:204 +#: includes/fields/class-acf-field-checkbox.php:413 +#: includes/fields/class-acf-field-file.php:199 #: includes/fields/class-acf-field-image.php:188 #: includes/fields/class-acf-field-link.php:166 -#: includes/fields/class-acf-field-radio.php:299 +#: includes/fields/class-acf-field-radio.php:304 #: includes/fields/class-acf-field-taxonomy.php:833 msgid "Return Value" msgstr "Rückgabewert" # @ acf #: includes/fields/class-acf-field-button-group.php:192 -#: includes/fields/class-acf-field-checkbox.php:409 -#: includes/fields/class-acf-field-file.php:205 +#: includes/fields/class-acf-field-checkbox.php:414 +#: includes/fields/class-acf-field-file.php:200 #: includes/fields/class-acf-field-image.php:189 #: includes/fields/class-acf-field-link.php:167 -#: includes/fields/class-acf-field-radio.php:300 +#: includes/fields/class-acf-field-radio.php:305 msgid "Specify the returned value on front end" msgstr "Legt den Rückgabewert für das Front-End fest" #: includes/fields/class-acf-field-button-group.php:197 -#: includes/fields/class-acf-field-checkbox.php:414 -#: includes/fields/class-acf-field-radio.php:305 -#: includes/fields/class-acf-field-select.php:431 +#: includes/fields/class-acf-field-checkbox.php:419 +#: includes/fields/class-acf-field-radio.php:310 +#: includes/fields/class-acf-field-select.php:417 msgid "Value" msgstr "Wert" #: includes/fields/class-acf-field-button-group.php:199 -#: includes/fields/class-acf-field-checkbox.php:416 -#: includes/fields/class-acf-field-radio.php:307 -#: includes/fields/class-acf-field-select.php:433 +#: includes/fields/class-acf-field-checkbox.php:421 +#: includes/fields/class-acf-field-radio.php:312 +#: includes/fields/class-acf-field-select.php:419 msgid "Both (Array)" msgstr "Beide (Array)" @@ -1795,16 +1914,16 @@ msgstr "" "Speichern sie benutzerdefinierte Werte zu den Auswahlmöglichkeiten des Feldes" # @ acf -#: includes/fields/class-acf-field-checkbox.php:376 -#: includes/fields/class-acf-field-select.php:378 +#: includes/fields/class-acf-field-checkbox.php:381 +#: includes/fields/class-acf-field-select.php:359 msgid "Enter each default value on a new line" msgstr "Jeden Standardwert in einer neuen Zeile eingeben" -#: includes/fields/class-acf-field-checkbox.php:398 +#: includes/fields/class-acf-field-checkbox.php:403 msgid "Toggle" msgstr "Auswählen" -#: includes/fields/class-acf-field-checkbox.php:399 +#: includes/fields/class-acf-field-checkbox.php:404 msgid "Prepend an extra checkbox to toggle all choices" msgstr "" "Hänge eine zusätzliche Checkbox an mit der man alle Optionen auswählen kann" @@ -1838,82 +1957,83 @@ msgstr "Aktuelle Farbe" msgid "Date Picker" msgstr "Datum" -#: includes/fields/class-acf-field-date_picker.php:33 +#: includes/fields/class-acf-field-date_picker.php:59 msgctxt "Date Picker JS closeText" msgid "Done" msgstr "Fertig" -#: includes/fields/class-acf-field-date_picker.php:34 +#: includes/fields/class-acf-field-date_picker.php:60 msgctxt "Date Picker JS currentText" msgid "Today" msgstr "Heute" -#: includes/fields/class-acf-field-date_picker.php:35 +#: includes/fields/class-acf-field-date_picker.php:61 msgctxt "Date Picker JS nextText" msgid "Next" msgstr "Nächstes" -#: includes/fields/class-acf-field-date_picker.php:36 +#: includes/fields/class-acf-field-date_picker.php:62 msgctxt "Date Picker JS prevText" msgid "Prev" msgstr "Vorheriges" -#: includes/fields/class-acf-field-date_picker.php:37 +#: includes/fields/class-acf-field-date_picker.php:63 msgctxt "Date Picker JS weekHeader" msgid "Wk" msgstr "Wo." # @ acf -#: includes/fields/class-acf-field-date_picker.php:207 -#: includes/fields/class-acf-field-date_time_picker.php:181 +#: includes/fields/class-acf-field-date_picker.php:180 +#: includes/fields/class-acf-field-date_time_picker.php:183 #: includes/fields/class-acf-field-time_picker.php:109 msgid "Display Format" msgstr "Darstellungs-Format" # @ acf -#: includes/fields/class-acf-field-date_picker.php:208 -#: includes/fields/class-acf-field-date_time_picker.php:182 +#: includes/fields/class-acf-field-date_picker.php:181 +#: includes/fields/class-acf-field-date_time_picker.php:184 #: includes/fields/class-acf-field-time_picker.php:110 msgid "The format displayed when editing a post" msgstr "Das Datums-Format für die Anzeige in der Bearbeitungs-Ansicht" -#: includes/fields/class-acf-field-date_picker.php:216 -#: includes/fields/class-acf-field-date_picker.php:247 -#: includes/fields/class-acf-field-date_time_picker.php:191 -#: includes/fields/class-acf-field-date_time_picker.php:208 +#: includes/fields/class-acf-field-date_picker.php:189 +#: includes/fields/class-acf-field-date_picker.php:220 +#: includes/fields/class-acf-field-date_time_picker.php:193 +#: includes/fields/class-acf-field-date_time_picker.php:210 #: includes/fields/class-acf-field-time_picker.php:117 #: includes/fields/class-acf-field-time_picker.php:132 msgid "Custom:" msgstr "Individuelles Format:" -#: includes/fields/class-acf-field-date_picker.php:226 +#: includes/fields/class-acf-field-date_picker.php:199 msgid "Save Format" msgstr "Format abspeichern" -#: includes/fields/class-acf-field-date_picker.php:227 +#: includes/fields/class-acf-field-date_picker.php:200 msgid "The format used when saving a value" msgstr "Das Format das für das Speichern eines Wertes verwendet wird" # @ acf -#: includes/fields/class-acf-field-date_picker.php:237 -#: includes/fields/class-acf-field-date_time_picker.php:198 +#: includes/fields/class-acf-field-date_picker.php:210 +#: includes/fields/class-acf-field-date_time_picker.php:200 #: includes/fields/class-acf-field-post_object.php:432 -#: includes/fields/class-acf-field-relationship.php:697 -#: includes/fields/class-acf-field-select.php:426 +#: includes/fields/class-acf-field-relationship.php:698 +#: includes/fields/class-acf-field-select.php:412 #: includes/fields/class-acf-field-time_picker.php:124 +#: includes/fields/class-acf-field-user.php:428 msgid "Return Format" msgstr "Rückgabewert" # @ acf -#: includes/fields/class-acf-field-date_picker.php:238 -#: includes/fields/class-acf-field-date_time_picker.php:199 +#: includes/fields/class-acf-field-date_picker.php:211 +#: includes/fields/class-acf-field-date_time_picker.php:201 #: includes/fields/class-acf-field-time_picker.php:125 msgid "The format returned via template functions" msgstr "Das Datums-Format für die Ausgabe in den Template-Funktionen" # @ acf -#: includes/fields/class-acf-field-date_picker.php:256 -#: includes/fields/class-acf-field-date_time_picker.php:215 +#: includes/fields/class-acf-field-date_picker.php:229 +#: includes/fields/class-acf-field-date_time_picker.php:217 msgid "Week Starts On" msgstr "Die Woche beginnt am" @@ -1921,77 +2041,77 @@ msgstr "Die Woche beginnt am" msgid "Date Time Picker" msgstr "Datum und Uhrzeit auswählen" -#: includes/fields/class-acf-field-date_time_picker.php:33 +#: includes/fields/class-acf-field-date_time_picker.php:68 msgctxt "Date Time Picker JS timeOnlyTitle" msgid "Choose Time" msgstr "Zeit auswählen" -#: includes/fields/class-acf-field-date_time_picker.php:34 +#: includes/fields/class-acf-field-date_time_picker.php:69 msgctxt "Date Time Picker JS timeText" msgid "Time" msgstr "Zeit" -#: includes/fields/class-acf-field-date_time_picker.php:35 +#: includes/fields/class-acf-field-date_time_picker.php:70 msgctxt "Date Time Picker JS hourText" msgid "Hour" msgstr "Stunde" -#: includes/fields/class-acf-field-date_time_picker.php:36 +#: includes/fields/class-acf-field-date_time_picker.php:71 msgctxt "Date Time Picker JS minuteText" msgid "Minute" msgstr "Minute" -#: includes/fields/class-acf-field-date_time_picker.php:37 +#: includes/fields/class-acf-field-date_time_picker.php:72 msgctxt "Date Time Picker JS secondText" msgid "Second" msgstr "Sekunde" -#: includes/fields/class-acf-field-date_time_picker.php:38 +#: includes/fields/class-acf-field-date_time_picker.php:73 msgctxt "Date Time Picker JS millisecText" msgid "Millisecond" msgstr "Millisekunde" -#: includes/fields/class-acf-field-date_time_picker.php:39 +#: includes/fields/class-acf-field-date_time_picker.php:74 msgctxt "Date Time Picker JS microsecText" msgid "Microsecond" msgstr "Mikrosekunde" -#: includes/fields/class-acf-field-date_time_picker.php:40 +#: includes/fields/class-acf-field-date_time_picker.php:75 msgctxt "Date Time Picker JS timezoneText" msgid "Time Zone" msgstr "Zeitzone" -#: includes/fields/class-acf-field-date_time_picker.php:41 +#: includes/fields/class-acf-field-date_time_picker.php:76 msgctxt "Date Time Picker JS currentText" msgid "Now" msgstr "Jetzt" -#: includes/fields/class-acf-field-date_time_picker.php:42 +#: includes/fields/class-acf-field-date_time_picker.php:77 msgctxt "Date Time Picker JS closeText" msgid "Done" msgstr "Fertig" -#: includes/fields/class-acf-field-date_time_picker.php:43 +#: includes/fields/class-acf-field-date_time_picker.php:78 msgctxt "Date Time Picker JS selectText" msgid "Select" msgstr "Auswählen" -#: includes/fields/class-acf-field-date_time_picker.php:45 +#: includes/fields/class-acf-field-date_time_picker.php:80 msgctxt "Date Time Picker JS amText" msgid "AM" msgstr "vorm." -#: includes/fields/class-acf-field-date_time_picker.php:46 +#: includes/fields/class-acf-field-date_time_picker.php:81 msgctxt "Date Time Picker JS amTextShort" msgid "A" msgstr "vorm." -#: includes/fields/class-acf-field-date_time_picker.php:49 +#: includes/fields/class-acf-field-date_time_picker.php:84 msgctxt "Date Time Picker JS pmText" msgid "PM" msgstr "nachm." -#: includes/fields/class-acf-field-date_time_picker.php:50 +#: includes/fields/class-acf-field-date_time_picker.php:85 msgctxt "Date Time Picker JS pmTextShort" msgid "P" msgstr "nachm." @@ -2025,7 +2145,7 @@ msgstr "Platzhalter-Text solange keine Eingabe im Feld vorgenommen wurde" #: includes/fields/class-acf-field-email.php:136 #: includes/fields/class-acf-field-number.php:145 #: includes/fields/class-acf-field-password.php:80 -#: includes/fields/class-acf-field-range.php:187 +#: includes/fields/class-acf-field-range.php:185 #: includes/fields/class-acf-field-text.php:137 msgid "Prepend" msgstr "Voranstellen" @@ -2034,7 +2154,7 @@ msgstr "Voranstellen" #: includes/fields/class-acf-field-email.php:137 #: includes/fields/class-acf-field-number.php:146 #: includes/fields/class-acf-field-password.php:81 -#: includes/fields/class-acf-field-range.php:188 +#: includes/fields/class-acf-field-range.php:186 #: includes/fields/class-acf-field-text.php:138 msgid "Appears before the input" msgstr "Wird dem Eingabefeld vorangestellt" @@ -2043,7 +2163,7 @@ msgstr "Wird dem Eingabefeld vorangestellt" #: includes/fields/class-acf-field-email.php:145 #: includes/fields/class-acf-field-number.php:154 #: includes/fields/class-acf-field-password.php:89 -#: includes/fields/class-acf-field-range.php:196 +#: includes/fields/class-acf-field-range.php:194 #: includes/fields/class-acf-field-text.php:146 msgid "Append" msgstr "Anhängen" @@ -2052,7 +2172,7 @@ msgstr "Anhängen" #: includes/fields/class-acf-field-email.php:146 #: includes/fields/class-acf-field-number.php:155 #: includes/fields/class-acf-field-password.php:90 -#: includes/fields/class-acf-field-range.php:197 +#: includes/fields/class-acf-field-range.php:195 #: includes/fields/class-acf-field-text.php:147 msgid "Appears after the input" msgstr "Wird dem Eingabefeld hinten angestellt" @@ -2063,30 +2183,23 @@ msgid "File" msgstr "Datei" # @ acf -#: includes/fields/class-acf-field-file.php:36 +#: includes/fields/class-acf-field-file.php:38 msgid "Edit File" msgstr "Datei bearbeiten" # @ acf -#: includes/fields/class-acf-field-file.php:37 +#: includes/fields/class-acf-field-file.php:39 msgid "Update File" msgstr "Datei aktualisieren" -# @ acf -#: includes/fields/class-acf-field-file.php:38 -#: includes/fields/class-acf-field-image.php:43 includes/media.php:57 -#: pro/fields/class-acf-field-gallery.php:44 -msgid "Uploaded to this post" -msgstr "Zu diesem Beitrag hochgeladen" - -#: includes/fields/class-acf-field-file.php:130 +#: includes/fields/class-acf-field-file.php:125 msgid "File name" msgstr "Dateiname" # @ acf -#: includes/fields/class-acf-field-file.php:134 -#: includes/fields/class-acf-field-file.php:237 -#: includes/fields/class-acf-field-file.php:248 +#: includes/fields/class-acf-field-file.php:129 +#: includes/fields/class-acf-field-file.php:232 +#: includes/fields/class-acf-field-file.php:243 #: includes/fields/class-acf-field-image.php:248 #: includes/fields/class-acf-field-image.php:277 #: pro/fields/class-acf-field-gallery.php:690 @@ -2095,50 +2208,41 @@ msgid "File size" msgstr "Dateigröße" # @ acf -#: includes/fields/class-acf-field-file.php:143 -#: includes/fields/class-acf-field-image.php:124 -#: includes/fields/class-acf-field-link.php:140 includes/input.php:269 -#: pro/fields/class-acf-field-gallery.php:343 -#: pro/fields/class-acf-field-gallery.php:531 -msgid "Remove" -msgstr "Entfernen" - -# @ acf -#: includes/fields/class-acf-field-file.php:159 +#: includes/fields/class-acf-field-file.php:154 msgid "Add File" msgstr "Datei hinzufügen" # @ acf -#: includes/fields/class-acf-field-file.php:210 +#: includes/fields/class-acf-field-file.php:205 msgid "File Array" msgstr "Datei-Array" # @ acf -#: includes/fields/class-acf-field-file.php:211 +#: includes/fields/class-acf-field-file.php:206 msgid "File URL" msgstr "Datei-URL" # @ acf -#: includes/fields/class-acf-field-file.php:212 +#: includes/fields/class-acf-field-file.php:207 msgid "File ID" msgstr "Datei-ID" # @ acf -#: includes/fields/class-acf-field-file.php:219 +#: includes/fields/class-acf-field-file.php:214 #: includes/fields/class-acf-field-image.php:213 #: pro/fields/class-acf-field-gallery.php:655 msgid "Library" msgstr "Medienübersicht" # @ acf -#: includes/fields/class-acf-field-file.php:220 +#: includes/fields/class-acf-field-file.php:215 #: includes/fields/class-acf-field-image.php:214 #: pro/fields/class-acf-field-gallery.php:656 msgid "Limit the media library choice" msgstr "Beschränkt die Auswahl in der Medienübersicht" # @ acf -#: includes/fields/class-acf-field-file.php:225 +#: includes/fields/class-acf-field-file.php:220 #: includes/fields/class-acf-field-image.php:219 #: includes/locations/class-acf-location-attachment.php:101 #: includes/locations/class-acf-location-comment.php:79 @@ -2152,43 +2256,43 @@ msgid "All" msgstr "Alle" # @ acf -#: includes/fields/class-acf-field-file.php:226 +#: includes/fields/class-acf-field-file.php:221 #: includes/fields/class-acf-field-image.php:220 #: pro/fields/class-acf-field-gallery.php:662 msgid "Uploaded to post" msgstr "Für den Beitrag hochgeladen" # @ acf -#: includes/fields/class-acf-field-file.php:233 +#: includes/fields/class-acf-field-file.php:228 #: includes/fields/class-acf-field-image.php:227 #: pro/fields/class-acf-field-gallery.php:669 msgid "Minimum" msgstr "Minimum" # @ acf -#: includes/fields/class-acf-field-file.php:234 -#: includes/fields/class-acf-field-file.php:245 +#: includes/fields/class-acf-field-file.php:229 +#: includes/fields/class-acf-field-file.php:240 msgid "Restrict which files can be uploaded" msgstr "" "Erlaubt nur das Hochladen von Dateien die die angegebenen Eigenschaften " "erfüllen" # @ acf -#: includes/fields/class-acf-field-file.php:244 +#: includes/fields/class-acf-field-file.php:239 #: includes/fields/class-acf-field-image.php:256 #: pro/fields/class-acf-field-gallery.php:698 msgid "Maximum" msgstr "Maximum" # @ acf -#: includes/fields/class-acf-field-file.php:255 +#: includes/fields/class-acf-field-file.php:250 #: includes/fields/class-acf-field-image.php:285 #: pro/fields/class-acf-field-gallery.php:727 msgid "Allowed file types" msgstr "Erlaubte Datei-Formate" # @ acf -#: includes/fields/class-acf-field-file.php:256 +#: includes/fields/class-acf-field-file.php:251 #: includes/fields/class-acf-field-image.php:286 #: pro/fields/class-acf-field-gallery.php:728 msgid "Comma separated list. Leave blank for all types" @@ -2202,64 +2306,59 @@ msgid "Google Map" msgstr "Google Maps" # @ acf -#: includes/fields/class-acf-field-google-map.php:40 -msgid "Locating" -msgstr "Lokalisiere" - -# @ acf -#: includes/fields/class-acf-field-google-map.php:41 +#: includes/fields/class-acf-field-google-map.php:43 msgid "Sorry, this browser does not support geolocation" msgstr "Dieser Browser unterstützt keine Geo-Lokation" # @ acf -#: includes/fields/class-acf-field-google-map.php:113 +#: includes/fields/class-acf-field-google-map.php:114 msgid "Clear location" msgstr "Position löschen" # @ acf -#: includes/fields/class-acf-field-google-map.php:114 +#: includes/fields/class-acf-field-google-map.php:115 msgid "Find current location" msgstr "Aktuelle Position finden" # @ acf -#: includes/fields/class-acf-field-google-map.php:117 +#: includes/fields/class-acf-field-google-map.php:118 msgid "Search for address..." msgstr "Nach der Adresse suchen..." # @ acf -#: includes/fields/class-acf-field-google-map.php:147 -#: includes/fields/class-acf-field-google-map.php:158 +#: includes/fields/class-acf-field-google-map.php:148 +#: includes/fields/class-acf-field-google-map.php:159 msgid "Center" msgstr "Kartenmittelpunkt" # @ acf -#: includes/fields/class-acf-field-google-map.php:148 -#: includes/fields/class-acf-field-google-map.php:159 +#: includes/fields/class-acf-field-google-map.php:149 +#: includes/fields/class-acf-field-google-map.php:160 msgid "Center the initial map" msgstr "Der Mittelpunkt der Ausgangskarte" # @ acf -#: includes/fields/class-acf-field-google-map.php:170 +#: includes/fields/class-acf-field-google-map.php:171 msgid "Zoom" msgstr "Zoom" # @ acf -#: includes/fields/class-acf-field-google-map.php:171 +#: includes/fields/class-acf-field-google-map.php:172 msgid "Set the initial zoom level" msgstr "Legt die Zoomstufe der Karte fest" # @ acf -#: includes/fields/class-acf-field-google-map.php:180 +#: includes/fields/class-acf-field-google-map.php:181 #: includes/fields/class-acf-field-image.php:239 #: includes/fields/class-acf-field-image.php:268 -#: includes/fields/class-acf-field-oembed.php:281 +#: includes/fields/class-acf-field-oembed.php:268 #: pro/fields/class-acf-field-gallery.php:681 #: pro/fields/class-acf-field-gallery.php:710 msgid "Height" msgstr "Höhe" # @ acf -#: includes/fields/class-acf-field-google-map.php:181 +#: includes/fields/class-acf-field-google-map.php:182 msgid "Customise the map height" msgstr "Legt die Höhe der Karte fest" @@ -2272,37 +2371,37 @@ msgstr "" # @ acf #: includes/fields/class-acf-field-group.php:459 -#: pro/fields/class-acf-field-repeater.php:389 +#: pro/fields/class-acf-field-repeater.php:381 msgid "Sub Fields" msgstr "Wiederholungsfelder" #: includes/fields/class-acf-field-group.php:475 -#: pro/fields/class-acf-field-clone.php:840 +#: pro/fields/class-acf-field-clone.php:844 msgid "Specify the style used to render the selected fields" msgstr "" "Geben Sie den Stil an mit dem die ausgewählten Felder angezeigt werden sollen" # @ acf #: includes/fields/class-acf-field-group.php:480 -#: pro/fields/class-acf-field-clone.php:845 -#: pro/fields/class-acf-field-flexible-content.php:614 -#: pro/fields/class-acf-field-repeater.php:458 +#: pro/fields/class-acf-field-clone.php:849 +#: pro/fields/class-acf-field-flexible-content.php:606 +#: pro/fields/class-acf-field-repeater.php:450 msgid "Block" msgstr "Block" # @ acf #: includes/fields/class-acf-field-group.php:481 -#: pro/fields/class-acf-field-clone.php:846 -#: pro/fields/class-acf-field-flexible-content.php:613 -#: pro/fields/class-acf-field-repeater.php:457 +#: pro/fields/class-acf-field-clone.php:850 +#: pro/fields/class-acf-field-flexible-content.php:605 +#: pro/fields/class-acf-field-repeater.php:449 msgid "Table" msgstr "Tabelle" # @ acf #: includes/fields/class-acf-field-group.php:482 -#: pro/fields/class-acf-field-clone.php:847 -#: pro/fields/class-acf-field-flexible-content.php:615 -#: pro/fields/class-acf-field-repeater.php:459 +#: pro/fields/class-acf-field-clone.php:851 +#: pro/fields/class-acf-field-flexible-content.php:607 +#: pro/fields/class-acf-field-repeater.php:451 msgid "Row" msgstr "Reihe" @@ -2312,27 +2411,22 @@ msgid "Image" msgstr "Bild" # @ acf -#: includes/fields/class-acf-field-image.php:40 +#: includes/fields/class-acf-field-image.php:42 msgid "Select Image" msgstr "Bild auswählen" # @ acf -#: includes/fields/class-acf-field-image.php:41 +#: includes/fields/class-acf-field-image.php:43 #: pro/fields/class-acf-field-gallery.php:42 msgid "Edit Image" msgstr "Bild bearbeiten" # @ acf -#: includes/fields/class-acf-field-image.php:42 +#: includes/fields/class-acf-field-image.php:44 #: pro/fields/class-acf-field-gallery.php:43 msgid "Update Image" msgstr "Bild aktualisieren" -# @ acf -#: includes/fields/class-acf-field-image.php:44 -msgid "All images" -msgstr "Alle Bilder" - # @ acf #: includes/fields/class-acf-field-image.php:140 msgid "No image selected" @@ -2381,7 +2475,7 @@ msgstr "" # @ acf #: includes/fields/class-acf-field-image.php:231 #: includes/fields/class-acf-field-image.php:260 -#: includes/fields/class-acf-field-oembed.php:270 +#: includes/fields/class-acf-field-oembed.php:257 #: pro/fields/class-acf-field-gallery.php:673 #: pro/fields/class-acf-field-gallery.php:702 msgid "Width" @@ -2467,19 +2561,19 @@ msgstr "Numerisch" # @ acf #: includes/fields/class-acf-field-number.php:163 -#: includes/fields/class-acf-field-range.php:157 +#: includes/fields/class-acf-field-range.php:155 msgid "Minimum Value" msgstr "Mindestwert" # @ acf #: includes/fields/class-acf-field-number.php:172 -#: includes/fields/class-acf-field-range.php:167 +#: includes/fields/class-acf-field-range.php:165 msgid "Maximum Value" msgstr "Maximalwert" # @ acf #: includes/fields/class-acf-field-number.php:181 -#: includes/fields/class-acf-field-range.php:177 +#: includes/fields/class-acf-field-range.php:175 msgid "Step Size" msgstr "Schrittweite" @@ -2506,23 +2600,13 @@ msgid "oEmbed" msgstr "oEmbed" # @ acf -#: includes/fields/class-acf-field-oembed.php:219 +#: includes/fields/class-acf-field-oembed.php:216 msgid "Enter URL" msgstr "URL eingeben" -#: includes/fields/class-acf-field-oembed.php:234 -#: includes/fields/class-acf-field-taxonomy.php:898 -msgid "Error." -msgstr "Fehler." - # @ acf -#: includes/fields/class-acf-field-oembed.php:234 -msgid "No embed found for the given URL." -msgstr "Keine Inhalte für die eingegebene URL gefunden." - -# @ acf -#: includes/fields/class-acf-field-oembed.php:267 -#: includes/fields/class-acf-field-oembed.php:278 +#: includes/fields/class-acf-field-oembed.php:254 +#: includes/fields/class-acf-field-oembed.php:265 msgid "Embed Size" msgstr "Maße" @@ -2540,28 +2624,28 @@ msgstr "Übergeordnet" # @ acf #: includes/fields/class-acf-field-page_link.php:485 #: includes/fields/class-acf-field-post_object.php:384 -#: includes/fields/class-acf-field-relationship.php:623 +#: includes/fields/class-acf-field-relationship.php:624 msgid "Filter by Post Type" msgstr "Nach Post Types filtern" # @ acf #: includes/fields/class-acf-field-page_link.php:493 #: includes/fields/class-acf-field-post_object.php:392 -#: includes/fields/class-acf-field-relationship.php:631 +#: includes/fields/class-acf-field-relationship.php:632 msgid "All post types" msgstr "Alle verfügbaren Post Types" # @ acf #: includes/fields/class-acf-field-page_link.php:499 #: includes/fields/class-acf-field-post_object.php:398 -#: includes/fields/class-acf-field-relationship.php:637 +#: includes/fields/class-acf-field-relationship.php:638 msgid "Filter by Taxonomy" msgstr "Nach Taxonomien filtern" # @ acf #: includes/fields/class-acf-field-page_link.php:507 #: includes/fields/class-acf-field-post_object.php:406 -#: includes/fields/class-acf-field-relationship.php:645 +#: includes/fields/class-acf-field-relationship.php:646 msgid "All taxonomies" msgstr "Alle Taxonomien" @@ -2572,8 +2656,8 @@ msgstr "Archiv-URL's zulassen" # @ acf #: includes/fields/class-acf-field-page_link.php:533 #: includes/fields/class-acf-field-post_object.php:422 -#: includes/fields/class-acf-field-select.php:396 -#: includes/fields/class-acf-field-user.php:418 +#: includes/fields/class-acf-field-select.php:377 +#: includes/fields/class-acf-field-user.php:419 msgid "Select multiple values?" msgstr "Mehrere Werte auswählbar?" @@ -2585,13 +2669,13 @@ msgstr "Passwort" # @ acf #: includes/fields/class-acf-field-post_object.php:25 #: includes/fields/class-acf-field-post_object.php:437 -#: includes/fields/class-acf-field-relationship.php:702 +#: includes/fields/class-acf-field-relationship.php:703 msgid "Post Object" msgstr "Beitrags-Objekt" # @ acf #: includes/fields/class-acf-field-post_object.php:438 -#: includes/fields/class-acf-field-relationship.php:703 +#: includes/fields/class-acf-field-relationship.php:704 msgid "Post ID" msgstr "Beitrags-ID" @@ -2632,80 +2716,76 @@ msgid "Relationship" msgstr "Beziehung" # @ acf -#: includes/fields/class-acf-field-relationship.php:37 -msgid "Minimum values reached ( {min} values )" -msgstr "Minimum der Einträge mit ({min} Einträge) erreicht" - -# @ acf -#: includes/fields/class-acf-field-relationship.php:38 +#: includes/fields/class-acf-field-relationship.php:40 msgid "Maximum values reached ( {max} values )" msgstr "Maximum der Einträge mit ({max} Einträge) erreicht" # @ acf -#: includes/fields/class-acf-field-relationship.php:39 +#: includes/fields/class-acf-field-relationship.php:41 msgid "Loading" msgstr "Lade" # @ acf -#: includes/fields/class-acf-field-relationship.php:40 +#: includes/fields/class-acf-field-relationship.php:42 msgid "No matches found" msgstr "Keine Übereinstimmung gefunden" # @ acf -#: includes/fields/class-acf-field-relationship.php:423 +#: includes/fields/class-acf-field-relationship.php:424 msgid "Select post type" msgstr "Beitrag-Typ auswählen" # @ acf -#: includes/fields/class-acf-field-relationship.php:449 +#: includes/fields/class-acf-field-relationship.php:450 msgid "Select taxonomy" msgstr "Taxonomie auswählen" # @ acf -#: includes/fields/class-acf-field-relationship.php:539 +#: includes/fields/class-acf-field-relationship.php:540 msgid "Search..." msgstr "Suchen..." # @ acf -#: includes/fields/class-acf-field-relationship.php:651 +#: includes/fields/class-acf-field-relationship.php:652 msgid "Filters" msgstr "Filter" # @ acf -#: includes/fields/class-acf-field-relationship.php:657 +#: includes/fields/class-acf-field-relationship.php:658 #: includes/locations/class-acf-location-post-type.php:27 msgid "Post Type" msgstr "Beitrags-Typ" # @ acf -#: includes/fields/class-acf-field-relationship.php:658 +#: includes/fields/class-acf-field-relationship.php:659 #: includes/fields/class-acf-field-taxonomy.php:28 #: includes/fields/class-acf-field-taxonomy.php:763 +#: includes/locations/class-acf-location-taxonomy.php:27 msgid "Taxonomy" msgstr "Taxonomie" # @ acf -#: includes/fields/class-acf-field-relationship.php:665 +#: includes/fields/class-acf-field-relationship.php:666 msgid "Elements" msgstr "Elemente" # @ acf -#: includes/fields/class-acf-field-relationship.php:666 +#: includes/fields/class-acf-field-relationship.php:667 msgid "Selected elements will be displayed in each result" msgstr "Die ausgewählten Elemente werden in jedem Ergebnis mit angezeigt" # @ acf -#: includes/fields/class-acf-field-relationship.php:677 +#: includes/fields/class-acf-field-relationship.php:678 msgid "Minimum posts" msgstr "Min. Anzahl der Beiträge" # @ acf -#: includes/fields/class-acf-field-relationship.php:686 +#: includes/fields/class-acf-field-relationship.php:687 msgid "Maximum posts" msgstr "Max. Anzahl der Beiträge" # @ acf -#: includes/fields/class-acf-field-relationship.php:790 +#: includes/fields/class-acf-field-relationship.php:791 #: pro/fields/class-acf-field-gallery.php:800 #, php-format msgid "%s requires at least %s selection" @@ -2719,14 +2799,14 @@ msgctxt "noun" msgid "Select" msgstr "Auswahl" -#: includes/fields/class-acf-field-select.php:38 +#: includes/fields/class-acf-field-select.php:40 msgctxt "Select2 JS matches_1" msgid "One result is available, press enter to select it." msgstr "" "Es ist ein Ergebnis verfügbar, drücken Sie die Eingabetaste um es " "auszuwählen." -#: includes/fields/class-acf-field-select.php:39 +#: includes/fields/class-acf-field-select.php:41 #, php-format msgctxt "Select2 JS matches_n" msgid "%d results are available, use up and down arrow keys to navigate." @@ -2734,76 +2814,71 @@ msgstr "" "Es sind %d Ergebnisse verfügbar, benutzen Sie die Pfeiltasten um nach oben " "und unten zu navigieren." -#: includes/fields/class-acf-field-select.php:40 +#: includes/fields/class-acf-field-select.php:42 msgctxt "Select2 JS matches_0" msgid "No matches found" msgstr "Keine Übereinstimmungen gefunden" -#: includes/fields/class-acf-field-select.php:41 +#: includes/fields/class-acf-field-select.php:43 msgctxt "Select2 JS input_too_short_1" msgid "Please enter 1 or more characters" msgstr "Geben Sie bitte ein oder mehr Zeichen ein" -#: includes/fields/class-acf-field-select.php:42 +#: includes/fields/class-acf-field-select.php:44 #, php-format msgctxt "Select2 JS input_too_short_n" msgid "Please enter %d or more characters" msgstr "Geben Sie bitte %d oder mehr Zeichen ein" -#: includes/fields/class-acf-field-select.php:43 +#: includes/fields/class-acf-field-select.php:45 msgctxt "Select2 JS input_too_long_1" msgid "Please delete 1 character" msgstr "Löschen Sie bitte ein Zeichen" -#: includes/fields/class-acf-field-select.php:44 +#: includes/fields/class-acf-field-select.php:46 #, php-format msgctxt "Select2 JS input_too_long_n" msgid "Please delete %d characters" msgstr "Löschen Sie bitte %d Zeichen" -#: includes/fields/class-acf-field-select.php:45 +#: includes/fields/class-acf-field-select.php:47 msgctxt "Select2 JS selection_too_long_1" msgid "You can only select 1 item" msgstr "Sie können nur ein Element auswählen" -#: includes/fields/class-acf-field-select.php:46 +#: includes/fields/class-acf-field-select.php:48 #, php-format msgctxt "Select2 JS selection_too_long_n" msgid "You can only select %d items" msgstr "Sie können nur %d Elemente auswählen" -#: includes/fields/class-acf-field-select.php:47 +#: includes/fields/class-acf-field-select.php:49 msgctxt "Select2 JS load_more" msgid "Loading more results…" msgstr "Mehr Ergebnisse laden…" -#: includes/fields/class-acf-field-select.php:48 +#: includes/fields/class-acf-field-select.php:50 msgctxt "Select2 JS searching" msgid "Searching…" msgstr "Suchen…" -#: includes/fields/class-acf-field-select.php:49 +#: includes/fields/class-acf-field-select.php:51 msgctxt "Select2 JS load_fail" msgid "Loading failed" msgstr "Laden fehlgeschlagen" -#: includes/fields/class-acf-field-select.php:255 includes/media.php:54 -msgctxt "verb" -msgid "Select" -msgstr "Auswählen" - # @ acf -#: includes/fields/class-acf-field-select.php:406 +#: includes/fields/class-acf-field-select.php:387 #: includes/fields/class-acf-field-true_false.php:144 msgid "Stylised UI" msgstr "Modernes Auswahlfeld" # @ acf -#: includes/fields/class-acf-field-select.php:416 +#: includes/fields/class-acf-field-select.php:397 msgid "Use AJAX to lazy load choices?" msgstr "AJAX verwenden um die Auswahl mittels Lazy Loading zu laden?" -#: includes/fields/class-acf-field-select.php:427 +#: includes/fields/class-acf-field-select.php:413 msgid "Specify the value returned" msgstr "Legen Sie den Rückgabewert fest" @@ -2912,6 +2987,10 @@ msgstr "Begriffs-Objekt" msgid "Term ID" msgstr "Begriffs-ID" +#: includes/fields/class-acf-field-taxonomy.php:898 +msgid "Error." +msgstr "Fehler." + # @ acf #: includes/fields/class-acf-field-taxonomy.php:898 #, php-format @@ -2931,7 +3010,7 @@ msgid "%s added" msgstr "%s hinzugefügt" # @ acf -#: includes/fields/class-acf-field-taxonomy.php:997 +#: includes/fields/class-acf-field-taxonomy.php:998 msgid "Add" msgstr "Hinzufügen" @@ -2976,20 +3055,6 @@ msgstr "Zeit auswählen" msgid "True / False" msgstr "Ja/Nein" -# @ acf -#: includes/fields/class-acf-field-true_false.php:79 -#: includes/fields/class-acf-field-true_false.php:159 includes/input.php:267 -#: pro/admin/views/html-settings-updates.php:89 -msgid "Yes" -msgstr "Ja" - -# @ acf -#: includes/fields/class-acf-field-true_false.php:80 -#: includes/fields/class-acf-field-true_false.php:169 includes/input.php:268 -#: pro/admin/views/html-settings-updates.php:99 -msgid "No" -msgstr "Nein" - #: includes/fields/class-acf-field-true_false.php:127 msgid "Displays text alongside the checkbox" msgstr "Zeigt den Text neben der Checkbox an" @@ -3002,11 +3067,11 @@ msgstr "Wenn aktiv" msgid "Text shown when active" msgstr "Der Text der im aktiven Zustand angezeigt wird" -#: includes/fields/class-acf-field-true_false.php:165 +#: includes/fields/class-acf-field-true_false.php:170 msgid "Off Text" msgstr "Wenn inaktiv" -#: includes/fields/class-acf-field-true_false.php:166 +#: includes/fields/class-acf-field-true_false.php:171 msgid "Text shown when inactive" msgstr "Der Text der im inaktiven Zustand angezeigt wird" @@ -3026,15 +3091,30 @@ msgid "User" msgstr "Benutzer" # @ acf -#: includes/fields/class-acf-field-user.php:393 +#: includes/fields/class-acf-field-user.php:394 msgid "Filter by role" msgstr "Filtere nach Benutzerrollen" # @ acf -#: includes/fields/class-acf-field-user.php:401 +#: includes/fields/class-acf-field-user.php:402 msgid "All user roles" msgstr "Alle Benutzerrollen" +# @ acf +#: includes/fields/class-acf-field-user.php:433 +msgid "User Array" +msgstr "Benutzer-Array" + +# @ acf +#: includes/fields/class-acf-field-user.php:434 +msgid "User Object" +msgstr "Benutzer-Objekt" + +# @ acf +#: includes/fields/class-acf-field-user.php:435 +msgid "User ID" +msgstr "Benutzer-ID" + # @ acf #: includes/fields/class-acf-field-wysiwyg.php:25 msgid "Wysiwyg Editor" @@ -3104,8 +3184,8 @@ msgid "Validate Email" msgstr "E-Mail bestätigen" # @ acf -#: includes/forms/form-front.php:103 -#: pro/fields/class-acf-field-gallery.php:573 pro/options-page.php:81 +#: includes/forms/form-front.php:103 pro/fields/class-acf-field-gallery.php:573 +#: pro/options-page.php:81 msgid "Update" msgstr "Aktualisieren" @@ -3118,51 +3198,6 @@ msgstr "Beitrag aktualisiert" msgid "Spam Detected" msgstr "Spam entdeckt" -# @ acf -#: includes/input.php:259 -msgid "Expand Details" -msgstr "Details einblenden" - -# @ acf -#: includes/input.php:260 -msgid "Collapse Details" -msgstr "Details ausblenden" - -# @ acf -#: includes/input.php:261 -msgid "Validation successful" -msgstr "Überprüfung erfolgreich" - -# @ acf -#: includes/input.php:262 includes/validation.php:285 -#: includes/validation.php:296 -msgid "Validation failed" -msgstr "Überprüfung fehlgeschlagen" - -# @ acf -#: includes/input.php:263 -msgid "1 field requires attention" -msgstr "Für 1 Feld ist eine Aktualisierung notwendig" - -# @ acf -#: includes/input.php:264 -#, php-format -msgid "%d fields require attention" -msgstr "Für %d Felder ist eine Aktualisierung notwendig" - -#: includes/input.php:265 -msgid "Restricted" -msgstr "Eingeschränkt" - -# @ acf -#: includes/input.php:266 -msgid "Are you sure?" -msgstr "Wirklich entfernen?" - -#: includes/input.php:270 -msgid "Cancel" -msgstr "Abbrechen" - # @ acf #: includes/locations.php:93 includes/locations/class-acf-location-post.php:27 msgid "Post" @@ -3178,6 +3213,16 @@ msgstr "Seite" msgid "Forms" msgstr "Formulare" +# @ acf +#: includes/locations.php:247 +msgid "is equal to" +msgstr "ist gleich" + +# @ acf +#: includes/locations.php:248 +msgid "is not equal to" +msgstr "ist ungleich" + # @ acf #: includes/locations/class-acf-location-attachment.php:27 msgid "Attachment" @@ -3262,27 +3307,27 @@ msgid "Page Type" msgstr "Seitentyp" # @ acf -#: includes/locations/class-acf-location-page-type.php:145 +#: includes/locations/class-acf-location-page-type.php:146 msgid "Front Page" msgstr "Startseite" # @ acf -#: includes/locations/class-acf-location-page-type.php:146 +#: includes/locations/class-acf-location-page-type.php:147 msgid "Posts Page" msgstr "Beitrags-Seite" # @ acf -#: includes/locations/class-acf-location-page-type.php:147 +#: includes/locations/class-acf-location-page-type.php:148 msgid "Top Level Page (no parent)" msgstr "Seite ohne übergeordnete Seiten" # @ acf -#: includes/locations/class-acf-location-page-type.php:148 +#: includes/locations/class-acf-location-page-type.php:149 msgid "Parent Page (has children)" msgstr "Übergeordnete Seite (mit Unterseiten)" # @ acf -#: includes/locations/class-acf-location-page-type.php:149 +#: includes/locations/class-acf-location-page-type.php:150 msgid "Child Page (has parent)" msgstr "Unterseite (mit übergeordneter Seite)" @@ -3311,11 +3356,6 @@ msgstr "Beitrags-Taxonomie" msgid "Post Template" msgstr "Beitrags-Template" -# @ acf -#: includes/locations/class-acf-location-taxonomy.php:27 -msgid "Taxonomy Term" -msgstr "Taxonomie" - # @ acf #: includes/locations/class-acf-location-user-form.php:27 msgid "User Form" @@ -3341,16 +3381,6 @@ msgstr "Benutzerrolle" msgid "Widget" msgstr "Widget" -#: includes/media.php:55 -msgctxt "verb" -msgid "Edit" -msgstr "Bearbeiten" - -#: includes/media.php:56 -msgctxt "verb" -msgid "Update" -msgstr "Aktualisieren" - # @ acf #: includes/validation.php:364 #, php-format @@ -3469,56 +3499,56 @@ msgctxt "noun" msgid "Clone" msgstr "Klon" -#: pro/fields/class-acf-field-clone.php:808 +#: pro/fields/class-acf-field-clone.php:812 msgid "Select one or more fields you wish to clone" msgstr "Wählen Sie ein oder mehrere Felder aus die Sie klonen möchten" # @ acf -#: pro/fields/class-acf-field-clone.php:825 +#: pro/fields/class-acf-field-clone.php:829 msgid "Display" msgstr "Anzeige" -#: pro/fields/class-acf-field-clone.php:826 +#: pro/fields/class-acf-field-clone.php:830 msgid "Specify the style used to render the clone field" msgstr "Geben Sie den Stil an mit dem das Klon-Feld angezeigt werden soll" -#: pro/fields/class-acf-field-clone.php:831 +#: pro/fields/class-acf-field-clone.php:835 msgid "Group (displays selected fields in a group within this field)" msgstr "" "Gruppe (zeigt die ausgewählten Felder in einer Gruppe innerhalb dieses " "Feldes an)" -#: pro/fields/class-acf-field-clone.php:832 +#: pro/fields/class-acf-field-clone.php:836 msgid "Seamless (replaces this field with selected fields)" msgstr "Nahtlos (ersetzt dieses Feld mit den ausgewählten Feldern)" -#: pro/fields/class-acf-field-clone.php:853 +#: pro/fields/class-acf-field-clone.php:857 #, php-format msgid "Labels will be displayed as %s" msgstr "Bezeichnungen werden als %s angezeigt" -#: pro/fields/class-acf-field-clone.php:856 +#: pro/fields/class-acf-field-clone.php:860 msgid "Prefix Field Labels" msgstr "Präfix für Feld-Beschriftungen" -#: pro/fields/class-acf-field-clone.php:867 +#: pro/fields/class-acf-field-clone.php:871 #, php-format msgid "Values will be saved as %s" msgstr "Werte werden als %s gespeichert" -#: pro/fields/class-acf-field-clone.php:870 +#: pro/fields/class-acf-field-clone.php:874 msgid "Prefix Field Names" msgstr "Präfix für Feld-Namen" -#: pro/fields/class-acf-field-clone.php:988 +#: pro/fields/class-acf-field-clone.php:992 msgid "Unknown field" msgstr "Unbekanntes Feld" -#: pro/fields/class-acf-field-clone.php:1027 +#: pro/fields/class-acf-field-clone.php:1031 msgid "Unknown field group" msgstr "Unbekannte Feld-Gruppe" -#: pro/fields/class-acf-field-clone.php:1031 +#: pro/fields/class-acf-field-clone.php:1035 #, php-format msgid "All fields from %s field group" msgstr "Alle Felder von Feld-Gruppe %s" @@ -3526,7 +3556,7 @@ msgstr "Alle Felder von Feld-Gruppe %s" # @ acf #: pro/fields/class-acf-field-flexible-content.php:31 #: pro/fields/class-acf-field-repeater.php:174 -#: pro/fields/class-acf-field-repeater.php:470 +#: pro/fields/class-acf-field-repeater.php:462 msgid "Add Row" msgstr "Eintrag hinzufügen" @@ -3602,53 +3632,53 @@ msgid "Click to toggle" msgstr "Zum Auswählen anklicken" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:548 msgid "Reorder Layout" msgstr "Layout sortieren" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:548 msgid "Reorder" msgstr "Sortieren" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:557 +#: pro/fields/class-acf-field-flexible-content.php:549 msgid "Delete Layout" msgstr "Layout löschen" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:558 +#: pro/fields/class-acf-field-flexible-content.php:550 msgid "Duplicate Layout" msgstr "Layout duplizieren" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:559 +#: pro/fields/class-acf-field-flexible-content.php:551 msgid "Add New Layout" msgstr "Neues Layout hinzufügen" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:630 +#: pro/fields/class-acf-field-flexible-content.php:622 msgid "Min" msgstr "Min" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:643 +#: pro/fields/class-acf-field-flexible-content.php:635 msgid "Max" msgstr "Max" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:670 -#: pro/fields/class-acf-field-repeater.php:466 +#: pro/fields/class-acf-field-flexible-content.php:662 +#: pro/fields/class-acf-field-repeater.php:458 msgid "Button Label" msgstr "Button-Beschriftung" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:679 +#: pro/fields/class-acf-field-flexible-content.php:671 msgid "Minimum Layouts" msgstr "Minimum Layouts" # @ acf -#: pro/fields/class-acf-field-flexible-content.php:688 +#: pro/fields/class-acf-field-flexible-content.php:680 msgid "Maximum Layouts" msgstr "Maximum Layouts" @@ -3747,32 +3777,32 @@ msgid "Maximum rows reached ({max} rows)" msgstr "Maximum der Einträge mit ({max} Reihen) erreicht" # @ acf -#: pro/fields/class-acf-field-repeater.php:343 +#: pro/fields/class-acf-field-repeater.php:335 msgid "Add row" msgstr "Eintrag hinzufügen" # @ acf -#: pro/fields/class-acf-field-repeater.php:344 +#: pro/fields/class-acf-field-repeater.php:336 msgid "Remove row" msgstr "Eintrag löschen" -#: pro/fields/class-acf-field-repeater.php:419 +#: pro/fields/class-acf-field-repeater.php:411 msgid "Collapsed" msgstr "Zugeklappt" -#: pro/fields/class-acf-field-repeater.php:420 +#: pro/fields/class-acf-field-repeater.php:412 msgid "Select a sub field to show when row is collapsed" msgstr "" "Wählen Sie welches der Wiederholungsfelder im zugeklappten Zustand angezeigt " "werden soll" # @ acf -#: pro/fields/class-acf-field-repeater.php:430 +#: pro/fields/class-acf-field-repeater.php:422 msgid "Minimum Rows" msgstr "Minimum der Einträge" # @ acf -#: pro/fields/class-acf-field-repeater.php:440 +#: pro/fields/class-acf-field-repeater.php:432 msgid "Maximum Rows" msgstr "Maximum der Einträge" @@ -3816,6 +3846,34 @@ msgstr "Elliot Condon" msgid "http://www.elliotcondon.com/" msgstr "http://www.elliotcondon.com/" +# @ acf +#~ msgid "No toggle fields available" +#~ msgstr "Es liegen keine Auswahl-Feld-Typen vor" + +# @ acf +#~ msgid "Parent fields" +#~ msgstr "Übergeordnete Felder" + +# @ acf +#~ msgid "Sibling fields" +#~ msgstr "Geschwister-Felder" + +# @ acf +#~ msgid "Locating" +#~ msgstr "Lokalisiere" + +# @ acf +#~ msgid "No embed found for the given URL." +#~ msgstr "Keine Inhalte für die eingegebene URL gefunden." + +# @ acf +#~ msgid "Minimum values reached ( {min} values )" +#~ msgstr "Minimum der Einträge mit ({min} Einträge) erreicht" + +# @ acf +#~ msgid "Taxonomy Term" +#~ msgstr "Taxonomie" + # @ acf #~ msgid "Export Field Groups to PHP" #~ msgstr "Exportieren der Feld-Gruppen nach PHP" diff --git a/lang/acf-hr_HR.mo b/lang/acf-hr_HR.mo new file mode 100644 index 0000000000000000000000000000000000000000..0b278c3d2b5d93644cd25686c877a3d2a57acf97 GIT binary patch literal 50022 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

                          RB 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\n" +"Language: hr_HR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.7\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" +"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" +"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-WPHeader: acf.php\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPath-1: acf-pro-hr/acf.pot\n" +"X-Poedit-SearchPathExcluded-0: *.js\n" + +#: acf.php:67 +msgid "Advanced Custom Fields" +msgstr "Advanced Custom Fields" + +#: acf.php:369 includes/admin/admin.php:117 +msgid "Field Groups" +msgstr "Grupe polja" + +#: acf.php:370 +msgid "Field Group" +msgstr "Grupa polja" + +#: acf.php:371 acf.php:403 includes/admin/admin.php:118 +#: pro/fields/class-acf-field-flexible-content.php:559 +msgid "Add New" +msgstr "Dodaj" + +#: acf.php:372 +msgid "Add New Field Group" +msgstr "Dodaj novo polje" + +#: acf.php:373 +msgid "Edit Field Group" +msgstr "Uredi polje" + +#: acf.php:374 +msgid "New Field Group" +msgstr "Novo polje" + +#: acf.php:375 +msgid "View Field Group" +msgstr "Pregledaj polje" + +#: acf.php:376 +msgid "Search Field Groups" +msgstr "Pretraži polja" + +#: acf.php:377 +msgid "No Field Groups found" +msgstr "Niste dodali nijedno polje" + +#: acf.php:378 +msgid "No Field Groups found in Trash" +msgstr "Nije pronađena nijedna stranica" + +#: acf.php:401 includes/admin/admin-field-group.php:182 +#: includes/admin/admin-field-group.php:275 +#: includes/admin/admin-field-groups.php:510 +#: pro/fields/class-acf-field-clone.php:811 +msgid "Fields" +msgstr "Polja" + +#: acf.php:402 +msgid "Field" +msgstr "Polje" + +#: acf.php:404 +msgid "Add New Field" +msgstr "Dodaj polje" + +#: acf.php:405 +msgid "Edit Field" +msgstr "Uredi polje" + +#: acf.php:406 includes/admin/views/field-group-fields.php:41 +#: includes/admin/views/settings-info.php:105 +msgid "New Field" +msgstr "Dodaj polje" + +#: acf.php:407 +msgid "View Field" +msgstr "Pregledaj polje" + +#: acf.php:408 +msgid "Search Fields" +msgstr "Pretraži polja" + +#: acf.php:409 +msgid "No Fields found" +msgstr "Nije pronađeno nijedno polje" + +#: acf.php:410 +msgid "No Fields found in Trash" +msgstr "Nije pronađeno nijedno polje u smeću" + +#: acf.php:449 includes/admin/admin-field-group.php:390 +#: includes/admin/admin-field-groups.php:567 +msgid "Inactive" +msgstr "Neaktivno" + +#: acf.php:454 +#, php-format +msgid "Inactive (%s)" +msgid_plural "Inactive (%s)" +msgstr[0] "Neaktivno (%s)" +msgstr[1] "Neaktivnih: (%s)" +msgstr[2] "Neaktivnih: (%s)" + +#: includes/admin/admin-field-group.php:68 +#: includes/admin/admin-field-group.php:69 +#: includes/admin/admin-field-group.php:71 +msgid "Field group updated." +msgstr "Skup polja ažuriran." + +#: includes/admin/admin-field-group.php:70 +msgid "Field group deleted." +msgstr "Skup polja izbrisan." + +#: includes/admin/admin-field-group.php:73 +msgid "Field group published." +msgstr "Skup polja objavljen." + +#: includes/admin/admin-field-group.php:74 +msgid "Field group saved." +msgstr "Skup polja spremljen." + +#: includes/admin/admin-field-group.php:75 +msgid "Field group submitted." +msgstr "Skup polja je spremljen." + +#: includes/admin/admin-field-group.php:76 +msgid "Field group scheduled for." +msgstr "Skup polja je označen za." + +#: includes/admin/admin-field-group.php:77 +msgid "Field group draft updated." +msgstr "Skica ažurirana." + +#: includes/admin/admin-field-group.php:183 +msgid "Location" +msgstr "Lokacija" + +#: includes/admin/admin-field-group.php:184 +#: includes/admin/tools/class-acf-admin-tool-export.php:295 +msgid "Settings" +msgstr "Postavke" + +#: includes/admin/admin-field-group.php:269 +msgid "Move to trash. Are you sure?" +msgstr "Premjesti u smeće?" + +#: includes/admin/admin-field-group.php:270 +msgid "checked" +msgstr "odabrano" + +#: includes/admin/admin-field-group.php:271 +msgid "No toggle fields available" +msgstr "Nema polja koji omoguću korisniku odabir" + +#: includes/admin/admin-field-group.php:272 +msgid "Field group title is required" +msgstr "Naziv polja je obavezna" + +#: includes/admin/admin-field-group.php:273 +#: includes/api/api-field-group.php:751 +msgid "copy" +msgstr "kopiraj" + +#: includes/admin/admin-field-group.php:274 +#: includes/admin/views/field-group-field-conditional-logic.php:54 +#: includes/admin/views/field-group-field-conditional-logic.php:154 +#: includes/admin/views/field-group-locations.php:29 +#: includes/admin/views/html-location-group.php:3 +#: includes/api/api-helpers.php:4048 +msgid "or" +msgstr "ili" + +#: includes/admin/admin-field-group.php:276 +msgid "Parent fields" +msgstr "Matično polje" + +#: includes/admin/admin-field-group.php:277 +msgid "Sibling fields" +msgstr "Slična polja" + +#: includes/admin/admin-field-group.php:278 +msgid "Move Custom Field" +msgstr "Premjesti polje" + +#: includes/admin/admin-field-group.php:279 +msgid "This field cannot be moved until its changes have been saved" +msgstr "Potrebno je spremiti izmjene prije nego možete premjestiti polje" + +#: includes/admin/admin-field-group.php:280 +msgid "Null" +msgstr "Null" + +#: includes/admin/admin-field-group.php:281 includes/input.php:258 +msgid "The changes you made will be lost if you navigate away from this page" +msgstr "" +"Izmjene koje ste napravili bit će izgubljene ukoliko napustite ovu stranicu" + +#: includes/admin/admin-field-group.php:282 +msgid "The string \"field_\" may not be used at the start of a field name" +msgstr "Polje ne može započinjati sa “field_”, odabrite drugi naziv" + +#: includes/admin/admin-field-group.php:360 +msgid "Field Keys" +msgstr "Oznaka polja" + +#: includes/admin/admin-field-group.php:390 +#: includes/admin/views/field-group-options.php:9 +msgid "Active" +msgstr "Aktivan" + +#: includes/admin/admin-field-group.php:801 +msgid "Move Complete." +msgstr "Premještanje dovršeno." + +#: includes/admin/admin-field-group.php:802 +#, php-format +msgid "The %s field can now be found in the %s field group" +msgstr "" +"Polje %s od sada možete naći na drugoj lokacaiji, kao dio %s skupa polja" + +#: includes/admin/admin-field-group.php:803 +msgid "Close Window" +msgstr "Zatvori prozor" + +#: includes/admin/admin-field-group.php:844 +msgid "Please select the destination for this field" +msgstr "Odaberite lokaciju za ovo polje" + +#: includes/admin/admin-field-group.php:851 +msgid "Move Field" +msgstr "Premjesti polje" + +#: includes/admin/admin-field-groups.php:74 +#, php-format +msgid "Active (%s)" +msgid_plural "Active (%s)" +msgstr[0] "Aktivno (%s)" +msgstr[1] "Aktivno (%s)" +msgstr[2] "Aktivno (%s)" + +#: includes/admin/admin-field-groups.php:142 +#, php-format +msgid "Field group duplicated. %s" +msgstr "Skup polja %s dupliciran" + +#: includes/admin/admin-field-groups.php:146 +#, php-format +msgid "%s field group duplicated." +msgid_plural "%s field groups duplicated." +msgstr[0] "Polja duplicirana (%s)." +msgstr[1] "Polja duplicirana (%s)." +msgstr[2] "Polja duplicirana (%s)." + +#: includes/admin/admin-field-groups.php:227 +#, php-format +msgid "Field group synchronised. %s" +msgstr "Skup polja sinkroniziran. %s" + +#: includes/admin/admin-field-groups.php:231 +#, php-format +msgid "%s field group synchronised." +msgid_plural "%s field groups synchronised." +msgstr[0] "Polja sinkronizirana (%s)." +msgstr[1] "Polja sinkronizirana (%s)." +msgstr[2] "Polja sinkronizirana (%s)." + +#: includes/admin/admin-field-groups.php:394 +#: includes/admin/admin-field-groups.php:557 +msgid "Sync available" +msgstr "Sinkronizacija dostupna" + +#: includes/admin/admin-field-groups.php:507 includes/forms/form-front.php:38 +#: pro/fields/class-acf-field-gallery.php:355 +msgid "Title" +msgstr "Naziv" + +#: includes/admin/admin-field-groups.php:508 +#: includes/admin/views/field-group-options.php:96 +#: includes/admin/views/install-network.php:21 +#: includes/admin/views/install-network.php:29 +#: pro/fields/class-acf-field-gallery.php:382 +msgid "Description" +msgstr "Opis" + +#: includes/admin/admin-field-groups.php:509 +msgid "Status" +msgstr "Status" + +#. Description of the plugin/theme +#: includes/admin/admin-field-groups.php:607 +msgid "Customise WordPress with powerful, professional and intuitive fields." +msgstr "" +"Prilagodite WordPress sa moćnim, profesionalnim i intuitivnim dodatnim " +"poljima." + +#: includes/admin/admin-field-groups.php:609 +#: includes/admin/settings-info.php:76 +#: pro/admin/views/html-settings-updates.php:107 +msgid "Changelog" +msgstr "Popis izmjena" + +#: includes/admin/admin-field-groups.php:614 +#, php-format +msgid "See what's new in version %s." +msgstr "Pogledaj što je novo u %s verziji." + +#: includes/admin/admin-field-groups.php:617 +msgid "Resources" +msgstr "Materijali" + +#: includes/admin/admin-field-groups.php:619 +msgid "Website" +msgstr "Web mjesto" + +#: includes/admin/admin-field-groups.php:620 +msgid "Documentation" +msgstr "Dokumentacija" + +#: includes/admin/admin-field-groups.php:621 +msgid "Support" +msgstr "Podrška" + +#: includes/admin/admin-field-groups.php:623 +msgid "Pro" +msgstr "Pro" + +#: includes/admin/admin-field-groups.php:628 +#, php-format +msgid "Thank you for creating with ACF." +msgstr "Hvala što koristite ACF." + +#: includes/admin/admin-field-groups.php:667 +msgid "Duplicate this item" +msgstr "Dupliciraj" + +#: includes/admin/admin-field-groups.php:667 +#: includes/admin/admin-field-groups.php:683 +#: includes/admin/views/field-group-field.php:49 +#: pro/fields/class-acf-field-flexible-content.php:558 +msgid "Duplicate" +msgstr "Dupliciraj" + +#: includes/admin/admin-field-groups.php:700 +#: includes/fields/class-acf-field-google-map.php:112 +#: includes/fields/class-acf-field-relationship.php:656 +msgid "Search" +msgstr "Pretraži" + +#: includes/admin/admin-field-groups.php:759 +#, php-format +msgid "Select %s" +msgstr "Odaberi %s" + +#: includes/admin/admin-field-groups.php:767 +msgid "Synchronise field group" +msgstr "Sinkroniziraj skup polja" + +#: includes/admin/admin-field-groups.php:767 +#: includes/admin/admin-field-groups.php:797 +msgid "Sync" +msgstr "Sinkroniziraj" + +#: includes/admin/admin-field-groups.php:779 +msgid "Apply" +msgstr "Prijavi" + +#: includes/admin/admin-field-groups.php:797 +msgid "Bulk Actions" +msgstr "Skupne akcije" + +#: includes/admin/admin-tools.php:116 +#: includes/admin/views/html-admin-tools.php:21 +msgid "Tools" +msgstr "Alati" + +#: includes/admin/admin.php:113 +#: includes/admin/views/field-group-options.php:118 +msgid "Custom Fields" +msgstr "Dodatna polja" + +#: includes/admin/install-network.php:88 includes/admin/install.php:70 +#: includes/admin/install.php:121 +msgid "Upgrade Database" +msgstr "Nadogradi bazu podataka" + +#: includes/admin/install-network.php:140 +msgid "Review sites & upgrade" +msgstr "Pregledaj stranice i nadogradi" + +#: includes/admin/install.php:187 +msgid "Error validating request" +msgstr "Greška prilikom verifikacije" + +#: includes/admin/install.php:210 includes/admin/views/install.php:105 +msgid "No updates available." +msgstr "Nema novih nadogradnji." + +#: includes/admin/settings-addons.php:51 +#: includes/admin/views/settings-addons.php:3 +msgid "Add-ons" +msgstr "Dodaci" + +#: includes/admin/settings-addons.php:87 +msgid "Error. Could not load add-ons list" +msgstr "Greška. Greška prilikom učitavanja dodataka" + +#: includes/admin/settings-info.php:50 +msgid "Info" +msgstr "Info" + +#: includes/admin/settings-info.php:75 +msgid "What's New" +msgstr "Što je novo" + +#: includes/admin/tools/class-acf-admin-tool-export.php:33 +msgid "Export Field Groups" +msgstr "Izvezi skup polja" + +#: includes/admin/tools/class-acf-admin-tool-export.php:38 +#: includes/admin/tools/class-acf-admin-tool-export.php:342 +#: includes/admin/tools/class-acf-admin-tool-export.php:371 +msgid "Generate PHP" +msgstr "Generiraj PHP kod" + +#: includes/admin/tools/class-acf-admin-tool-export.php:97 +#: includes/admin/tools/class-acf-admin-tool-export.php:135 +msgid "No field groups selected" +msgstr "Niste odabrali polje" + +#: includes/admin/tools/class-acf-admin-tool-export.php:174 +#, php-format +msgid "Exported 1 field group." +msgid_plural "Exported %s field groups." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: includes/admin/tools/class-acf-admin-tool-export.php:241 +#: includes/admin/tools/class-acf-admin-tool-export.php:269 +msgid "Select Field Groups" +msgstr "Odaberite skup polja" + +#: includes/admin/tools/class-acf-admin-tool-export.php:336 +msgid "" +"Select the field groups you would like to export and then select your export " +"method. Use the download button to export to a .json file which you can then " +"import to another ACF installation. Use the generate button to export to PHP " +"code which you can place in your theme." +msgstr "" +"Odaberite polja koja želite izvesti i zatim odaberite željeni format. Klikom " +"na gumb “preuzimanje”, preuzmite .json datoteku sa poljima koju zatim možete " +"uvesti u drugu ACF instalaciju.\n" +"Klikom na “generiraj” gumb, izvezite PHP kod koji možete uključiti u " +"WordPress temu." + +#: includes/admin/tools/class-acf-admin-tool-export.php:341 +msgid "Export File" +msgstr "Datoteka za izvoz" + +#: includes/admin/tools/class-acf-admin-tool-export.php:414 +msgid "" +"The following code can be used to register a local version of the selected " +"field group(s). A local field group can provide many benefits such as faster " +"load times, version control & dynamic fields/settings. Simply copy and paste " +"the following code to your theme's functions.php file or include it within " +"an external file." +msgstr "" +"Navedeni kod možete koristiti kako bi registrirali lokalnu verziju odabranih " +"polja ili skupine polja. Lokalna polje pružaju dodatne mogućnosti kao što je " +"brže očitavanje, verzioniranje i dinamičke postavke polja. Jednostavno " +"kopirajte navedeni kod u functions.php datoteku u vašoj temi ili uključite " +"ih kao vanjsku datoteku." + +#: includes/admin/tools/class-acf-admin-tool-export.php:446 +msgid "Copy to clipboard" +msgstr "Kopiraj u međuspremnik" + +#: includes/admin/tools/class-acf-admin-tool-import.php:26 +msgid "Import Field Groups" +msgstr "Uvoz skupa polja" + +#: includes/admin/tools/class-acf-admin-tool-import.php:61 +msgid "" +"Select the Advanced Custom Fields JSON file you would like to import. When " +"you click the import button below, ACF will import the field groups." +msgstr "" +"Odaberite ACF JSON datoteku koju želite uvesti. Nakon što kliknete ‘Uvezi’ " +"gumb, ACF će uvesti sva polja iz odabrane datoteke." + +#: includes/admin/tools/class-acf-admin-tool-import.php:66 +#: includes/fields/class-acf-field-file.php:35 +msgid "Select File" +msgstr "Odaberite datoteku" + +#: includes/admin/tools/class-acf-admin-tool-import.php:76 +msgid "Import File" +msgstr "Datoteka za uvoz" + +#: includes/admin/tools/class-acf-admin-tool-import.php:100 +#: includes/fields/class-acf-field-file.php:159 +msgid "No file selected" +msgstr "Niste odabrali datoteku" + +#: includes/admin/tools/class-acf-admin-tool-import.php:113 +msgid "Error uploading file. Please try again" +msgstr "Greška prilikom prijenosa datoteke, molimo pokušaj ponovno" + +#: includes/admin/tools/class-acf-admin-tool-import.php:122 +msgid "Incorrect file type" +msgstr "Nedozvoljeni format datoteke" + +#: includes/admin/tools/class-acf-admin-tool-import.php:139 +msgid "Import file empty" +msgstr "Odabrana datoteka za uvoz ne sadrži" + +#: includes/admin/tools/class-acf-admin-tool-import.php:247 +#, php-format +msgid "Imported 1 field group" +msgid_plural "Imported %s field groups" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: includes/admin/views/field-group-field-conditional-logic.php:28 +msgid "Conditional Logic" +msgstr "Uvjet za prikaz" + +#: includes/admin/views/field-group-field-conditional-logic.php:54 +msgid "Show this field if" +msgstr "Prikaži polje ako" + +#: includes/admin/views/field-group-field-conditional-logic.php:103 +#: includes/locations.php:247 +msgid "is equal to" +msgstr "je jednako" + +#: includes/admin/views/field-group-field-conditional-logic.php:104 +#: includes/locations.php:248 +msgid "is not equal to" +msgstr "je drukčije" + +#: includes/admin/views/field-group-field-conditional-logic.php:141 +#: includes/admin/views/html-location-rule.php:80 +msgid "and" +msgstr "i" + +#: includes/admin/views/field-group-field-conditional-logic.php:156 +#: includes/admin/views/field-group-locations.php:31 +msgid "Add rule group" +msgstr "Dodaj skup pravila" + +#: includes/admin/views/field-group-field.php:41 +#: pro/fields/class-acf-field-flexible-content.php:403 +#: pro/fields/class-acf-field-repeater.php:296 +msgid "Drag to reorder" +msgstr "Presloži polja povlačenjem" + +#: includes/admin/views/field-group-field.php:45 +#: includes/admin/views/field-group-field.php:48 +msgid "Edit field" +msgstr "Uredi polje" + +#: includes/admin/views/field-group-field.php:48 +#: includes/fields/class-acf-field-file.php:141 +#: includes/fields/class-acf-field-image.php:122 +#: includes/fields/class-acf-field-link.php:139 +#: pro/fields/class-acf-field-gallery.php:342 +msgid "Edit" +msgstr "Uredi" + +#: includes/admin/views/field-group-field.php:49 +msgid "Duplicate field" +msgstr "Dupliciraj polje" + +#: includes/admin/views/field-group-field.php:50 +msgid "Move field to another group" +msgstr "Premjeti polje u drugu skupinu" + +#: includes/admin/views/field-group-field.php:50 +msgid "Move" +msgstr "Premjesti" + +#: includes/admin/views/field-group-field.php:51 +msgid "Delete field" +msgstr "Obriši polje" + +#: includes/admin/views/field-group-field.php:51 +#: pro/fields/class-acf-field-flexible-content.php:557 +msgid "Delete" +msgstr "Obriši" + +#: includes/admin/views/field-group-field.php:68 +msgid "Field Label" +msgstr "Naziv polja" + +#: includes/admin/views/field-group-field.php:69 +msgid "This is the name which will appear on the EDIT page" +msgstr "Naziv koji se prikazuje prilikom uređivanja stranice" + +#: includes/admin/views/field-group-field.php:78 +msgid "Field Name" +msgstr "Naziv polja" + +#: includes/admin/views/field-group-field.php:79 +msgid "Single word, no spaces. Underscores and dashes allowed" +msgstr "Jedna riječ, bez razmaka. Povlaka i donja crta su dozvoljeni" + +#: includes/admin/views/field-group-field.php:88 +msgid "Field Type" +msgstr "Tip polja" + +#: includes/admin/views/field-group-field.php:99 +msgid "Instructions" +msgstr "Upute" + +#: includes/admin/views/field-group-field.php:100 +msgid "Instructions for authors. Shown when submitting data" +msgstr "Upute priliko uređivanja. Vidljivo prilikom spremanja podataka" + +#: includes/admin/views/field-group-field.php:109 +msgid "Required?" +msgstr "Obavezno?" + +#: includes/admin/views/field-group-field.php:132 +msgid "Wrapper Attributes" +msgstr "Značajke prethodnog elementa" + +#: includes/admin/views/field-group-field.php:138 +msgid "width" +msgstr "širina" + +#: includes/admin/views/field-group-field.php:153 +msgid "class" +msgstr "klasa" + +#: includes/admin/views/field-group-field.php:166 +msgid "id" +msgstr "id" + +#: includes/admin/views/field-group-field.php:178 +msgid "Close Field" +msgstr "Zatvori polje" + +#: includes/admin/views/field-group-fields.php:4 +msgid "Order" +msgstr "Redni broj" + +#: includes/admin/views/field-group-fields.php:5 +#: includes/fields/class-acf-field-button-group.php:198 +#: includes/fields/class-acf-field-checkbox.php:415 +#: includes/fields/class-acf-field-radio.php:306 +#: includes/fields/class-acf-field-select.php:432 +#: pro/fields/class-acf-field-flexible-content.php:584 +msgid "Label" +msgstr "Oznaka" + +#: includes/admin/views/field-group-fields.php:6 +#: includes/fields/class-acf-field-taxonomy.php:964 +#: pro/fields/class-acf-field-flexible-content.php:597 +msgid "Name" +msgstr "Naziv" + +#: includes/admin/views/field-group-fields.php:7 +msgid "Key" +msgstr "Ključ" + +#: includes/admin/views/field-group-fields.php:8 +msgid "Type" +msgstr "Tip" + +#: includes/admin/views/field-group-fields.php:14 +msgid "" +"No fields. Click the + Add Field button to create your " +"first field." +msgstr "" +"Nema polja. Kliknite gumb + Dodaj polje da bi kreirali " +"polje." + +#: includes/admin/views/field-group-fields.php:31 +msgid "+ Add Field" +msgstr "Dodaj polje" + +#: includes/admin/views/field-group-locations.php:9 +msgid "Rules" +msgstr "Pravila" + +#: includes/admin/views/field-group-locations.php:10 +msgid "" +"Create a set of rules to determine which edit screens will use these " +"advanced custom fields" +msgstr "Odaberite pravila koja određuju koji prikaz će koristiti ACF polja" + +#: includes/admin/views/field-group-options.php:23 +msgid "Style" +msgstr "Stil" + +#: includes/admin/views/field-group-options.php:30 +msgid "Standard (WP metabox)" +msgstr "Zadano (WP metabox)" + +#: includes/admin/views/field-group-options.php:31 +msgid "Seamless (no metabox)" +msgstr "Bez" + +#: includes/admin/views/field-group-options.php:38 +msgid "Position" +msgstr "Pozicija" + +#: includes/admin/views/field-group-options.php:45 +msgid "High (after title)" +msgstr "Visoko (nakon naslova)" + +#: includes/admin/views/field-group-options.php:46 +msgid "Normal (after content)" +msgstr "Normalno (nakon saržaja)" + +#: includes/admin/views/field-group-options.php:47 +msgid "Side" +msgstr "Desni stupac" + +#: includes/admin/views/field-group-options.php:55 +msgid "Label placement" +msgstr "Pozicija oznake" + +#: includes/admin/views/field-group-options.php:62 +#: includes/fields/class-acf-field-tab.php:106 +msgid "Top aligned" +msgstr "Poravnato sa vrhom" + +#: includes/admin/views/field-group-options.php:63 +#: includes/fields/class-acf-field-tab.php:107 +msgid "Left aligned" +msgstr "Lijevo poravnato" + +#: includes/admin/views/field-group-options.php:70 +msgid "Instruction placement" +msgstr "Pozicija uputa" + +#: includes/admin/views/field-group-options.php:77 +msgid "Below labels" +msgstr "Ispod oznake" + +#: includes/admin/views/field-group-options.php:78 +msgid "Below fields" +msgstr "Iznad oznake" + +#: includes/admin/views/field-group-options.php:85 +msgid "Order No." +msgstr "Redni broj." + +#: includes/admin/views/field-group-options.php:86 +msgid "Field groups with a lower order will appear first" +msgstr "Skup polja sa nižim brojem će biti više pozicioniran" + +#: includes/admin/views/field-group-options.php:97 +msgid "Shown in field group list" +msgstr "Vidljivo u popisu" + +#: includes/admin/views/field-group-options.php:107 +msgid "Hide on screen" +msgstr "Sakrij" + +#: includes/admin/views/field-group-options.php:108 +msgid "Select items to hide them from the edit screen." +msgstr "Odaberite koje grupe želite sakriti prilikom uređivanja." + +#: includes/admin/views/field-group-options.php:108 +msgid "" +"If multiple field groups appear on an edit screen, the first field group's " +"options will be used (the one with the lowest order number)" +msgstr "" +"Ukoliko je više skupova polja prikazano na istom ekranu, postavke prvog " +"skupa polja će biti korištene (postavke polja sa nižim brojem u redosljedu)" + +#: includes/admin/views/field-group-options.php:115 +msgid "Permalink" +msgstr "Stalna veza" + +#: includes/admin/views/field-group-options.php:116 +msgid "Content Editor" +msgstr "Uređivač sadržaja" + +#: includes/admin/views/field-group-options.php:117 +msgid "Excerpt" +msgstr "Izvadak" + +#: includes/admin/views/field-group-options.php:119 +msgid "Discussion" +msgstr "Rasprava" + +#: includes/admin/views/field-group-options.php:120 +msgid "Comments" +msgstr "Komentari" + +#: includes/admin/views/field-group-options.php:121 +msgid "Revisions" +msgstr "Revizija" + +#: includes/admin/views/field-group-options.php:122 +msgid "Slug" +msgstr "Slug" + +#: includes/admin/views/field-group-options.php:123 +msgid "Author" +msgstr "Autor" + +#: includes/admin/views/field-group-options.php:124 +msgid "Format" +msgstr "Format" + +#: includes/admin/views/field-group-options.php:125 +msgid "Page Attributes" +msgstr "Atributi stranice" + +#: includes/admin/views/field-group-options.php:126 +#: includes/fields/class-acf-field-relationship.php:670 +msgid "Featured Image" +msgstr "Istaknuta slika" + +#: includes/admin/views/field-group-options.php:127 +msgid "Categories" +msgstr "Kategorije" + +#: includes/admin/views/field-group-options.php:128 +msgid "Tags" +msgstr "Oznake" + +#: includes/admin/views/field-group-options.php:129 +msgid "Send Trackbacks" +msgstr "Pošalji povratnu vezu" + +#: includes/admin/views/html-location-group.php:3 +msgid "Show this field group if" +msgstr "Prikaži ovaj skup polja ako" + +#: includes/admin/views/install-network.php:4 +msgid "Upgrade Sites" +msgstr "Ažuriraj stranice" + +#: includes/admin/views/install-network.php:9 +#: includes/admin/views/install.php:3 +msgid "Advanced Custom Fields Database Upgrade" +msgstr "Nadogradnja baze ACF" + +#: includes/admin/views/install-network.php:11 +#, php-format +msgid "" +"The following sites require a DB upgrade. Check the ones you want to update " +"and then click %s." +msgstr "" +"Ažuriranje baze podatak dovršeno. Provjerite koje web stranice u svojoj " +"mreži želite nadograditi i zatim kliknite %s." + +#: includes/admin/views/install-network.php:20 +#: includes/admin/views/install-network.php:28 +msgid "Site" +msgstr "Web stranica" + +#: includes/admin/views/install-network.php:48 +#, php-format +msgid "Site requires database upgrade from %s to %s" +msgstr "" +"Za web stranicu je potrebna nadogradnja baze podataka iz %s na verziju %s" + +#: includes/admin/views/install-network.php:50 +msgid "Site is up to date" +msgstr "Nema novih ažuriranja za web stranica" + +#: includes/admin/views/install-network.php:63 +#, php-format +msgid "" +"Database Upgrade complete. Return to network dashboard" +msgstr "" +"Baza podataka je nadograđena. Kliknite ovdje za povratak na " +"administraciju WordPress mreže" + +#: includes/admin/views/install-network.php:102 +#: includes/admin/views/install-notice.php:42 +msgid "" +"It is strongly recommended that you backup your database before proceeding. " +"Are you sure you wish to run the updater now?" +msgstr "" +"Prije nego nastavite preporučamo da napravite sigurnosnu kopiju baze " +"podataka. Jeste li sigurni da želite nastaviti ažuriranje?" + +#: includes/admin/views/install-network.php:158 +msgid "Upgrade complete" +msgstr "Nadogradnja završena" + +#: includes/admin/views/install-network.php:162 +#: includes/admin/views/install.php:9 +#, php-format +msgid "Upgrading data to version %s" +msgstr "Nadogradnja na verziju %s" + +#: includes/admin/views/install-notice.php:8 +#: pro/fields/class-acf-field-repeater.php:25 +msgid "Repeater" +msgstr "Ponavljajuće polje" + +#: includes/admin/views/install-notice.php:9 +#: pro/fields/class-acf-field-flexible-content.php:25 +msgid "Flexible Content" +msgstr "Fleksibilno polje" + +#: includes/admin/views/install-notice.php:10 +#: pro/fields/class-acf-field-gallery.php:25 +msgid "Gallery" +msgstr "Galerija" + +#: includes/admin/views/install-notice.php:11 +#: pro/locations/class-acf-location-options-page.php:26 +msgid "Options Page" +msgstr "Postavke" + +#: includes/admin/views/install-notice.php:26 +msgid "Database Upgrade Required" +msgstr "Potrebno je nadograditi bazu podataka" + +#: includes/admin/views/install-notice.php:28 +#, php-format +msgid "Thank you for updating to %s v%s!" +msgstr "Hvala što ste nadogradili %s na v%s!" + +#: includes/admin/views/install-notice.php:28 +msgid "" +"Before you start using the new awesome features, please update your database " +"to the newest version." +msgstr "" +"Prije nego što počnete koristiti nove mogućnosti, molimo ažurirajte bazu " +"podataka na posljednju verziju." + +#: includes/admin/views/install-notice.php:31 +#, php-format +msgid "" +"Please also ensure any premium add-ons (%s) have first been updated to the " +"latest version." +msgstr "" +"Molimo provjerite da su svi premium dodaci (%s) ažurirani na najnoviju " +"verziju." + +#: includes/admin/views/install.php:7 +msgid "Reading upgrade tasks..." +msgstr "Učitavam podatke za nadogradnju…" + +#: includes/admin/views/install.php:11 +#, php-format +msgid "Database Upgrade complete. See what's new" +msgstr "" +"Nadogradnja baze je dovršena. Pogledajte što je novo" + +#: includes/admin/views/settings-addons.php:17 +msgid "Download & Install" +msgstr "Preuzimam datoteke" + +#: includes/admin/views/settings-addons.php:36 +msgid "Installed" +msgstr "Instalirano" + +#: includes/admin/views/settings-info.php:3 +msgid "Welcome to Advanced Custom Fields" +msgstr "Advanced Custom Fields vam želi dobrodošlicu" + +#: includes/admin/views/settings-info.php:4 +#, php-format +msgid "" +"Thank you for updating! ACF %s is bigger and better than ever before. We " +"hope you like it." +msgstr "" +"Ažuriranje dovršeno, hvala! ACF %s je veći i bolji nego ikad prije. Nadamo " +"se da će vam se svidjet." + +#: includes/admin/views/settings-info.php:17 +msgid "A smoother custom field experience" +msgstr "Bolje korisničko iskustvo korištenja prilagođenih polja" + +#: includes/admin/views/settings-info.php:22 +msgid "Improved Usability" +msgstr "Poboljšana uporabljivost" + +#: includes/admin/views/settings-info.php:23 +msgid "" +"Including the popular Select2 library has improved both usability and speed " +"across a number of field types including post object, page link, taxonomy " +"and select." +msgstr "" +"Uključivanje popularne biblioteke Select2 poboljšano je korisničko iskustvo " +"i brzina na velikom broju polja." + +#: includes/admin/views/settings-info.php:27 +msgid "Improved Design" +msgstr "Unaprijeđen dizajn" + +#: includes/admin/views/settings-info.php:28 +msgid "" +"Many fields have undergone a visual refresh to make ACF look better than " +"ever! Noticeable changes are seen on the gallery, relationship and oEmbed " +"(new) fields!" +msgstr "" +"Mnoga polja su vizualno osvježena te time ACF sada izgleda bolje nego ikad " +"prije!" + +#: includes/admin/views/settings-info.php:32 +msgid "Improved Data" +msgstr "Unaprijeđeno upravljanje podacima" + +#: includes/admin/views/settings-info.php:33 +msgid "" +"Redesigning the data architecture has allowed sub fields to live " +"independently from their parents. This allows you to drag and drop fields in " +"and out of parent fields!" +msgstr "" +"Nova arhitektura polja omogućuje pod poljima da budu korištena zasebno bez " +"obzira kojem skupu polja pripadaju. Ovo vam omogućuje premještanje polja iz " +"jednog skupa u drugi!" + +#: includes/admin/views/settings-info.php:39 +msgid "Goodbye Add-ons. Hello PRO" +msgstr "Doviđenja dodaci, upoznajte PRO verziju" + +#: includes/admin/views/settings-info.php:44 +msgid "Introducing ACF PRO" +msgstr "Predstavljamo ACF PRO" + +#: includes/admin/views/settings-info.php:45 +msgid "" +"We're changing the way premium functionality is delivered in an exciting way!" +msgstr "" +"Mijanjamo način funkcioniranja premium dodataka, od sada mnogo jednostavnije!" + +#: includes/admin/views/settings-info.php:46 +#, php-format +msgid "" +"All 4 premium add-ons have been combined into a new Pro " +"version of ACF. With both personal and developer licenses available, " +"premium functionality is more affordable and accessible than ever before!" +msgstr "" +"Sva 4 premium dodakta od sada su ukomponiranu u novu Pro " +"verziju ACF. Sa novim osobnom i razvojnom opcijom licenciranja, premium " +"funkcionalnost je dosupnija i povoljnija nego prije!" + +#: includes/admin/views/settings-info.php:50 +msgid "Powerful Features" +msgstr "Super mogućnosti" + +#: includes/admin/views/settings-info.php:51 +msgid "" +"ACF PRO contains powerful features such as repeatable data, flexible content " +"layouts, a beautiful gallery field and the ability to create extra admin " +"options pages!" +msgstr "" +"ACF PRO uključuje napredne funkcionalnosti kao ponavljajuća polja, modularni " +"raspored, galerija slika i mogućnost dodavanja novih stranica u postavkama " +"administracije!" + +#: includes/admin/views/settings-info.php:52 +#, php-format +msgid "Read more about ACF PRO features." +msgstr "Pročitajte više o mogućnostima ACF PRO." + +#: includes/admin/views/settings-info.php:56 +msgid "Easy Upgrading" +msgstr "Jednostavno ažuriranje" + +#: includes/admin/views/settings-info.php:57 +#, php-format +msgid "" +"To help make upgrading easy, login to your store account " +"and claim a free copy of ACF PRO!" +msgstr "" +"Kako bi pojednostavili ažuriranje, prijavite se s vašim " +"računom i osigurajte besplatnu verziju ACF PRO!" + +#: includes/admin/views/settings-info.php:58 +#, php-format +msgid "" +"We also wrote an upgrade guide to answer any questions, " +"but if you do have one, please contact our support team via the help desk" +msgstr "" +"Provjeriti upute za ažuriranje ako imate dodatnih pitanja, " +"ili kontaktirajte našu tim za podršku" + +#: includes/admin/views/settings-info.php:66 +msgid "Under the Hood" +msgstr "Ispod haube" + +#: includes/admin/views/settings-info.php:71 +msgid "Smarter field settings" +msgstr "Pametnije postavke" + +#: includes/admin/views/settings-info.php:72 +msgid "ACF now saves its field settings as individual post objects" +msgstr "ACF od sada sprema postavke polja kao objekt" + +#: includes/admin/views/settings-info.php:76 +msgid "More AJAX" +msgstr "Više AJAX-a" + +#: includes/admin/views/settings-info.php:77 +msgid "More fields use AJAX powered search to speed up page loading" +msgstr "" +"Više polja koristi asinkrono pretraživanje kako bi učitavanje stranice bilo " +"brže" + +#: includes/admin/views/settings-info.php:81 +msgid "Local JSON" +msgstr "Učitavanje polja iz JSON datoteke" + +#: includes/admin/views/settings-info.php:82 +msgid "New auto export to JSON feature improves speed" +msgstr "Nova mogućnost automatskog izvoza u JSON obliku" + +#: includes/admin/views/settings-info.php:88 +msgid "Better version control" +msgstr "Bolje upravljanje verzijama" + +#: includes/admin/views/settings-info.php:89 +msgid "" +"New auto export to JSON feature allows field settings to be version " +"controlled" +msgstr "Nova opcija izvoza u JSON omogućuje verziranje" + +#: includes/admin/views/settings-info.php:93 +msgid "Swapped XML for JSON" +msgstr "JSON umjesto XML" + +#: includes/admin/views/settings-info.php:94 +msgid "Import / Export now uses JSON in favour of XML" +msgstr "Uvoz / Izvoz sada koristi JSON umjesto XML" + +#: includes/admin/views/settings-info.php:98 +msgid "New Forms" +msgstr "Nove forme" + +#: includes/admin/views/settings-info.php:99 +msgid "Fields can now be mapped to comments, widgets and all user forms!" +msgstr "" +"Od sada je moguće dodati polja na sve stranice, uključujući komentare, " +"stranice za uređivanje korisnika i widgete!" + +#: includes/admin/views/settings-info.php:106 +msgid "A new field for embedding content has been added" +msgstr "Novo polje za ugnježdeni sadržaj" + +#: includes/admin/views/settings-info.php:110 +msgid "New Gallery" +msgstr "Nova galerija" + +#: includes/admin/views/settings-info.php:111 +msgid "The gallery field has undergone a much needed facelift" +msgstr "Polje Galerija je dobilo novi izgled" + +#: includes/admin/views/settings-info.php:115 +msgid "New Settings" +msgstr "Nove postavke" + +#: includes/admin/views/settings-info.php:116 +msgid "" +"Field group settings have been added for label placement and instruction " +"placement" +msgstr "" +"Postavke svakog polja uključuju dodatna polja, polje za opis i polje za " +"upute namjenjene korisniku" + +#: includes/admin/views/settings-info.php:122 +msgid "Better Front End Forms" +msgstr "Bolji prikaz formi na web stranici" + +#: includes/admin/views/settings-info.php:123 +msgid "acf_form() can now create a new post on submission" +msgstr "" +"acf_form() funkcija od sada omogućuje dodavanje nove objave prilikom " +"spremanja" + +#: includes/admin/views/settings-info.php:127 +msgid "Better Validation" +msgstr "Bolja verifikacija polja" + +#: includes/admin/views/settings-info.php:128 +msgid "Form validation is now done via PHP + AJAX in favour of only JS" +msgstr "" +"Verifikacija polja se sada obavlja asinkrono (PHP + AJAX) umjesto " +"dosadašnjeg načina (Javascript)" + +#: includes/admin/views/settings-info.php:132 +msgid "Relationship Field" +msgstr "Polje za povezivanje objekta" + +#: includes/admin/views/settings-info.php:133 +msgid "" +"New Relationship field setting for 'Filters' (Search, Post Type, Taxonomy)" +msgstr "" +"Novo postavke polja Veza za filter (pretraga, tip objekta, taksonomija)" + +#: includes/admin/views/settings-info.php:139 +msgid "Moving Fields" +msgstr "Premještanje polja" + +#: includes/admin/views/settings-info.php:140 +msgid "" +"New field group functionality allows you to move a field between groups & " +"parents" +msgstr "Nova funkcionalnost polja omogućuje premještanje polja i skupa polja" + +#: includes/admin/views/settings-info.php:144 +#: includes/fields/class-acf-field-page_link.php:25 +msgid "Page Link" +msgstr "URL stranice" + +#: includes/admin/views/settings-info.php:145 +msgid "New archives group in page_link field selection" +msgstr "Nova skupina ‘arhiva’ prilikom odabira polja page_link" + +#: includes/admin/views/settings-info.php:149 +msgid "Better Options Pages" +msgstr "Bolja upravljanje stranica sa postavkama" + +#: includes/admin/views/settings-info.php:150 +msgid "" +"New functions for options page allow creation of both parent and child menu " +"pages" +msgstr "" +"Nova funkcionalnost kod dodavanja stranica za postavke omogućuju dodavanje " +"izvornih i pod stranica izbornika" + +#: includes/admin/views/settings-info.php:159 +#, php-format +msgid "We think you'll love the changes in %s." +msgstr "Mislimo da će vam se svidjeti promjene u %s." + +#: includes/api/api-helpers.php:947 +msgid "Thumbnail" +msgstr "Sličica" + +#: includes/api/api-helpers.php:948 +msgid "Medium" +msgstr "Srednja" + +#: includes/api/api-helpers.php:949 +msgid "Large" +msgstr "Velika" + +#: includes/api/api-helpers.php:998 +msgid "Full Size" +msgstr "Puna veličina" + +#: includes/api/api-helpers.php:1339 includes/api/api-helpers.php:1912 +#: pro/fields/class-acf-field-clone.php:996 +msgid "(no title)" +msgstr "(bez naziva)" + +#: includes/api/api-helpers.php:3969 +#, php-format +msgid "Image width must be at least %dpx." +msgstr "Širina slike mora biti najmanje %dpx." + +#: includes/api/api-helpers.php:3974 +#, php-format +msgid "Image width must not exceed %dpx." +msgstr "Širina slike ne smije biti veća od %dpx." + +#: includes/api/api-helpers.php:3990 +#, php-format +msgid "Image height must be at least %dpx." +msgstr "Visina slike mora biti najmanje %dpx." + +#: includes/api/api-helpers.php:3995 +#, php-format +msgid "Image height must not exceed %dpx." +msgstr "Visina slike ne smije biti veća od %dpx." + +#: includes/api/api-helpers.php:4013 +#, php-format +msgid "File size must be at least %s." +msgstr "Veličina datoteke mora biti najmanje %s." + +#: includes/api/api-helpers.php:4018 +#, php-format +msgid "File size must must not exceed %s." +msgstr "Datoteke ne smije biti veća od %s." + +#: includes/api/api-helpers.php:4052 +#, php-format +msgid "File type must be %s." +msgstr "Tip datoteke mora biti %s." + +#: includes/fields.php:144 +msgid "Basic" +msgstr "Osnovno" + +#: includes/fields.php:145 includes/forms/form-front.php:47 +msgid "Content" +msgstr "Sadržaj" + +#: includes/fields.php:146 +msgid "Choice" +msgstr "Odabir" + +#: includes/fields.php:147 +msgid "Relational" +msgstr "Relacijski" + +#: includes/fields.php:148 +msgid "jQuery" +msgstr "jQuery" + +#: includes/fields.php:149 includes/fields/class-acf-field-button-group.php:177 +#: includes/fields/class-acf-field-checkbox.php:384 +#: includes/fields/class-acf-field-group.php:474 +#: includes/fields/class-acf-field-radio.php:285 +#: pro/fields/class-acf-field-clone.php:843 +#: pro/fields/class-acf-field-flexible-content.php:554 +#: pro/fields/class-acf-field-flexible-content.php:603 +#: pro/fields/class-acf-field-repeater.php:450 +msgid "Layout" +msgstr "Format" + +#: includes/fields.php:326 +msgid "Field type does not exist" +msgstr "Tip polja ne postoji" + +#: includes/fields.php:326 +msgid "Unknown" +msgstr "Nepoznato polje" + +#: includes/fields/class-acf-field-accordion.php:24 +msgid "Accordion" +msgstr "Multi prošireno" + +#: includes/fields/class-acf-field-accordion.php:99 +msgid "Open" +msgstr "Otvori" + +#: includes/fields/class-acf-field-accordion.php:100 +msgid "Display this accordion as open on page load." +msgstr "Prikaži accordion polje kao otvoreno prilikom učitavanja." + +#: includes/fields/class-acf-field-accordion.php:109 +msgid "Multi-expand" +msgstr "Mulit-proširenje" + +#: includes/fields/class-acf-field-accordion.php:110 +msgid "Allow this accordion to open without closing others." +msgstr "Omogući prikaz ovog accordion polja bez zatvaranje ostalih." + +#: includes/fields/class-acf-field-accordion.php:119 +#: includes/fields/class-acf-field-tab.php:114 +msgid "Endpoint" +msgstr "Prijelomna točka" + +#: includes/fields/class-acf-field-accordion.php:120 +msgid "" +"Define an endpoint for the previous accordion to stop. This accordion will " +"not be visible." +msgstr "" +"Preciziraj prijelomnu točku za prethoda polja accordion. Ovo će omogućiti " +"novi skup polja nakon prijelomne točke." + +#: includes/fields/class-acf-field-button-group.php:24 +msgid "Button Group" +msgstr "Skup dugmadi" + +#: includes/fields/class-acf-field-button-group.php:149 +#: includes/fields/class-acf-field-checkbox.php:344 +#: includes/fields/class-acf-field-radio.php:235 +#: includes/fields/class-acf-field-select.php:368 +msgid "Choices" +msgstr "Mogući odabiri" + +#: includes/fields/class-acf-field-button-group.php:150 +#: includes/fields/class-acf-field-checkbox.php:345 +#: includes/fields/class-acf-field-radio.php:236 +#: includes/fields/class-acf-field-select.php:369 +msgid "Enter each choice on a new line." +msgstr "Svaki odabir je potrebno dodati kao novi red." + +#: includes/fields/class-acf-field-button-group.php:150 +#: includes/fields/class-acf-field-checkbox.php:345 +#: includes/fields/class-acf-field-radio.php:236 +#: includes/fields/class-acf-field-select.php:369 +msgid "For more control, you may specify both a value and label like this:" +msgstr "Za bolju kontrolu unesite oboje, vrijednost i naziv, kao npr:" + +#: includes/fields/class-acf-field-button-group.php:150 +#: includes/fields/class-acf-field-checkbox.php:345 +#: includes/fields/class-acf-field-radio.php:236 +#: includes/fields/class-acf-field-select.php:369 +msgid "red : Red" +msgstr "crvena : Crvena" + +#: includes/fields/class-acf-field-button-group.php:158 +#: includes/fields/class-acf-field-page_link.php:513 +#: includes/fields/class-acf-field-post_object.php:412 +#: includes/fields/class-acf-field-radio.php:244 +#: includes/fields/class-acf-field-select.php:386 +#: includes/fields/class-acf-field-taxonomy.php:793 +#: includes/fields/class-acf-field-user.php:408 +msgid "Allow Null?" +msgstr "Dozvoli null vrijednost?" + +#: includes/fields/class-acf-field-button-group.php:168 +#: includes/fields/class-acf-field-checkbox.php:375 +#: includes/fields/class-acf-field-color_picker.php:131 +#: includes/fields/class-acf-field-email.php:118 +#: includes/fields/class-acf-field-number.php:127 +#: includes/fields/class-acf-field-radio.php:276 +#: includes/fields/class-acf-field-range.php:148 +#: includes/fields/class-acf-field-select.php:377 +#: includes/fields/class-acf-field-text.php:119 +#: includes/fields/class-acf-field-textarea.php:102 +#: includes/fields/class-acf-field-true_false.php:135 +#: includes/fields/class-acf-field-url.php:100 +#: includes/fields/class-acf-field-wysiwyg.php:410 +msgid "Default Value" +msgstr "Zadana vrijednost" + +#: includes/fields/class-acf-field-button-group.php:169 +#: includes/fields/class-acf-field-email.php:119 +#: includes/fields/class-acf-field-number.php:128 +#: includes/fields/class-acf-field-radio.php:277 +#: includes/fields/class-acf-field-range.php:149 +#: includes/fields/class-acf-field-text.php:120 +#: includes/fields/class-acf-field-textarea.php:103 +#: includes/fields/class-acf-field-url.php:101 +#: includes/fields/class-acf-field-wysiwyg.php:411 +msgid "Appears when creating a new post" +msgstr "Prikazuje se prilikom kreiranje nove objave" + +#: includes/fields/class-acf-field-button-group.php:183 +#: includes/fields/class-acf-field-checkbox.php:391 +#: includes/fields/class-acf-field-radio.php:292 +msgid "Horizontal" +msgstr "Horizontalno" + +#: includes/fields/class-acf-field-button-group.php:184 +#: includes/fields/class-acf-field-checkbox.php:390 +#: includes/fields/class-acf-field-radio.php:291 +msgid "Vertical" +msgstr "Vertikalno" + +#: includes/fields/class-acf-field-button-group.php:191 +#: includes/fields/class-acf-field-checkbox.php:408 +#: includes/fields/class-acf-field-file.php:204 +#: includes/fields/class-acf-field-image.php:188 +#: includes/fields/class-acf-field-link.php:166 +#: includes/fields/class-acf-field-radio.php:299 +#: includes/fields/class-acf-field-taxonomy.php:833 +msgid "Return Value" +msgstr "Vrati vrijednost" + +#: includes/fields/class-acf-field-button-group.php:192 +#: includes/fields/class-acf-field-checkbox.php:409 +#: includes/fields/class-acf-field-file.php:205 +#: includes/fields/class-acf-field-image.php:189 +#: includes/fields/class-acf-field-link.php:167 +#: includes/fields/class-acf-field-radio.php:300 +msgid "Specify the returned value on front end" +msgstr "Vrijednost koja će biti vraćena na pristupnom dijelu" + +#: includes/fields/class-acf-field-button-group.php:197 +#: includes/fields/class-acf-field-checkbox.php:414 +#: includes/fields/class-acf-field-radio.php:305 +#: includes/fields/class-acf-field-select.php:431 +msgid "Value" +msgstr "Vrijednost" + +#: includes/fields/class-acf-field-button-group.php:199 +#: includes/fields/class-acf-field-checkbox.php:416 +#: includes/fields/class-acf-field-radio.php:307 +#: includes/fields/class-acf-field-select.php:433 +msgid "Both (Array)" +msgstr "Oboje (podatkovni niz)" + +#: includes/fields/class-acf-field-checkbox.php:25 +#: includes/fields/class-acf-field-taxonomy.php:780 +msgid "Checkbox" +msgstr "Skup dugmadi" + +#: includes/fields/class-acf-field-checkbox.php:154 +msgid "Toggle All" +msgstr "Sakrij sve" + +#: includes/fields/class-acf-field-checkbox.php:221 +msgid "Add new choice" +msgstr "Dodaj odabir" + +#: includes/fields/class-acf-field-checkbox.php:353 +msgid "Allow Custom" +msgstr "Obogući dodatne" + +#: includes/fields/class-acf-field-checkbox.php:358 +msgid "Allow 'custom' values to be added" +msgstr "Omogući ‘dodatne’ vrijednosti" + +#: includes/fields/class-acf-field-checkbox.php:364 +msgid "Save Custom" +msgstr "Spremi" + +#: includes/fields/class-acf-field-checkbox.php:369 +msgid "Save 'custom' values to the field's choices" +msgstr "Spremi ‘dodatne’ vrijednosti i prikaži ih omogući njihov odabir" + +#: includes/fields/class-acf-field-checkbox.php:376 +#: includes/fields/class-acf-field-select.php:378 +msgid "Enter each default value on a new line" +msgstr "Unesite svaku novu vrijednost u zasebnu liniju" + +#: includes/fields/class-acf-field-checkbox.php:398 +msgid "Toggle" +msgstr "Prikaži/Sakrij" + +#: includes/fields/class-acf-field-checkbox.php:399 +msgid "Prepend an extra checkbox to toggle all choices" +msgstr "Dodaj okvir za izbor koji omogućje odabir svih opcija" + +#: includes/fields/class-acf-field-color_picker.php:25 +msgid "Color Picker" +msgstr "Odabir boje" + +#: includes/fields/class-acf-field-color_picker.php:68 +msgid "Clear" +msgstr "Ukloni" + +#: includes/fields/class-acf-field-color_picker.php:69 +msgid "Default" +msgstr "Zadano" + +#: includes/fields/class-acf-field-color_picker.php:70 +msgid "Select Color" +msgstr "Odaberite boju" + +#: includes/fields/class-acf-field-color_picker.php:71 +msgid "Current Color" +msgstr "Trenutna boja" + +#: includes/fields/class-acf-field-date_picker.php:25 +msgid "Date Picker" +msgstr "Odabir datuma" + +#: includes/fields/class-acf-field-date_picker.php:33 +msgctxt "Date Picker JS closeText" +msgid "Done" +msgstr "Završeno" + +#: includes/fields/class-acf-field-date_picker.php:34 +msgctxt "Date Picker JS currentText" +msgid "Today" +msgstr "Danas" + +#: includes/fields/class-acf-field-date_picker.php:35 +msgctxt "Date Picker JS nextText" +msgid "Next" +msgstr "Slijedeći" + +#: includes/fields/class-acf-field-date_picker.php:36 +msgctxt "Date Picker JS prevText" +msgid "Prev" +msgstr "Prethodni" + +#: includes/fields/class-acf-field-date_picker.php:37 +msgctxt "Date Picker JS weekHeader" +msgid "Wk" +msgstr "Tjedan" + +#: includes/fields/class-acf-field-date_picker.php:207 +#: includes/fields/class-acf-field-date_time_picker.php:181 +#: includes/fields/class-acf-field-time_picker.php:109 +msgid "Display Format" +msgstr "Format prikaza" + +#: includes/fields/class-acf-field-date_picker.php:208 +#: includes/fields/class-acf-field-date_time_picker.php:182 +#: includes/fields/class-acf-field-time_picker.php:110 +msgid "The format displayed when editing a post" +msgstr "Format za prikaz prilikom administracije" + +#: includes/fields/class-acf-field-date_picker.php:216 +#: includes/fields/class-acf-field-date_picker.php:247 +#: includes/fields/class-acf-field-date_time_picker.php:191 +#: includes/fields/class-acf-field-date_time_picker.php:208 +#: includes/fields/class-acf-field-time_picker.php:117 +#: includes/fields/class-acf-field-time_picker.php:132 +msgid "Custom:" +msgstr "Prilagođeno:" + +#: includes/fields/class-acf-field-date_picker.php:226 +msgid "Save Format" +msgstr "Spremi format" + +#: includes/fields/class-acf-field-date_picker.php:227 +msgid "The format used when saving a value" +msgstr "Format koji će biti spremljen" + +#: includes/fields/class-acf-field-date_picker.php:237 +#: includes/fields/class-acf-field-date_time_picker.php:198 +#: includes/fields/class-acf-field-post_object.php:432 +#: includes/fields/class-acf-field-relationship.php:697 +#: includes/fields/class-acf-field-select.php:426 +#: includes/fields/class-acf-field-time_picker.php:124 +msgid "Return Format" +msgstr "Format za prikaz na web stranici" + +#: includes/fields/class-acf-field-date_picker.php:238 +#: includes/fields/class-acf-field-date_time_picker.php:199 +#: includes/fields/class-acf-field-time_picker.php:125 +msgid "The format returned via template functions" +msgstr "Format koji vraća funkcija" + +#: includes/fields/class-acf-field-date_picker.php:256 +#: includes/fields/class-acf-field-date_time_picker.php:215 +msgid "Week Starts On" +msgstr "Tjedan počinje" + +#: includes/fields/class-acf-field-date_time_picker.php:25 +msgid "Date Time Picker" +msgstr "Odabir datuma i sata" + +#: includes/fields/class-acf-field-date_time_picker.php:33 +msgctxt "Date Time Picker JS timeOnlyTitle" +msgid "Choose Time" +msgstr "Odaberi vrijeme" + +#: includes/fields/class-acf-field-date_time_picker.php:34 +msgctxt "Date Time Picker JS timeText" +msgid "Time" +msgstr "Vrijeme" + +#: includes/fields/class-acf-field-date_time_picker.php:35 +msgctxt "Date Time Picker JS hourText" +msgid "Hour" +msgstr "Sat" + +#: includes/fields/class-acf-field-date_time_picker.php:36 +msgctxt "Date Time Picker JS minuteText" +msgid "Minute" +msgstr "Minuta" + +#: includes/fields/class-acf-field-date_time_picker.php:37 +msgctxt "Date Time Picker JS secondText" +msgid "Second" +msgstr "Sekunda" + +#: includes/fields/class-acf-field-date_time_picker.php:38 +msgctxt "Date Time Picker JS millisecText" +msgid "Millisecond" +msgstr "Milisekunda" + +#: includes/fields/class-acf-field-date_time_picker.php:39 +msgctxt "Date Time Picker JS microsecText" +msgid "Microsecond" +msgstr "Mikrosekunda" + +#: includes/fields/class-acf-field-date_time_picker.php:40 +msgctxt "Date Time Picker JS timezoneText" +msgid "Time Zone" +msgstr "Vremenska zona" + +#: includes/fields/class-acf-field-date_time_picker.php:41 +msgctxt "Date Time Picker JS currentText" +msgid "Now" +msgstr "Trenutno vrijeme" + +#: includes/fields/class-acf-field-date_time_picker.php:42 +msgctxt "Date Time Picker JS closeText" +msgid "Done" +msgstr "Završeno" + +#: includes/fields/class-acf-field-date_time_picker.php:43 +msgctxt "Date Time Picker JS selectText" +msgid "Select" +msgstr "Odaberi" + +#: includes/fields/class-acf-field-date_time_picker.php:45 +msgctxt "Date Time Picker JS amText" +msgid "AM" +msgstr "Prije podne" + +#: includes/fields/class-acf-field-date_time_picker.php:46 +msgctxt "Date Time Picker JS amTextShort" +msgid "A" +msgstr "Prije podne" + +#: includes/fields/class-acf-field-date_time_picker.php:49 +msgctxt "Date Time Picker JS pmText" +msgid "PM" +msgstr "Poslije podne" + +#: includes/fields/class-acf-field-date_time_picker.php:50 +msgctxt "Date Time Picker JS pmTextShort" +msgid "P" +msgstr "Poslije podne" + +#: includes/fields/class-acf-field-email.php:25 +msgid "Email" +msgstr "Email" + +#: includes/fields/class-acf-field-email.php:127 +#: includes/fields/class-acf-field-number.php:136 +#: includes/fields/class-acf-field-password.php:71 +#: includes/fields/class-acf-field-text.php:128 +#: includes/fields/class-acf-field-textarea.php:111 +#: includes/fields/class-acf-field-url.php:109 +msgid "Placeholder Text" +msgstr "Zadana vrijednost" + +#: includes/fields/class-acf-field-email.php:128 +#: includes/fields/class-acf-field-number.php:137 +#: includes/fields/class-acf-field-password.php:72 +#: includes/fields/class-acf-field-text.php:129 +#: includes/fields/class-acf-field-textarea.php:112 +#: includes/fields/class-acf-field-url.php:110 +msgid "Appears within the input" +msgstr "Prikazuje se unutar polja" + +#: includes/fields/class-acf-field-email.php:136 +#: includes/fields/class-acf-field-number.php:145 +#: includes/fields/class-acf-field-password.php:80 +#: includes/fields/class-acf-field-range.php:187 +#: includes/fields/class-acf-field-text.php:137 +msgid "Prepend" +msgstr "Umetni ispred" + +#: includes/fields/class-acf-field-email.php:137 +#: includes/fields/class-acf-field-number.php:146 +#: includes/fields/class-acf-field-password.php:81 +#: includes/fields/class-acf-field-range.php:188 +#: includes/fields/class-acf-field-text.php:138 +msgid "Appears before the input" +msgstr "Prijazuje se ispred polja" + +#: includes/fields/class-acf-field-email.php:145 +#: includes/fields/class-acf-field-number.php:154 +#: includes/fields/class-acf-field-password.php:89 +#: includes/fields/class-acf-field-range.php:196 +#: includes/fields/class-acf-field-text.php:146 +msgid "Append" +msgstr "Umetni na kraj" + +#: includes/fields/class-acf-field-email.php:146 +#: includes/fields/class-acf-field-number.php:155 +#: includes/fields/class-acf-field-password.php:90 +#: includes/fields/class-acf-field-range.php:197 +#: includes/fields/class-acf-field-text.php:147 +msgid "Appears after the input" +msgstr "Prikazuje se iza polja" + +#: includes/fields/class-acf-field-file.php:25 +msgid "File" +msgstr "Datoteka" + +#: includes/fields/class-acf-field-file.php:36 +msgid "Edit File" +msgstr "Uredi datoteku" + +#: includes/fields/class-acf-field-file.php:37 +msgid "Update File" +msgstr "Ažuriraj datoteku" + +#: includes/fields/class-acf-field-file.php:38 +#: includes/fields/class-acf-field-image.php:43 includes/media.php:57 +#: pro/fields/class-acf-field-gallery.php:44 +msgid "Uploaded to this post" +msgstr "Postavljeno uz ovu objavu" + +#: includes/fields/class-acf-field-file.php:130 +msgid "File name" +msgstr "Naziv datoteke" + +#: includes/fields/class-acf-field-file.php:134 +#: includes/fields/class-acf-field-file.php:237 +#: includes/fields/class-acf-field-file.php:248 +#: includes/fields/class-acf-field-image.php:248 +#: includes/fields/class-acf-field-image.php:277 +#: pro/fields/class-acf-field-gallery.php:690 +#: pro/fields/class-acf-field-gallery.php:719 +msgid "File size" +msgstr "Veličina datoteke" + +#: includes/fields/class-acf-field-file.php:143 +#: includes/fields/class-acf-field-image.php:124 +#: includes/fields/class-acf-field-link.php:140 includes/input.php:269 +#: pro/fields/class-acf-field-gallery.php:343 +#: pro/fields/class-acf-field-gallery.php:531 +msgid "Remove" +msgstr "Ukloni" + +#: includes/fields/class-acf-field-file.php:159 +msgid "Add File" +msgstr "Dodaj datoteku" + +#: includes/fields/class-acf-field-file.php:210 +msgid "File Array" +msgstr "Vrijednost kao niz" + +#: includes/fields/class-acf-field-file.php:211 +msgid "File URL" +msgstr "Putanja datoteke" + +#: includes/fields/class-acf-field-file.php:212 +msgid "File ID" +msgstr "Vrijednost kao ID" + +#: includes/fields/class-acf-field-file.php:219 +#: includes/fields/class-acf-field-image.php:213 +#: pro/fields/class-acf-field-gallery.php:655 +msgid "Library" +msgstr "Zbirka" + +#: includes/fields/class-acf-field-file.php:220 +#: includes/fields/class-acf-field-image.php:214 +#: pro/fields/class-acf-field-gallery.php:656 +msgid "Limit the media library choice" +msgstr "Ograniči odabir iz zbirke" + +#: includes/fields/class-acf-field-file.php:225 +#: includes/fields/class-acf-field-image.php:219 +#: includes/locations/class-acf-location-attachment.php:101 +#: includes/locations/class-acf-location-comment.php:79 +#: includes/locations/class-acf-location-nav-menu.php:102 +#: includes/locations/class-acf-location-taxonomy.php:79 +#: includes/locations/class-acf-location-user-form.php:87 +#: includes/locations/class-acf-location-user-role.php:111 +#: includes/locations/class-acf-location-widget.php:83 +#: pro/fields/class-acf-field-gallery.php:661 +msgid "All" +msgstr "Sve" + +#: includes/fields/class-acf-field-file.php:226 +#: includes/fields/class-acf-field-image.php:220 +#: pro/fields/class-acf-field-gallery.php:662 +msgid "Uploaded to post" +msgstr "Dodani uz trenutnu objavu" + +#: includes/fields/class-acf-field-file.php:233 +#: includes/fields/class-acf-field-image.php:227 +#: pro/fields/class-acf-field-gallery.php:669 +msgid "Minimum" +msgstr "Minimum" + +#: includes/fields/class-acf-field-file.php:234 +#: includes/fields/class-acf-field-file.php:245 +msgid "Restrict which files can be uploaded" +msgstr "Ograniči tip datoteka koji se smije uvesti" + +#: includes/fields/class-acf-field-file.php:244 +#: includes/fields/class-acf-field-image.php:256 +#: pro/fields/class-acf-field-gallery.php:698 +msgid "Maximum" +msgstr "Maksimum" + +#: includes/fields/class-acf-field-file.php:255 +#: includes/fields/class-acf-field-image.php:285 +#: pro/fields/class-acf-field-gallery.php:727 +msgid "Allowed file types" +msgstr "Dozvoljeni tipovi datoteka" + +#: includes/fields/class-acf-field-file.php:256 +#: includes/fields/class-acf-field-image.php:286 +#: pro/fields/class-acf-field-gallery.php:728 +msgid "Comma separated list. Leave blank for all types" +msgstr "" +"Dodaj kao niz odvojen zarezom, npr: .txt, .jpg, ... Ukoliko je prazno, sve " +"datoteke su dozvoljene" + +#: includes/fields/class-acf-field-google-map.php:25 +msgid "Google Map" +msgstr "Google mapa" + +#: includes/fields/class-acf-field-google-map.php:40 +msgid "Locating" +msgstr "Lociranje u tijeku" + +#: includes/fields/class-acf-field-google-map.php:41 +msgid "Sorry, this browser does not support geolocation" +msgstr "Nažalost, ovaj preglednik ne podržava geo lociranje" + +#: includes/fields/class-acf-field-google-map.php:113 +msgid "Clear location" +msgstr "Ukloni lokaciju" + +#: includes/fields/class-acf-field-google-map.php:114 +msgid "Find current location" +msgstr "Pronađi trenutnu lokaciju" + +#: includes/fields/class-acf-field-google-map.php:117 +msgid "Search for address..." +msgstr "Pretraži po adresi..." + +#: includes/fields/class-acf-field-google-map.php:147 +#: includes/fields/class-acf-field-google-map.php:158 +msgid "Center" +msgstr "Centriraj" + +#: includes/fields/class-acf-field-google-map.php:148 +#: includes/fields/class-acf-field-google-map.php:159 +msgid "Center the initial map" +msgstr "Centriraj prilikom učitavanja" + +#: includes/fields/class-acf-field-google-map.php:170 +msgid "Zoom" +msgstr "Uvećaj" + +#: includes/fields/class-acf-field-google-map.php:171 +msgid "Set the initial zoom level" +msgstr "Postavi zadanu vrijednost uvećanja" + +#: includes/fields/class-acf-field-google-map.php:180 +#: includes/fields/class-acf-field-image.php:239 +#: includes/fields/class-acf-field-image.php:268 +#: includes/fields/class-acf-field-oembed.php:281 +#: pro/fields/class-acf-field-gallery.php:681 +#: pro/fields/class-acf-field-gallery.php:710 +msgid "Height" +msgstr "Visina" + +#: includes/fields/class-acf-field-google-map.php:181 +msgid "Customise the map height" +msgstr "Uredi visinu mape" + +#: includes/fields/class-acf-field-group.php:25 +msgid "Group" +msgstr "Skup polja" + +#: includes/fields/class-acf-field-group.php:459 +#: pro/fields/class-acf-field-repeater.php:389 +msgid "Sub Fields" +msgstr "Pod polja" + +#: includes/fields/class-acf-field-group.php:475 +#: pro/fields/class-acf-field-clone.php:844 +msgid "Specify the style used to render the selected fields" +msgstr "Odaberite način prikaza odabranih polja" + +#: includes/fields/class-acf-field-group.php:480 +#: pro/fields/class-acf-field-clone.php:849 +#: pro/fields/class-acf-field-flexible-content.php:614 +#: pro/fields/class-acf-field-repeater.php:458 +msgid "Block" +msgstr "Blok" + +#: includes/fields/class-acf-field-group.php:481 +#: pro/fields/class-acf-field-clone.php:850 +#: pro/fields/class-acf-field-flexible-content.php:613 +#: pro/fields/class-acf-field-repeater.php:457 +msgid "Table" +msgstr "Tablica" + +#: includes/fields/class-acf-field-group.php:482 +#: pro/fields/class-acf-field-clone.php:851 +#: pro/fields/class-acf-field-flexible-content.php:615 +#: pro/fields/class-acf-field-repeater.php:459 +msgid "Row" +msgstr "Red" + +#: includes/fields/class-acf-field-image.php:25 +msgid "Image" +msgstr "Slika" + +#: includes/fields/class-acf-field-image.php:40 +msgid "Select Image" +msgstr "Odaberi sliku" + +#: includes/fields/class-acf-field-image.php:41 +#: pro/fields/class-acf-field-gallery.php:42 +msgid "Edit Image" +msgstr "Uredi sliku" + +#: includes/fields/class-acf-field-image.php:42 +#: pro/fields/class-acf-field-gallery.php:43 +msgid "Update Image" +msgstr "Ažuriraj sliku" + +#: includes/fields/class-acf-field-image.php:44 +msgid "All images" +msgstr "Sve slike" + +#: includes/fields/class-acf-field-image.php:140 +msgid "No image selected" +msgstr "Nema odabranih slika" + +#: includes/fields/class-acf-field-image.php:140 +msgid "Add Image" +msgstr "Dodaj sliku" + +#: includes/fields/class-acf-field-image.php:194 +msgid "Image Array" +msgstr "Podaci kao niz" + +#: includes/fields/class-acf-field-image.php:195 +msgid "Image URL" +msgstr "Putanja slike" + +#: includes/fields/class-acf-field-image.php:196 +msgid "Image ID" +msgstr "ID slike" + +#: includes/fields/class-acf-field-image.php:203 +msgid "Preview Size" +msgstr "Veličina prikaza prilikom uređivanja stranice" + +#: includes/fields/class-acf-field-image.php:204 +msgid "Shown when entering data" +msgstr "Prikazuje se prilikom unosa podataka" + +#: includes/fields/class-acf-field-image.php:228 +#: includes/fields/class-acf-field-image.php:257 +#: pro/fields/class-acf-field-gallery.php:670 +#: pro/fields/class-acf-field-gallery.php:699 +msgid "Restrict which images can be uploaded" +msgstr "Ograniči koje slike mogu biti dodane" + +#: includes/fields/class-acf-field-image.php:231 +#: includes/fields/class-acf-field-image.php:260 +#: includes/fields/class-acf-field-oembed.php:270 +#: pro/fields/class-acf-field-gallery.php:673 +#: pro/fields/class-acf-field-gallery.php:702 +msgid "Width" +msgstr "Širina" + +#: includes/fields/class-acf-field-link.php:25 +msgid "Link" +msgstr "Poveznica" + +#: includes/fields/class-acf-field-link.php:133 +msgid "Select Link" +msgstr "Odaberite poveznicu" + +#: includes/fields/class-acf-field-link.php:138 +msgid "Opens in a new window/tab" +msgstr "Otvori u novom prozoru/kartici" + +#: includes/fields/class-acf-field-link.php:172 +msgid "Link Array" +msgstr "Vrijednost kao niz" + +#: includes/fields/class-acf-field-link.php:173 +msgid "Link URL" +msgstr "Putanja poveznice" + +#: includes/fields/class-acf-field-message.php:25 +#: includes/fields/class-acf-field-message.php:101 +#: includes/fields/class-acf-field-true_false.php:126 +msgid "Message" +msgstr "Poruka" + +#: includes/fields/class-acf-field-message.php:110 +#: includes/fields/class-acf-field-textarea.php:139 +msgid "New Lines" +msgstr "Broj linija" + +#: includes/fields/class-acf-field-message.php:111 +#: includes/fields/class-acf-field-textarea.php:140 +msgid "Controls how new lines are rendered" +msgstr "Određuje način prikaza novih linija" + +#: includes/fields/class-acf-field-message.php:115 +#: includes/fields/class-acf-field-textarea.php:144 +msgid "Automatically add paragraphs" +msgstr "Dodaj paragraf" + +#: includes/fields/class-acf-field-message.php:116 +#: includes/fields/class-acf-field-textarea.php:145 +msgid "Automatically add <br>" +msgstr "Dodaj novi red - <br>" + +#: includes/fields/class-acf-field-message.php:117 +#: includes/fields/class-acf-field-textarea.php:146 +msgid "No Formatting" +msgstr "Bez obrade" + +#: includes/fields/class-acf-field-message.php:124 +msgid "Escape HTML" +msgstr "Onemogući HTML" + +#: includes/fields/class-acf-field-message.php:125 +msgid "Allow HTML markup to display as visible text instead of rendering" +msgstr "Prikažite HTML kodove kao tekst umjesto iscrtavanja" + +#: includes/fields/class-acf-field-number.php:25 +msgid "Number" +msgstr "Broj" + +#: includes/fields/class-acf-field-number.php:163 +#: includes/fields/class-acf-field-range.php:157 +msgid "Minimum Value" +msgstr "Minimum" + +#: includes/fields/class-acf-field-number.php:172 +#: includes/fields/class-acf-field-range.php:167 +msgid "Maximum Value" +msgstr "Maksimum" + +#: includes/fields/class-acf-field-number.php:181 +#: includes/fields/class-acf-field-range.php:177 +msgid "Step Size" +msgstr "Korak" + +#: includes/fields/class-acf-field-number.php:219 +msgid "Value must be a number" +msgstr "Vrijednost mora biti broj" + +#: includes/fields/class-acf-field-number.php:237 +#, php-format +msgid "Value must be equal to or higher than %d" +msgstr "Unešena vrijednost mora biti jednaka ili viša od %d" + +#: includes/fields/class-acf-field-number.php:245 +#, php-format +msgid "Value must be equal to or lower than %d" +msgstr "Unešena vrijednost mora biti jednaka ili niža od %d" + +#: includes/fields/class-acf-field-oembed.php:25 +msgid "oEmbed" +msgstr "oEmbed" + +#: includes/fields/class-acf-field-oembed.php:219 +msgid "Enter URL" +msgstr "Poveznica" + +#: includes/fields/class-acf-field-oembed.php:234 +#: includes/fields/class-acf-field-taxonomy.php:898 +msgid "Error." +msgstr "Greška." + +#: includes/fields/class-acf-field-oembed.php:234 +msgid "No embed found for the given URL." +msgstr "Nije pronađen nijedan umetak za unesenu adresu." + +#: includes/fields/class-acf-field-oembed.php:267 +#: includes/fields/class-acf-field-oembed.php:278 +msgid "Embed Size" +msgstr "Dimenzija umetka" + +#: includes/fields/class-acf-field-page_link.php:177 +msgid "Archives" +msgstr "Arhiva" + +#: includes/fields/class-acf-field-page_link.php:269 +#: includes/fields/class-acf-field-post_object.php:268 +#: includes/fields/class-acf-field-taxonomy.php:986 +msgid "Parent" +msgstr "Matični" + +#: includes/fields/class-acf-field-page_link.php:485 +#: includes/fields/class-acf-field-post_object.php:384 +#: includes/fields/class-acf-field-relationship.php:623 +msgid "Filter by Post Type" +msgstr "Filtriraj po tipu posta" + +#: includes/fields/class-acf-field-page_link.php:493 +#: includes/fields/class-acf-field-post_object.php:392 +#: includes/fields/class-acf-field-relationship.php:631 +msgid "All post types" +msgstr "Svi tipovi" + +#: includes/fields/class-acf-field-page_link.php:499 +#: includes/fields/class-acf-field-post_object.php:398 +#: includes/fields/class-acf-field-relationship.php:637 +msgid "Filter by Taxonomy" +msgstr "Filtriraj prema taksonomiji" + +#: includes/fields/class-acf-field-page_link.php:507 +#: includes/fields/class-acf-field-post_object.php:406 +#: includes/fields/class-acf-field-relationship.php:645 +msgid "All taxonomies" +msgstr "Sve taksonomije" + +#: includes/fields/class-acf-field-page_link.php:523 +msgid "Allow Archives URLs" +msgstr "Omogući odabir arhive tipova" + +#: includes/fields/class-acf-field-page_link.php:533 +#: includes/fields/class-acf-field-post_object.php:422 +#: includes/fields/class-acf-field-select.php:396 +#: includes/fields/class-acf-field-user.php:418 +msgid "Select multiple values?" +msgstr "Dozvoli odabir više vrijednosti?" + +#: includes/fields/class-acf-field-password.php:25 +msgid "Password" +msgstr "Lozinka" + +#: includes/fields/class-acf-field-post_object.php:25 +#: includes/fields/class-acf-field-post_object.php:437 +#: includes/fields/class-acf-field-relationship.php:702 +msgid "Post Object" +msgstr "Objekt" + +#: includes/fields/class-acf-field-post_object.php:438 +#: includes/fields/class-acf-field-relationship.php:703 +msgid "Post ID" +msgstr "ID objave" + +#: includes/fields/class-acf-field-radio.php:25 +msgid "Radio Button" +msgstr "Radiogumb" + +#: includes/fields/class-acf-field-radio.php:254 +msgid "Other" +msgstr "Drugo" + +#: includes/fields/class-acf-field-radio.php:259 +msgid "Add 'other' choice to allow for custom values" +msgstr "Dodaj odabir ’ostalo’ za slobodan unost" + +#: includes/fields/class-acf-field-radio.php:265 +msgid "Save Other" +msgstr "Spremi ostale" + +#: includes/fields/class-acf-field-radio.php:270 +msgid "Save 'other' values to the field's choices" +msgstr "Spremi ostale vrijednosti i omogući njihov odabir" + +#: includes/fields/class-acf-field-range.php:25 +msgid "Range" +msgstr "Raspon" + +#: includes/fields/class-acf-field-relationship.php:25 +msgid "Relationship" +msgstr "Veza" + +#: includes/fields/class-acf-field-relationship.php:37 +msgid "Minimum values reached ( {min} values )" +msgstr "Minimalna vrijednost je {min}" + +#: includes/fields/class-acf-field-relationship.php:38 +msgid "Maximum values reached ( {max} values )" +msgstr "Već ste dodali najviše dozvoljenih vrijednosti (najviše: {max})" + +#: includes/fields/class-acf-field-relationship.php:39 +msgid "Loading" +msgstr "Učitavanje" + +#: includes/fields/class-acf-field-relationship.php:40 +msgid "No matches found" +msgstr "Nema rezultata" + +#: includes/fields/class-acf-field-relationship.php:423 +msgid "Select post type" +msgstr "Odaberi tip posta" + +#: includes/fields/class-acf-field-relationship.php:449 +msgid "Select taxonomy" +msgstr "Odebarite taksonomiju" + +#: includes/fields/class-acf-field-relationship.php:539 +msgid "Search..." +msgstr "Pretraga…" + +#: includes/fields/class-acf-field-relationship.php:651 +msgid "Filters" +msgstr "Filteri" + +#: includes/fields/class-acf-field-relationship.php:657 +#: includes/locations/class-acf-location-post-type.php:27 +msgid "Post Type" +msgstr "Tip objave" + +#: includes/fields/class-acf-field-relationship.php:658 +#: includes/fields/class-acf-field-taxonomy.php:28 +#: includes/fields/class-acf-field-taxonomy.php:763 +msgid "Taxonomy" +msgstr "Taksonomija" + +#: includes/fields/class-acf-field-relationship.php:665 +msgid "Elements" +msgstr "Elementi" + +#: includes/fields/class-acf-field-relationship.php:666 +msgid "Selected elements will be displayed in each result" +msgstr "Odabrani elementi bit će prikazani u svakom rezultatu" + +#: includes/fields/class-acf-field-relationship.php:677 +msgid "Minimum posts" +msgstr "Minimalno" + +#: includes/fields/class-acf-field-relationship.php:686 +msgid "Maximum posts" +msgstr "Maksimalno" + +#: includes/fields/class-acf-field-relationship.php:790 +#: pro/fields/class-acf-field-gallery.php:800 +#, php-format +msgid "%s requires at least %s selection" +msgid_plural "%s requires at least %s selections" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: includes/fields/class-acf-field-select.php:25 +#: includes/fields/class-acf-field-taxonomy.php:785 +msgctxt "noun" +msgid "Select" +msgstr "Odaberi" + +#: includes/fields/class-acf-field-select.php:38 +msgctxt "Select2 JS matches_1" +msgid "One result is available, press enter to select it." +msgstr "Jedan rezultat dostupan, pritisnite enter za odabir." + +#: includes/fields/class-acf-field-select.php:39 +#, php-format +msgctxt "Select2 JS matches_n" +msgid "%d results are available, use up and down arrow keys to navigate." +msgstr "%d rezultata dostupno, za pomicanje koristite strelice gore/dole." + +#: includes/fields/class-acf-field-select.php:40 +msgctxt "Select2 JS matches_0" +msgid "No matches found" +msgstr "Nema rezultata" + +#: includes/fields/class-acf-field-select.php:41 +msgctxt "Select2 JS input_too_short_1" +msgid "Please enter 1 or more characters" +msgstr "Molimo unesite 1 ili više znakova" + +#: includes/fields/class-acf-field-select.php:42 +#, php-format +msgctxt "Select2 JS input_too_short_n" +msgid "Please enter %d or more characters" +msgstr "Molimo unesite najmanje %d ili više znakova" + +#: includes/fields/class-acf-field-select.php:43 +msgctxt "Select2 JS input_too_long_1" +msgid "Please delete 1 character" +msgstr "Molimo obrišite 1 znak" + +#: includes/fields/class-acf-field-select.php:44 +#, php-format +msgctxt "Select2 JS input_too_long_n" +msgid "Please delete %d characters" +msgstr "Molimo obrišite višak znakova - %d znak(ova) je višak" + +#: includes/fields/class-acf-field-select.php:45 +msgctxt "Select2 JS selection_too_long_1" +msgid "You can only select 1 item" +msgstr "Moguće je odabrati samo jednu opciju" + +#: includes/fields/class-acf-field-select.php:46 +#, php-format +msgctxt "Select2 JS selection_too_long_n" +msgid "You can only select %d items" +msgstr "Odabir opcija je ograničen na najviše %d" + +#: includes/fields/class-acf-field-select.php:47 +msgctxt "Select2 JS load_more" +msgid "Loading more results…" +msgstr "Učitavam rezultate…" + +#: includes/fields/class-acf-field-select.php:48 +msgctxt "Select2 JS searching" +msgid "Searching…" +msgstr "Pretražujem…" + +#: includes/fields/class-acf-field-select.php:49 +msgctxt "Select2 JS load_fail" +msgid "Loading failed" +msgstr "Neuspješno učitavanje" + +#: includes/fields/class-acf-field-select.php:255 includes/media.php:54 +msgctxt "verb" +msgid "Select" +msgstr "Odaberi" + +#: includes/fields/class-acf-field-select.php:406 +#: includes/fields/class-acf-field-true_false.php:144 +msgid "Stylised UI" +msgstr "Stilizirano sučelje" + +#: includes/fields/class-acf-field-select.php:416 +msgid "Use AJAX to lazy load choices?" +msgstr "Asinkrono učitaj dostupne odabire?" + +#: includes/fields/class-acf-field-select.php:427 +msgid "Specify the value returned" +msgstr "Preciziraj vrijednost za povrat" + +#: includes/fields/class-acf-field-separator.php:25 +msgid "Separator" +msgstr "Razdjelnik" + +#: includes/fields/class-acf-field-tab.php:25 +msgid "Tab" +msgstr "Kartica" + +#: includes/fields/class-acf-field-tab.php:102 +msgid "Placement" +msgstr "Pozicija" + +#: includes/fields/class-acf-field-tab.php:115 +msgid "" +"Define an endpoint for the previous tabs to stop. This will start a new " +"group of tabs." +msgstr "" +"Preciziraj prijelomnu točku za prethodne kartice. Ovo će omogućiti novi skup " +"kartica nakon prijelomne točke." + +#: includes/fields/class-acf-field-taxonomy.php:713 +#, php-format +msgctxt "No terms" +msgid "No %s" +msgstr "Nema %s" + +#: includes/fields/class-acf-field-taxonomy.php:732 +msgid "None" +msgstr "Bez odabira" + +#: includes/fields/class-acf-field-taxonomy.php:764 +msgid "Select the taxonomy to be displayed" +msgstr "Odaberite taksonomiju za prikaz" + +#: includes/fields/class-acf-field-taxonomy.php:773 +msgid "Appearance" +msgstr "Prikaz" + +#: includes/fields/class-acf-field-taxonomy.php:774 +msgid "Select the appearance of this field" +msgstr "Odaberite izgled polja" + +#: includes/fields/class-acf-field-taxonomy.php:779 +msgid "Multiple Values" +msgstr "Omogući odabir više vrijednosti" + +#: includes/fields/class-acf-field-taxonomy.php:781 +msgid "Multi Select" +msgstr "Više odabira" + +#: includes/fields/class-acf-field-taxonomy.php:783 +msgid "Single Value" +msgstr "Jedan odabir" + +#: includes/fields/class-acf-field-taxonomy.php:784 +msgid "Radio Buttons" +msgstr "Radiogumbi" + +#: includes/fields/class-acf-field-taxonomy.php:803 +msgid "Create Terms" +msgstr "Kreiraj pojmove" + +#: includes/fields/class-acf-field-taxonomy.php:804 +msgid "Allow new terms to be created whilst editing" +msgstr "Omogući kreiranje pojmova prilikom uređivanja" + +#: includes/fields/class-acf-field-taxonomy.php:813 +msgid "Save Terms" +msgstr "Spremi pojmove" + +#: includes/fields/class-acf-field-taxonomy.php:814 +msgid "Connect selected terms to the post" +msgstr "Spoji odabrane pojmove sa objavom" + +#: includes/fields/class-acf-field-taxonomy.php:823 +msgid "Load Terms" +msgstr "Učitaj pojmove" + +#: includes/fields/class-acf-field-taxonomy.php:824 +msgid "Load value from posts terms" +msgstr "Učitaj pojmove iz objave" + +#: includes/fields/class-acf-field-taxonomy.php:838 +msgid "Term Object" +msgstr "Vrijednost pojma kao objekt" + +#: includes/fields/class-acf-field-taxonomy.php:839 +msgid "Term ID" +msgstr "Vrijednost kao: ID pojma" + +#: includes/fields/class-acf-field-taxonomy.php:898 +#, php-format +msgid "User unable to add new %s" +msgstr "Korisnik nije u mogućnosti dodati %s" + +#: includes/fields/class-acf-field-taxonomy.php:911 +#, php-format +msgid "%s already exists" +msgstr "%s već postoji" + +#: includes/fields/class-acf-field-taxonomy.php:952 +#, php-format +msgid "%s added" +msgstr "Dodano: %s" + +#: includes/fields/class-acf-field-taxonomy.php:997 +msgid "Add" +msgstr "Dodaj" + +#: includes/fields/class-acf-field-text.php:25 +msgid "Text" +msgstr "Tekst" + +#: includes/fields/class-acf-field-text.php:155 +#: includes/fields/class-acf-field-textarea.php:120 +msgid "Character Limit" +msgstr "Ograniči broj znakova" + +#: includes/fields/class-acf-field-text.php:156 +#: includes/fields/class-acf-field-textarea.php:121 +msgid "Leave blank for no limit" +msgstr "Ostavite prazno za neograničeno" + +#: includes/fields/class-acf-field-textarea.php:25 +msgid "Text Area" +msgstr "Tekst polje" + +#: includes/fields/class-acf-field-textarea.php:129 +msgid "Rows" +msgstr "Broj redova" + +#: includes/fields/class-acf-field-textarea.php:130 +msgid "Sets the textarea height" +msgstr "Podesi visinu tekstualnog polja" + +#: includes/fields/class-acf-field-time_picker.php:25 +msgid "Time Picker" +msgstr "Odabri vremena (sat i minute)" + +#: includes/fields/class-acf-field-true_false.php:25 +msgid "True / False" +msgstr "True / False" + +#: includes/fields/class-acf-field-true_false.php:79 +#: includes/fields/class-acf-field-true_false.php:159 includes/input.php:267 +#: pro/admin/views/html-settings-updates.php:89 +msgid "Yes" +msgstr "Da" + +#: includes/fields/class-acf-field-true_false.php:80 +#: includes/fields/class-acf-field-true_false.php:169 includes/input.php:268 +#: pro/admin/views/html-settings-updates.php:99 +msgid "No" +msgstr "Ne" + +#: includes/fields/class-acf-field-true_false.php:127 +msgid "Displays text alongside the checkbox" +msgstr "Prikazuje tekst uz odabirni okvir" + +#: includes/fields/class-acf-field-true_false.php:155 +msgid "On Text" +msgstr "Tekst za aktivno stanje" + +#: includes/fields/class-acf-field-true_false.php:156 +msgid "Text shown when active" +msgstr "Tekst prikazan dok je polje aktivno" + +#: includes/fields/class-acf-field-true_false.php:165 +msgid "Off Text" +msgstr "Tekst za neaktivno stanje" + +#: includes/fields/class-acf-field-true_false.php:166 +msgid "Text shown when inactive" +msgstr "Tekst prikazan dok je polje neaktivno" + +#: includes/fields/class-acf-field-url.php:25 +msgid "Url" +msgstr "Poveznica" + +#: includes/fields/class-acf-field-url.php:151 +msgid "Value must be a valid URL" +msgstr "Vrijednost molja biti valjana" + +#: includes/fields/class-acf-field-user.php:25 includes/locations.php:95 +msgid "User" +msgstr "Korisnik" + +#: includes/fields/class-acf-field-user.php:393 +msgid "Filter by role" +msgstr "Filtar prema ulozi" + +#: includes/fields/class-acf-field-user.php:401 +msgid "All user roles" +msgstr "Sve uloge" + +#: includes/fields/class-acf-field-wysiwyg.php:25 +msgid "Wysiwyg Editor" +msgstr "Vizualno uređivanje" + +#: includes/fields/class-acf-field-wysiwyg.php:359 +msgid "Visual" +msgstr "Vizualno" + +#: includes/fields/class-acf-field-wysiwyg.php:360 +msgctxt "Name for the Text editor tab (formerly HTML)" +msgid "Text" +msgstr "Tekst polje" + +#: includes/fields/class-acf-field-wysiwyg.php:366 +msgid "Click to initialize TinyMCE" +msgstr "Aktiviraj vizualno uređivanje na klik" + +#: includes/fields/class-acf-field-wysiwyg.php:419 +msgid "Tabs" +msgstr "Kartice" + +#: includes/fields/class-acf-field-wysiwyg.php:424 +msgid "Visual & Text" +msgstr "Vizualno i tekstualno" + +#: includes/fields/class-acf-field-wysiwyg.php:425 +msgid "Visual Only" +msgstr "Samo vizualni" + +#: includes/fields/class-acf-field-wysiwyg.php:426 +msgid "Text Only" +msgstr "Samo tekstualno" + +#: includes/fields/class-acf-field-wysiwyg.php:433 +msgid "Toolbar" +msgstr "Alatna traka" + +#: includes/fields/class-acf-field-wysiwyg.php:443 +msgid "Show Media Upload Buttons?" +msgstr "Prikaži gumb za odabir datoteka?" + +#: includes/fields/class-acf-field-wysiwyg.php:453 +msgid "Delay initialization?" +msgstr "Odgodi učitavanje?" + +#: includes/fields/class-acf-field-wysiwyg.php:454 +msgid "TinyMCE will not be initalized until field is clicked" +msgstr "TinyMCE neće biti učitan dok korisnik ne klikne na polje" + +#: includes/forms/form-comment.php:166 includes/forms/form-post.php:303 +#: pro/admin/admin-options-page.php:308 +msgid "Edit field group" +msgstr "Uredi skup polja" + +#: includes/forms/form-front.php:55 +msgid "Validate Email" +msgstr "Verificiraj email" + +#: includes/forms/form-front.php:103 pro/fields/class-acf-field-gallery.php:573 +#: pro/options-page.php:81 +msgid "Update" +msgstr "Ažuriraj" + +#: includes/forms/form-front.php:104 +msgid "Post updated" +msgstr "Objava ažurirana" + +#: includes/forms/form-front.php:230 +msgid "Spam Detected" +msgstr "Spam" + +#: includes/input.php:259 +msgid "Expand Details" +msgstr "Prošireni prikaz" + +#: includes/input.php:260 +msgid "Collapse Details" +msgstr "Sakrij detalje" + +#: includes/input.php:261 +msgid "Validation successful" +msgstr "Uspješna verifikacija" + +#: includes/input.php:262 includes/validation.php:285 +#: includes/validation.php:296 +msgid "Validation failed" +msgstr "Verifikacija nije uspjela" + +#: includes/input.php:263 +msgid "1 field requires attention" +msgstr "1 polje treba vašu pažnju" + +#: includes/input.php:264 +#, php-format +msgid "%d fields require attention" +msgstr "Nekoliko polja treba vašu pažnje: %d" + +#: includes/input.php:265 +msgid "Restricted" +msgstr "Ograničen pristup" + +#: includes/input.php:266 +msgid "Are you sure?" +msgstr "Jeste li sigurni?" + +#: includes/input.php:270 +msgid "Cancel" +msgstr "Otkaži" + +#: includes/locations.php:93 includes/locations/class-acf-location-post.php:27 +msgid "Post" +msgstr "Objava" + +#: includes/locations.php:94 includes/locations/class-acf-location-page.php:27 +msgid "Page" +msgstr "Stranice" + +#: includes/locations.php:96 +msgid "Forms" +msgstr "Forme" + +#: includes/locations/class-acf-location-attachment.php:27 +msgid "Attachment" +msgstr "Prilog" + +#: includes/locations/class-acf-location-attachment.php:109 +#, php-format +msgid "All %s formats" +msgstr "Svi oblici %s" + +#: includes/locations/class-acf-location-comment.php:27 +msgid "Comment" +msgstr "Komentar" + +#: includes/locations/class-acf-location-current-user-role.php:27 +msgid "Current User Role" +msgstr "Trenutni tip korisnika" + +#: includes/locations/class-acf-location-current-user-role.php:110 +msgid "Super Admin" +msgstr "Super Admin" + +#: includes/locations/class-acf-location-current-user.php:27 +msgid "Current User" +msgstr "Trenutni korisnik" + +#: includes/locations/class-acf-location-current-user.php:97 +msgid "Logged in" +msgstr "Prijavljen" + +#: includes/locations/class-acf-location-current-user.php:98 +msgid "Viewing front end" +msgstr "Prikazuje web stranicu" + +#: includes/locations/class-acf-location-current-user.php:99 +msgid "Viewing back end" +msgstr "Prikazuje administracijki dio" + +#: includes/locations/class-acf-location-nav-menu-item.php:27 +msgid "Menu Item" +msgstr "Stavka izbornika" + +#: includes/locations/class-acf-location-nav-menu.php:27 +msgid "Menu" +msgstr "Izbornik" + +#: includes/locations/class-acf-location-nav-menu.php:109 +msgid "Menu Locations" +msgstr "Lokacije izbornika" + +#: includes/locations/class-acf-location-nav-menu.php:119 +msgid "Menus" +msgstr "Izbornici" + +#: includes/locations/class-acf-location-page-parent.php:27 +msgid "Page Parent" +msgstr "Matična stranica" + +#: includes/locations/class-acf-location-page-template.php:27 +msgid "Page Template" +msgstr "Predložak stranice" + +#: includes/locations/class-acf-location-page-template.php:98 +#: includes/locations/class-acf-location-post-template.php:151 +msgid "Default Template" +msgstr "Zadani predložak" + +#: includes/locations/class-acf-location-page-type.php:27 +msgid "Page Type" +msgstr "Tip stranice" + +#: includes/locations/class-acf-location-page-type.php:145 +msgid "Front Page" +msgstr "Početna stranica" + +#: includes/locations/class-acf-location-page-type.php:146 +msgid "Posts Page" +msgstr "Stranica za objave" + +#: includes/locations/class-acf-location-page-type.php:147 +msgid "Top Level Page (no parent)" +msgstr "Matična stranica (Nije podstranica)" + +#: includes/locations/class-acf-location-page-type.php:148 +msgid "Parent Page (has children)" +msgstr "Matičan stranica (Ima podstranice)" + +#: includes/locations/class-acf-location-page-type.php:149 +msgid "Child Page (has parent)" +msgstr "Pod-stranica (Ima matičnu stranicu)" + +#: includes/locations/class-acf-location-post-category.php:27 +msgid "Post Category" +msgstr "Kategorija objave" + +#: includes/locations/class-acf-location-post-format.php:27 +msgid "Post Format" +msgstr "Format objave" + +#: includes/locations/class-acf-location-post-status.php:27 +msgid "Post Status" +msgstr "Status objave" + +#: includes/locations/class-acf-location-post-taxonomy.php:27 +msgid "Post Taxonomy" +msgstr "Taksonomija objave" + +#: includes/locations/class-acf-location-post-template.php:27 +msgid "Post Template" +msgstr "Predložak stranice" + +#: includes/locations/class-acf-location-taxonomy.php:27 +msgid "Taxonomy Term" +msgstr "Pojam takosnomije" + +#: includes/locations/class-acf-location-user-form.php:27 +msgid "User Form" +msgstr "Korisnički obrazac" + +#: includes/locations/class-acf-location-user-form.php:88 +msgid "Add / Edit" +msgstr "Dodaj / Uredi" + +#: includes/locations/class-acf-location-user-form.php:89 +msgid "Register" +msgstr "Registriraj" + +#: includes/locations/class-acf-location-user-role.php:27 +msgid "User Role" +msgstr "Tip korisnika" + +#: includes/locations/class-acf-location-widget.php:27 +msgid "Widget" +msgstr "Widget" + +#: includes/media.php:55 +msgctxt "verb" +msgid "Edit" +msgstr "Uredi" + +#: includes/media.php:56 +msgctxt "verb" +msgid "Update" +msgstr "Ažuriraj" + +#: includes/validation.php:364 +#, php-format +msgid "%s value is required" +msgstr "%s je obavezno" + +#. Plugin Name of the plugin/theme +#: pro/acf-pro.php:28 +msgid "Advanced Custom Fields PRO" +msgstr "Advanced Custom Fields PRO" + +#: pro/admin/admin-options-page.php:200 +msgid "Publish" +msgstr "Objavi" + +#: pro/admin/admin-options-page.php:206 +#, php-format +msgid "" +"No Custom Field Groups found for this options page. Create a " +"Custom Field Group" +msgstr "" +"Niste dodali nijedan skup polja na ovu stranicu, Dodaj skup " +"polja" + +#: pro/admin/admin-settings-updates.php:78 +msgid "Error. Could not connect to update server" +msgstr "Greška. Greška prilikom spajanja na server" + +#: pro/admin/admin-settings-updates.php:162 +#: pro/admin/views/html-settings-updates.php:13 +msgid "Updates" +msgstr "Ažuriranja" + +#: pro/admin/views/html-settings-updates.php:7 +msgid "Deactivate License" +msgstr "Deaktiviraj licencu" + +#: pro/admin/views/html-settings-updates.php:7 +msgid "Activate License" +msgstr "Aktiviraj licencu" + +#: pro/admin/views/html-settings-updates.php:17 +msgid "License Information" +msgstr "Informacije o licenci" + +#: pro/admin/views/html-settings-updates.php:20 +#, php-format +msgid "" +"To unlock updates, please enter your license key below. If you don't have a " +"licence key, please see details & pricing." +msgstr "" +"Da bi omogućili ažuriranje, molimo unesite vašu licencu i polje ispod. " +"Ukoliko ne posjedujete licencu, molimo posjetite detalji i cijene." + +#: pro/admin/views/html-settings-updates.php:29 +msgid "License Key" +msgstr "Licenca" + +#: pro/admin/views/html-settings-updates.php:61 +msgid "Update Information" +msgstr "Ažuriraj informacije" + +#: pro/admin/views/html-settings-updates.php:68 +msgid "Current Version" +msgstr "Trenutna vezija" + +#: pro/admin/views/html-settings-updates.php:76 +msgid "Latest Version" +msgstr "Posljednja dostupna verzija" + +#: pro/admin/views/html-settings-updates.php:84 +msgid "Update Available" +msgstr "Dostupna nadogradnja" + +#: pro/admin/views/html-settings-updates.php:92 +msgid "Update Plugin" +msgstr "Nadogradi dodatak" + +#: pro/admin/views/html-settings-updates.php:94 +msgid "Please enter your license key above to unlock updates" +msgstr "Unesite licencu kako bi mogli izvršiti nadogradnju" + +#: pro/admin/views/html-settings-updates.php:100 +msgid "Check Again" +msgstr "Provjeri ponovno" + +#: pro/admin/views/html-settings-updates.php:117 +msgid "Upgrade Notice" +msgstr "Obavijest od nadogradnjama" + +#: pro/fields/class-acf-field-clone.php:25 +msgctxt "noun" +msgid "Clone" +msgstr "Kloniraj" + +#: pro/fields/class-acf-field-clone.php:812 +msgid "Select one or more fields you wish to clone" +msgstr "Odaberite jedno ili više polja koja želite klonirati" + +#: pro/fields/class-acf-field-clone.php:829 +msgid "Display" +msgstr "Prikaz" + +#: pro/fields/class-acf-field-clone.php:830 +msgid "Specify the style used to render the clone field" +msgstr "Odaberite način prikaza kloniranog polja" + +#: pro/fields/class-acf-field-clone.php:835 +msgid "Group (displays selected fields in a group within this field)" +msgstr "" +"Skupno (Prikazuje odabrana polja kao dodatni skup unutar trenutnog polja)" + +#: pro/fields/class-acf-field-clone.php:836 +msgid "Seamless (replaces this field with selected fields)" +msgstr "Zamjena (Prikazuje odabrana polja umjesto trenutnog polja)" + +#: pro/fields/class-acf-field-clone.php:857 +#, php-format +msgid "Labels will be displayed as %s" +msgstr "Oznake će biti prikazane kao %s" + +#: pro/fields/class-acf-field-clone.php:860 +msgid "Prefix Field Labels" +msgstr "Dodaj prefiks ispred oznake" + +#: pro/fields/class-acf-field-clone.php:871 +#, php-format +msgid "Values will be saved as %s" +msgstr "Vrijednosti će biti spremljene kao %s" + +#: pro/fields/class-acf-field-clone.php:874 +msgid "Prefix Field Names" +msgstr "Dodaj prefiks ispred naziva polja" + +#: pro/fields/class-acf-field-clone.php:992 +msgid "Unknown field" +msgstr "Nepoznato polje" + +#: pro/fields/class-acf-field-clone.php:1031 +msgid "Unknown field group" +msgstr "Nepoznat skup polja" + +#: pro/fields/class-acf-field-clone.php:1035 +#, php-format +msgid "All fields from %s field group" +msgstr "Sva polje iz %s skupa polja" + +#: pro/fields/class-acf-field-flexible-content.php:31 +#: pro/fields/class-acf-field-repeater.php:174 +#: pro/fields/class-acf-field-repeater.php:470 +msgid "Add Row" +msgstr "Dodaj red" + +#: pro/fields/class-acf-field-flexible-content.php:34 +msgid "layout" +msgstr "raspored" + +#: pro/fields/class-acf-field-flexible-content.php:35 +msgid "layouts" +msgstr "rasporedi" + +#: pro/fields/class-acf-field-flexible-content.php:36 +msgid "remove {layout}?" +msgstr "ukloni {layout}?" + +#: pro/fields/class-acf-field-flexible-content.php:37 +msgid "This field requires at least {min} {identifier}" +msgstr "Polje mora sadržavati najmanje {min} {identifier}" + +#: pro/fields/class-acf-field-flexible-content.php:38 +msgid "This field has a limit of {max} {identifier}" +msgstr "Polje je ograničeno na najviše {max} {identifier}" + +#: pro/fields/class-acf-field-flexible-content.php:39 +msgid "This field requires at least {min} {label} {identifier}" +msgstr "Polje mora sadržavati najmanje {min} {label} {identifier}" + +#: pro/fields/class-acf-field-flexible-content.php:40 +msgid "Maximum {label} limit reached ({max} {identifier})" +msgstr "Polje {label} smije sadržavati najviše {max} {identifier}" + +#: pro/fields/class-acf-field-flexible-content.php:41 +msgid "{available} {label} {identifier} available (max {max})" +msgstr "{available} {label} {identifier} preostalo (najviše {max})" + +#: pro/fields/class-acf-field-flexible-content.php:42 +msgid "{required} {label} {identifier} required (min {min})" +msgstr "{required} {label} {identifier} obavezno (najmanje {min})" + +#: pro/fields/class-acf-field-flexible-content.php:43 +msgid "Flexible Content requires at least 1 layout" +msgstr "Potrebno je unijeti najmanje jedno fleksibilni polje" + +#: pro/fields/class-acf-field-flexible-content.php:273 +#, php-format +msgid "Click the \"%s\" button below to start creating your layout" +msgstr "Kliknite “%s” gumb kako bi započeki kreiranje raspored" + +#: pro/fields/class-acf-field-flexible-content.php:406 +msgid "Add layout" +msgstr "Dodaj razmještaj" + +#: pro/fields/class-acf-field-flexible-content.php:407 +msgid "Remove layout" +msgstr "Ukloni razmještaj" + +#: pro/fields/class-acf-field-flexible-content.php:408 +#: pro/fields/class-acf-field-repeater.php:298 +msgid "Click to toggle" +msgstr "Klikni za uključivanje/isključivanje" + +#: pro/fields/class-acf-field-flexible-content.php:556 +msgid "Reorder Layout" +msgstr "Presloži polja povlačenjem" + +#: pro/fields/class-acf-field-flexible-content.php:556 +msgid "Reorder" +msgstr "Presloži" + +#: pro/fields/class-acf-field-flexible-content.php:557 +msgid "Delete Layout" +msgstr "Obriši" + +#: pro/fields/class-acf-field-flexible-content.php:558 +msgid "Duplicate Layout" +msgstr "Dupliciraj razmještaj" + +#: pro/fields/class-acf-field-flexible-content.php:559 +msgid "Add New Layout" +msgstr "Dodaj novi razmještaj" + +#: pro/fields/class-acf-field-flexible-content.php:630 +msgid "Min" +msgstr "Minimum" + +#: pro/fields/class-acf-field-flexible-content.php:643 +msgid "Max" +msgstr "Maksimum" + +#: pro/fields/class-acf-field-flexible-content.php:670 +#: pro/fields/class-acf-field-repeater.php:466 +msgid "Button Label" +msgstr "Tekst gumba" + +#: pro/fields/class-acf-field-flexible-content.php:679 +msgid "Minimum Layouts" +msgstr "Najmanje" + +#: pro/fields/class-acf-field-flexible-content.php:688 +msgid "Maximum Layouts" +msgstr "Najviše" + +#: pro/fields/class-acf-field-gallery.php:41 +msgid "Add Image to Gallery" +msgstr "Dodaj sliku u galeriju" + +#: pro/fields/class-acf-field-gallery.php:45 +msgid "Maximum selection reached" +msgstr "Već ste dodali najviše dozovoljenih polja" + +#: pro/fields/class-acf-field-gallery.php:321 +msgid "Length" +msgstr "Dužina" + +#: pro/fields/class-acf-field-gallery.php:364 +msgid "Caption" +msgstr "Potpis" + +#: pro/fields/class-acf-field-gallery.php:373 +msgid "Alt Text" +msgstr "Alternativni tekst" + +#: pro/fields/class-acf-field-gallery.php:544 +msgid "Add to gallery" +msgstr "Dodaj u galeriju" + +#: pro/fields/class-acf-field-gallery.php:548 +msgid "Bulk actions" +msgstr "Grupne akcije" + +#: pro/fields/class-acf-field-gallery.php:549 +msgid "Sort by date uploaded" +msgstr "Razvrstaj po datumu dodavanja" + +#: pro/fields/class-acf-field-gallery.php:550 +msgid "Sort by date modified" +msgstr "Razvrstaj po datumu zadnje promjene" + +#: pro/fields/class-acf-field-gallery.php:551 +msgid "Sort by title" +msgstr "Razvrstaj po naslovu" + +#: pro/fields/class-acf-field-gallery.php:552 +msgid "Reverse current order" +msgstr "Obrnuti redosljed" + +#: pro/fields/class-acf-field-gallery.php:570 +msgid "Close" +msgstr "Zatvori" + +#: pro/fields/class-acf-field-gallery.php:624 +msgid "Minimum Selection" +msgstr "Minimalni odabri" + +#: pro/fields/class-acf-field-gallery.php:633 +msgid "Maximum Selection" +msgstr "Maksimalni odabir" + +#: pro/fields/class-acf-field-gallery.php:642 +msgid "Insert" +msgstr "Umetni" + +#: pro/fields/class-acf-field-gallery.php:643 +msgid "Specify where new attachments are added" +msgstr "Precizirajte gdje se dodaju novi prilozi" + +#: pro/fields/class-acf-field-gallery.php:647 +msgid "Append to the end" +msgstr "Umetni na kraj" + +#: pro/fields/class-acf-field-gallery.php:648 +msgid "Prepend to the beginning" +msgstr "Umetni na početak" + +#: pro/fields/class-acf-field-repeater.php:36 +msgid "Minimum rows reached ({min} rows)" +msgstr "Minimalni broj redova je već odabran ({min})" + +#: pro/fields/class-acf-field-repeater.php:37 +msgid "Maximum rows reached ({max} rows)" +msgstr "Maksimalni broj redova je već odabran ({max})" + +#: pro/fields/class-acf-field-repeater.php:343 +msgid "Add row" +msgstr "Dodaj red" + +#: pro/fields/class-acf-field-repeater.php:344 +msgid "Remove row" +msgstr "Ukloni red" + +#: pro/fields/class-acf-field-repeater.php:419 +msgid "Collapsed" +msgstr "Sklopljeno" + +#: pro/fields/class-acf-field-repeater.php:420 +msgid "Select a sub field to show when row is collapsed" +msgstr "Odaberite pod polje koje će biti prikazano dok je red sklopljen" + +#: pro/fields/class-acf-field-repeater.php:430 +msgid "Minimum Rows" +msgstr "Minimalno redova" + +#: pro/fields/class-acf-field-repeater.php:440 +msgid "Maximum Rows" +msgstr "Maksimalno redova" + +#: pro/locations/class-acf-location-options-page.php:79 +msgid "No options pages exist" +msgstr "Ne postoji stranica sa postavkama" + +#: pro/options-page.php:51 +msgid "Options" +msgstr "Postavke" + +#: pro/options-page.php:82 +msgid "Options Updated" +msgstr "Postavke spremljene" + +#: pro/updates.php:97 +#, php-format +msgid "" +"To enable updates, please enter your license key on the Updates page. If you don't have a licence key, please see details & pricing." +msgstr "" +"Da bi omogućili automatsko ažuriranje, molimo unesite licencu na stranici ažuriranja. Ukoliko nemate licencu, pogledajte opcije i cijene." + +#. Plugin URI of the plugin/theme +msgid "https://www.advancedcustomfields.com/" +msgstr "https://www.advancedcustomfields.com/" + +#. Author of the plugin/theme +msgid "Elliot Condon" +msgstr "Elliot Condon" + +#. Author URI of the plugin/theme +msgid "http://www.elliotcondon.com/" +msgstr "http://www.elliotcondon.com/" + +#~ msgid "Getting Started" +#~ msgstr "Kako početi" + +#~ msgid "Field Types" +#~ msgstr "Tipovi polja" + +#~ msgid "Functions" +#~ msgstr "Funkcije" + +#~ msgid "Actions" +#~ msgstr "Akcije" + +#~ msgid "Features" +#~ msgstr "Mogućnosti" + +#~ msgid "How to" +#~ msgstr "Pomoć" + +#~ msgid "Tutorials" +#~ msgstr "Tutorijali" + +#~ msgid "FAQ" +#~ msgstr "Česta pitanja" + +#~ msgid "Error" +#~ msgstr "Greška" + +#~ msgid "Export Field Groups to PHP" +#~ msgstr "Izvoz polja u PHP obliku" + +#~ msgid "Download export file" +#~ msgstr "Preuzmi datoteku" + +#~ msgid "Generate export code" +#~ msgstr "Stvori kod za izvoz" + +#~ msgid "Import" +#~ msgstr "Uvoz" + +#~ msgid "Term meta upgrade not possible (termmeta table does not exist)" +#~ msgstr "" +#~ "Nije moguće dovrišti nadogradnju tablice 'termmeta', tablica ne postoji u " +#~ "bazi" diff --git a/lang/acf-it_IT.mo b/lang/acf-it_IT.mo index 145cf75571d11e8c68a362e72ac58ba926091d07..6caa57fbc9ef945e5ccd3a82b367e118c44a13df 100644 GIT binary patch delta 15849 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 delta 16023 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 W^x<(^I@k7y;Jv37gch7$7yUnzDu{0Y diff --git a/lang/acf-it_IT.po b/lang/acf-it_IT.po index 9a4d2ac..6904783 100644 --- a/lang/acf-it_IT.po +++ b/lang/acf-it_IT.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Advanced Custom Fields Pro v5.2.9\n" "Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n" -"POT-Creation-Date: 2017-11-22 09:29+0100\n" -"PO-Revision-Date: 2018-02-06 10:07+1000\n" +"POT-Creation-Date: 2018-04-16 17:11+1000\n" +"PO-Revision-Date: 2018-04-30 05:17+0200\n" "Last-Translator: Elliot Condon \n" "Language-Team: Elliot Condon \n" "Language: it_IT\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.1\n" +"X-Generator: Poedit 2.0.6\n" "X-Loco-Target-Locale: it_IT\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" @@ -23,113 +23,112 @@ msgstr "" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.js\n" -#: acf.php:67 +#: acf.php:81 msgid "Advanced Custom Fields" msgstr "Campi Personalizzati Avanzati" -#: acf.php:370 includes/admin/admin.php:117 +#: acf.php:388 includes/admin/admin.php:117 msgid "Field Groups" msgstr "Field Group" -#: acf.php:371 +#: acf.php:389 msgid "Field Group" msgstr "Field Group" -#: acf.php:372 acf.php:404 includes/admin/admin.php:118 -#: pro/fields/class-acf-field-flexible-content.php:557 +#: acf.php:390 acf.php:422 includes/admin/admin.php:118 +#: pro/fields/class-acf-field-flexible-content.php:551 msgid "Add New" msgstr "Aggiungi Nuovo" -#: acf.php:373 +#: acf.php:391 msgid "Add New Field Group" msgstr "" "Aggiungi Nuovo \n" "Field Group" -#: acf.php:374 +#: acf.php:392 msgid "Edit Field Group" msgstr "" "Modifica \n" "Field Group" -#: acf.php:375 +#: acf.php:393 msgid "New Field Group" msgstr "" "Nuovo \n" "Field Group" -#: acf.php:376 +#: acf.php:394 msgid "View Field Group" msgstr "" "Visualizza \n" "Field Group" -#: acf.php:377 +#: acf.php:395 msgid "Search Field Groups" msgstr "" "Cerca \n" "Field Group" -#: acf.php:378 +#: acf.php:396 msgid "No Field Groups found" msgstr "" "Nessun \n" "Field Group\n" " Trovato" -#: acf.php:379 +#: acf.php:397 msgid "No Field Groups found in Trash" msgstr "" "Nessun \n" "Field Group\n" " trovato nel cestino" -#: acf.php:402 includes/admin/admin-field-group.php:182 -#: includes/admin/admin-field-group.php:275 +#: acf.php:420 includes/admin/admin-field-group.php:196 #: includes/admin/admin-field-groups.php:510 -#: pro/fields/class-acf-field-clone.php:807 +#: pro/fields/class-acf-field-clone.php:811 msgid "Fields" msgstr "Campi" -#: acf.php:403 +#: acf.php:421 msgid "Field" msgstr "Campo" -#: acf.php:405 +#: acf.php:423 msgid "Add New Field" msgstr "Aggiungi Nuovo Campo" -#: acf.php:406 +#: acf.php:424 msgid "Edit Field" msgstr "Modifica Campo" -#: acf.php:407 includes/admin/views/field-group-fields.php:41 +#: acf.php:425 includes/admin/views/field-group-fields.php:41 #: includes/admin/views/settings-info.php:105 msgid "New Field" msgstr "Nuovo Campo" -#: acf.php:408 +#: acf.php:426 msgid "View Field" msgstr "Visualizza Campo" -#: acf.php:409 +#: acf.php:427 msgid "Search Fields" msgstr "Ricerca Campi" -#: acf.php:410 +#: acf.php:428 msgid "No Fields found" msgstr "Nessun Campo trovato" -#: acf.php:411 +#: acf.php:429 msgid "No Fields found in Trash" msgstr "Nessun Campo trovato nel cestino" -#: acf.php:450 includes/admin/admin-field-group.php:390 +#: acf.php:468 includes/admin/admin-field-group.php:377 #: includes/admin/admin-field-groups.php:567 msgid "Inactive" msgstr "Inattivo" -#: acf.php:455 +#: acf.php:473 #, php-format msgid "Inactive (%s)" msgid_plural "Inactive (%s)" @@ -181,91 +180,78 @@ msgstr "" "Field Group\n" " aggiornata." -#: includes/admin/admin-field-group.php:183 -msgid "Location" -msgstr "Posizione" +#: includes/admin/admin-field-group.php:154 +msgid "The string \"field_\" may not be used at the start of a field name" +msgstr "" +"La stringa \"field_\" non può essere usata come inizio nel nome di un Campo" -#: includes/admin/admin-field-group.php:184 -#: includes/admin/tools/class-acf-admin-tool-export.php:295 -msgid "Settings" -msgstr "Impostazioni" - -#: includes/admin/admin-field-group.php:269 -msgid "Move to trash. Are you sure?" -msgstr "Sposta nel cestino. Sei sicuro?" - -#: includes/admin/admin-field-group.php:270 -msgid "checked" -msgstr "selezionato" - -#: includes/admin/admin-field-group.php:271 -msgid "No toggle fields available" -msgstr "Nessun Campo Toggle disponibile" - -#: includes/admin/admin-field-group.php:272 -msgid "Field group title is required" -msgstr "Il titolo del Field Group è richiesto" - -#: includes/admin/admin-field-group.php:273 -#: includes/api/api-field-group.php:751 -msgid "copy" -msgstr "copia" - -#: includes/admin/admin-field-group.php:274 -#: includes/admin/views/field-group-field-conditional-logic.php:54 -#: includes/admin/views/field-group-field-conditional-logic.php:154 -#: includes/admin/views/field-group-locations.php:29 -#: includes/admin/views/html-location-group.php:3 -#: includes/api/api-helpers.php:3965 -msgid "or" -msgstr "o" - -#: includes/admin/admin-field-group.php:276 -msgid "Parent fields" -msgstr "Campi genitore" - -#: includes/admin/admin-field-group.php:277 -msgid "Sibling fields" -msgstr "Campi di pari livello" - -#: includes/admin/admin-field-group.php:278 -msgid "Move Custom Field" -msgstr "Sposta Campo Personalizzato" - -#: includes/admin/admin-field-group.php:279 +#: includes/admin/admin-field-group.php:155 msgid "This field cannot be moved until its changes have been saved" msgstr "" "Questo Campo non può essere spostato fino a quando non saranno state salvate " "le modifiche" -#: includes/admin/admin-field-group.php:280 +#: includes/admin/admin-field-group.php:156 +msgid "Field group title is required" +msgstr "Il titolo del Field Group è richiesto" + +#: includes/admin/admin-field-group.php:157 +msgid "Move to trash. Are you sure?" +msgstr "Sposta nel cestino. Sei sicuro?" + +#: includes/admin/admin-field-group.php:158 +msgid "Move Custom Field" +msgstr "Sposta Campo Personalizzato" + +#: includes/admin/admin-field-group.php:159 +msgid "checked" +msgstr "selezionato" + +#: includes/admin/admin-field-group.php:160 +msgid "(no label)" +msgstr "(nessuna etichetta)" + +#: includes/admin/admin-field-group.php:161 +#: includes/api/api-field-group.php:751 +msgid "copy" +msgstr "copia" + +#: includes/admin/admin-field-group.php:162 +#: includes/admin/views/field-group-field-conditional-logic.php:51 +#: includes/admin/views/field-group-field-conditional-logic.php:139 +#: includes/admin/views/field-group-locations.php:29 +#: includes/admin/views/html-location-group.php:3 +#: includes/api/api-helpers.php:4158 +msgid "or" +msgstr "o" + +#: includes/admin/admin-field-group.php:163 msgid "Null" msgstr "Nullo" -#: includes/admin/admin-field-group.php:281 includes/input.php:258 -msgid "The changes you made will be lost if you navigate away from this page" -msgstr "" -"Le modifiche effettuate verranno cancellate se si esce da questa pagina" +#: includes/admin/admin-field-group.php:197 +msgid "Location" +msgstr "Posizione" -#: includes/admin/admin-field-group.php:282 -msgid "The string \"field_\" may not be used at the start of a field name" -msgstr "" -"La stringa \"field_\" non può essere usata come inizio nel nome di un Campo" +#: includes/admin/admin-field-group.php:198 +#: includes/admin/tools/class-acf-admin-tool-export.php:295 +msgid "Settings" +msgstr "Impostazioni" -#: includes/admin/admin-field-group.php:360 +#: includes/admin/admin-field-group.php:347 msgid "Field Keys" msgstr "Field Key" -#: includes/admin/admin-field-group.php:390 +#: includes/admin/admin-field-group.php:377 #: includes/admin/views/field-group-options.php:9 msgid "Active" msgstr "Attivo" -#: includes/admin/admin-field-group.php:801 +#: includes/admin/admin-field-group.php:753 msgid "Move Complete." msgstr "Spostamento Completato." -#: includes/admin/admin-field-group.php:802 +#: includes/admin/admin-field-group.php:754 #, php-format msgid "The %s field can now be found in the %s field group" msgstr "" @@ -273,15 +259,15 @@ msgstr "" "Field Group\n" " %s" -#: includes/admin/admin-field-group.php:803 +#: includes/admin/admin-field-group.php:755 msgid "Close Window" msgstr "Chiudi Finestra" -#: includes/admin/admin-field-group.php:844 +#: includes/admin/admin-field-group.php:796 msgid "Please select the destination for this field" msgstr "Per favore seleziona la destinazione per questo Campo" -#: includes/admin/admin-field-group.php:851 +#: includes/admin/admin-field-group.php:803 msgid "Move Field" msgstr "Sposta Campo" @@ -383,51 +369,49 @@ msgstr "PRO" msgid "Thank you for creating with ACF." msgstr "Grazie per aver creato con ACF." -#: includes/admin/admin-field-groups.php:668 +#: includes/admin/admin-field-groups.php:667 msgid "Duplicate this item" msgstr "Duplica questo elemento" -#: includes/admin/admin-field-groups.php:668 -#: includes/admin/admin-field-groups.php:684 -#: includes/admin/views/field-group-field.php:49 -#: pro/fields/class-acf-field-flexible-content.php:556 +#: includes/admin/admin-field-groups.php:667 +#: includes/admin/admin-field-groups.php:683 +#: includes/admin/views/field-group-field.php:46 +#: pro/fields/class-acf-field-flexible-content.php:550 msgid "Duplicate" msgstr "Duplica" -#: includes/admin/admin-field-groups.php:701 -#: includes/fields/class-acf-field-google-map.php:112 -#: includes/fields/class-acf-field-relationship.php:656 +#: includes/admin/admin-field-groups.php:700 +#: includes/fields/class-acf-field-google-map.php:113 +#: includes/fields/class-acf-field-relationship.php:657 msgid "Search" msgstr "Ricerca" -#: includes/admin/admin-field-groups.php:760 +#: includes/admin/admin-field-groups.php:759 #, php-format msgid "Select %s" msgstr "Seleziona %s" -#: includes/admin/admin-field-groups.php:768 +#: includes/admin/admin-field-groups.php:767 msgid "Synchronise field group" msgstr "" "Sincronizza \n" "Field Group" -#: includes/admin/admin-field-groups.php:768 -#: includes/admin/admin-field-groups.php:798 +#: includes/admin/admin-field-groups.php:767 +#: includes/admin/admin-field-groups.php:797 msgid "Sync" msgstr "Sync" -#: includes/admin/admin-field-groups.php:780 +#: includes/admin/admin-field-groups.php:779 msgid "Apply" msgstr "Applica" -#: includes/admin/admin-field-groups.php:798 +#: includes/admin/admin-field-groups.php:797 msgid "Bulk Actions" msgstr "Azioni di massa" -#: includes/admin/admin-tools.php:116 includes/admin/settings-tools.php:50 +#: includes/admin/admin-tools.php:116 #: includes/admin/views/html-admin-tools.php:21 -#: includes/admin/views/settings-tools-export.php:19 -#: includes/admin/views/settings-tools.php:31 msgid "Tools" msgstr "Strumenti" @@ -449,7 +433,7 @@ msgstr "Rivedi siti e aggiornamenti" msgid "Error validating request" msgstr "Errore di convalida richiesta" -#: includes/admin/install.php:210 includes/admin/views/install.php:105 +#: includes/admin/install.php:210 includes/admin/views/install.php:104 msgid "No updates available." msgstr "Nessun aggiornamento disponibile." @@ -470,46 +454,7 @@ msgstr "Informazioni" msgid "What's New" msgstr "Cosa c'è di nuovo" -#: includes/admin/settings-tools.php:147 includes/admin/settings-tools.php:380 -#: includes/admin/tools/class-acf-admin-tool-export.php:97 -#: includes/admin/tools/class-acf-admin-tool-export.php:135 -msgid "No field groups selected" -msgstr "" -"Nessun \n" -"Field Group\n" -" selezionato" - -#: includes/admin/settings-tools.php:184 -#: includes/admin/tools/class-acf-admin-tool-import.php:100 -#: includes/fields/class-acf-field-file.php:159 -msgid "No file selected" -msgstr "Nessun file selezionato" - -#: includes/admin/settings-tools.php:197 -#: includes/admin/tools/class-acf-admin-tool-import.php:113 -msgid "Error uploading file. Please try again" -msgstr "Errore caricamento file. Per favore riprova" - -#: includes/admin/settings-tools.php:206 -#: includes/admin/tools/class-acf-admin-tool-import.php:122 -msgid "Incorrect file type" -msgstr "Tipo file non corretto" - -#: includes/admin/settings-tools.php:223 -#: includes/admin/tools/class-acf-admin-tool-import.php:139 -msgid "Import file empty" -msgstr "File importato vuoto" - -#: includes/admin/settings-tools.php:331 -#: includes/admin/tools/class-acf-admin-tool-import.php:247 -#, php-format -msgid "Imported 1 field group" -msgid_plural "Imported %s field groups" -msgstr[0] "Importato 1 field group" -msgstr[1] "Importati %s field groups" - #: includes/admin/tools/class-acf-admin-tool-export.php:33 -#: includes/admin/views/settings-tools.php:35 msgid "Export Field Groups" msgstr "" "Esporta \n" @@ -521,6 +466,14 @@ msgstr "" msgid "Generate PHP" msgstr "Genera PHP" +#: includes/admin/tools/class-acf-admin-tool-export.php:97 +#: includes/admin/tools/class-acf-admin-tool-export.php:135 +msgid "No field groups selected" +msgstr "" +"Nessun \n" +"Field Group\n" +" selezionato" + #: includes/admin/tools/class-acf-admin-tool-export.php:174 #, php-format msgid "Exported 1 field group." @@ -530,14 +483,12 @@ msgstr[1] "Esportati %s gruppi di campi." #: includes/admin/tools/class-acf-admin-tool-export.php:241 #: includes/admin/tools/class-acf-admin-tool-export.php:269 -#: includes/admin/views/settings-tools.php:5 msgid "Select Field Groups" msgstr "" "Cerca \n" "Field Group" #: includes/admin/tools/class-acf-admin-tool-export.php:336 -#: includes/admin/views/settings-tools.php:38 msgid "" "Select the field groups you would like to export and then select your export " "method. Use the download button to export to a .json file which you can then " @@ -557,7 +508,6 @@ msgid "Export File" msgstr "Esporta file" #: includes/admin/tools/class-acf-admin-tool-export.php:414 -#: includes/admin/views/settings-tools-export.php:27 msgid "" "The following code can be used to register a local version of the selected " "field group(s). A local field group can provide many benefits such as faster " @@ -575,15 +525,17 @@ msgstr "" msgid "Copy to clipboard" msgstr "Copia negli appunti" +#: includes/admin/tools/class-acf-admin-tool-export.php:483 +msgid "Copied" +msgstr "Copiato" + #: includes/admin/tools/class-acf-admin-tool-import.php:26 -#: includes/admin/views/settings-tools.php:64 msgid "Import Field Groups" msgstr "" "Importa \n" "Field Group" #: includes/admin/tools/class-acf-admin-tool-import.php:61 -#: includes/admin/views/settings-tools.php:67 msgid "" "Select the Advanced Custom Fields JSON file you would like to import. When " "you click the import button below, ACF will import the field groups." @@ -595,8 +547,7 @@ msgstr "" "." #: includes/admin/tools/class-acf-admin-tool-import.php:66 -#: includes/admin/views/settings-tools.php:77 -#: includes/fields/class-acf-field-file.php:35 +#: includes/fields/class-acf-field-file.php:37 msgid "Select File" msgstr "Seleziona File" @@ -604,125 +555,138 @@ msgstr "Seleziona File" msgid "Import File" msgstr "Importa file" -#: includes/admin/views/field-group-field-conditional-logic.php:28 +#: includes/admin/tools/class-acf-admin-tool-import.php:100 +#: includes/fields/class-acf-field-file.php:154 +msgid "No file selected" +msgstr "Nessun file selezionato" + +#: includes/admin/tools/class-acf-admin-tool-import.php:113 +msgid "Error uploading file. Please try again" +msgstr "Errore caricamento file. Per favore riprova" + +#: includes/admin/tools/class-acf-admin-tool-import.php:122 +msgid "Incorrect file type" +msgstr "Tipo file non corretto" + +#: includes/admin/tools/class-acf-admin-tool-import.php:139 +msgid "Import file empty" +msgstr "File importato vuoto" + +#: includes/admin/tools/class-acf-admin-tool-import.php:247 +#, php-format +msgid "Imported 1 field group" +msgid_plural "Imported %s field groups" +msgstr[0] "Importato 1 field group" +msgstr[1] "Importati %s field groups" + +#: includes/admin/views/field-group-field-conditional-logic.php:25 msgid "Conditional Logic" msgstr "Condizione Logica" -#: includes/admin/views/field-group-field-conditional-logic.php:54 +#: includes/admin/views/field-group-field-conditional-logic.php:51 msgid "Show this field if" msgstr "Mostra questo Campo se" -#: includes/admin/views/field-group-field-conditional-logic.php:103 -#: includes/locations.php:247 -msgid "is equal to" -msgstr "è uguale a" - -#: includes/admin/views/field-group-field-conditional-logic.php:104 -#: includes/locations.php:248 -msgid "is not equal to" -msgstr "non è uguale a" - -#: includes/admin/views/field-group-field-conditional-logic.php:141 +#: includes/admin/views/field-group-field-conditional-logic.php:126 #: includes/admin/views/html-location-rule.php:80 msgid "and" msgstr "e" -#: includes/admin/views/field-group-field-conditional-logic.php:156 +#: includes/admin/views/field-group-field-conditional-logic.php:141 #: includes/admin/views/field-group-locations.php:31 msgid "Add rule group" msgstr "Aggiungi gruppo di regole" -#: includes/admin/views/field-group-field.php:41 +#: includes/admin/views/field-group-field.php:38 #: pro/fields/class-acf-field-flexible-content.php:403 #: pro/fields/class-acf-field-repeater.php:296 msgid "Drag to reorder" msgstr "Trascinare per riordinare" +#: includes/admin/views/field-group-field.php:42 #: includes/admin/views/field-group-field.php:45 -#: includes/admin/views/field-group-field.php:48 msgid "Edit field" msgstr "Modifica Campo" -#: includes/admin/views/field-group-field.php:48 -#: includes/fields/class-acf-field-file.php:141 +#: includes/admin/views/field-group-field.php:45 +#: includes/fields/class-acf-field-file.php:136 #: includes/fields/class-acf-field-image.php:122 #: includes/fields/class-acf-field-link.php:139 #: pro/fields/class-acf-field-gallery.php:342 msgid "Edit" msgstr "Modifica" -#: includes/admin/views/field-group-field.php:49 +#: includes/admin/views/field-group-field.php:46 msgid "Duplicate field" msgstr "Duplica Campo" -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move field to another group" msgstr "Sposta" -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move" msgstr "Sposta" -#: includes/admin/views/field-group-field.php:51 +#: includes/admin/views/field-group-field.php:48 msgid "Delete field" msgstr "Cancella Campo" -#: includes/admin/views/field-group-field.php:51 -#: pro/fields/class-acf-field-flexible-content.php:555 +#: includes/admin/views/field-group-field.php:48 +#: pro/fields/class-acf-field-flexible-content.php:549 msgid "Delete" msgstr "Cancella" -#: includes/admin/views/field-group-field.php:67 +#: includes/admin/views/field-group-field.php:65 msgid "Field Label" msgstr "Etichetta Campo" -#: includes/admin/views/field-group-field.php:68 +#: includes/admin/views/field-group-field.php:66 msgid "This is the name which will appear on the EDIT page" msgstr "Questo è il nome che apparirà sulla pagina Modifica" -#: includes/admin/views/field-group-field.php:77 +#: includes/admin/views/field-group-field.php:75 msgid "Field Name" msgstr "Nome Campo" -#: includes/admin/views/field-group-field.php:78 +#: includes/admin/views/field-group-field.php:76 msgid "Single word, no spaces. Underscores and dashes allowed" msgstr "Singola parola, nessun spazio. Sottolineatura e trattini consentiti" -#: includes/admin/views/field-group-field.php:87 +#: includes/admin/views/field-group-field.php:85 msgid "Field Type" msgstr "Tipo di Campo" -#: includes/admin/views/field-group-field.php:98 -#: includes/fields/class-acf-field-tab.php:88 +#: includes/admin/views/field-group-field.php:96 msgid "Instructions" msgstr "Istruzioni" -#: includes/admin/views/field-group-field.php:99 +#: includes/admin/views/field-group-field.php:97 msgid "Instructions for authors. Shown when submitting data" msgstr "" "Istruzioni per gli autori. Mostrato al momento della presentazione dei dati" -#: includes/admin/views/field-group-field.php:108 +#: includes/admin/views/field-group-field.php:106 msgid "Required?" msgstr "Richiesto?" -#: includes/admin/views/field-group-field.php:131 +#: includes/admin/views/field-group-field.php:129 msgid "Wrapper Attributes" msgstr "Attributi Contenitore" -#: includes/admin/views/field-group-field.php:137 +#: includes/admin/views/field-group-field.php:135 msgid "width" msgstr "larghezza" -#: includes/admin/views/field-group-field.php:152 +#: includes/admin/views/field-group-field.php:150 msgid "class" msgstr "classe" -#: includes/admin/views/field-group-field.php:165 +#: includes/admin/views/field-group-field.php:163 msgid "id" msgstr "id" -#: includes/admin/views/field-group-field.php:177 +#: includes/admin/views/field-group-field.php:175 msgid "Close Field" msgstr "Chiudi Campo" @@ -732,16 +696,16 @@ msgstr "Ordinamento" #: includes/admin/views/field-group-fields.php:5 #: includes/fields/class-acf-field-button-group.php:198 -#: includes/fields/class-acf-field-checkbox.php:415 -#: includes/fields/class-acf-field-radio.php:306 -#: includes/fields/class-acf-field-select.php:432 -#: pro/fields/class-acf-field-flexible-content.php:582 +#: includes/fields/class-acf-field-checkbox.php:420 +#: includes/fields/class-acf-field-radio.php:311 +#: includes/fields/class-acf-field-select.php:418 +#: pro/fields/class-acf-field-flexible-content.php:576 msgid "Label" msgstr "Etichetta" #: includes/admin/views/field-group-fields.php:6 #: includes/fields/class-acf-field-taxonomy.php:964 -#: pro/fields/class-acf-field-flexible-content.php:595 +#: pro/fields/class-acf-field-flexible-content.php:589 msgid "Name" msgstr "Nome" @@ -810,12 +774,12 @@ msgid "Label placement" msgstr "Posizionamento etichette" #: includes/admin/views/field-group-options.php:62 -#: includes/fields/class-acf-field-tab.php:102 +#: includes/fields/class-acf-field-tab.php:106 msgid "Top aligned" msgstr "Allineamento in alto" #: includes/admin/views/field-group-options.php:63 -#: includes/fields/class-acf-field-tab.php:103 +#: includes/fields/class-acf-field-tab.php:107 msgid "Left aligned" msgstr "Allineamento a sinistra" @@ -903,7 +867,7 @@ msgid "Page Attributes" msgstr "Atrributi Pagina" #: includes/admin/views/field-group-options.php:126 -#: includes/fields/class-acf-field-relationship.php:670 +#: includes/fields/class-acf-field-relationship.php:671 msgid "Featured Image" msgstr "Immagine di presentazione" @@ -1331,88 +1295,188 @@ msgstr "" msgid "We think you'll love the changes in %s." msgstr "Pensiamo che amerete i cambiamenti in %s." -#: includes/admin/views/settings-tools-export.php:23 -msgid "Export Field Groups to PHP" -msgstr "" -"Esporta \n" -"Field Group\n" -" di PHP" - -#: includes/admin/views/settings-tools.php:50 -msgid "Download export file" -msgstr "Scarica file di esportazione" - -#: includes/admin/views/settings-tools.php:51 -msgid "Generate export code" -msgstr "Generare codice di esportazione" - -#: includes/admin/views/settings-tools.php:86 -msgid "Import" -msgstr "Importa" - -#: includes/api/api-helpers.php:857 +#: includes/api/api-helpers.php:1039 msgid "Thumbnail" msgstr "Thumbnail" -#: includes/api/api-helpers.php:858 +#: includes/api/api-helpers.php:1040 msgid "Medium" msgstr "Medio" -#: includes/api/api-helpers.php:859 +#: includes/api/api-helpers.php:1041 msgid "Large" msgstr "Grande" -#: includes/api/api-helpers.php:908 +#: includes/api/api-helpers.php:1090 msgid "Full Size" msgstr "Dimensione piena" -#: includes/api/api-helpers.php:1249 includes/api/api-helpers.php:1832 -#: pro/fields/class-acf-field-clone.php:992 +#: includes/api/api-helpers.php:1431 includes/api/api-helpers.php:2004 +#: pro/fields/class-acf-field-clone.php:996 msgid "(no title)" msgstr "(nessun titolo)" -#: includes/api/api-helpers.php:1869 -#: includes/fields/class-acf-field-page_link.php:269 -#: includes/fields/class-acf-field-post_object.php:268 -#: includes/fields/class-acf-field-taxonomy.php:986 -msgid "Parent" -msgstr "Genitore" - -#: includes/api/api-helpers.php:3886 +#: includes/api/api-helpers.php:4079 #, php-format msgid "Image width must be at least %dpx." msgstr "La larghezza dell'immagine deve essere di almeno %dpx." -#: includes/api/api-helpers.php:3891 +#: includes/api/api-helpers.php:4084 #, php-format msgid "Image width must not exceed %dpx." msgstr "La larghezza dell'immagine non deve superare i %dpx." -#: includes/api/api-helpers.php:3907 +#: includes/api/api-helpers.php:4100 #, php-format msgid "Image height must be at least %dpx." msgstr "L'altezza dell'immagine deve essere di almeno %dpx." -#: includes/api/api-helpers.php:3912 +#: includes/api/api-helpers.php:4105 #, php-format msgid "Image height must not exceed %dpx." msgstr "L'altezza dell'immagine non deve superare i %dpx." -#: includes/api/api-helpers.php:3930 +#: includes/api/api-helpers.php:4123 #, php-format msgid "File size must be at least %s." msgstr "La dimensione massima deve essere di almeno %s." -#: includes/api/api-helpers.php:3935 +#: includes/api/api-helpers.php:4128 #, php-format msgid "File size must must not exceed %s." msgstr "La dimensione massima non deve superare i %s." -#: includes/api/api-helpers.php:3969 +#: includes/api/api-helpers.php:4162 #, php-format msgid "File type must be %s." msgstr "La tipologia del File deve essere %s." +#: includes/assets.php:164 +msgid "The changes you made will be lost if you navigate away from this page" +msgstr "" +"Le modifiche effettuate verranno cancellate se si esce da questa pagina" + +#: includes/assets.php:167 includes/fields/class-acf-field-select.php:257 +msgctxt "verb" +msgid "Select" +msgstr "Seleziona" + +#: includes/assets.php:168 +msgctxt "verb" +msgid "Edit" +msgstr "Modifica" + +#: includes/assets.php:169 +msgctxt "verb" +msgid "Update" +msgstr "Aggiorna" + +#: includes/assets.php:170 pro/fields/class-acf-field-gallery.php:44 +msgid "Uploaded to this post" +msgstr "Caricato in questo Post" + +#: includes/assets.php:171 +msgid "Expand Details" +msgstr "Espandi Dettagli" + +#: includes/assets.php:172 +msgid "Collapse Details" +msgstr "Chiudi Dettagli" + +#: includes/assets.php:173 +msgid "Restricted" +msgstr "Limitato" + +#: includes/assets.php:174 +msgid "All images" +msgstr "Tutte le immagini" + +#: includes/assets.php:177 +msgid "Validation successful" +msgstr "Validazione avvenuta con successo" + +#: includes/assets.php:178 includes/validation.php:285 +#: includes/validation.php:296 +msgid "Validation failed" +msgstr "Validazione fallita" + +#: includes/assets.php:179 +msgid "1 field requires attention" +msgstr "1 Campo necessita di attenzioni" + +#: includes/assets.php:180 +#, php-format +msgid "%d fields require attention" +msgstr "%d Campi necessitano di attenzioni" + +#: includes/assets.php:183 +msgid "Are you sure?" +msgstr "Sei sicuro?" + +#: includes/assets.php:184 includes/fields/class-acf-field-true_false.php:79 +#: includes/fields/class-acf-field-true_false.php:159 +#: pro/admin/views/html-settings-updates.php:89 +msgid "Yes" +msgstr "Si" + +#: includes/assets.php:185 includes/fields/class-acf-field-true_false.php:80 +#: includes/fields/class-acf-field-true_false.php:174 +#: pro/admin/views/html-settings-updates.php:99 +msgid "No" +msgstr "No" + +#: includes/assets.php:186 includes/fields/class-acf-field-file.php:138 +#: includes/fields/class-acf-field-image.php:124 +#: includes/fields/class-acf-field-link.php:140 +#: pro/fields/class-acf-field-gallery.php:343 +#: pro/fields/class-acf-field-gallery.php:531 +msgid "Remove" +msgstr "Rimuovi" + +#: includes/assets.php:187 +msgid "Cancel" +msgstr "Annulla" + +#: includes/assets.php:190 +msgid "Has any value" +msgstr "Ha qualunque valore" + +#: includes/assets.php:191 +msgid "Has no value" +msgstr "Non ha un valore" + +#: includes/assets.php:192 +msgid "Value is equal to" +msgstr "Valore è uguale a" + +#: includes/assets.php:193 +msgid "Value is not equal to" +msgstr "Valore non è uguale a" + +#: includes/assets.php:194 +msgid "Value matches pattern" +msgstr "Valore corrisponde a modello" + +#: includes/assets.php:195 +msgid "Value contains" +msgstr "Valore contiene" + +#: includes/assets.php:196 +msgid "Value is greater than" +msgstr "Valore è maggiore di" + +#: includes/assets.php:197 +msgid "Value is less than" +msgstr "Valore è meno di" + +#: includes/assets.php:198 +msgid "Selection is greater than" +msgstr "Selezione è maggiore di" + +#: includes/assets.php:199 +msgid "Selection is less than" +msgstr "Selezione è meno di" + #: includes/fields.php:144 msgid "Basic" msgstr "Base" @@ -1433,15 +1497,14 @@ msgstr "Relazionale" msgid "jQuery" msgstr "jQuery" -#: includes/fields.php:149 -#: includes/fields/class-acf-field-button-group.php:177 -#: includes/fields/class-acf-field-checkbox.php:384 +#: includes/fields.php:149 includes/fields/class-acf-field-button-group.php:177 +#: includes/fields/class-acf-field-checkbox.php:389 #: includes/fields/class-acf-field-group.php:474 -#: includes/fields/class-acf-field-radio.php:285 -#: pro/fields/class-acf-field-clone.php:839 -#: pro/fields/class-acf-field-flexible-content.php:552 -#: pro/fields/class-acf-field-flexible-content.php:601 -#: pro/fields/class-acf-field-repeater.php:450 +#: includes/fields/class-acf-field-radio.php:290 +#: pro/fields/class-acf-field-clone.php:843 +#: pro/fields/class-acf-field-flexible-content.php:546 +#: pro/fields/class-acf-field-flexible-content.php:595 +#: pro/fields/class-acf-field-repeater.php:442 msgid "Layout" msgstr "Layout" @@ -1457,6 +1520,35 @@ msgstr "Sconosciuto" msgid "Accordion" msgstr "Fisarmonica" +#: includes/fields/class-acf-field-accordion.php:99 +msgid "Open" +msgstr "Apri" + +#: includes/fields/class-acf-field-accordion.php:100 +msgid "Display this accordion as open on page load." +msgstr "Mostra questa fisarmonica aperta sul caricamento della pagina." + +#: includes/fields/class-acf-field-accordion.php:109 +msgid "Multi-expand" +msgstr "Espansione multipla" + +#: includes/fields/class-acf-field-accordion.php:110 +msgid "Allow this accordion to open without closing others." +msgstr "Permetti a questa fisarmonica di aprirsi senza chiudere gli altri." + +#: includes/fields/class-acf-field-accordion.php:119 +#: includes/fields/class-acf-field-tab.php:114 +msgid "Endpoint" +msgstr "Endpoint" + +#: includes/fields/class-acf-field-accordion.php:120 +msgid "" +"Define an endpoint for the previous accordion to stop. This accordion will " +"not be visible." +msgstr "" +"Definisce un endpoint per la precedente fisarmonica che deve fermarsi. " +"Questa fisarmonica non sarà visibile." + #: includes/fields/class-acf-field-button-group.php:24 msgid "Button Group" msgstr "Gruppo Bottoni" @@ -1464,21 +1556,21 @@ msgstr "Gruppo Bottoni" #: includes/fields/class-acf-field-button-group.php:149 #: includes/fields/class-acf-field-checkbox.php:344 #: includes/fields/class-acf-field-radio.php:235 -#: includes/fields/class-acf-field-select.php:368 +#: includes/fields/class-acf-field-select.php:349 msgid "Choices" msgstr "Scelte" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:350 msgid "Enter each choice on a new line." msgstr "Immettere ogni scelta su una nuova linea." #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:350 msgid "For more control, you may specify both a value and label like this:" msgstr "" "Per un maggiore controllo, è possibile specificare sia un valore ed " @@ -1487,7 +1579,7 @@ msgstr "" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:350 msgid "red : Red" msgstr "rosso : Rosso" @@ -1495,20 +1587,20 @@ msgstr "rosso : Rosso" #: includes/fields/class-acf-field-page_link.php:513 #: includes/fields/class-acf-field-post_object.php:412 #: includes/fields/class-acf-field-radio.php:244 -#: includes/fields/class-acf-field-select.php:386 +#: includes/fields/class-acf-field-select.php:367 #: includes/fields/class-acf-field-taxonomy.php:793 -#: includes/fields/class-acf-field-user.php:408 +#: includes/fields/class-acf-field-user.php:409 msgid "Allow Null?" msgstr "Consenti Nullo?" #: includes/fields/class-acf-field-button-group.php:168 -#: includes/fields/class-acf-field-checkbox.php:375 +#: includes/fields/class-acf-field-checkbox.php:380 #: includes/fields/class-acf-field-color_picker.php:131 #: includes/fields/class-acf-field-email.php:118 #: includes/fields/class-acf-field-number.php:127 -#: includes/fields/class-acf-field-radio.php:276 -#: includes/fields/class-acf-field-range.php:148 -#: includes/fields/class-acf-field-select.php:377 +#: includes/fields/class-acf-field-radio.php:281 +#: includes/fields/class-acf-field-range.php:146 +#: includes/fields/class-acf-field-select.php:358 #: includes/fields/class-acf-field-text.php:119 #: includes/fields/class-acf-field-textarea.php:102 #: includes/fields/class-acf-field-true_false.php:135 @@ -1520,8 +1612,8 @@ msgstr "Valore di default" #: includes/fields/class-acf-field-button-group.php:169 #: includes/fields/class-acf-field-email.php:119 #: includes/fields/class-acf-field-number.php:128 -#: includes/fields/class-acf-field-radio.php:277 -#: includes/fields/class-acf-field-range.php:149 +#: includes/fields/class-acf-field-radio.php:282 +#: includes/fields/class-acf-field-range.php:147 #: includes/fields/class-acf-field-text.php:120 #: includes/fields/class-acf-field-textarea.php:103 #: includes/fields/class-acf-field-url.php:101 @@ -1530,47 +1622,47 @@ msgid "Appears when creating a new post" msgstr "Appare quando si crea un nuovo post" #: includes/fields/class-acf-field-button-group.php:183 -#: includes/fields/class-acf-field-checkbox.php:391 -#: includes/fields/class-acf-field-radio.php:292 +#: includes/fields/class-acf-field-checkbox.php:396 +#: includes/fields/class-acf-field-radio.php:297 msgid "Horizontal" msgstr "Orizzontale" #: includes/fields/class-acf-field-button-group.php:184 -#: includes/fields/class-acf-field-checkbox.php:390 -#: includes/fields/class-acf-field-radio.php:291 +#: includes/fields/class-acf-field-checkbox.php:395 +#: includes/fields/class-acf-field-radio.php:296 msgid "Vertical" msgstr "Verticale" #: includes/fields/class-acf-field-button-group.php:191 -#: includes/fields/class-acf-field-checkbox.php:408 -#: includes/fields/class-acf-field-file.php:204 +#: includes/fields/class-acf-field-checkbox.php:413 +#: includes/fields/class-acf-field-file.php:199 #: includes/fields/class-acf-field-image.php:188 #: includes/fields/class-acf-field-link.php:166 -#: includes/fields/class-acf-field-radio.php:299 +#: includes/fields/class-acf-field-radio.php:304 #: includes/fields/class-acf-field-taxonomy.php:833 msgid "Return Value" msgstr "Valore di ritorno" #: includes/fields/class-acf-field-button-group.php:192 -#: includes/fields/class-acf-field-checkbox.php:409 -#: includes/fields/class-acf-field-file.php:205 +#: includes/fields/class-acf-field-checkbox.php:414 +#: includes/fields/class-acf-field-file.php:200 #: includes/fields/class-acf-field-image.php:189 #: includes/fields/class-acf-field-link.php:167 -#: includes/fields/class-acf-field-radio.php:300 +#: includes/fields/class-acf-field-radio.php:305 msgid "Specify the returned value on front end" msgstr "Specificare il valore restituito sul front-end" #: includes/fields/class-acf-field-button-group.php:197 -#: includes/fields/class-acf-field-checkbox.php:414 -#: includes/fields/class-acf-field-radio.php:305 -#: includes/fields/class-acf-field-select.php:431 +#: includes/fields/class-acf-field-checkbox.php:419 +#: includes/fields/class-acf-field-radio.php:310 +#: includes/fields/class-acf-field-select.php:417 msgid "Value" msgstr "Valore" #: includes/fields/class-acf-field-button-group.php:199 -#: includes/fields/class-acf-field-checkbox.php:416 -#: includes/fields/class-acf-field-radio.php:307 -#: includes/fields/class-acf-field-select.php:433 +#: includes/fields/class-acf-field-checkbox.php:421 +#: includes/fields/class-acf-field-radio.php:312 +#: includes/fields/class-acf-field-select.php:419 msgid "Both (Array)" msgstr "Entrambi (Array)" @@ -1603,16 +1695,16 @@ msgstr "Salva Personalizzato" msgid "Save 'custom' values to the field's choices" msgstr "Salvare i valori 'personalizzati' per le scelte del campo" -#: includes/fields/class-acf-field-checkbox.php:376 -#: includes/fields/class-acf-field-select.php:378 +#: includes/fields/class-acf-field-checkbox.php:381 +#: includes/fields/class-acf-field-select.php:359 msgid "Enter each default value on a new line" msgstr "Immettere ogni valore di default su una nuova linea" -#: includes/fields/class-acf-field-checkbox.php:398 +#: includes/fields/class-acf-field-checkbox.php:403 msgid "Toggle" msgstr "Toggle" -#: includes/fields/class-acf-field-checkbox.php:399 +#: includes/fields/class-acf-field-checkbox.php:404 msgid "Prepend an extra checkbox to toggle all choices" msgstr "Inserisci un Checkbox extra per poter selezionare tutte le opzioni" @@ -1640,77 +1732,78 @@ msgstr "Colore Corrente" msgid "Date Picker" msgstr "Selettore data" -#: includes/fields/class-acf-field-date_picker.php:33 +#: includes/fields/class-acf-field-date_picker.php:59 msgctxt "Date Picker JS closeText" msgid "Done" msgstr "Fatto" -#: includes/fields/class-acf-field-date_picker.php:34 +#: includes/fields/class-acf-field-date_picker.php:60 msgctxt "Date Picker JS currentText" msgid "Today" msgstr "Oggi" -#: includes/fields/class-acf-field-date_picker.php:35 +#: includes/fields/class-acf-field-date_picker.php:61 msgctxt "Date Picker JS nextText" msgid "Next" msgstr "Prossimo" -#: includes/fields/class-acf-field-date_picker.php:36 +#: includes/fields/class-acf-field-date_picker.php:62 msgctxt "Date Picker JS prevText" msgid "Prev" msgstr "Precedente" -#: includes/fields/class-acf-field-date_picker.php:37 +#: includes/fields/class-acf-field-date_picker.php:63 msgctxt "Date Picker JS weekHeader" msgid "Wk" msgstr "Sett" -#: includes/fields/class-acf-field-date_picker.php:207 -#: includes/fields/class-acf-field-date_time_picker.php:181 +#: includes/fields/class-acf-field-date_picker.php:180 +#: includes/fields/class-acf-field-date_time_picker.php:183 #: includes/fields/class-acf-field-time_picker.php:109 msgid "Display Format" msgstr "Formato di visualizzazione" -#: includes/fields/class-acf-field-date_picker.php:208 -#: includes/fields/class-acf-field-date_time_picker.php:182 +#: includes/fields/class-acf-field-date_picker.php:181 +#: includes/fields/class-acf-field-date_time_picker.php:184 #: includes/fields/class-acf-field-time_picker.php:110 msgid "The format displayed when editing a post" msgstr "Il formato visualizzato durante la modifica di un post" -#: includes/fields/class-acf-field-date_picker.php:216 -#: includes/fields/class-acf-field-date_picker.php:247 -#: includes/fields/class-acf-field-date_time_picker.php:191 -#: includes/fields/class-acf-field-date_time_picker.php:208 +#: includes/fields/class-acf-field-date_picker.php:189 +#: includes/fields/class-acf-field-date_picker.php:220 +#: includes/fields/class-acf-field-date_time_picker.php:193 +#: includes/fields/class-acf-field-date_time_picker.php:210 #: includes/fields/class-acf-field-time_picker.php:117 #: includes/fields/class-acf-field-time_picker.php:132 msgid "Custom:" msgstr "Personalizzato:" -#: includes/fields/class-acf-field-date_picker.php:226 +#: includes/fields/class-acf-field-date_picker.php:199 msgid "Save Format" msgstr "Salva Formato" -#: includes/fields/class-acf-field-date_picker.php:227 +#: includes/fields/class-acf-field-date_picker.php:200 msgid "The format used when saving a value" msgstr "Il formato utilizzato durante il salvataggio di un valore" -#: includes/fields/class-acf-field-date_picker.php:237 -#: includes/fields/class-acf-field-date_time_picker.php:198 +#: includes/fields/class-acf-field-date_picker.php:210 +#: includes/fields/class-acf-field-date_time_picker.php:200 #: includes/fields/class-acf-field-post_object.php:432 -#: includes/fields/class-acf-field-relationship.php:697 -#: includes/fields/class-acf-field-select.php:426 +#: includes/fields/class-acf-field-relationship.php:698 +#: includes/fields/class-acf-field-select.php:412 #: includes/fields/class-acf-field-time_picker.php:124 +#: includes/fields/class-acf-field-user.php:428 msgid "Return Format" msgstr "Formato di ritorno" -#: includes/fields/class-acf-field-date_picker.php:238 -#: includes/fields/class-acf-field-date_time_picker.php:199 +#: includes/fields/class-acf-field-date_picker.php:211 +#: includes/fields/class-acf-field-date_time_picker.php:201 #: includes/fields/class-acf-field-time_picker.php:125 msgid "The format returned via template functions" msgstr "Il formato restituito tramite funzioni template" -#: includes/fields/class-acf-field-date_picker.php:256 -#: includes/fields/class-acf-field-date_time_picker.php:215 +#: includes/fields/class-acf-field-date_picker.php:229 +#: includes/fields/class-acf-field-date_time_picker.php:217 msgid "Week Starts On" msgstr "La settimana inizia il" @@ -1718,77 +1811,77 @@ msgstr "La settimana inizia il" msgid "Date Time Picker" msgstr "Selettore data/ora" -#: includes/fields/class-acf-field-date_time_picker.php:33 +#: includes/fields/class-acf-field-date_time_picker.php:68 msgctxt "Date Time Picker JS timeOnlyTitle" msgid "Choose Time" msgstr "Scegli tempo" -#: includes/fields/class-acf-field-date_time_picker.php:34 +#: includes/fields/class-acf-field-date_time_picker.php:69 msgctxt "Date Time Picker JS timeText" msgid "Time" msgstr "Orario" -#: includes/fields/class-acf-field-date_time_picker.php:35 +#: includes/fields/class-acf-field-date_time_picker.php:70 msgctxt "Date Time Picker JS hourText" msgid "Hour" msgstr "Ore" -#: includes/fields/class-acf-field-date_time_picker.php:36 +#: includes/fields/class-acf-field-date_time_picker.php:71 msgctxt "Date Time Picker JS minuteText" msgid "Minute" msgstr "Minuto" -#: includes/fields/class-acf-field-date_time_picker.php:37 +#: includes/fields/class-acf-field-date_time_picker.php:72 msgctxt "Date Time Picker JS secondText" msgid "Second" msgstr "Secondo" -#: includes/fields/class-acf-field-date_time_picker.php:38 +#: includes/fields/class-acf-field-date_time_picker.php:73 msgctxt "Date Time Picker JS millisecText" msgid "Millisecond" msgstr "Millisecondo" -#: includes/fields/class-acf-field-date_time_picker.php:39 +#: includes/fields/class-acf-field-date_time_picker.php:74 msgctxt "Date Time Picker JS microsecText" msgid "Microsecond" msgstr "Microsecondo" -#: includes/fields/class-acf-field-date_time_picker.php:40 +#: includes/fields/class-acf-field-date_time_picker.php:75 msgctxt "Date Time Picker JS timezoneText" msgid "Time Zone" msgstr "Fuso orario" -#: includes/fields/class-acf-field-date_time_picker.php:41 +#: includes/fields/class-acf-field-date_time_picker.php:76 msgctxt "Date Time Picker JS currentText" msgid "Now" msgstr "Ora" -#: includes/fields/class-acf-field-date_time_picker.php:42 +#: includes/fields/class-acf-field-date_time_picker.php:77 msgctxt "Date Time Picker JS closeText" msgid "Done" msgstr "Fatto" -#: includes/fields/class-acf-field-date_time_picker.php:43 +#: includes/fields/class-acf-field-date_time_picker.php:78 msgctxt "Date Time Picker JS selectText" msgid "Select" msgstr "Seleziona" -#: includes/fields/class-acf-field-date_time_picker.php:45 +#: includes/fields/class-acf-field-date_time_picker.php:80 msgctxt "Date Time Picker JS amText" msgid "AM" msgstr "AM" -#: includes/fields/class-acf-field-date_time_picker.php:46 +#: includes/fields/class-acf-field-date_time_picker.php:81 msgctxt "Date Time Picker JS amTextShort" msgid "A" msgstr "A" -#: includes/fields/class-acf-field-date_time_picker.php:49 +#: includes/fields/class-acf-field-date_time_picker.php:84 msgctxt "Date Time Picker JS pmText" msgid "PM" msgstr "PM" -#: includes/fields/class-acf-field-date_time_picker.php:50 +#: includes/fields/class-acf-field-date_time_picker.php:85 msgctxt "Date Time Picker JS pmTextShort" msgid "P" msgstr "P" @@ -1818,7 +1911,7 @@ msgstr "Appare nella finestra di input" #: includes/fields/class-acf-field-email.php:136 #: includes/fields/class-acf-field-number.php:145 #: includes/fields/class-acf-field-password.php:80 -#: includes/fields/class-acf-field-range.php:187 +#: includes/fields/class-acf-field-range.php:185 #: includes/fields/class-acf-field-text.php:137 msgid "Prepend" msgstr "Anteponi" @@ -1826,7 +1919,7 @@ msgstr "Anteponi" #: includes/fields/class-acf-field-email.php:137 #: includes/fields/class-acf-field-number.php:146 #: includes/fields/class-acf-field-password.php:81 -#: includes/fields/class-acf-field-range.php:188 +#: includes/fields/class-acf-field-range.php:186 #: includes/fields/class-acf-field-text.php:138 msgid "Appears before the input" msgstr "Appare prima dell'input" @@ -1834,7 +1927,7 @@ msgstr "Appare prima dell'input" #: includes/fields/class-acf-field-email.php:145 #: includes/fields/class-acf-field-number.php:154 #: includes/fields/class-acf-field-password.php:89 -#: includes/fields/class-acf-field-range.php:196 +#: includes/fields/class-acf-field-range.php:194 #: includes/fields/class-acf-field-text.php:146 msgid "Append" msgstr "Accodare" @@ -1842,7 +1935,7 @@ msgstr "Accodare" #: includes/fields/class-acf-field-email.php:146 #: includes/fields/class-acf-field-number.php:155 #: includes/fields/class-acf-field-password.php:90 -#: includes/fields/class-acf-field-range.php:197 +#: includes/fields/class-acf-field-range.php:195 #: includes/fields/class-acf-field-text.php:147 msgid "Appears after the input" msgstr "Accodare dopo l'input" @@ -1851,27 +1944,21 @@ msgstr "Accodare dopo l'input" msgid "File" msgstr "File" -#: includes/fields/class-acf-field-file.php:36 +#: includes/fields/class-acf-field-file.php:38 msgid "Edit File" msgstr "Modifica File" -#: includes/fields/class-acf-field-file.php:37 +#: includes/fields/class-acf-field-file.php:39 msgid "Update File" msgstr "Aggiorna File" -#: includes/fields/class-acf-field-file.php:38 -#: includes/fields/class-acf-field-image.php:43 includes/media.php:57 -#: pro/fields/class-acf-field-gallery.php:44 -msgid "Uploaded to this post" -msgstr "Caricato in questo Post" - -#: includes/fields/class-acf-field-file.php:130 +#: includes/fields/class-acf-field-file.php:125 msgid "File name" msgstr "Nome file" -#: includes/fields/class-acf-field-file.php:134 -#: includes/fields/class-acf-field-file.php:237 -#: includes/fields/class-acf-field-file.php:248 +#: includes/fields/class-acf-field-file.php:129 +#: includes/fields/class-acf-field-file.php:232 +#: includes/fields/class-acf-field-file.php:243 #: includes/fields/class-acf-field-image.php:248 #: includes/fields/class-acf-field-image.php:277 #: pro/fields/class-acf-field-gallery.php:690 @@ -1879,43 +1966,35 @@ msgstr "Nome file" msgid "File size" msgstr "Dimensione File" -#: includes/fields/class-acf-field-file.php:143 -#: includes/fields/class-acf-field-image.php:124 -#: includes/fields/class-acf-field-link.php:140 includes/input.php:269 -#: pro/fields/class-acf-field-gallery.php:343 -#: pro/fields/class-acf-field-gallery.php:531 -msgid "Remove" -msgstr "Rimuovi" - -#: includes/fields/class-acf-field-file.php:159 +#: includes/fields/class-acf-field-file.php:154 msgid "Add File" msgstr "Aggiungi file" -#: includes/fields/class-acf-field-file.php:210 +#: includes/fields/class-acf-field-file.php:205 msgid "File Array" msgstr "File Array" -#: includes/fields/class-acf-field-file.php:211 +#: includes/fields/class-acf-field-file.php:206 msgid "File URL" msgstr "File URL" -#: includes/fields/class-acf-field-file.php:212 +#: includes/fields/class-acf-field-file.php:207 msgid "File ID" msgstr "File ID" -#: includes/fields/class-acf-field-file.php:219 +#: includes/fields/class-acf-field-file.php:214 #: includes/fields/class-acf-field-image.php:213 #: pro/fields/class-acf-field-gallery.php:655 msgid "Library" msgstr "Libreria" -#: includes/fields/class-acf-field-file.php:220 +#: includes/fields/class-acf-field-file.php:215 #: includes/fields/class-acf-field-image.php:214 #: pro/fields/class-acf-field-gallery.php:656 msgid "Limit the media library choice" msgstr "Limitare la scelta alla libreria multimediale" -#: includes/fields/class-acf-field-file.php:225 +#: includes/fields/class-acf-field-file.php:220 #: includes/fields/class-acf-field-image.php:219 #: includes/locations/class-acf-location-attachment.php:101 #: includes/locations/class-acf-location-comment.php:79 @@ -1928,36 +2007,36 @@ msgstr "Limitare la scelta alla libreria multimediale" msgid "All" msgstr "Tutti" -#: includes/fields/class-acf-field-file.php:226 +#: includes/fields/class-acf-field-file.php:221 #: includes/fields/class-acf-field-image.php:220 #: pro/fields/class-acf-field-gallery.php:662 msgid "Uploaded to post" msgstr "Caricato al post" -#: includes/fields/class-acf-field-file.php:233 +#: includes/fields/class-acf-field-file.php:228 #: includes/fields/class-acf-field-image.php:227 #: pro/fields/class-acf-field-gallery.php:669 msgid "Minimum" msgstr "Minimo" -#: includes/fields/class-acf-field-file.php:234 -#: includes/fields/class-acf-field-file.php:245 +#: includes/fields/class-acf-field-file.php:229 +#: includes/fields/class-acf-field-file.php:240 msgid "Restrict which files can be uploaded" msgstr "Limita i tipi di File che possono essere caricati" -#: includes/fields/class-acf-field-file.php:244 +#: includes/fields/class-acf-field-file.php:239 #: includes/fields/class-acf-field-image.php:256 #: pro/fields/class-acf-field-gallery.php:698 msgid "Maximum" msgstr "Massimo" -#: includes/fields/class-acf-field-file.php:255 +#: includes/fields/class-acf-field-file.php:250 #: includes/fields/class-acf-field-image.php:285 #: pro/fields/class-acf-field-gallery.php:727 msgid "Allowed file types" msgstr "Tipologie File permesse" -#: includes/fields/class-acf-field-file.php:256 +#: includes/fields/class-acf-field-file.php:251 #: includes/fields/class-acf-field-image.php:286 #: pro/fields/class-acf-field-gallery.php:728 msgid "Comma separated list. Leave blank for all types" @@ -1967,54 +2046,50 @@ msgstr "Lista separata da virgole. Lascia bianco per tutti i tipi" msgid "Google Map" msgstr "Google Map" -#: includes/fields/class-acf-field-google-map.php:40 -msgid "Locating" -msgstr "Localizzazione" - -#: includes/fields/class-acf-field-google-map.php:41 +#: includes/fields/class-acf-field-google-map.php:43 msgid "Sorry, this browser does not support geolocation" msgstr "Spiacente, questo browser non supporta la geolocalizzazione" -#: includes/fields/class-acf-field-google-map.php:113 +#: includes/fields/class-acf-field-google-map.php:114 msgid "Clear location" msgstr "Pulisci posizione" -#: includes/fields/class-acf-field-google-map.php:114 +#: includes/fields/class-acf-field-google-map.php:115 msgid "Find current location" msgstr "Trova posizione corrente" -#: includes/fields/class-acf-field-google-map.php:117 +#: includes/fields/class-acf-field-google-map.php:118 msgid "Search for address..." msgstr "Cerca per indirizzo..." -#: includes/fields/class-acf-field-google-map.php:147 -#: includes/fields/class-acf-field-google-map.php:158 +#: includes/fields/class-acf-field-google-map.php:148 +#: includes/fields/class-acf-field-google-map.php:159 msgid "Center" msgstr "Centro" -#: includes/fields/class-acf-field-google-map.php:148 -#: includes/fields/class-acf-field-google-map.php:159 +#: includes/fields/class-acf-field-google-map.php:149 +#: includes/fields/class-acf-field-google-map.php:160 msgid "Center the initial map" msgstr "Centrare la mappa iniziale" -#: includes/fields/class-acf-field-google-map.php:170 +#: includes/fields/class-acf-field-google-map.php:171 msgid "Zoom" msgstr "Zoom" -#: includes/fields/class-acf-field-google-map.php:171 +#: includes/fields/class-acf-field-google-map.php:172 msgid "Set the initial zoom level" msgstr "Imposta il livello di zoom iniziale" -#: includes/fields/class-acf-field-google-map.php:180 +#: includes/fields/class-acf-field-google-map.php:181 #: includes/fields/class-acf-field-image.php:239 #: includes/fields/class-acf-field-image.php:268 -#: includes/fields/class-acf-field-oembed.php:281 +#: includes/fields/class-acf-field-oembed.php:268 #: pro/fields/class-acf-field-gallery.php:681 #: pro/fields/class-acf-field-gallery.php:710 msgid "Height" msgstr "Altezza" -#: includes/fields/class-acf-field-google-map.php:181 +#: includes/fields/class-acf-field-google-map.php:182 msgid "Customise the map height" msgstr "Personalizza l'altezza della mappa iniziale" @@ -2023,33 +2098,33 @@ msgid "Group" msgstr "Gruppo" #: includes/fields/class-acf-field-group.php:459 -#: pro/fields/class-acf-field-repeater.php:389 +#: pro/fields/class-acf-field-repeater.php:381 msgid "Sub Fields" msgstr "Campi Sub" #: includes/fields/class-acf-field-group.php:475 -#: pro/fields/class-acf-field-clone.php:840 +#: pro/fields/class-acf-field-clone.php:844 msgid "Specify the style used to render the selected fields" msgstr "Specificare lo stile utilizzato per il rendering dei campi selezionati" #: includes/fields/class-acf-field-group.php:480 -#: pro/fields/class-acf-field-clone.php:845 -#: pro/fields/class-acf-field-flexible-content.php:612 -#: pro/fields/class-acf-field-repeater.php:458 +#: pro/fields/class-acf-field-clone.php:849 +#: pro/fields/class-acf-field-flexible-content.php:606 +#: pro/fields/class-acf-field-repeater.php:450 msgid "Block" msgstr "Blocco" #: includes/fields/class-acf-field-group.php:481 -#: pro/fields/class-acf-field-clone.php:846 -#: pro/fields/class-acf-field-flexible-content.php:611 -#: pro/fields/class-acf-field-repeater.php:457 +#: pro/fields/class-acf-field-clone.php:850 +#: pro/fields/class-acf-field-flexible-content.php:605 +#: pro/fields/class-acf-field-repeater.php:449 msgid "Table" msgstr "Tabella" #: includes/fields/class-acf-field-group.php:482 -#: pro/fields/class-acf-field-clone.php:847 -#: pro/fields/class-acf-field-flexible-content.php:613 -#: pro/fields/class-acf-field-repeater.php:459 +#: pro/fields/class-acf-field-clone.php:851 +#: pro/fields/class-acf-field-flexible-content.php:607 +#: pro/fields/class-acf-field-repeater.php:451 msgid "Row" msgstr "Riga" @@ -2057,24 +2132,20 @@ msgstr "Riga" msgid "Image" msgstr "Immagine" -#: includes/fields/class-acf-field-image.php:40 +#: includes/fields/class-acf-field-image.php:42 msgid "Select Image" msgstr "Seleziona Immagine" -#: includes/fields/class-acf-field-image.php:41 +#: includes/fields/class-acf-field-image.php:43 #: pro/fields/class-acf-field-gallery.php:42 msgid "Edit Image" msgstr "Modifica Immagine" -#: includes/fields/class-acf-field-image.php:42 +#: includes/fields/class-acf-field-image.php:44 #: pro/fields/class-acf-field-gallery.php:43 msgid "Update Image" msgstr "Aggiorna Immagine" -#: includes/fields/class-acf-field-image.php:44 -msgid "All images" -msgstr "Tutte le immagini" - #: includes/fields/class-acf-field-image.php:140 msgid "No image selected" msgstr "Nessun immagine selezionata" @@ -2112,7 +2183,7 @@ msgstr "Limita i tipi di immagine che possono essere caricati" #: includes/fields/class-acf-field-image.php:231 #: includes/fields/class-acf-field-image.php:260 -#: includes/fields/class-acf-field-oembed.php:270 +#: includes/fields/class-acf-field-oembed.php:257 #: pro/fields/class-acf-field-gallery.php:673 #: pro/fields/class-acf-field-gallery.php:702 msgid "Width" @@ -2182,17 +2253,17 @@ msgid "Number" msgstr "Numero" #: includes/fields/class-acf-field-number.php:163 -#: includes/fields/class-acf-field-range.php:157 +#: includes/fields/class-acf-field-range.php:155 msgid "Minimum Value" msgstr "Valore Minimo" #: includes/fields/class-acf-field-number.php:172 -#: includes/fields/class-acf-field-range.php:167 +#: includes/fields/class-acf-field-range.php:165 msgid "Maximum Value" msgstr "Valore Massimo" #: includes/fields/class-acf-field-number.php:181 -#: includes/fields/class-acf-field-range.php:177 +#: includes/fields/class-acf-field-range.php:175 msgid "Step Size" msgstr "Step Dimensione" @@ -2214,21 +2285,12 @@ msgstr "Il valore deve essere uguale o inferiore a %d" msgid "oEmbed" msgstr "oEmbed" -#: includes/fields/class-acf-field-oembed.php:219 +#: includes/fields/class-acf-field-oembed.php:216 msgid "Enter URL" msgstr "Inserisci URL" -#: includes/fields/class-acf-field-oembed.php:234 -#: includes/fields/class-acf-field-taxonomy.php:898 -msgid "Error." -msgstr "Errore." - -#: includes/fields/class-acf-field-oembed.php:234 -msgid "No embed found for the given URL." -msgstr "Nessun embed trovato per l'URL specificato." - -#: includes/fields/class-acf-field-oembed.php:267 -#: includes/fields/class-acf-field-oembed.php:278 +#: includes/fields/class-acf-field-oembed.php:254 +#: includes/fields/class-acf-field-oembed.php:265 msgid "Embed Size" msgstr "Dimensione Embed" @@ -2236,27 +2298,33 @@ msgstr "Dimensione Embed" msgid "Archives" msgstr "Archivi" +#: includes/fields/class-acf-field-page_link.php:269 +#: includes/fields/class-acf-field-post_object.php:268 +#: includes/fields/class-acf-field-taxonomy.php:986 +msgid "Parent" +msgstr "Genitore" + #: includes/fields/class-acf-field-page_link.php:485 #: includes/fields/class-acf-field-post_object.php:384 -#: includes/fields/class-acf-field-relationship.php:623 +#: includes/fields/class-acf-field-relationship.php:624 msgid "Filter by Post Type" msgstr "Filtra per tipo di Post" #: includes/fields/class-acf-field-page_link.php:493 #: includes/fields/class-acf-field-post_object.php:392 -#: includes/fields/class-acf-field-relationship.php:631 +#: includes/fields/class-acf-field-relationship.php:632 msgid "All post types" msgstr "Tutti i tipi di post" #: includes/fields/class-acf-field-page_link.php:499 #: includes/fields/class-acf-field-post_object.php:398 -#: includes/fields/class-acf-field-relationship.php:637 +#: includes/fields/class-acf-field-relationship.php:638 msgid "Filter by Taxonomy" msgstr "Fitra per tassonomia" #: includes/fields/class-acf-field-page_link.php:507 #: includes/fields/class-acf-field-post_object.php:406 -#: includes/fields/class-acf-field-relationship.php:645 +#: includes/fields/class-acf-field-relationship.php:646 msgid "All taxonomies" msgstr "Tutte le Tassonomie" @@ -2266,8 +2334,8 @@ msgstr "Consentire URL degli Archivi" #: includes/fields/class-acf-field-page_link.php:533 #: includes/fields/class-acf-field-post_object.php:422 -#: includes/fields/class-acf-field-select.php:396 -#: includes/fields/class-acf-field-user.php:418 +#: includes/fields/class-acf-field-select.php:377 +#: includes/fields/class-acf-field-user.php:419 msgid "Select multiple values?" msgstr "Selezionare più valori?" @@ -2277,12 +2345,12 @@ msgstr "Password" #: includes/fields/class-acf-field-post_object.php:25 #: includes/fields/class-acf-field-post_object.php:437 -#: includes/fields/class-acf-field-relationship.php:702 +#: includes/fields/class-acf-field-relationship.php:703 msgid "Post Object" msgstr "Oggetto Post" #: includes/fields/class-acf-field-post_object.php:438 -#: includes/fields/class-acf-field-relationship.php:703 +#: includes/fields/class-acf-field-relationship.php:704 msgid "Post ID" msgstr "ID Post" @@ -2314,66 +2382,63 @@ msgstr "Intervallo" msgid "Relationship" msgstr "Relazioni" -#: includes/fields/class-acf-field-relationship.php:37 -msgid "Minimum values reached ( {min} values )" -msgstr "Valori minimi raggiunti ( valori {min} )" - -#: includes/fields/class-acf-field-relationship.php:38 +#: includes/fields/class-acf-field-relationship.php:40 msgid "Maximum values reached ( {max} values )" msgstr "Valori massimi raggiunti ( valori {max} )" -#: includes/fields/class-acf-field-relationship.php:39 +#: includes/fields/class-acf-field-relationship.php:41 msgid "Loading" msgstr "Caricamento" -#: includes/fields/class-acf-field-relationship.php:40 +#: includes/fields/class-acf-field-relationship.php:42 msgid "No matches found" msgstr "Nessun risultato" -#: includes/fields/class-acf-field-relationship.php:423 +#: includes/fields/class-acf-field-relationship.php:424 msgid "Select post type" msgstr "Seleziona Post Type" -#: includes/fields/class-acf-field-relationship.php:449 +#: includes/fields/class-acf-field-relationship.php:450 msgid "Select taxonomy" msgstr "Seleziona Tassonomia" -#: includes/fields/class-acf-field-relationship.php:539 +#: includes/fields/class-acf-field-relationship.php:540 msgid "Search..." msgstr "Ricerca ..." -#: includes/fields/class-acf-field-relationship.php:651 +#: includes/fields/class-acf-field-relationship.php:652 msgid "Filters" msgstr "Filtri" -#: includes/fields/class-acf-field-relationship.php:657 +#: includes/fields/class-acf-field-relationship.php:658 #: includes/locations/class-acf-location-post-type.php:27 msgid "Post Type" msgstr "Tipo Post" -#: includes/fields/class-acf-field-relationship.php:658 +#: includes/fields/class-acf-field-relationship.php:659 #: includes/fields/class-acf-field-taxonomy.php:28 #: includes/fields/class-acf-field-taxonomy.php:763 +#: includes/locations/class-acf-location-taxonomy.php:27 msgid "Taxonomy" msgstr "Tassonomie" -#: includes/fields/class-acf-field-relationship.php:665 +#: includes/fields/class-acf-field-relationship.php:666 msgid "Elements" msgstr "Elementi" -#: includes/fields/class-acf-field-relationship.php:666 +#: includes/fields/class-acf-field-relationship.php:667 msgid "Selected elements will be displayed in each result" msgstr "Gli elementi selezionati verranno visualizzati in ogni risultato" -#: includes/fields/class-acf-field-relationship.php:677 +#: includes/fields/class-acf-field-relationship.php:678 msgid "Minimum posts" msgstr "Post minimi" -#: includes/fields/class-acf-field-relationship.php:686 +#: includes/fields/class-acf-field-relationship.php:687 msgid "Maximum posts" msgstr "Post massimi" -#: includes/fields/class-acf-field-relationship.php:790 +#: includes/fields/class-acf-field-relationship.php:791 #: pro/fields/class-acf-field-gallery.php:800 #, php-format msgid "%s requires at least %s selection" @@ -2387,85 +2452,80 @@ msgctxt "noun" msgid "Select" msgstr "Seleziona" -#: includes/fields/class-acf-field-select.php:38 +#: includes/fields/class-acf-field-select.php:40 msgctxt "Select2 JS matches_1" msgid "One result is available, press enter to select it." msgstr "Un risultato disponibile, premi invio per selezionarlo." -#: includes/fields/class-acf-field-select.php:39 +#: includes/fields/class-acf-field-select.php:41 #, php-format msgctxt "Select2 JS matches_n" msgid "%d results are available, use up and down arrow keys to navigate." msgstr "%d risultati disponibili, usa i tasti freccia su e giù per scorrere." -#: includes/fields/class-acf-field-select.php:40 +#: includes/fields/class-acf-field-select.php:42 msgctxt "Select2 JS matches_0" msgid "No matches found" msgstr "Nessun riscontro trovato" -#: includes/fields/class-acf-field-select.php:41 +#: includes/fields/class-acf-field-select.php:43 msgctxt "Select2 JS input_too_short_1" msgid "Please enter 1 or more characters" msgstr "Per favore inserire 1 o più caratteri" -#: includes/fields/class-acf-field-select.php:42 +#: includes/fields/class-acf-field-select.php:44 #, php-format msgctxt "Select2 JS input_too_short_n" msgid "Please enter %d or more characters" msgstr "Inserisci %d o più caratteri" -#: includes/fields/class-acf-field-select.php:43 +#: includes/fields/class-acf-field-select.php:45 msgctxt "Select2 JS input_too_long_1" msgid "Please delete 1 character" msgstr "Per favore cancella 1 carattere" -#: includes/fields/class-acf-field-select.php:44 +#: includes/fields/class-acf-field-select.php:46 #, php-format msgctxt "Select2 JS input_too_long_n" msgid "Please delete %d characters" msgstr "Cancellare %d caratteri" -#: includes/fields/class-acf-field-select.php:45 +#: includes/fields/class-acf-field-select.php:47 msgctxt "Select2 JS selection_too_long_1" msgid "You can only select 1 item" msgstr "Puoi selezionare solo 1 elemento" -#: includes/fields/class-acf-field-select.php:46 +#: includes/fields/class-acf-field-select.php:48 #, php-format msgctxt "Select2 JS selection_too_long_n" msgid "You can only select %d items" msgstr "È possibile selezionare solo %d elementi" -#: includes/fields/class-acf-field-select.php:47 +#: includes/fields/class-acf-field-select.php:49 msgctxt "Select2 JS load_more" msgid "Loading more results…" msgstr "Caricamento altri risultati…" -#: includes/fields/class-acf-field-select.php:48 +#: includes/fields/class-acf-field-select.php:50 msgctxt "Select2 JS searching" msgid "Searching…" msgstr "Cercando…" -#: includes/fields/class-acf-field-select.php:49 +#: includes/fields/class-acf-field-select.php:51 msgctxt "Select2 JS load_fail" msgid "Loading failed" msgstr "Caricamento fallito" -#: includes/fields/class-acf-field-select.php:255 includes/media.php:54 -msgctxt "verb" -msgid "Select" -msgstr "Seleziona" - -#: includes/fields/class-acf-field-select.php:406 +#: includes/fields/class-acf-field-select.php:387 #: includes/fields/class-acf-field-true_false.php:144 msgid "Stylised UI" msgstr "UI stilizzata" -#: includes/fields/class-acf-field-select.php:416 +#: includes/fields/class-acf-field-select.php:397 msgid "Use AJAX to lazy load choices?" msgstr "Usa AJAX per le scelte di carico lazy?" -#: includes/fields/class-acf-field-select.php:427 +#: includes/fields/class-acf-field-select.php:413 msgid "Specify the value returned" msgstr "Specificare il valore restituito" @@ -2477,45 +2537,17 @@ msgstr "Separatore" msgid "Tab" msgstr "Scheda" -#: includes/fields/class-acf-field-tab.php:82 -msgid "" -"The tab field will display incorrectly when added to a Table style repeater " -"field or flexible content field layout" -msgstr "" -"Il campo scheda visualizzerà correttamente quando aggiunto a un campo " -"ripetitore stile di tabella o disposizione flessibile in campo dei contenuti" - -#: includes/fields/class-acf-field-tab.php:83 -msgid "" -"Use \"Tab Fields\" to better organize your edit screen by grouping fields " -"together." -msgstr "" -"Usa \"Campi Scheda\" per organizzare al meglio la vostra schermata di " -"modifica raggruppando i campi insieme." - -#: includes/fields/class-acf-field-tab.php:84 -msgid "" -"All fields following this \"tab field\" (or until another \"tab field\" is " -"defined) will be grouped together using this field's label as the tab " -"heading." -msgstr "" -"Tutti i campi che seguono questo \"campo scheda\" (o finché un altro \"campo " -"tab \" viene definito) verranno raggruppati utilizzando l'etichetta di " -"questo campo come intestazione scheda." - -#: includes/fields/class-acf-field-tab.php:98 +#: includes/fields/class-acf-field-tab.php:102 msgid "Placement" msgstr "Posizione" -#: includes/fields/class-acf-field-tab.php:110 -msgid "End-point" -msgstr "Punto finale" - -#: includes/fields/class-acf-field-tab.php:111 -msgid "Use this field as an end-point and start a new group of tabs" +#: includes/fields/class-acf-field-tab.php:115 +msgid "" +"Define an endpoint for the previous tabs to stop. This will start a new " +"group of tabs." msgstr "" -"Utilizzare questo campo come un punto finale e iniziare un nuovo gruppo di " -"schede" +"Definire un endpoint per le schede precedenti da interrompere. Questo " +"avvierà un nuovo gruppo di schede." #: includes/fields/class-acf-field-taxonomy.php:713 #, php-format @@ -2587,6 +2619,10 @@ msgstr "Oggetto Termine" msgid "Term ID" msgstr "ID Termine" +#: includes/fields/class-acf-field-taxonomy.php:898 +msgid "Error." +msgstr "Errore." + #: includes/fields/class-acf-field-taxonomy.php:898 #, php-format msgid "User unable to add new %s" @@ -2602,7 +2638,7 @@ msgstr "%s esiste già" msgid "%s added" msgstr "%s aggiunto" -#: includes/fields/class-acf-field-taxonomy.php:997 +#: includes/fields/class-acf-field-taxonomy.php:998 msgid "Add" msgstr "Aggiungi" @@ -2640,18 +2676,6 @@ msgstr "Selettore di tempo" msgid "True / False" msgstr "Vero / Falso" -#: includes/fields/class-acf-field-true_false.php:79 -#: includes/fields/class-acf-field-true_false.php:159 includes/input.php:267 -#: pro/admin/views/html-settings-updates.php:89 -msgid "Yes" -msgstr "Si" - -#: includes/fields/class-acf-field-true_false.php:80 -#: includes/fields/class-acf-field-true_false.php:169 includes/input.php:268 -#: pro/admin/views/html-settings-updates.php:99 -msgid "No" -msgstr "No" - #: includes/fields/class-acf-field-true_false.php:127 msgid "Displays text alongside the checkbox" msgstr "Visualizza il testo a fianco alla casella di controllo" @@ -2664,11 +2688,11 @@ msgstr "Testo Attivo" msgid "Text shown when active" msgstr "Testo visualizzato quando è attivo" -#: includes/fields/class-acf-field-true_false.php:165 +#: includes/fields/class-acf-field-true_false.php:170 msgid "Off Text" msgstr "Testo Disattivo" -#: includes/fields/class-acf-field-true_false.php:166 +#: includes/fields/class-acf-field-true_false.php:171 msgid "Text shown when inactive" msgstr "Testo mostrato quando inattivo" @@ -2684,14 +2708,26 @@ msgstr "Il valore deve essere una URL valida" msgid "User" msgstr "Utente" -#: includes/fields/class-acf-field-user.php:393 +#: includes/fields/class-acf-field-user.php:394 msgid "Filter by role" msgstr "Filtra per ruolo" -#: includes/fields/class-acf-field-user.php:401 +#: includes/fields/class-acf-field-user.php:402 msgid "All user roles" msgstr "Tutti i ruoli utente" +#: includes/fields/class-acf-field-user.php:433 +msgid "User Array" +msgstr "Array utente" + +#: includes/fields/class-acf-field-user.php:434 +msgid "User Object" +msgstr "Oggetto utente" + +#: includes/fields/class-acf-field-user.php:435 +msgid "User ID" +msgstr "ID Utente" + #: includes/fields/class-acf-field-wysiwyg.php:25 msgid "Wysiwyg Editor" msgstr "Editor Wysiwyg" @@ -2751,8 +2787,8 @@ msgstr "Modifica Field Group" msgid "Validate Email" msgstr "Valida Email" -#: includes/forms/form-front.php:103 -#: pro/fields/class-acf-field-gallery.php:573 pro/options-page.php:81 +#: includes/forms/form-front.php:103 pro/fields/class-acf-field-gallery.php:573 +#: pro/options-page.php:81 msgid "Update" msgstr "Aggiorna" @@ -2760,48 +2796,10 @@ msgstr "Aggiorna" msgid "Post updated" msgstr "Post aggiornato" -#: includes/forms/form-front.php:229 +#: includes/forms/form-front.php:230 msgid "Spam Detected" msgstr "Spam Rilevato" -#: includes/input.php:259 -msgid "Expand Details" -msgstr "Espandi Dettagli" - -#: includes/input.php:260 -msgid "Collapse Details" -msgstr "Chiudi Dettagli" - -#: includes/input.php:261 -msgid "Validation successful" -msgstr "Validazione avvenuta con successo" - -#: includes/input.php:262 includes/validation.php:285 -#: includes/validation.php:296 -msgid "Validation failed" -msgstr "Validazione fallita" - -#: includes/input.php:263 -msgid "1 field requires attention" -msgstr "1 Campo necessita di attenzioni" - -#: includes/input.php:264 -#, php-format -msgid "%d fields require attention" -msgstr "%d Campi necessitano di attenzioni" - -#: includes/input.php:265 -msgid "Restricted" -msgstr "Limitato" - -#: includes/input.php:266 -msgid "Are you sure?" -msgstr "Sei sicuro?" - -#: includes/input.php:270 -msgid "Cancel" -msgstr "Annulla" - #: includes/locations.php:93 includes/locations/class-acf-location-post.php:27 msgid "Post" msgstr "Post" @@ -2814,6 +2812,14 @@ msgstr "Pagina" msgid "Forms" msgstr "Moduli" +#: includes/locations.php:247 +msgid "is equal to" +msgstr "è uguale a" + +#: includes/locations.php:248 +msgid "is not equal to" +msgstr "non è uguale a" + #: includes/locations/class-acf-location-attachment.php:27 msgid "Attachment" msgstr "Allegato" @@ -2884,23 +2890,23 @@ msgstr "Template Default" msgid "Page Type" msgstr "Tipo di Pagina" -#: includes/locations/class-acf-location-page-type.php:145 +#: includes/locations/class-acf-location-page-type.php:146 msgid "Front Page" msgstr "Pagina Principale" -#: includes/locations/class-acf-location-page-type.php:146 +#: includes/locations/class-acf-location-page-type.php:147 msgid "Posts Page" msgstr "Pagina Post" -#: includes/locations/class-acf-location-page-type.php:147 +#: includes/locations/class-acf-location-page-type.php:148 msgid "Top Level Page (no parent)" msgstr "Pagina di primo livello (no Genitori)" -#: includes/locations/class-acf-location-page-type.php:148 +#: includes/locations/class-acf-location-page-type.php:149 msgid "Parent Page (has children)" msgstr "Pagina Genitore (ha Figli)" -#: includes/locations/class-acf-location-page-type.php:149 +#: includes/locations/class-acf-location-page-type.php:150 msgid "Child Page (has parent)" msgstr "Pagina Figlio (ha Genitore)" @@ -2924,10 +2930,6 @@ msgstr "Tassonomia Post" msgid "Post Template" msgstr "Template Post" -#: includes/locations/class-acf-location-taxonomy.php:27 -msgid "Taxonomy Term" -msgstr "Termine Tassonomia" - #: includes/locations/class-acf-location-user-form.php:27 msgid "User Form" msgstr "Form Utente" @@ -2948,16 +2950,6 @@ msgstr "Ruolo Utente" msgid "Widget" msgstr "Widget" -#: includes/media.php:55 -msgctxt "verb" -msgid "Edit" -msgstr "Modifica" - -#: includes/media.php:56 -msgctxt "verb" -msgid "Update" -msgstr "Aggiorna" - #: includes/validation.php:364 #, php-format msgid "%s value is required" @@ -3054,62 +3046,62 @@ msgctxt "noun" msgid "Clone" msgstr "Clona" -#: pro/fields/class-acf-field-clone.php:808 +#: pro/fields/class-acf-field-clone.php:812 msgid "Select one or more fields you wish to clone" msgstr "Selezionare uno o più campi che si desidera clonare" -#: pro/fields/class-acf-field-clone.php:825 +#: pro/fields/class-acf-field-clone.php:829 msgid "Display" msgstr "Visualizza" -#: pro/fields/class-acf-field-clone.php:826 +#: pro/fields/class-acf-field-clone.php:830 msgid "Specify the style used to render the clone field" msgstr "Specificare lo stile utilizzato per il rendering del campo clona" -#: pro/fields/class-acf-field-clone.php:831 +#: pro/fields/class-acf-field-clone.php:835 msgid "Group (displays selected fields in a group within this field)" msgstr "" "Gruppo (Visualizza campi selezionati in un gruppo all'interno di questo " "campo)" -#: pro/fields/class-acf-field-clone.php:832 +#: pro/fields/class-acf-field-clone.php:836 msgid "Seamless (replaces this field with selected fields)" msgstr "Senza interruzione (sostituisce questo campo con i campi selezionati)" -#: pro/fields/class-acf-field-clone.php:853 +#: pro/fields/class-acf-field-clone.php:857 #, php-format msgid "Labels will be displayed as %s" msgstr "Etichette verranno visualizzate come %s" -#: pro/fields/class-acf-field-clone.php:856 +#: pro/fields/class-acf-field-clone.php:860 msgid "Prefix Field Labels" msgstr "Prefisso Etichetta Campo" -#: pro/fields/class-acf-field-clone.php:867 +#: pro/fields/class-acf-field-clone.php:871 #, php-format msgid "Values will be saved as %s" msgstr "I valori verranno salvati come %s" -#: pro/fields/class-acf-field-clone.php:870 +#: pro/fields/class-acf-field-clone.php:874 msgid "Prefix Field Names" msgstr "Prefisso Nomi Campo" -#: pro/fields/class-acf-field-clone.php:988 +#: pro/fields/class-acf-field-clone.php:992 msgid "Unknown field" msgstr "Campo sconosciuto" -#: pro/fields/class-acf-field-clone.php:1027 +#: pro/fields/class-acf-field-clone.php:1031 msgid "Unknown field group" msgstr "Field Group sconosciuto" -#: pro/fields/class-acf-field-clone.php:1031 +#: pro/fields/class-acf-field-clone.php:1035 #, php-format msgid "All fields from %s field group" msgstr "Tutti i campi dal %s field group" #: pro/fields/class-acf-field-flexible-content.php:31 #: pro/fields/class-acf-field-repeater.php:174 -#: pro/fields/class-acf-field-repeater.php:470 +#: pro/fields/class-acf-field-repeater.php:462 msgid "Add Row" msgstr "Aggiungi Riga" @@ -3171,44 +3163,44 @@ msgstr "Rimuovi Layout" msgid "Click to toggle" msgstr "Clicca per alternare" -#: pro/fields/class-acf-field-flexible-content.php:554 +#: pro/fields/class-acf-field-flexible-content.php:548 msgid "Reorder Layout" msgstr "Riordina Layout" -#: pro/fields/class-acf-field-flexible-content.php:554 +#: pro/fields/class-acf-field-flexible-content.php:548 msgid "Reorder" msgstr "Riordina" -#: pro/fields/class-acf-field-flexible-content.php:555 +#: pro/fields/class-acf-field-flexible-content.php:549 msgid "Delete Layout" msgstr "Cancella Layout" -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:550 msgid "Duplicate Layout" msgstr "Duplica Layout" -#: pro/fields/class-acf-field-flexible-content.php:557 +#: pro/fields/class-acf-field-flexible-content.php:551 msgid "Add New Layout" msgstr "Aggiungi Nuovo Layout" -#: pro/fields/class-acf-field-flexible-content.php:628 +#: pro/fields/class-acf-field-flexible-content.php:622 msgid "Min" msgstr "Min" -#: pro/fields/class-acf-field-flexible-content.php:641 +#: pro/fields/class-acf-field-flexible-content.php:635 msgid "Max" msgstr "Max" -#: pro/fields/class-acf-field-flexible-content.php:668 -#: pro/fields/class-acf-field-repeater.php:466 +#: pro/fields/class-acf-field-flexible-content.php:662 +#: pro/fields/class-acf-field-repeater.php:458 msgid "Button Label" msgstr "Etichetta Bottone" -#: pro/fields/class-acf-field-flexible-content.php:677 +#: pro/fields/class-acf-field-flexible-content.php:671 msgid "Minimum Layouts" msgstr "Layout Minimi" -#: pro/fields/class-acf-field-flexible-content.php:686 +#: pro/fields/class-acf-field-flexible-content.php:680 msgid "Maximum Layouts" msgstr "Layout Massimi" @@ -3292,28 +3284,28 @@ msgstr "Righe minime raggiunte ({min} righe)" msgid "Maximum rows reached ({max} rows)" msgstr "Righe massime raggiunte ({max} righe)" -#: pro/fields/class-acf-field-repeater.php:343 +#: pro/fields/class-acf-field-repeater.php:335 msgid "Add row" msgstr "Aggiungi riga" -#: pro/fields/class-acf-field-repeater.php:344 +#: pro/fields/class-acf-field-repeater.php:336 msgid "Remove row" msgstr "Rimuovi riga" -#: pro/fields/class-acf-field-repeater.php:419 +#: pro/fields/class-acf-field-repeater.php:411 msgid "Collapsed" msgstr "Collassata" -#: pro/fields/class-acf-field-repeater.php:420 +#: pro/fields/class-acf-field-repeater.php:412 msgid "Select a sub field to show when row is collapsed" msgstr "" "Selezionare un campo secondario da visualizzare quando la riga è collassata" -#: pro/fields/class-acf-field-repeater.php:430 +#: pro/fields/class-acf-field-repeater.php:422 msgid "Minimum Rows" msgstr "Righe Minime" -#: pro/fields/class-acf-field-repeater.php:440 +#: pro/fields/class-acf-field-repeater.php:432 msgid "Maximum Rows" msgstr "Righe Massime" @@ -3352,6 +3344,80 @@ msgstr "Elliot Condon" msgid "http://www.elliotcondon.com/" msgstr "http://www.elliotcondon.com/" +#~ msgid "No conditional fields available" +#~ msgstr "Non ci sono campi condizionali disponibili" + +#~ msgid "Parent fields" +#~ msgstr "Campi genitore" + +#~ msgid "Sibling fields" +#~ msgstr "Campi di pari livello" + +#~ msgid "Left Aligned" +#~ msgstr "Allineamento a sinistra" + +#~ msgid "Locating" +#~ msgstr "Localizzazione" + +#~ msgid "Minimum values reached ( {min} values )" +#~ msgstr "Valori minimi raggiunti ( valori {min} )" + +#~ msgid "Taxonomy Term" +#~ msgstr "Termine Tassonomia" + +#~ msgid "No toggle fields available" +#~ msgstr "Nessun Campo Toggle disponibile" + +#~ msgid "Export Field Groups to PHP" +#~ msgstr "" +#~ "Esporta \n" +#~ "Field Group\n" +#~ " di PHP" + +#~ msgid "Download export file" +#~ msgstr "Scarica file di esportazione" + +#~ msgid "Generate export code" +#~ msgstr "Generare codice di esportazione" + +#~ msgid "Import" +#~ msgstr "Importa" + +#~ msgid "No embed found for the given URL." +#~ msgstr "Nessun embed trovato per l'URL specificato." + +#~ msgid "" +#~ "The tab field will display incorrectly when added to a Table style " +#~ "repeater field or flexible content field layout" +#~ msgstr "" +#~ "Il campo scheda visualizzerà correttamente quando aggiunto a un campo " +#~ "ripetitore stile di tabella o disposizione flessibile in campo dei " +#~ "contenuti" + +#~ msgid "" +#~ "Use \"Tab Fields\" to better organize your edit screen by grouping fields " +#~ "together." +#~ msgstr "" +#~ "Usa \"Campi Scheda\" per organizzare al meglio la vostra schermata di " +#~ "modifica raggruppando i campi insieme." + +#~ msgid "" +#~ "All fields following this \"tab field\" (or until another \"tab field\" " +#~ "is defined) will be grouped together using this field's label as the tab " +#~ "heading." +#~ msgstr "" +#~ "Tutti i campi che seguono questo \"campo scheda\" (o finché un altro " +#~ "\"campo tab \" viene definito) verranno raggruppati utilizzando " +#~ "l'etichetta di questo campo come intestazione scheda." + +#~ msgid "End-point" +#~ msgstr "Punto finale" + +#~ msgid "Use this field as an end-point and start a new group of tabs" +#~ msgstr "" +#~ "Utilizzare questo campo come un punto finale e iniziare un nuovo gruppo " +#~ "di schede" + #~ msgid "Getting Started" #~ msgstr "Guida introduttiva" diff --git a/lang/acf-pt_PT.mo b/lang/acf-pt_PT.mo index f52e7f23ab3633b862ea20cfe4523d5cf749f7f4..055c4986f955dcd24b9cf73b4d0288a2253999ca 100644 GIT binary patch delta 15464 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 delta 15215 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 PWi>L2w$4B5T(|!LDiw>* diff --git a/lang/acf-pt_PT.po b/lang/acf-pt_PT.po index ac575fd..3238426 100644 --- a/lang/acf-pt_PT.po +++ b/lang/acf-pt_PT.po @@ -4,117 +4,114 @@ msgid "" msgstr "" "Project-Id-Version: Advanced Custom Fields PRO\n" "Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n" -"POT-Creation-Date: 2018-02-02 12:00+0000\n" -"PO-Revision-Date: 2018-02-06 10:06+1000\n" -"Last-Translator: Elliot Condon \n" +"POT-Creation-Date: 2018-07-12 13:44+1000\n" +"PO-Revision-Date: 2018-07-12 10:57+0100\n" +"Last-Translator: Pedro Mendonça \n" "Language-Team: Pedro Mendonça \n" "Language: pt_PT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.1\n" +"X-Generator: Poedit 2.0.8\n" "X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;" -"_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;" -"esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n" +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n" "X-Textdomain-Support: yes\n" "X-Poedit-Basepath: ..\n" "X-Poedit-WPHeader: acf.php\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.js\n" -#: acf.php:67 +#: acf.php:80 msgid "Advanced Custom Fields" msgstr "Advanced Custom Fields" -#: acf.php:369 includes/admin/admin.php:117 +#: acf.php:387 includes/admin/admin.php:117 msgid "Field Groups" msgstr "Grupos de campos" -#: acf.php:370 +#: acf.php:388 msgid "Field Group" msgstr "Grupo de campos" -#: acf.php:371 acf.php:403 includes/admin/admin.php:118 -#: pro/fields/class-acf-field-flexible-content.php:559 +#: acf.php:389 acf.php:421 includes/admin/admin.php:118 +#: pro/fields/class-acf-field-flexible-content.php:572 msgid "Add New" msgstr "Adicionar novo" -#: acf.php:372 +#: acf.php:390 msgid "Add New Field Group" msgstr "Adicionar novo grupo de campos" -#: acf.php:373 +#: acf.php:391 msgid "Edit Field Group" msgstr "Editar grupo de campos" -#: acf.php:374 +#: acf.php:392 msgid "New Field Group" msgstr "Novo grupo de campos" -#: acf.php:375 +#: acf.php:393 msgid "View Field Group" msgstr "Ver grupo de campos" -#: acf.php:376 +#: acf.php:394 msgid "Search Field Groups" msgstr "Pesquisar grupos de campos" -#: acf.php:377 +#: acf.php:395 msgid "No Field Groups found" msgstr "Nenhum grupo de campos encontrado" -#: acf.php:378 +#: acf.php:396 msgid "No Field Groups found in Trash" msgstr "Nenhum grupo de campos encontrado no lixo" -#: acf.php:401 includes/admin/admin-field-group.php:182 -#: includes/admin/admin-field-group.php:275 +#: acf.php:419 includes/admin/admin-field-group.php:202 #: includes/admin/admin-field-groups.php:510 -#: pro/fields/class-acf-field-clone.php:807 +#: pro/fields/class-acf-field-clone.php:811 msgid "Fields" msgstr "Campos" -#: acf.php:402 +#: acf.php:420 msgid "Field" msgstr "Campo" -#: acf.php:404 +#: acf.php:422 msgid "Add New Field" msgstr "Adicionar novo campo" -#: acf.php:405 +#: acf.php:423 msgid "Edit Field" msgstr "Editar campo" -#: acf.php:406 includes/admin/views/field-group-fields.php:41 +#: acf.php:424 includes/admin/views/field-group-fields.php:41 #: includes/admin/views/settings-info.php:105 msgid "New Field" msgstr "Novo campo" -#: acf.php:407 +#: acf.php:425 msgid "View Field" msgstr "Ver campo" -#: acf.php:408 +#: acf.php:426 msgid "Search Fields" msgstr "Pesquisar campos" -#: acf.php:409 +#: acf.php:427 msgid "No Fields found" msgstr "Nenhum campo encontrado" -#: acf.php:410 +#: acf.php:428 msgid "No Fields found in Trash" msgstr "Nenhum campo encontrado no lixo" -#: acf.php:449 includes/admin/admin-field-group.php:390 +#: acf.php:467 includes/admin/admin-field-group.php:384 #: includes/admin/admin-field-groups.php:567 msgid "Inactive" msgstr "Inactivo" -#: acf.php:454 +#: acf.php:472 #, php-format msgid "Inactive (%s)" msgid_plural "Inactive (%s)" @@ -151,103 +148,96 @@ msgstr "Grupo de campos agendado." msgid "Field group draft updated." msgstr "Rascunho de grupo de campos actualizado." -#: includes/admin/admin-field-group.php:183 -msgid "Location" -msgstr "Localização" +#: includes/admin/admin-field-group.php:153 +msgid "The string \"field_\" may not be used at the start of a field name" +msgstr "O prefixo \"field_\" não pode ser utilizado no início do nome do campo." -#: includes/admin/admin-field-group.php:184 -#: includes/admin/tools/class-acf-admin-tool-export.php:295 -msgid "Settings" -msgstr "Definições" +#: includes/admin/admin-field-group.php:154 +msgid "This field cannot be moved until its changes have been saved" +msgstr "Este campo não pode ser movido até que as suas alterações sejam guardadas." -#: includes/admin/admin-field-group.php:269 -msgid "Move to trash. Are you sure?" -msgstr "Mover para o lixo. Tem certeza?" - -#: includes/admin/admin-field-group.php:270 -msgid "checked" -msgstr "seleccionado" - -#: includes/admin/admin-field-group.php:271 -msgid "No toggle fields available" -msgstr "Nenhum campo de opções disponível" - -#: includes/admin/admin-field-group.php:272 +#: includes/admin/admin-field-group.php:155 msgid "Field group title is required" msgstr "O título do grupo de campos é obrigatório" -#: includes/admin/admin-field-group.php:273 +#: includes/admin/admin-field-group.php:156 +msgid "Move to trash. Are you sure?" +msgstr "Mover para o lixo. Tem certeza?" + +#: includes/admin/admin-field-group.php:157 +msgid "No toggle fields available" +msgstr "Nenhum campo de opções disponível" + +#: includes/admin/admin-field-group.php:158 +msgid "Move Custom Field" +msgstr "Mover campo personalizado" + +#: includes/admin/admin-field-group.php:159 +msgid "Checked" +msgstr "Seleccionado" + +#: includes/admin/admin-field-group.php:160 includes/api/api-field.php:289 +msgid "(no label)" +msgstr "(sem legenda)" + +#: includes/admin/admin-field-group.php:161 +msgid "(this field)" +msgstr "(este campo)" + +#: includes/admin/admin-field-group.php:162 #: includes/api/api-field-group.php:751 msgid "copy" msgstr "cópia" -#: includes/admin/admin-field-group.php:274 -#: includes/admin/views/field-group-field-conditional-logic.php:54 -#: includes/admin/views/field-group-field-conditional-logic.php:154 +#: includes/admin/admin-field-group.php:163 +#: includes/admin/views/field-group-field-conditional-logic.php:51 +#: includes/admin/views/field-group-field-conditional-logic.php:151 #: includes/admin/views/field-group-locations.php:29 #: includes/admin/views/html-location-group.php:3 -#: includes/api/api-helpers.php:4001 +#: includes/api/api-helpers.php:4165 msgid "or" msgstr "ou" -#: includes/admin/admin-field-group.php:276 -msgid "Parent fields" -msgstr "Campos superiores" - -#: includes/admin/admin-field-group.php:277 -msgid "Sibling fields" -msgstr "Campos do grupo" - -#: includes/admin/admin-field-group.php:278 -msgid "Move Custom Field" -msgstr "Mover campo personalizado" - -#: includes/admin/admin-field-group.php:279 -msgid "This field cannot be moved until its changes have been saved" -msgstr "" -"Este campo não pode ser movido até que as suas alterações sejam guardadas." - -#: includes/admin/admin-field-group.php:280 +#: includes/admin/admin-field-group.php:164 msgid "Null" msgstr "Nulo" -#: includes/admin/admin-field-group.php:281 includes/input.php:258 -msgid "The changes you made will be lost if you navigate away from this page" -msgstr "" -"As alterações que fez serão ignoradas se navegar para fora desta página." +#: includes/admin/admin-field-group.php:203 +msgid "Location" +msgstr "Localização" -#: includes/admin/admin-field-group.php:282 -msgid "The string \"field_\" may not be used at the start of a field name" -msgstr "" -"O prefixo \"field_\" não pode ser utilizado no início do nome do campo." +#: includes/admin/admin-field-group.php:204 +#: includes/admin/tools/class-acf-admin-tool-export.php:295 +msgid "Settings" +msgstr "Definições" -#: includes/admin/admin-field-group.php:360 +#: includes/admin/admin-field-group.php:354 msgid "Field Keys" msgstr "Chaves dos campos" -#: includes/admin/admin-field-group.php:390 +#: includes/admin/admin-field-group.php:384 #: includes/admin/views/field-group-options.php:9 msgid "Active" msgstr "Activo" -#: includes/admin/admin-field-group.php:801 +#: includes/admin/admin-field-group.php:760 msgid "Move Complete." msgstr "Movido com sucesso." -#: includes/admin/admin-field-group.php:802 +#: includes/admin/admin-field-group.php:761 #, php-format msgid "The %s field can now be found in the %s field group" msgstr "O campo %s pode agora ser encontrado no grupo de campos %s" -#: includes/admin/admin-field-group.php:803 +#: includes/admin/admin-field-group.php:762 msgid "Close Window" msgstr "Fechar janela" -#: includes/admin/admin-field-group.php:844 +#: includes/admin/admin-field-group.php:803 msgid "Please select the destination for this field" msgstr "Por favor seleccione o destinho para este campo" -#: includes/admin/admin-field-group.php:851 +#: includes/admin/admin-field-group.php:810 msgid "Move Field" msgstr "Mover campo" @@ -288,7 +278,7 @@ msgid "Sync available" msgstr "Sincronização disponível" #: includes/admin/admin-field-groups.php:507 includes/forms/form-front.php:38 -#: pro/fields/class-acf-field-gallery.php:355 +#: pro/fields/class-acf-field-gallery.php:370 msgid "Title" msgstr "Título" @@ -296,7 +286,7 @@ msgstr "Título" #: includes/admin/views/field-group-options.php:96 #: includes/admin/views/install-network.php:21 #: includes/admin/views/install-network.php:29 -#: pro/fields/class-acf-field-gallery.php:382 +#: pro/fields/class-acf-field-gallery.php:397 msgid "Description" msgstr "Descrição" @@ -307,8 +297,7 @@ msgstr "Estado" #. Description of the plugin/theme #: includes/admin/admin-field-groups.php:607 msgid "Customise WordPress with powerful, professional and intuitive fields." -msgstr "" -"Personalize o WordPress com campos intuitivos, poderosos e profissionais." +msgstr "Personalize o WordPress com campos intuitivos, poderosos e profissionais." #: includes/admin/admin-field-groups.php:609 #: includes/admin/settings-info.php:76 @@ -352,14 +341,14 @@ msgstr "Duplicar este item" #: includes/admin/admin-field-groups.php:667 #: includes/admin/admin-field-groups.php:683 -#: includes/admin/views/field-group-field.php:49 -#: pro/fields/class-acf-field-flexible-content.php:558 +#: includes/admin/views/field-group-field.php:46 +#: pro/fields/class-acf-field-flexible-content.php:571 msgid "Duplicate" msgstr "Duplicar" #: includes/admin/admin-field-groups.php:700 -#: includes/fields/class-acf-field-google-map.php:112 -#: includes/fields/class-acf-field-relationship.php:656 +#: includes/fields/class-acf-field-google-map.php:164 +#: includes/fields/class-acf-field-relationship.php:674 msgid "Search" msgstr "Pesquisa" @@ -391,7 +380,7 @@ msgid "Tools" msgstr "Ferramentas" #: includes/admin/admin.php:113 -#: includes/admin/views/field-group-options.php:118 +#: includes/admin/views/field-group-options.php:110 msgid "Custom Fields" msgstr "Campos personalizados" @@ -408,7 +397,7 @@ msgstr "Rever sites e actualizar" msgid "Error validating request" msgstr "Erro ao validar pedido." -#: includes/admin/install.php:210 includes/admin/views/install.php:105 +#: includes/admin/install.php:210 includes/admin/views/install.php:104 msgid "No updates available." msgstr "Nenhuma actualização disponível." @@ -457,53 +446,35 @@ msgid "Select Field Groups" msgstr "Seleccione os grupos de campos" #: includes/admin/tools/class-acf-admin-tool-export.php:336 -msgid "" -"Select the field groups you would like to export and then select your export " -"method. Use the download button to export to a .json file which you can then " -"import to another ACF installation. Use the generate button to export to PHP " -"code which you can place in your theme." -msgstr "" -"Seleccione os grupos de campos que deseja exportar e seleccione o método de " -"exportação. Utilize o botão Descarregar para exportar um ficheiro .json que " -"poderá depois importar para outra instalação do ACF. Utilize o botão Gerar " -"para exportar o código PHP que poderá incorporar no seu tema." +msgid "Select the field groups you would like to export and then select your export method. Use the download button to export to a .json file which you can then import to another ACF installation. Use the generate button to export to PHP code which you can place in your theme." +msgstr "Seleccione os grupos de campos que deseja exportar e seleccione o método de exportação. Utilize o botão Descarregar para exportar um ficheiro .json que poderá depois importar para outra instalação do ACF. Utilize o botão Gerar para exportar o código PHP que poderá incorporar no seu tema." #: includes/admin/tools/class-acf-admin-tool-export.php:341 msgid "Export File" msgstr "Exportar ficheiro" #: includes/admin/tools/class-acf-admin-tool-export.php:414 -msgid "" -"The following code can be used to register a local version of the selected " -"field group(s). A local field group can provide many benefits such as faster " -"load times, version control & dynamic fields/settings. Simply copy and paste " -"the following code to your theme's functions.php file or include it within " -"an external file." -msgstr "" -"O código abaixo pode ser usado para registar uma versão local do(s) grupo(s) " -"de campos seleccionado(s). Um grupo de campos local tem alguns benefícios, " -"tais como maior velocidade de carregamento, controlo de versão, definições e " -"campos dinâmicos. Copie e cole o código abaixo no ficheiro functions.php do " -"seu tema, ou inclua-o num ficheiro externo." +msgid "The following code can be used to register a local version of the selected field group(s). A local field group can provide many benefits such as faster load times, version control & dynamic fields/settings. Simply copy and paste the following code to your theme's functions.php file or include it within an external file." +msgstr "O código abaixo pode ser usado para registar uma versão local do(s) grupo(s) de campos seleccionado(s). Um grupo de campos local tem alguns benefícios, tais como maior velocidade de carregamento, controlo de versão, definições e campos dinâmicos. Copie e cole o código abaixo no ficheiro functions.php do seu tema, ou inclua-o num ficheiro externo." #: includes/admin/tools/class-acf-admin-tool-export.php:446 msgid "Copy to clipboard" msgstr "Copiar para a área de transferência" +#: includes/admin/tools/class-acf-admin-tool-export.php:483 +msgid "Copied" +msgstr "Copiado" + #: includes/admin/tools/class-acf-admin-tool-import.php:26 msgid "Import Field Groups" msgstr "Importar grupos de campos" #: includes/admin/tools/class-acf-admin-tool-import.php:61 -msgid "" -"Select the Advanced Custom Fields JSON file you would like to import. When " -"you click the import button below, ACF will import the field groups." -msgstr "" -"Seleccione o ficheiro JSON do Advanced Custom Fields que deseja importar. Ao " -"clicar no botão Importar abaixo, o ACF irá importar os grupos de campos." +msgid "Select the Advanced Custom Fields JSON file you would like to import. When you click the import button below, ACF will import the field groups." +msgstr "Seleccione o ficheiro JSON do Advanced Custom Fields que deseja importar. Ao clicar no botão Importar abaixo, o ACF irá importar os grupos de campos." #: includes/admin/tools/class-acf-admin-tool-import.php:66 -#: includes/fields/class-acf-field-file.php:35 +#: includes/fields/class-acf-field-file.php:57 msgid "Select File" msgstr "Seleccionar ficheiro" @@ -512,7 +483,7 @@ msgid "Import File" msgstr "Importar ficheiro" #: includes/admin/tools/class-acf-admin-tool-import.php:100 -#: includes/fields/class-acf-field-file.php:159 +#: includes/fields/class-acf-field-file.php:170 msgid "No file selected" msgstr "Nenhum ficheiro seleccionado" @@ -535,125 +506,113 @@ msgid_plural "Imported %s field groups" msgstr[0] "Foi importado 1 grupo de campos." msgstr[1] "Foram importados %s grupos de campos." -#: includes/admin/views/field-group-field-conditional-logic.php:28 +#: includes/admin/views/field-group-field-conditional-logic.php:25 msgid "Conditional Logic" msgstr "Lógica condicional" -#: includes/admin/views/field-group-field-conditional-logic.php:54 +#: includes/admin/views/field-group-field-conditional-logic.php:51 msgid "Show this field if" msgstr "Mostrar este campo se" -#: includes/admin/views/field-group-field-conditional-logic.php:103 -#: includes/locations.php:247 -msgid "is equal to" -msgstr "é igual a" - -#: includes/admin/views/field-group-field-conditional-logic.php:104 -#: includes/locations.php:248 -msgid "is not equal to" -msgstr "não é igual a" - -#: includes/admin/views/field-group-field-conditional-logic.php:141 +#: includes/admin/views/field-group-field-conditional-logic.php:138 #: includes/admin/views/html-location-rule.php:80 msgid "and" msgstr "e" -#: includes/admin/views/field-group-field-conditional-logic.php:156 +#: includes/admin/views/field-group-field-conditional-logic.php:153 #: includes/admin/views/field-group-locations.php:31 msgid "Add rule group" msgstr "Adicionar grupo de regras" -#: includes/admin/views/field-group-field.php:41 -#: pro/fields/class-acf-field-flexible-content.php:403 -#: pro/fields/class-acf-field-repeater.php:296 +#: includes/admin/views/field-group-field.php:38 +#: pro/fields/class-acf-field-flexible-content.php:424 +#: pro/fields/class-acf-field-repeater.php:294 msgid "Drag to reorder" msgstr "Arraste para reordenar" +#: includes/admin/views/field-group-field.php:42 #: includes/admin/views/field-group-field.php:45 -#: includes/admin/views/field-group-field.php:48 msgid "Edit field" msgstr "Editar campo" -#: includes/admin/views/field-group-field.php:48 -#: includes/fields/class-acf-field-file.php:141 -#: includes/fields/class-acf-field-image.php:122 +#: includes/admin/views/field-group-field.php:45 +#: includes/fields/class-acf-field-file.php:152 +#: includes/fields/class-acf-field-image.php:139 #: includes/fields/class-acf-field-link.php:139 -#: pro/fields/class-acf-field-gallery.php:342 +#: pro/fields/class-acf-field-gallery.php:357 msgid "Edit" msgstr "Editar" -#: includes/admin/views/field-group-field.php:49 +#: includes/admin/views/field-group-field.php:46 msgid "Duplicate field" msgstr "Duplicar campo" -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move field to another group" msgstr "Mover campo para outro grupo" -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move" msgstr "Mover" -#: includes/admin/views/field-group-field.php:51 +#: includes/admin/views/field-group-field.php:48 msgid "Delete field" msgstr "Eliminar campo" -#: includes/admin/views/field-group-field.php:51 -#: pro/fields/class-acf-field-flexible-content.php:557 +#: includes/admin/views/field-group-field.php:48 +#: pro/fields/class-acf-field-flexible-content.php:570 msgid "Delete" msgstr "Eliminar" -#: includes/admin/views/field-group-field.php:67 +#: includes/admin/views/field-group-field.php:65 msgid "Field Label" msgstr "Legenda do campo" -#: includes/admin/views/field-group-field.php:68 +#: includes/admin/views/field-group-field.php:66 msgid "This is the name which will appear on the EDIT page" msgstr "Este é o nome que será mostrado na página EDITAR." -#: includes/admin/views/field-group-field.php:77 +#: includes/admin/views/field-group-field.php:75 msgid "Field Name" msgstr "Nome do campo" -#: includes/admin/views/field-group-field.php:78 +#: includes/admin/views/field-group-field.php:76 msgid "Single word, no spaces. Underscores and dashes allowed" -msgstr "" -"Uma única palavra, sem espaços. São permitidos underscores (_) e traços (-)." +msgstr "Uma única palavra, sem espaços. São permitidos underscores (_) e traços (-)." -#: includes/admin/views/field-group-field.php:87 +#: includes/admin/views/field-group-field.php:85 msgid "Field Type" msgstr "Tipo de campo" -#: includes/admin/views/field-group-field.php:98 +#: includes/admin/views/field-group-field.php:96 msgid "Instructions" msgstr "Instruções" -#: includes/admin/views/field-group-field.php:99 +#: includes/admin/views/field-group-field.php:97 msgid "Instructions for authors. Shown when submitting data" -msgstr "" -"Instruções para os autores. São mostradas ao preencher e submeter dados." +msgstr "Instruções para os autores. São mostradas ao preencher e submeter dados." -#: includes/admin/views/field-group-field.php:108 +#: includes/admin/views/field-group-field.php:106 msgid "Required?" msgstr "Obrigatório?" -#: includes/admin/views/field-group-field.php:131 +#: includes/admin/views/field-group-field.php:129 msgid "Wrapper Attributes" msgstr "Atributos do wrapper" -#: includes/admin/views/field-group-field.php:137 +#: includes/admin/views/field-group-field.php:135 msgid "width" msgstr "largura" -#: includes/admin/views/field-group-field.php:152 +#: includes/admin/views/field-group-field.php:150 msgid "class" msgstr "classe" -#: includes/admin/views/field-group-field.php:165 +#: includes/admin/views/field-group-field.php:163 msgid "id" msgstr "id" -#: includes/admin/views/field-group-field.php:177 +#: includes/admin/views/field-group-field.php:175 msgid "Close Field" msgstr "Fechar campo" @@ -663,16 +622,16 @@ msgstr "Ordem" #: includes/admin/views/field-group-fields.php:5 #: includes/fields/class-acf-field-button-group.php:198 -#: includes/fields/class-acf-field-checkbox.php:415 -#: includes/fields/class-acf-field-radio.php:306 -#: includes/fields/class-acf-field-select.php:432 -#: pro/fields/class-acf-field-flexible-content.php:584 +#: includes/fields/class-acf-field-checkbox.php:420 +#: includes/fields/class-acf-field-radio.php:311 +#: includes/fields/class-acf-field-select.php:439 +#: pro/fields/class-acf-field-flexible-content.php:596 msgid "Label" msgstr "Legenda" #: includes/admin/views/field-group-fields.php:6 -#: includes/fields/class-acf-field-taxonomy.php:964 -#: pro/fields/class-acf-field-flexible-content.php:597 +#: includes/fields/class-acf-field-taxonomy.php:960 +#: pro/fields/class-acf-field-flexible-content.php:610 msgid "Name" msgstr "Nome" @@ -685,12 +644,8 @@ msgid "Type" msgstr "Tipo" #: includes/admin/views/field-group-fields.php:14 -msgid "" -"No fields. Click the + Add Field button to create your " -"first field." -msgstr "" -"Nenhum campo. Clique no botão + Adicionar campo para criar " -"seu primeiro campo." +msgid "No fields. Click the + Add Field button to create your first field." +msgstr "Nenhum campo. Clique no botão + Adicionar campo para criar seu primeiro campo." #: includes/admin/views/field-group-fields.php:31 msgid "+ Add Field" @@ -701,12 +656,8 @@ msgid "Rules" msgstr "Regras" #: includes/admin/views/field-group-locations.php:10 -msgid "" -"Create a set of rules to determine which edit screens will use these " -"advanced custom fields" -msgstr "" -"Crie um conjunto de regras para determinar em que ecrãs de edição serão " -"utilizados estes campos personalizados avançados" +msgid "Create a set of rules to determine which edit screens will use these advanced custom fields" +msgstr "Crie um conjunto de regras para determinar em que ecrãs de edição serão utilizados estes campos personalizados avançados" #: includes/admin/views/field-group-options.php:23 msgid "Style" @@ -768,87 +719,81 @@ msgstr "Nº. de ordem" #: includes/admin/views/field-group-options.php:86 msgid "Field groups with a lower order will appear first" -msgstr "" -"Serão mostrados primeiro os grupos de campos com menor número de ordem." +msgstr "Serão mostrados primeiro os grupos de campos com menor número de ordem." #: includes/admin/views/field-group-options.php:97 msgid "Shown in field group list" msgstr "Mostrado na lista de grupos de campos" #: includes/admin/views/field-group-options.php:107 -msgid "Hide on screen" -msgstr "Esconder no ecrã" - -#: includes/admin/views/field-group-options.php:108 -msgid "Select items to hide them from the edit screen." -msgstr "Seleccione os itens a esconder do ecrã de edição." - -#: includes/admin/views/field-group-options.php:108 -msgid "" -"If multiple field groups appear on an edit screen, the first field group's " -"options will be used (the one with the lowest order number)" -msgstr "" -"Se forem mostrados vários grupos de campos num ecrã de edição, serão " -"utilizadas as opções do primeiro grupo de campos. (o que tiver menor número " -"de ordem)" - -#: includes/admin/views/field-group-options.php:115 msgid "Permalink" msgstr "Ligação permanente" -#: includes/admin/views/field-group-options.php:116 +#: includes/admin/views/field-group-options.php:108 msgid "Content Editor" msgstr "Editor de conteúdo" -#: includes/admin/views/field-group-options.php:117 +#: includes/admin/views/field-group-options.php:109 msgid "Excerpt" msgstr "Excerto" -#: includes/admin/views/field-group-options.php:119 +#: includes/admin/views/field-group-options.php:111 msgid "Discussion" msgstr "Discussão" -#: includes/admin/views/field-group-options.php:120 +#: includes/admin/views/field-group-options.php:112 msgid "Comments" msgstr "Comentários" -#: includes/admin/views/field-group-options.php:121 +#: includes/admin/views/field-group-options.php:113 msgid "Revisions" msgstr "Revisões" -#: includes/admin/views/field-group-options.php:122 +#: includes/admin/views/field-group-options.php:114 msgid "Slug" msgstr "URL" -#: includes/admin/views/field-group-options.php:123 +#: includes/admin/views/field-group-options.php:115 msgid "Author" msgstr "Autor" -#: includes/admin/views/field-group-options.php:124 +#: includes/admin/views/field-group-options.php:116 msgid "Format" msgstr "Formato" -#: includes/admin/views/field-group-options.php:125 +#: includes/admin/views/field-group-options.php:117 msgid "Page Attributes" msgstr "Atributos da página" -#: includes/admin/views/field-group-options.php:126 -#: includes/fields/class-acf-field-relationship.php:670 +#: includes/admin/views/field-group-options.php:118 +#: includes/fields/class-acf-field-relationship.php:688 msgid "Featured Image" msgstr "Imagem de destaque" -#: includes/admin/views/field-group-options.php:127 +#: includes/admin/views/field-group-options.php:119 msgid "Categories" msgstr "Categorias" -#: includes/admin/views/field-group-options.php:128 +#: includes/admin/views/field-group-options.php:120 msgid "Tags" msgstr "Etiquetas" -#: includes/admin/views/field-group-options.php:129 +#: includes/admin/views/field-group-options.php:121 msgid "Send Trackbacks" msgstr "Enviar trackbacks" +#: includes/admin/views/field-group-options.php:128 +msgid "Hide on screen" +msgstr "Esconder no ecrã" + +#: includes/admin/views/field-group-options.php:129 +msgid "Select items to hide them from the edit screen." +msgstr "Seleccione os itens a esconder do ecrã de edição." + +#: includes/admin/views/field-group-options.php:129 +msgid "If multiple field groups appear on an edit screen, the first field group's options will be used (the one with the lowest order number)" +msgstr "Se forem mostrados vários grupos de campos num ecrã de edição, serão utilizadas as opções do primeiro grupo de campos. (o que tiver menor número de ordem)" + #: includes/admin/views/html-location-group.php:3 msgid "Show this field group if" msgstr "Mostrar este grupo de campos se" @@ -864,12 +809,8 @@ msgstr "Actualização da base de dados do Advanced Custom Fields" #: includes/admin/views/install-network.php:11 #, php-format -msgid "" -"The following sites require a DB upgrade. Check the ones you want to update " -"and then click %s." -msgstr "" -"Os sites seguintes necessitam de actualização da BD. Seleccione os que quer " -"actualizar e clique em %s." +msgid "The following sites require a DB upgrade. Check the ones you want to update and then click %s." +msgstr "Os sites seguintes necessitam de actualização da BD. Seleccione os que quer actualizar e clique em %s." #: includes/admin/views/install-network.php:20 #: includes/admin/views/install-network.php:28 @@ -887,20 +828,13 @@ msgstr "O site está actualizado" #: includes/admin/views/install-network.php:63 #, php-format -msgid "" -"Database Upgrade complete. Return to network dashboard" -msgstr "" -"Actualização da base de dados concluída. Voltar ao painel da " -"rede" +msgid "Database Upgrade complete. Return to network dashboard" +msgstr "Actualização da base de dados concluída. Voltar ao painel da rede" #: includes/admin/views/install-network.php:102 #: includes/admin/views/install-notice.php:42 -msgid "" -"It is strongly recommended that you backup your database before proceeding. " -"Are you sure you wish to run the updater now?" -msgstr "" -"É fortemente recomendado que faça uma cópia de segurança da sua base de " -"dados antes de continuar. Tem a certeza que quer actualizar agora?" +msgid "It is strongly recommended that you backup your database before proceeding. Are you sure you wish to run the updater now?" +msgstr "É recomendável que faça uma cópia de segurança da sua base de dados antes de continuar. Tem a certeza que quer actualizar agora?" #: includes/admin/views/install-network.php:158 msgid "Upgrade complete" @@ -942,21 +876,13 @@ msgid "Thank you for updating to %s v%s!" msgstr "Obrigado por actualizar para o %s v%s!" #: includes/admin/views/install-notice.php:28 -msgid "" -"Before you start using the new awesome features, please update your database " -"to the newest version." -msgstr "" -"Antes de começar a utilizar as incríveis novas funcionalidades, por favor " -"actualize a sua base de dados para a versão mais recente." +msgid "Before you start using the new awesome features, please update your database to the newest version." +msgstr "Antes de começar a utilizar as incríveis novas funcionalidades, por favor actualize a sua base de dados para a versão mais recente." #: includes/admin/views/install-notice.php:31 #, php-format -msgid "" -"Please also ensure any premium add-ons (%s) have first been updated to the " -"latest version." -msgstr "" -"Por favor, em primeiro lugar certifique-se de actualizar todos os add-ons " -"premium (%s) para a última versão." +msgid "Please also ensure any premium add-ons (%s) have first been updated to the latest version." +msgstr "Por favor, em primeiro lugar certifique-se de actualizar todos os add-ons premium (%s) para a última versão." #: includes/admin/views/install.php:7 msgid "Reading upgrade tasks..." @@ -965,9 +891,7 @@ msgstr "A ler tarefas de actualização..." #: includes/admin/views/install.php:11 #, php-format msgid "Database Upgrade complete. See what's new" -msgstr "" -"Actualização da base de dados concluída. Ver o que há de " -"novo" +msgstr "Actualização da base de dados concluída. Ver o que há de novo" #: includes/admin/views/settings-addons.php:17 msgid "Download & Install" @@ -983,12 +907,8 @@ msgstr "Bem-vindo ao Advanced Custom Fields" #: includes/admin/views/settings-info.php:4 #, php-format -msgid "" -"Thank you for updating! ACF %s is bigger and better than ever before. We " -"hope you like it." -msgstr "" -"Obrigado por actualizar! O ACF %s está maior e melhor do que nunca. " -"Esperamos que goste." +msgid "Thank you for updating! ACF %s is bigger and better than ever before. We hope you like it." +msgstr "Obrigado por actualizar! O ACF %s está maior e melhor do que nunca. Esperamos que goste." #: includes/admin/views/settings-info.php:17 msgid "A smoother custom field experience" @@ -999,42 +919,24 @@ msgid "Improved Usability" msgstr "Usabilidade melhorada" #: includes/admin/views/settings-info.php:23 -msgid "" -"Including the popular Select2 library has improved both usability and speed " -"across a number of field types including post object, page link, taxonomy " -"and select." -msgstr "" -"A inclusão da popular biblioteca Select2 melhorou a usabilidade e a " -"velocidade de tipos de campos como conteúdo, ligação de página, taxonomia e " -"selecção." +msgid "Including the popular Select2 library has improved both usability and speed across a number of field types including post object, page link, taxonomy and select." +msgstr "A inclusão da popular biblioteca Select2 melhorou a usabilidade e a velocidade de tipos de campos como conteúdo, ligação de página, taxonomia e selecção." #: includes/admin/views/settings-info.php:27 msgid "Improved Design" msgstr "Design melhorado" #: includes/admin/views/settings-info.php:28 -msgid "" -"Many fields have undergone a visual refresh to make ACF look better than " -"ever! Noticeable changes are seen on the gallery, relationship and oEmbed " -"(new) fields!" -msgstr "" -"Muitos campos sofreram alterações visuais para que a aparência do ACF esteja " -"melhor que nunca! Alterações notáveis nos campos de galeria, relação e " -"oEmbed (novo)!" +msgid "Many fields have undergone a visual refresh to make ACF look better than ever! Noticeable changes are seen on the gallery, relationship and oEmbed (new) fields!" +msgstr "Muitos campos sofreram alterações visuais para que a aparência do ACF esteja melhor que nunca! Alterações notáveis nos campos de galeria, relação e oEmbed (novo)!" #: includes/admin/views/settings-info.php:32 msgid "Improved Data" msgstr "Dados melhorados" #: includes/admin/views/settings-info.php:33 -msgid "" -"Redesigning the data architecture has allowed sub fields to live " -"independently from their parents. This allows you to drag and drop fields in " -"and out of parent fields!" -msgstr "" -"O redesenho da arquitectura dos dados permitiu que os subcampos existam " -"independentemente dos seus superiores. Isto permite-lhe arrastar e largar " -"campos para dentro e para fora de campos superiores!" +msgid "Redesigning the data architecture has allowed sub fields to live independently from their parents. This allows you to drag and drop fields in and out of parent fields!" +msgstr "A reformulação da arquitectura dos dados permite que os subcampos existam independentemente dos seus superiores. Isto permite-lhe arrastar e largar campos para dentro e para fora de campos superiores!" #: includes/admin/views/settings-info.php:39 msgid "Goodbye Add-ons. Hello PRO" @@ -1045,41 +947,26 @@ msgid "Introducing ACF PRO" msgstr "Introdução ao ACF PRO" #: includes/admin/views/settings-info.php:45 -msgid "" -"We're changing the way premium functionality is delivered in an exciting way!" -msgstr "" -"Estamos a alterar o modo como as funcionalidades premium são distribuídas!" +msgid "We're changing the way premium functionality is delivered in an exciting way!" +msgstr "Estamos a alterar o modo como as funcionalidades premium são distribuídas!" #: includes/admin/views/settings-info.php:46 #, php-format -msgid "" -"All 4 premium add-ons have been combined into a new Pro " -"version of ACF. With both personal and developer licenses available, " -"premium functionality is more affordable and accessible than ever before!" -msgstr "" -"Todos os 4 add-ons premium foram combinados numa única versão " -"Pro do ACF. Com licenças pessoais e para programadores, as " -"funcionalidades premium estão agora mais acessíveis que nunca!" +msgid "All 4 premium add-ons have been combined into a new Pro version of ACF. With both personal and developer licenses available, premium functionality is more affordable and accessible than ever before!" +msgstr "Todos os 4 add-ons premium foram combinados numa única versão Pro do ACF. Com licenças pessoais e para programadores, as funcionalidades premium estão agora mais acessíveis que nunca!" #: includes/admin/views/settings-info.php:50 msgid "Powerful Features" msgstr "Funcionalidades poderosas" #: includes/admin/views/settings-info.php:51 -msgid "" -"ACF PRO contains powerful features such as repeatable data, flexible content " -"layouts, a beautiful gallery field and the ability to create extra admin " -"options pages!" -msgstr "" -"O ACF PRO tem funcionalidades poderosas, tais como dados repetíveis, layouts " -"de conteúdo flexível, um campo de galeria e a possibilidade de criar páginas " -"de opções de administração adicionais!" +msgid "ACF PRO contains powerful features such as repeatable data, flexible content layouts, a beautiful gallery field and the ability to create extra admin options pages!" +msgstr "O ACF PRO tem funcionalidades poderosas, tais como dados repetíveis, layouts de conteúdo flexível, um campo de galeria e a possibilidade de criar páginas de opções de administração adicionais!" #: includes/admin/views/settings-info.php:52 #, php-format msgid "Read more about ACF PRO features." -msgstr "" -"Mais informações sobre as funcionalidades do ACF PRO." +msgstr "Mais informações sobre as funcionalidades do ACF PRO." #: includes/admin/views/settings-info.php:56 msgid "Easy Upgrading" @@ -1087,23 +974,13 @@ msgstr "Actualização fácil" #: includes/admin/views/settings-info.php:57 #, php-format -msgid "" -"To help make upgrading easy, login to your store account " -"and claim a free copy of ACF PRO!" -msgstr "" -"Para facilitar a actualização, inicie sessão na sua conta da " -"loja e obtenha uma cópia gratuita do ACF PRO!" +msgid "To help make upgrading easy, login to your store account and claim a free copy of ACF PRO!" +msgstr "Para facilitar a actualização, inicie sessão na sua conta da loja e obtenha uma cópia gratuita do ACF PRO!" #: includes/admin/views/settings-info.php:58 #, php-format -msgid "" -"We also wrote an upgrade guide to answer any questions, " -"but if you do have one, please contact our support team via the help desk" -msgstr "" -"Escrevemos um guia de actualização para responder a todas " -"as dúvidas, se tiver alguma questão, por favor contacte a nossa equipa de " -"suporte através da central de ajuda." +msgid "We also wrote an upgrade guide to answer any questions, but if you do have one, please contact our support team via the help desk" +msgstr "Escrevemos um guia de actualização para responder a todas as dúvidas, se tiver alguma questão, por favor contacte a nossa equipa de suporte através da central de ajuda." #: includes/admin/views/settings-info.php:66 msgid "Under the Hood" @@ -1115,8 +992,7 @@ msgstr "Definições mais inteligentes dos campos" #: includes/admin/views/settings-info.php:72 msgid "ACF now saves its field settings as individual post objects" -msgstr "" -"O ACF agora guarda as suas definições de campos como conteúdos individuais" +msgstr "O ACF agora guarda as suas definições de campos como conteúdos individuais" #: includes/admin/views/settings-info.php:76 msgid "More AJAX" @@ -1124,9 +1000,7 @@ msgstr "Mais AJAX" #: includes/admin/views/settings-info.php:77 msgid "More fields use AJAX powered search to speed up page loading" -msgstr "" -"Mais campos utilizam pesquisa com AJAX para aumentar a velocidade de " -"carregamento" +msgstr "Mais campos utilizam pesquisa com AJAX para aumentar a velocidade de carregamento" #: includes/admin/views/settings-info.php:81 msgid "Local JSON" @@ -1134,20 +1008,15 @@ msgstr "JSON local" #: includes/admin/views/settings-info.php:82 msgid "New auto export to JSON feature improves speed" -msgstr "" -"Nova funcionalidade de exportação automática para JSON melhora a velocidade" +msgstr "Nova funcionalidade de exportação automática para JSON melhora a velocidade" #: includes/admin/views/settings-info.php:88 msgid "Better version control" msgstr "Melhor controlo de versões" #: includes/admin/views/settings-info.php:89 -msgid "" -"New auto export to JSON feature allows field settings to be version " -"controlled" -msgstr "" -"Nova funcionalidade de exportação automática para JSON permite que as " -"definições sejam controladas por versão" +msgid "New auto export to JSON feature allows field settings to be version controlled" +msgstr "Nova funcionalidade de exportação automática para JSON permite que as definições sejam controladas por versão" #: includes/admin/views/settings-info.php:93 msgid "Swapped XML for JSON" @@ -1163,9 +1032,7 @@ msgstr "Novos formulários" #: includes/admin/views/settings-info.php:99 msgid "Fields can now be mapped to comments, widgets and all user forms!" -msgstr "" -"Os campos agora podem ser mapeados para comentários, widgets e formulários " -"de utilizador!" +msgstr "Os campos agora podem ser mapeados para comentários, widgets e formulários de utilizador!" #: includes/admin/views/settings-info.php:106 msgid "A new field for embedding content has been added" @@ -1184,12 +1051,8 @@ msgid "New Settings" msgstr "Novas definições" #: includes/admin/views/settings-info.php:116 -msgid "" -"Field group settings have been added for label placement and instruction " -"placement" -msgstr "" -"Foram adicionadas definições aos grupos de campos para a posição da legenda " -"e instruções." +msgid "Field group settings have been added for label placement and instruction placement" +msgstr "Foram adicionadas definições aos grupos de campos para a posição da legenda e instruções." #: includes/admin/views/settings-info.php:122 msgid "Better Front End Forms" @@ -1205,31 +1068,23 @@ msgstr "Melhor validação" #: includes/admin/views/settings-info.php:128 msgid "Form validation is now done via PHP + AJAX in favour of only JS" -msgstr "" -"A validação de formulários agora é feita com PHP + AJAX em vez de apenas JS." +msgstr "A validação de formulários agora é feita com PHP + AJAX em vez de apenas JS." #: includes/admin/views/settings-info.php:132 msgid "Relationship Field" msgstr "Campo de relação" #: includes/admin/views/settings-info.php:133 -msgid "" -"New Relationship field setting for 'Filters' (Search, Post Type, Taxonomy)" -msgstr "" -"Nova definição 'Filtros' do campo Relação (Pesquisa, Tipo de conteúdo, " -"Taxonomia)." +msgid "New Relationship field setting for 'Filters' (Search, Post Type, Taxonomy)" +msgstr "Nova definição 'Filtros' do campo Relação (Pesquisa, Tipo de conteúdo, Taxonomia)." #: includes/admin/views/settings-info.php:139 msgid "Moving Fields" msgstr "Mover campos" #: includes/admin/views/settings-info.php:140 -msgid "" -"New field group functionality allows you to move a field between groups & " -"parents" -msgstr "" -"Nova funcionalidade de grupo de campos permite mover um campo entre grupos e " -"superiores." +msgid "New field group functionality allows you to move a field between groups & parents" +msgstr "Nova funcionalidade de grupo de campos permite mover um campo entre grupos e superiores." #: includes/admin/views/settings-info.php:144 #: includes/fields/class-acf-field-page_link.php:25 @@ -1245,114 +1100,234 @@ msgid "Better Options Pages" msgstr "Melhores páginas de opções" #: includes/admin/views/settings-info.php:150 -msgid "" -"New functions for options page allow creation of both parent and child menu " -"pages" -msgstr "" -"Novas funções para as páginas de opções permitem a criação de páginas " -"superiores e dependentes." +msgid "New functions for options page allow creation of both parent and child menu pages" +msgstr "Novas funções para as páginas de opções permitem a criação de páginas superiores e dependentes." #: includes/admin/views/settings-info.php:159 #, php-format msgid "We think you'll love the changes in %s." msgstr "Pensamos que vai gostar das alterações na versão %s." -#: includes/api/api-helpers.php:900 +#: includes/api/api-helpers.php:1039 msgid "Thumbnail" msgstr "Miniatura" -#: includes/api/api-helpers.php:901 +#: includes/api/api-helpers.php:1040 msgid "Medium" msgstr "Média" -#: includes/api/api-helpers.php:902 +#: includes/api/api-helpers.php:1041 msgid "Large" msgstr "Grande" -#: includes/api/api-helpers.php:951 +#: includes/api/api-helpers.php:1090 msgid "Full Size" msgstr "Tamanho original" -#: includes/api/api-helpers.php:1292 includes/api/api-helpers.php:1865 -#: pro/fields/class-acf-field-clone.php:992 +#: includes/api/api-helpers.php:1431 includes/api/api-helpers.php:2004 +#: pro/fields/class-acf-field-clone.php:996 msgid "(no title)" msgstr "(sem título)" -#: includes/api/api-helpers.php:3922 +#: includes/api/api-helpers.php:4086 #, php-format msgid "Image width must be at least %dpx." msgstr "A largura da imagem deve ser pelo menos de %dpx." -#: includes/api/api-helpers.php:3927 +#: includes/api/api-helpers.php:4091 #, php-format msgid "Image width must not exceed %dpx." msgstr "A largura da imagem não deve exceder os %dpx." -#: includes/api/api-helpers.php:3943 +#: includes/api/api-helpers.php:4107 #, php-format msgid "Image height must be at least %dpx." msgstr "A altura da imagem deve ser pelo menos de %dpx." -#: includes/api/api-helpers.php:3948 +#: includes/api/api-helpers.php:4112 #, php-format msgid "Image height must not exceed %dpx." msgstr "A altura da imagem não deve exceder os %dpx." -#: includes/api/api-helpers.php:3966 +#: includes/api/api-helpers.php:4130 #, php-format msgid "File size must be at least %s." msgstr "O tamanho do ficheiro deve ser pelo menos de %s." -#: includes/api/api-helpers.php:3971 +#: includes/api/api-helpers.php:4135 #, php-format msgid "File size must must not exceed %s." msgstr "O tamanho do ficheiro não deve exceder %s." -#: includes/api/api-helpers.php:4005 +#: includes/api/api-helpers.php:4169 #, php-format msgid "File type must be %s." msgstr "O tipo de ficheiro deve ser %s." -#: includes/fields.php:144 -msgid "Basic" -msgstr "Básico" +#: includes/assets.php:172 +msgid "The changes you made will be lost if you navigate away from this page" +msgstr "As alterações que fez serão ignoradas se navegar para fora desta página." -#: includes/fields.php:145 includes/forms/form-front.php:47 -msgid "Content" -msgstr "Conteúdo" +#: includes/assets.php:175 includes/fields/class-acf-field-select.php:259 +msgctxt "verb" +msgid "Select" +msgstr "Seleccionar" -#: includes/fields.php:146 -msgid "Choice" -msgstr "Opção" +#: includes/assets.php:176 +msgctxt "verb" +msgid "Edit" +msgstr "Editar" -#: includes/fields.php:147 -msgid "Relational" -msgstr "Relacional" +#: includes/assets.php:177 +msgctxt "verb" +msgid "Update" +msgstr "Actualizar" -#: includes/fields.php:148 -msgid "jQuery" -msgstr "jQuery" +#: includes/assets.php:178 +msgid "Uploaded to this post" +msgstr "Carregados neste artigo" -#: includes/fields.php:149 -#: includes/fields/class-acf-field-button-group.php:177 -#: includes/fields/class-acf-field-checkbox.php:384 -#: includes/fields/class-acf-field-group.php:474 -#: includes/fields/class-acf-field-radio.php:285 -#: pro/fields/class-acf-field-clone.php:839 -#: pro/fields/class-acf-field-flexible-content.php:554 -#: pro/fields/class-acf-field-flexible-content.php:603 -#: pro/fields/class-acf-field-repeater.php:450 -msgid "Layout" -msgstr "Layout" +#: includes/assets.php:179 +msgid "Expand Details" +msgstr "Expandir detalhes" -#: includes/fields.php:326 +#: includes/assets.php:180 +msgid "Collapse Details" +msgstr "Minimizar detalhes" + +#: includes/assets.php:181 +msgid "Restricted" +msgstr "Restrito" + +#: includes/assets.php:182 includes/fields/class-acf-field-image.php:67 +msgid "All images" +msgstr "Todas as imagens" + +#: includes/assets.php:185 +msgid "Validation successful" +msgstr "Validação bem sucedida" + +#: includes/assets.php:186 includes/validation.php:285 +#: includes/validation.php:296 +msgid "Validation failed" +msgstr "A validação falhou" + +#: includes/assets.php:187 +msgid "1 field requires attention" +msgstr "1 campo requer a sua atenção" + +#: includes/assets.php:188 +#, php-format +msgid "%d fields require attention" +msgstr "%d campos requerem a sua atenção" + +#: includes/assets.php:191 +msgid "Are you sure?" +msgstr "Tem a certeza?" + +#: includes/assets.php:192 includes/fields/class-acf-field-true_false.php:79 +#: includes/fields/class-acf-field-true_false.php:159 +#: pro/admin/views/html-settings-updates.php:89 +msgid "Yes" +msgstr "Sim" + +#: includes/assets.php:193 includes/fields/class-acf-field-true_false.php:80 +#: includes/fields/class-acf-field-true_false.php:174 +#: pro/admin/views/html-settings-updates.php:99 +msgid "No" +msgstr "Não" + +#: includes/assets.php:194 includes/fields/class-acf-field-file.php:154 +#: includes/fields/class-acf-field-image.php:141 +#: includes/fields/class-acf-field-link.php:140 +#: pro/fields/class-acf-field-gallery.php:358 +#: pro/fields/class-acf-field-gallery.php:546 +msgid "Remove" +msgstr "Remover" + +#: includes/assets.php:195 +msgid "Cancel" +msgstr "Cancelar" + +#: includes/assets.php:198 +msgid "Has any value" +msgstr "Tem um valor qualquer" + +#: includes/assets.php:199 +msgid "Has no value" +msgstr "Não tem valor" + +#: includes/assets.php:200 +msgid "Value is equal to" +msgstr "O valor é igual a" + +#: includes/assets.php:201 +msgid "Value is not equal to" +msgstr "O valor é diferente de" + +#: includes/assets.php:202 +msgid "Value matches pattern" +msgstr "O valor corresponde ao padrão" + +#: includes/assets.php:203 +msgid "Value contains" +msgstr "O valor contém" + +#: includes/assets.php:204 +msgid "Value is greater than" +msgstr "O valor é maior do que" + +#: includes/assets.php:205 +msgid "Value is less than" +msgstr "O valor é menor do que" + +#: includes/assets.php:206 +msgid "Selection is greater than" +msgstr "A selecção é maior do que" + +#: includes/assets.php:207 +msgid "Selection is less than" +msgstr "A selecção é menor do que" + +#: includes/fields.php:308 msgid "Field type does not exist" msgstr "Tipo de campo não existe" -#: includes/fields.php:326 +#: includes/fields.php:308 msgid "Unknown" msgstr "Desconhecido" +#: includes/fields.php:349 +msgid "Basic" +msgstr "Básico" + +#: includes/fields.php:350 includes/forms/form-front.php:47 +msgid "Content" +msgstr "Conteúdo" + +#: includes/fields.php:351 +msgid "Choice" +msgstr "Opção" + +#: includes/fields.php:352 +msgid "Relational" +msgstr "Relacional" + +#: includes/fields.php:353 +msgid "jQuery" +msgstr "jQuery" + +#: includes/fields.php:354 includes/fields/class-acf-field-button-group.php:177 +#: includes/fields/class-acf-field-checkbox.php:389 +#: includes/fields/class-acf-field-group.php:474 +#: includes/fields/class-acf-field-radio.php:290 +#: pro/fields/class-acf-field-clone.php:843 +#: pro/fields/class-acf-field-flexible-content.php:567 +#: pro/fields/class-acf-field-flexible-content.php:616 +#: pro/fields/class-acf-field-repeater.php:443 +msgid "Layout" +msgstr "Layout" + #: includes/fields/class-acf-field-accordion.php:24 msgid "Accordion" msgstr "Acordeão" @@ -1379,11 +1354,8 @@ msgid "Endpoint" msgstr "Fim" #: includes/fields/class-acf-field-accordion.php:120 -msgid "" -"Define an endpoint for the previous accordion to stop. This accordion will " -"not be visible." -msgstr "" -"Define o fim do acordeão anterior. Este item de acordeão não será visível." +msgid "Define an endpoint for the previous accordion to stop. This accordion will not be visible." +msgstr "Define o fim do acordeão anterior. Este item de acordeão não será visível." #: includes/fields/class-acf-field-button-group.php:24 msgid "Button Group" @@ -1392,29 +1364,28 @@ msgstr "Grupo de botões" #: includes/fields/class-acf-field-button-group.php:149 #: includes/fields/class-acf-field-checkbox.php:344 #: includes/fields/class-acf-field-radio.php:235 -#: includes/fields/class-acf-field-select.php:368 +#: includes/fields/class-acf-field-select.php:370 msgid "Choices" msgstr "Opções" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:371 msgid "Enter each choice on a new line." -msgstr "Introduza cada opção numa linha separada." +msgstr "Insira cada opção numa linha separada." #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:371 msgid "For more control, you may specify both a value and label like this:" -msgstr "" -"Para maior controlo, pode especificar tanto os valores como as legendas:" +msgstr "Para maior controlo, pode especificar tanto os valores como as legendas:" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:371 msgid "red : Red" msgstr "vermelho : Vermelho" @@ -1422,87 +1393,87 @@ msgstr "vermelho : Vermelho" #: includes/fields/class-acf-field-page_link.php:513 #: includes/fields/class-acf-field-post_object.php:412 #: includes/fields/class-acf-field-radio.php:244 -#: includes/fields/class-acf-field-select.php:386 -#: includes/fields/class-acf-field-taxonomy.php:793 -#: includes/fields/class-acf-field-user.php:408 +#: includes/fields/class-acf-field-select.php:388 +#: includes/fields/class-acf-field-taxonomy.php:784 +#: includes/fields/class-acf-field-user.php:409 msgid "Allow Null?" msgstr "Permitir nulo?" #: includes/fields/class-acf-field-button-group.php:168 -#: includes/fields/class-acf-field-checkbox.php:375 +#: includes/fields/class-acf-field-checkbox.php:380 #: includes/fields/class-acf-field-color_picker.php:131 #: includes/fields/class-acf-field-email.php:118 #: includes/fields/class-acf-field-number.php:127 -#: includes/fields/class-acf-field-radio.php:276 -#: includes/fields/class-acf-field-range.php:148 -#: includes/fields/class-acf-field-select.php:377 +#: includes/fields/class-acf-field-radio.php:281 +#: includes/fields/class-acf-field-range.php:146 +#: includes/fields/class-acf-field-select.php:379 #: includes/fields/class-acf-field-text.php:119 #: includes/fields/class-acf-field-textarea.php:102 #: includes/fields/class-acf-field-true_false.php:135 #: includes/fields/class-acf-field-url.php:100 -#: includes/fields/class-acf-field-wysiwyg.php:410 +#: includes/fields/class-acf-field-wysiwyg.php:397 msgid "Default Value" msgstr "Valor por omissão" #: includes/fields/class-acf-field-button-group.php:169 #: includes/fields/class-acf-field-email.php:119 #: includes/fields/class-acf-field-number.php:128 -#: includes/fields/class-acf-field-radio.php:277 -#: includes/fields/class-acf-field-range.php:149 +#: includes/fields/class-acf-field-radio.php:282 +#: includes/fields/class-acf-field-range.php:147 #: includes/fields/class-acf-field-text.php:120 #: includes/fields/class-acf-field-textarea.php:103 #: includes/fields/class-acf-field-url.php:101 -#: includes/fields/class-acf-field-wysiwyg.php:411 +#: includes/fields/class-acf-field-wysiwyg.php:398 msgid "Appears when creating a new post" msgstr "Mostrado ao criar um novo conteúdo" #: includes/fields/class-acf-field-button-group.php:183 -#: includes/fields/class-acf-field-checkbox.php:391 -#: includes/fields/class-acf-field-radio.php:292 +#: includes/fields/class-acf-field-checkbox.php:396 +#: includes/fields/class-acf-field-radio.php:297 msgid "Horizontal" msgstr "Horizontal" #: includes/fields/class-acf-field-button-group.php:184 -#: includes/fields/class-acf-field-checkbox.php:390 -#: includes/fields/class-acf-field-radio.php:291 +#: includes/fields/class-acf-field-checkbox.php:395 +#: includes/fields/class-acf-field-radio.php:296 msgid "Vertical" msgstr "Vertical" #: includes/fields/class-acf-field-button-group.php:191 -#: includes/fields/class-acf-field-checkbox.php:408 -#: includes/fields/class-acf-field-file.php:204 -#: includes/fields/class-acf-field-image.php:188 +#: includes/fields/class-acf-field-checkbox.php:413 +#: includes/fields/class-acf-field-file.php:215 +#: includes/fields/class-acf-field-image.php:205 #: includes/fields/class-acf-field-link.php:166 -#: includes/fields/class-acf-field-radio.php:299 -#: includes/fields/class-acf-field-taxonomy.php:833 +#: includes/fields/class-acf-field-radio.php:304 +#: includes/fields/class-acf-field-taxonomy.php:829 msgid "Return Value" msgstr "Valor devolvido" #: includes/fields/class-acf-field-button-group.php:192 -#: includes/fields/class-acf-field-checkbox.php:409 -#: includes/fields/class-acf-field-file.php:205 -#: includes/fields/class-acf-field-image.php:189 +#: includes/fields/class-acf-field-checkbox.php:414 +#: includes/fields/class-acf-field-file.php:216 +#: includes/fields/class-acf-field-image.php:206 #: includes/fields/class-acf-field-link.php:167 -#: includes/fields/class-acf-field-radio.php:300 +#: includes/fields/class-acf-field-radio.php:305 msgid "Specify the returned value on front end" msgstr "Especifica o valor devolvido na frente do site." #: includes/fields/class-acf-field-button-group.php:197 -#: includes/fields/class-acf-field-checkbox.php:414 -#: includes/fields/class-acf-field-radio.php:305 -#: includes/fields/class-acf-field-select.php:431 +#: includes/fields/class-acf-field-checkbox.php:419 +#: includes/fields/class-acf-field-radio.php:310 +#: includes/fields/class-acf-field-select.php:438 msgid "Value" msgstr "Valor" #: includes/fields/class-acf-field-button-group.php:199 -#: includes/fields/class-acf-field-checkbox.php:416 -#: includes/fields/class-acf-field-radio.php:307 -#: includes/fields/class-acf-field-select.php:433 +#: includes/fields/class-acf-field-checkbox.php:421 +#: includes/fields/class-acf-field-radio.php:312 +#: includes/fields/class-acf-field-select.php:440 msgid "Both (Array)" msgstr "Ambos (Array)" #: includes/fields/class-acf-field-checkbox.php:25 -#: includes/fields/class-acf-field-taxonomy.php:780 +#: includes/fields/class-acf-field-taxonomy.php:771 msgid "Checkbox" msgstr "Caixa de selecção" @@ -1530,19 +1501,18 @@ msgstr "Guardar personalização" msgid "Save 'custom' values to the field's choices" msgstr "Guarda valores personalizados nas opções do campo" -#: includes/fields/class-acf-field-checkbox.php:376 -#: includes/fields/class-acf-field-select.php:378 +#: includes/fields/class-acf-field-checkbox.php:381 +#: includes/fields/class-acf-field-select.php:380 msgid "Enter each default value on a new line" -msgstr "Introduza cada valor por omissão numa linha separada" +msgstr "Insira cada valor por omissão numa linha separada" -#: includes/fields/class-acf-field-checkbox.php:398 +#: includes/fields/class-acf-field-checkbox.php:403 msgid "Toggle" msgstr "Selecção" -#: includes/fields/class-acf-field-checkbox.php:399 +#: includes/fields/class-acf-field-checkbox.php:404 msgid "Prepend an extra checkbox to toggle all choices" -msgstr "" -"Preceder com caixa de selecção adicional para seleccionar todas as opções" +msgstr "Preceder com caixa de selecção adicional para seleccionar todas as opções" #: includes/fields/class-acf-field-color_picker.php:25 msgid "Color Picker" @@ -1568,77 +1538,78 @@ msgstr "Cor actual" msgid "Date Picker" msgstr "Selecção de data" -#: includes/fields/class-acf-field-date_picker.php:33 +#: includes/fields/class-acf-field-date_picker.php:59 msgctxt "Date Picker JS closeText" msgid "Done" msgstr "Concluído" -#: includes/fields/class-acf-field-date_picker.php:34 +#: includes/fields/class-acf-field-date_picker.php:60 msgctxt "Date Picker JS currentText" msgid "Today" msgstr "Hoje" -#: includes/fields/class-acf-field-date_picker.php:35 +#: includes/fields/class-acf-field-date_picker.php:61 msgctxt "Date Picker JS nextText" msgid "Next" msgstr "Seguinte" -#: includes/fields/class-acf-field-date_picker.php:36 +#: includes/fields/class-acf-field-date_picker.php:62 msgctxt "Date Picker JS prevText" msgid "Prev" msgstr "Anterior" -#: includes/fields/class-acf-field-date_picker.php:37 +#: includes/fields/class-acf-field-date_picker.php:63 msgctxt "Date Picker JS weekHeader" msgid "Wk" msgstr "Sem" -#: includes/fields/class-acf-field-date_picker.php:207 -#: includes/fields/class-acf-field-date_time_picker.php:181 +#: includes/fields/class-acf-field-date_picker.php:180 +#: includes/fields/class-acf-field-date_time_picker.php:183 #: includes/fields/class-acf-field-time_picker.php:109 msgid "Display Format" msgstr "Formato de visualização" -#: includes/fields/class-acf-field-date_picker.php:208 -#: includes/fields/class-acf-field-date_time_picker.php:182 +#: includes/fields/class-acf-field-date_picker.php:181 +#: includes/fields/class-acf-field-date_time_picker.php:184 #: includes/fields/class-acf-field-time_picker.php:110 msgid "The format displayed when editing a post" msgstr "O formato de visualização ao editar um conteúdo" -#: includes/fields/class-acf-field-date_picker.php:216 -#: includes/fields/class-acf-field-date_picker.php:247 -#: includes/fields/class-acf-field-date_time_picker.php:191 -#: includes/fields/class-acf-field-date_time_picker.php:208 +#: includes/fields/class-acf-field-date_picker.php:189 +#: includes/fields/class-acf-field-date_picker.php:220 +#: includes/fields/class-acf-field-date_time_picker.php:193 +#: includes/fields/class-acf-field-date_time_picker.php:210 #: includes/fields/class-acf-field-time_picker.php:117 #: includes/fields/class-acf-field-time_picker.php:132 msgid "Custom:" msgstr "Personalizado:" -#: includes/fields/class-acf-field-date_picker.php:226 +#: includes/fields/class-acf-field-date_picker.php:199 msgid "Save Format" msgstr "Formato guardado" -#: includes/fields/class-acf-field-date_picker.php:227 +#: includes/fields/class-acf-field-date_picker.php:200 msgid "The format used when saving a value" msgstr "O formato usado ao guardar um valor" -#: includes/fields/class-acf-field-date_picker.php:237 -#: includes/fields/class-acf-field-date_time_picker.php:198 +#: includes/fields/class-acf-field-date_picker.php:210 +#: includes/fields/class-acf-field-date_time_picker.php:200 #: includes/fields/class-acf-field-post_object.php:432 -#: includes/fields/class-acf-field-relationship.php:697 -#: includes/fields/class-acf-field-select.php:426 +#: includes/fields/class-acf-field-relationship.php:715 +#: includes/fields/class-acf-field-select.php:433 #: includes/fields/class-acf-field-time_picker.php:124 +#: includes/fields/class-acf-field-user.php:428 msgid "Return Format" msgstr "Formato devolvido" -#: includes/fields/class-acf-field-date_picker.php:238 -#: includes/fields/class-acf-field-date_time_picker.php:199 +#: includes/fields/class-acf-field-date_picker.php:211 +#: includes/fields/class-acf-field-date_time_picker.php:201 #: includes/fields/class-acf-field-time_picker.php:125 msgid "The format returned via template functions" msgstr "O formato devolvido através das template functions" -#: includes/fields/class-acf-field-date_picker.php:256 -#: includes/fields/class-acf-field-date_time_picker.php:215 +#: includes/fields/class-acf-field-date_picker.php:229 +#: includes/fields/class-acf-field-date_time_picker.php:217 msgid "Week Starts On" msgstr "Semana começa em" @@ -1646,77 +1617,77 @@ msgstr "Semana começa em" msgid "Date Time Picker" msgstr "Selecção de data e hora" -#: includes/fields/class-acf-field-date_time_picker.php:33 +#: includes/fields/class-acf-field-date_time_picker.php:68 msgctxt "Date Time Picker JS timeOnlyTitle" msgid "Choose Time" msgstr "Escolha a hora" -#: includes/fields/class-acf-field-date_time_picker.php:34 +#: includes/fields/class-acf-field-date_time_picker.php:69 msgctxt "Date Time Picker JS timeText" msgid "Time" msgstr "Hora" -#: includes/fields/class-acf-field-date_time_picker.php:35 +#: includes/fields/class-acf-field-date_time_picker.php:70 msgctxt "Date Time Picker JS hourText" msgid "Hour" msgstr "Hora" -#: includes/fields/class-acf-field-date_time_picker.php:36 +#: includes/fields/class-acf-field-date_time_picker.php:71 msgctxt "Date Time Picker JS minuteText" msgid "Minute" msgstr "Minuto" -#: includes/fields/class-acf-field-date_time_picker.php:37 +#: includes/fields/class-acf-field-date_time_picker.php:72 msgctxt "Date Time Picker JS secondText" msgid "Second" msgstr "Segundo" -#: includes/fields/class-acf-field-date_time_picker.php:38 +#: includes/fields/class-acf-field-date_time_picker.php:73 msgctxt "Date Time Picker JS millisecText" msgid "Millisecond" msgstr "Milissegundo" -#: includes/fields/class-acf-field-date_time_picker.php:39 +#: includes/fields/class-acf-field-date_time_picker.php:74 msgctxt "Date Time Picker JS microsecText" msgid "Microsecond" msgstr "Microsegundo" -#: includes/fields/class-acf-field-date_time_picker.php:40 +#: includes/fields/class-acf-field-date_time_picker.php:75 msgctxt "Date Time Picker JS timezoneText" msgid "Time Zone" msgstr "Fuso horário" -#: includes/fields/class-acf-field-date_time_picker.php:41 +#: includes/fields/class-acf-field-date_time_picker.php:76 msgctxt "Date Time Picker JS currentText" msgid "Now" msgstr "Agora" -#: includes/fields/class-acf-field-date_time_picker.php:42 +#: includes/fields/class-acf-field-date_time_picker.php:77 msgctxt "Date Time Picker JS closeText" msgid "Done" msgstr "Concluído" -#: includes/fields/class-acf-field-date_time_picker.php:43 +#: includes/fields/class-acf-field-date_time_picker.php:78 msgctxt "Date Time Picker JS selectText" msgid "Select" msgstr "Seleccionar" -#: includes/fields/class-acf-field-date_time_picker.php:45 +#: includes/fields/class-acf-field-date_time_picker.php:80 msgctxt "Date Time Picker JS amText" msgid "AM" msgstr "AM" -#: includes/fields/class-acf-field-date_time_picker.php:46 +#: includes/fields/class-acf-field-date_time_picker.php:81 msgctxt "Date Time Picker JS amTextShort" msgid "A" msgstr "A" -#: includes/fields/class-acf-field-date_time_picker.php:49 +#: includes/fields/class-acf-field-date_time_picker.php:84 msgctxt "Date Time Picker JS pmText" msgid "PM" msgstr "PM" -#: includes/fields/class-acf-field-date_time_picker.php:50 +#: includes/fields/class-acf-field-date_time_picker.php:85 msgctxt "Date Time Picker JS pmTextShort" msgid "P" msgstr "P" @@ -1746,7 +1717,7 @@ msgstr "Mostrado dentro do campo" #: includes/fields/class-acf-field-email.php:136 #: includes/fields/class-acf-field-number.php:145 #: includes/fields/class-acf-field-password.php:80 -#: includes/fields/class-acf-field-range.php:187 +#: includes/fields/class-acf-field-range.php:185 #: includes/fields/class-acf-field-text.php:137 msgid "Prepend" msgstr "Preceder" @@ -1754,7 +1725,7 @@ msgstr "Preceder" #: includes/fields/class-acf-field-email.php:137 #: includes/fields/class-acf-field-number.php:146 #: includes/fields/class-acf-field-password.php:81 -#: includes/fields/class-acf-field-range.php:188 +#: includes/fields/class-acf-field-range.php:186 #: includes/fields/class-acf-field-text.php:138 msgid "Appears before the input" msgstr "Mostrado antes do campo" @@ -1762,7 +1733,7 @@ msgstr "Mostrado antes do campo" #: includes/fields/class-acf-field-email.php:145 #: includes/fields/class-acf-field-number.php:154 #: includes/fields/class-acf-field-password.php:89 -#: includes/fields/class-acf-field-range.php:196 +#: includes/fields/class-acf-field-range.php:194 #: includes/fields/class-acf-field-text.php:146 msgid "Append" msgstr "Suceder" @@ -1770,7 +1741,7 @@ msgstr "Suceder" #: includes/fields/class-acf-field-email.php:146 #: includes/fields/class-acf-field-number.php:155 #: includes/fields/class-acf-field-password.php:90 -#: includes/fields/class-acf-field-range.php:197 +#: includes/fields/class-acf-field-range.php:195 #: includes/fields/class-acf-field-text.php:147 msgid "Appears after the input" msgstr "Mostrado depois do campo" @@ -1779,72 +1750,58 @@ msgstr "Mostrado depois do campo" msgid "File" msgstr "Ficheiro" -#: includes/fields/class-acf-field-file.php:36 +#: includes/fields/class-acf-field-file.php:58 msgid "Edit File" msgstr "Editar ficheiro" -#: includes/fields/class-acf-field-file.php:37 +#: includes/fields/class-acf-field-file.php:59 msgid "Update File" msgstr "Actualizar ficheiro" -#: includes/fields/class-acf-field-file.php:38 -#: includes/fields/class-acf-field-image.php:43 includes/media.php:57 -#: pro/fields/class-acf-field-gallery.php:44 -msgid "Uploaded to this post" -msgstr "Carregados neste artigo" - -#: includes/fields/class-acf-field-file.php:130 +#: includes/fields/class-acf-field-file.php:141 msgid "File name" msgstr "Nome do ficheiro" -#: includes/fields/class-acf-field-file.php:134 -#: includes/fields/class-acf-field-file.php:237 +#: includes/fields/class-acf-field-file.php:145 #: includes/fields/class-acf-field-file.php:248 -#: includes/fields/class-acf-field-image.php:248 -#: includes/fields/class-acf-field-image.php:277 -#: pro/fields/class-acf-field-gallery.php:690 -#: pro/fields/class-acf-field-gallery.php:719 +#: includes/fields/class-acf-field-file.php:259 +#: includes/fields/class-acf-field-image.php:265 +#: includes/fields/class-acf-field-image.php:294 +#: pro/fields/class-acf-field-gallery.php:705 +#: pro/fields/class-acf-field-gallery.php:734 msgid "File size" msgstr "Tamanho do ficheiro" -#: includes/fields/class-acf-field-file.php:143 -#: includes/fields/class-acf-field-image.php:124 -#: includes/fields/class-acf-field-link.php:140 includes/input.php:269 -#: pro/fields/class-acf-field-gallery.php:343 -#: pro/fields/class-acf-field-gallery.php:531 -msgid "Remove" -msgstr "Remover" - -#: includes/fields/class-acf-field-file.php:159 +#: includes/fields/class-acf-field-file.php:170 msgid "Add File" msgstr "Adicionar ficheiro" -#: includes/fields/class-acf-field-file.php:210 +#: includes/fields/class-acf-field-file.php:221 msgid "File Array" msgstr "Array do ficheiro" -#: includes/fields/class-acf-field-file.php:211 +#: includes/fields/class-acf-field-file.php:222 msgid "File URL" msgstr "URL do ficheiro" -#: includes/fields/class-acf-field-file.php:212 +#: includes/fields/class-acf-field-file.php:223 msgid "File ID" msgstr "ID do ficheiro" -#: includes/fields/class-acf-field-file.php:219 -#: includes/fields/class-acf-field-image.php:213 -#: pro/fields/class-acf-field-gallery.php:655 +#: includes/fields/class-acf-field-file.php:230 +#: includes/fields/class-acf-field-image.php:230 +#: pro/fields/class-acf-field-gallery.php:670 msgid "Library" msgstr "Biblioteca" -#: includes/fields/class-acf-field-file.php:220 -#: includes/fields/class-acf-field-image.php:214 -#: pro/fields/class-acf-field-gallery.php:656 +#: includes/fields/class-acf-field-file.php:231 +#: includes/fields/class-acf-field-image.php:231 +#: pro/fields/class-acf-field-gallery.php:671 msgid "Limit the media library choice" msgstr "Limita a escolha da biblioteca de media." -#: includes/fields/class-acf-field-file.php:225 -#: includes/fields/class-acf-field-image.php:219 +#: includes/fields/class-acf-field-file.php:236 +#: includes/fields/class-acf-field-image.php:236 #: includes/locations/class-acf-location-attachment.php:101 #: includes/locations/class-acf-location-comment.php:79 #: includes/locations/class-acf-location-nav-menu.php:102 @@ -1852,98 +1809,93 @@ msgstr "Limita a escolha da biblioteca de media." #: includes/locations/class-acf-location-user-form.php:87 #: includes/locations/class-acf-location-user-role.php:111 #: includes/locations/class-acf-location-widget.php:83 -#: pro/fields/class-acf-field-gallery.php:661 +#: pro/fields/class-acf-field-gallery.php:676 msgid "All" msgstr "Todos" -#: includes/fields/class-acf-field-file.php:226 -#: includes/fields/class-acf-field-image.php:220 -#: pro/fields/class-acf-field-gallery.php:662 +#: includes/fields/class-acf-field-file.php:237 +#: includes/fields/class-acf-field-image.php:237 +#: pro/fields/class-acf-field-gallery.php:677 msgid "Uploaded to post" msgstr "Carregados no artigo" -#: includes/fields/class-acf-field-file.php:233 -#: includes/fields/class-acf-field-image.php:227 -#: pro/fields/class-acf-field-gallery.php:669 +#: includes/fields/class-acf-field-file.php:244 +#: includes/fields/class-acf-field-image.php:244 +#: pro/fields/class-acf-field-gallery.php:684 msgid "Minimum" msgstr "Mínimo" -#: includes/fields/class-acf-field-file.php:234 #: includes/fields/class-acf-field-file.php:245 +#: includes/fields/class-acf-field-file.php:256 msgid "Restrict which files can be uploaded" msgstr "Restringe que ficheiros podem ser carregados." -#: includes/fields/class-acf-field-file.php:244 -#: includes/fields/class-acf-field-image.php:256 -#: pro/fields/class-acf-field-gallery.php:698 +#: includes/fields/class-acf-field-file.php:255 +#: includes/fields/class-acf-field-image.php:273 +#: pro/fields/class-acf-field-gallery.php:713 msgid "Maximum" msgstr "Máximo" -#: includes/fields/class-acf-field-file.php:255 -#: includes/fields/class-acf-field-image.php:285 -#: pro/fields/class-acf-field-gallery.php:727 +#: includes/fields/class-acf-field-file.php:266 +#: includes/fields/class-acf-field-image.php:302 +#: pro/fields/class-acf-field-gallery.php:742 msgid "Allowed file types" msgstr "Tipos de ficheiros permitidos" -#: includes/fields/class-acf-field-file.php:256 -#: includes/fields/class-acf-field-image.php:286 -#: pro/fields/class-acf-field-gallery.php:728 +#: includes/fields/class-acf-field-file.php:267 +#: includes/fields/class-acf-field-image.php:303 +#: pro/fields/class-acf-field-gallery.php:743 msgid "Comma separated list. Leave blank for all types" -msgstr "" -"Lista separada por vírgulas. Deixe em branco para permitir todos os tipos." +msgstr "Lista separada por vírgulas. Deixe em branco para permitir todos os tipos." #: includes/fields/class-acf-field-google-map.php:25 msgid "Google Map" msgstr "Mapa do Google" -#: includes/fields/class-acf-field-google-map.php:40 -msgid "Locating" -msgstr "A obter localização" - -#: includes/fields/class-acf-field-google-map.php:41 +#: includes/fields/class-acf-field-google-map.php:59 msgid "Sorry, this browser does not support geolocation" msgstr "Desculpe, este navegador não suporta geolocalização." -#: includes/fields/class-acf-field-google-map.php:113 +#: includes/fields/class-acf-field-google-map.php:165 msgid "Clear location" msgstr "Limpar localização" -#: includes/fields/class-acf-field-google-map.php:114 +#: includes/fields/class-acf-field-google-map.php:166 msgid "Find current location" msgstr "Encontrar a localização actual" -#: includes/fields/class-acf-field-google-map.php:117 +#: includes/fields/class-acf-field-google-map.php:169 msgid "Search for address..." msgstr "Pesquisar endereço..." -#: includes/fields/class-acf-field-google-map.php:147 -#: includes/fields/class-acf-field-google-map.php:158 +#: includes/fields/class-acf-field-google-map.php:199 +#: includes/fields/class-acf-field-google-map.php:210 msgid "Center" msgstr "Centrar" -#: includes/fields/class-acf-field-google-map.php:148 -#: includes/fields/class-acf-field-google-map.php:159 +#: includes/fields/class-acf-field-google-map.php:200 +#: includes/fields/class-acf-field-google-map.php:211 msgid "Center the initial map" msgstr "Centrar o mapa inicial" -#: includes/fields/class-acf-field-google-map.php:170 +#: includes/fields/class-acf-field-google-map.php:222 msgid "Zoom" msgstr "Zoom" -#: includes/fields/class-acf-field-google-map.php:171 +#: includes/fields/class-acf-field-google-map.php:223 msgid "Set the initial zoom level" msgstr "Definir o nível de zoom inicial" -#: includes/fields/class-acf-field-google-map.php:180 -#: includes/fields/class-acf-field-image.php:239 -#: includes/fields/class-acf-field-image.php:268 -#: includes/fields/class-acf-field-oembed.php:281 -#: pro/fields/class-acf-field-gallery.php:681 -#: pro/fields/class-acf-field-gallery.php:710 +#: includes/fields/class-acf-field-google-map.php:232 +#: includes/fields/class-acf-field-image.php:256 +#: includes/fields/class-acf-field-image.php:285 +#: includes/fields/class-acf-field-oembed.php:268 +#: pro/fields/class-acf-field-gallery.php:696 +#: pro/fields/class-acf-field-gallery.php:725 msgid "Height" msgstr "Altura" -#: includes/fields/class-acf-field-google-map.php:181 +#: includes/fields/class-acf-field-google-map.php:233 msgid "Customise the map height" msgstr "Personalizar a altura do mapa" @@ -1952,33 +1904,33 @@ msgid "Group" msgstr "Grupo" #: includes/fields/class-acf-field-group.php:459 -#: pro/fields/class-acf-field-repeater.php:389 +#: pro/fields/class-acf-field-repeater.php:379 msgid "Sub Fields" msgstr "Subcampos" #: includes/fields/class-acf-field-group.php:475 -#: pro/fields/class-acf-field-clone.php:840 +#: pro/fields/class-acf-field-clone.php:844 msgid "Specify the style used to render the selected fields" msgstr "Especifica o estilo usado para mostrar os campos seleccionados." #: includes/fields/class-acf-field-group.php:480 -#: pro/fields/class-acf-field-clone.php:845 -#: pro/fields/class-acf-field-flexible-content.php:614 -#: pro/fields/class-acf-field-repeater.php:458 +#: pro/fields/class-acf-field-clone.php:849 +#: pro/fields/class-acf-field-flexible-content.php:627 +#: pro/fields/class-acf-field-repeater.php:451 msgid "Block" msgstr "Bloco" #: includes/fields/class-acf-field-group.php:481 -#: pro/fields/class-acf-field-clone.php:846 -#: pro/fields/class-acf-field-flexible-content.php:613 -#: pro/fields/class-acf-field-repeater.php:457 +#: pro/fields/class-acf-field-clone.php:850 +#: pro/fields/class-acf-field-flexible-content.php:626 +#: pro/fields/class-acf-field-repeater.php:450 msgid "Table" msgstr "Tabela" #: includes/fields/class-acf-field-group.php:482 -#: pro/fields/class-acf-field-clone.php:847 -#: pro/fields/class-acf-field-flexible-content.php:615 -#: pro/fields/class-acf-field-repeater.php:459 +#: pro/fields/class-acf-field-clone.php:851 +#: pro/fields/class-acf-field-flexible-content.php:628 +#: pro/fields/class-acf-field-repeater.php:452 msgid "Row" msgstr "Linha" @@ -1986,64 +1938,58 @@ msgstr "Linha" msgid "Image" msgstr "Imagem" -#: includes/fields/class-acf-field-image.php:40 +#: includes/fields/class-acf-field-image.php:64 msgid "Select Image" msgstr "Seleccionar imagem" -#: includes/fields/class-acf-field-image.php:41 -#: pro/fields/class-acf-field-gallery.php:42 +#: includes/fields/class-acf-field-image.php:65 msgid "Edit Image" msgstr "Editar imagem" -#: includes/fields/class-acf-field-image.php:42 -#: pro/fields/class-acf-field-gallery.php:43 +#: includes/fields/class-acf-field-image.php:66 msgid "Update Image" msgstr "Actualizar imagem" -#: includes/fields/class-acf-field-image.php:44 -msgid "All images" -msgstr "Todas as imagens" - -#: includes/fields/class-acf-field-image.php:140 +#: includes/fields/class-acf-field-image.php:157 msgid "No image selected" msgstr "Nenhuma imagem seleccionada" -#: includes/fields/class-acf-field-image.php:140 +#: includes/fields/class-acf-field-image.php:157 msgid "Add Image" msgstr "Adicionar imagem" -#: includes/fields/class-acf-field-image.php:194 +#: includes/fields/class-acf-field-image.php:211 msgid "Image Array" msgstr "Array da imagem" -#: includes/fields/class-acf-field-image.php:195 +#: includes/fields/class-acf-field-image.php:212 msgid "Image URL" msgstr "URL da imagem" -#: includes/fields/class-acf-field-image.php:196 +#: includes/fields/class-acf-field-image.php:213 msgid "Image ID" msgstr "ID da imagem" -#: includes/fields/class-acf-field-image.php:203 +#: includes/fields/class-acf-field-image.php:220 msgid "Preview Size" msgstr "Tamanho da pré-visualização" -#: includes/fields/class-acf-field-image.php:204 +#: includes/fields/class-acf-field-image.php:221 msgid "Shown when entering data" -msgstr "Mostrado ao introduzir dados" +msgstr "Mostrado ao inserir dados" -#: includes/fields/class-acf-field-image.php:228 -#: includes/fields/class-acf-field-image.php:257 -#: pro/fields/class-acf-field-gallery.php:670 -#: pro/fields/class-acf-field-gallery.php:699 +#: includes/fields/class-acf-field-image.php:245 +#: includes/fields/class-acf-field-image.php:274 +#: pro/fields/class-acf-field-gallery.php:685 +#: pro/fields/class-acf-field-gallery.php:714 msgid "Restrict which images can be uploaded" msgstr "Restringir que imagens que ser carregadas" -#: includes/fields/class-acf-field-image.php:231 -#: includes/fields/class-acf-field-image.php:260 -#: includes/fields/class-acf-field-oembed.php:270 -#: pro/fields/class-acf-field-gallery.php:673 -#: pro/fields/class-acf-field-gallery.php:702 +#: includes/fields/class-acf-field-image.php:248 +#: includes/fields/class-acf-field-image.php:277 +#: includes/fields/class-acf-field-oembed.php:257 +#: pro/fields/class-acf-field-gallery.php:688 +#: pro/fields/class-acf-field-gallery.php:717 msgid "Width" msgstr "Largura" @@ -2104,25 +2050,24 @@ msgstr "Mostrar HTML" #: includes/fields/class-acf-field-message.php:125 msgid "Allow HTML markup to display as visible text instead of rendering" -msgstr "" -"Permite visualizar o código HTML como texto visível, em vez de o processar." +msgstr "Permite visualizar o código HTML como texto visível, em vez de o processar." #: includes/fields/class-acf-field-number.php:25 msgid "Number" msgstr "Número" #: includes/fields/class-acf-field-number.php:163 -#: includes/fields/class-acf-field-range.php:157 +#: includes/fields/class-acf-field-range.php:155 msgid "Minimum Value" msgstr "Valor mínimo" #: includes/fields/class-acf-field-number.php:172 -#: includes/fields/class-acf-field-range.php:167 +#: includes/fields/class-acf-field-range.php:165 msgid "Maximum Value" msgstr "Valor máximo" #: includes/fields/class-acf-field-number.php:181 -#: includes/fields/class-acf-field-range.php:177 +#: includes/fields/class-acf-field-range.php:175 msgid "Step Size" msgstr "Valor dos passos" @@ -2144,21 +2089,12 @@ msgstr "O valor deve ser igual ou inferior a %d" msgid "oEmbed" msgstr "oEmbed" -#: includes/fields/class-acf-field-oembed.php:219 +#: includes/fields/class-acf-field-oembed.php:216 msgid "Enter URL" -msgstr "Introduza o URL" +msgstr "Insira o URL" -#: includes/fields/class-acf-field-oembed.php:234 -#: includes/fields/class-acf-field-taxonomy.php:898 -msgid "Error." -msgstr "Erro." - -#: includes/fields/class-acf-field-oembed.php:234 -msgid "No embed found for the given URL." -msgstr "Nenhuma incorporação encontrada para o URL introduzido." - -#: includes/fields/class-acf-field-oembed.php:267 -#: includes/fields/class-acf-field-oembed.php:278 +#: includes/fields/class-acf-field-oembed.php:254 +#: includes/fields/class-acf-field-oembed.php:265 msgid "Embed Size" msgstr "Tamanho da incorporação" @@ -2168,31 +2104,31 @@ msgstr "Arquivo" #: includes/fields/class-acf-field-page_link.php:269 #: includes/fields/class-acf-field-post_object.php:268 -#: includes/fields/class-acf-field-taxonomy.php:986 +#: includes/fields/class-acf-field-taxonomy.php:982 msgid "Parent" msgstr "Superior" #: includes/fields/class-acf-field-page_link.php:485 #: includes/fields/class-acf-field-post_object.php:384 -#: includes/fields/class-acf-field-relationship.php:623 +#: includes/fields/class-acf-field-relationship.php:641 msgid "Filter by Post Type" msgstr "Filtrar por tipo de conteúdo" #: includes/fields/class-acf-field-page_link.php:493 #: includes/fields/class-acf-field-post_object.php:392 -#: includes/fields/class-acf-field-relationship.php:631 +#: includes/fields/class-acf-field-relationship.php:649 msgid "All post types" msgstr "Todos os tipos de conteúdo" #: includes/fields/class-acf-field-page_link.php:499 #: includes/fields/class-acf-field-post_object.php:398 -#: includes/fields/class-acf-field-relationship.php:637 +#: includes/fields/class-acf-field-relationship.php:655 msgid "Filter by Taxonomy" msgstr "Filtrar por taxonomia" #: includes/fields/class-acf-field-page_link.php:507 #: includes/fields/class-acf-field-post_object.php:406 -#: includes/fields/class-acf-field-relationship.php:645 +#: includes/fields/class-acf-field-relationship.php:663 msgid "All taxonomies" msgstr "Todas as taxonomias" @@ -2202,8 +2138,8 @@ msgstr "Permitir URL do arquivo" #: includes/fields/class-acf-field-page_link.php:533 #: includes/fields/class-acf-field-post_object.php:422 -#: includes/fields/class-acf-field-select.php:396 -#: includes/fields/class-acf-field-user.php:418 +#: includes/fields/class-acf-field-select.php:398 +#: includes/fields/class-acf-field-user.php:419 msgid "Select multiple values?" msgstr "Seleccionar valores múltiplos?" @@ -2213,12 +2149,12 @@ msgstr "Senha" #: includes/fields/class-acf-field-post_object.php:25 #: includes/fields/class-acf-field-post_object.php:437 -#: includes/fields/class-acf-field-relationship.php:702 +#: includes/fields/class-acf-field-relationship.php:720 msgid "Post Object" msgstr "Conteúdo" #: includes/fields/class-acf-field-post_object.php:438 -#: includes/fields/class-acf-field-relationship.php:703 +#: includes/fields/class-acf-field-relationship.php:721 msgid "Post ID" msgstr "ID do conteúdo" @@ -2232,8 +2168,7 @@ msgstr "Outro" #: includes/fields/class-acf-field-radio.php:259 msgid "Add 'other' choice to allow for custom values" -msgstr "" -"Adicionar opção 'outros' para permitir a introdução de valores personalizados" +msgstr "Adicionar opção 'outros' para permitir a inserção de valores personalizados" #: includes/fields/class-acf-field-radio.php:265 msgid "Save Other" @@ -2251,67 +2186,64 @@ msgstr "Intervalo" msgid "Relationship" msgstr "Relação" -#: includes/fields/class-acf-field-relationship.php:37 -msgid "Minimum values reached ( {min} values )" -msgstr "Valor mínimo alcançado ( valor {min} )" - -#: includes/fields/class-acf-field-relationship.php:38 +#: includes/fields/class-acf-field-relationship.php:62 msgid "Maximum values reached ( {max} values )" msgstr "Valor máximo alcançado ( valor {max} )" -#: includes/fields/class-acf-field-relationship.php:39 +#: includes/fields/class-acf-field-relationship.php:63 msgid "Loading" msgstr "A carregar" -#: includes/fields/class-acf-field-relationship.php:40 +#: includes/fields/class-acf-field-relationship.php:64 msgid "No matches found" msgstr "Nenhuma correspondência encontrada" -#: includes/fields/class-acf-field-relationship.php:423 +#: includes/fields/class-acf-field-relationship.php:441 msgid "Select post type" msgstr "Seleccione tipo de conteúdo" -#: includes/fields/class-acf-field-relationship.php:449 +#: includes/fields/class-acf-field-relationship.php:467 msgid "Select taxonomy" msgstr "Seleccione taxonomia" -#: includes/fields/class-acf-field-relationship.php:539 +#: includes/fields/class-acf-field-relationship.php:557 msgid "Search..." msgstr "Pesquisar..." -#: includes/fields/class-acf-field-relationship.php:651 +#: includes/fields/class-acf-field-relationship.php:669 msgid "Filters" msgstr "Filtros" -#: includes/fields/class-acf-field-relationship.php:657 +#: includes/fields/class-acf-field-relationship.php:675 #: includes/locations/class-acf-location-post-type.php:27 msgid "Post Type" msgstr "Tipo de conteúdo" -#: includes/fields/class-acf-field-relationship.php:658 +#: includes/fields/class-acf-field-relationship.php:676 #: includes/fields/class-acf-field-taxonomy.php:28 -#: includes/fields/class-acf-field-taxonomy.php:763 +#: includes/fields/class-acf-field-taxonomy.php:754 +#: includes/locations/class-acf-location-taxonomy.php:27 msgid "Taxonomy" msgstr "Taxonomia" -#: includes/fields/class-acf-field-relationship.php:665 +#: includes/fields/class-acf-field-relationship.php:683 msgid "Elements" msgstr "Elementos" -#: includes/fields/class-acf-field-relationship.php:666 +#: includes/fields/class-acf-field-relationship.php:684 msgid "Selected elements will be displayed in each result" msgstr "Os elementos seleccionados serão mostrados em cada resultado." -#: includes/fields/class-acf-field-relationship.php:677 +#: includes/fields/class-acf-field-relationship.php:695 msgid "Minimum posts" msgstr "Mínimo de conteúdos" -#: includes/fields/class-acf-field-relationship.php:686 +#: includes/fields/class-acf-field-relationship.php:704 msgid "Maximum posts" msgstr "Máximo de conteúdos" -#: includes/fields/class-acf-field-relationship.php:790 -#: pro/fields/class-acf-field-gallery.php:800 +#: includes/fields/class-acf-field-relationship.php:808 +#: pro/fields/class-acf-field-gallery.php:815 #, php-format msgid "%s requires at least %s selection" msgid_plural "%s requires at least %s selections" @@ -2319,91 +2251,85 @@ msgstr[0] "%s requer pelo menos %s selecção" msgstr[1] "%s requer pelo menos %s selecções" #: includes/fields/class-acf-field-select.php:25 -#: includes/fields/class-acf-field-taxonomy.php:785 +#: includes/fields/class-acf-field-taxonomy.php:776 msgctxt "noun" msgid "Select" msgstr "Selecção" -#: includes/fields/class-acf-field-select.php:38 +#: includes/fields/class-acf-field-select.php:111 msgctxt "Select2 JS matches_1" msgid "One result is available, press enter to select it." msgstr "Um resultado encontrado, prima Enter para seleccioná-lo." -#: includes/fields/class-acf-field-select.php:39 +#: includes/fields/class-acf-field-select.php:112 #, php-format msgctxt "Select2 JS matches_n" msgid "%d results are available, use up and down arrow keys to navigate." -msgstr "" -"%d resultados encontrados, use as setas para cima ou baixo para navegar." +msgstr "%d resultados encontrados, use as setas para cima ou baixo para navegar." -#: includes/fields/class-acf-field-select.php:40 +#: includes/fields/class-acf-field-select.php:113 msgctxt "Select2 JS matches_0" msgid "No matches found" msgstr "Nenhuma correspondência encontrada" -#: includes/fields/class-acf-field-select.php:41 +#: includes/fields/class-acf-field-select.php:114 msgctxt "Select2 JS input_too_short_1" msgid "Please enter 1 or more characters" msgstr "Por favor insira 1 ou mais caracteres" -#: includes/fields/class-acf-field-select.php:42 +#: includes/fields/class-acf-field-select.php:115 #, php-format msgctxt "Select2 JS input_too_short_n" msgid "Please enter %d or more characters" msgstr "Por favor insira %d ou mais caracteres" -#: includes/fields/class-acf-field-select.php:43 +#: includes/fields/class-acf-field-select.php:116 msgctxt "Select2 JS input_too_long_1" msgid "Please delete 1 character" msgstr "Por favor elimine 1 caractere" -#: includes/fields/class-acf-field-select.php:44 +#: includes/fields/class-acf-field-select.php:117 #, php-format msgctxt "Select2 JS input_too_long_n" msgid "Please delete %d characters" msgstr "Por favor elimine %d caracteres" -#: includes/fields/class-acf-field-select.php:45 +#: includes/fields/class-acf-field-select.php:118 msgctxt "Select2 JS selection_too_long_1" msgid "You can only select 1 item" msgstr "Só pode seleccionar 1 item" -#: includes/fields/class-acf-field-select.php:46 +#: includes/fields/class-acf-field-select.php:119 #, php-format msgctxt "Select2 JS selection_too_long_n" msgid "You can only select %d items" msgstr "Só pode seleccionar %d itens" -#: includes/fields/class-acf-field-select.php:47 +#: includes/fields/class-acf-field-select.php:120 msgctxt "Select2 JS load_more" msgid "Loading more results…" msgstr "A carregar mais resultados…" -#: includes/fields/class-acf-field-select.php:48 +#: includes/fields/class-acf-field-select.php:121 msgctxt "Select2 JS searching" msgid "Searching…" msgstr "A pesquisar…" -#: includes/fields/class-acf-field-select.php:49 +#: includes/fields/class-acf-field-select.php:122 msgctxt "Select2 JS load_fail" msgid "Loading failed" msgstr "Falhou ao carregar" -#: includes/fields/class-acf-field-select.php:255 includes/media.php:54 -msgctxt "verb" -msgid "Select" -msgstr "Seleccionar" - -#: includes/fields/class-acf-field-select.php:406 +#: includes/fields/class-acf-field-select.php:408 #: includes/fields/class-acf-field-true_false.php:144 msgid "Stylised UI" msgstr "Interface estilizada" -#: includes/fields/class-acf-field-select.php:416 +#: includes/fields/class-acf-field-select.php:418 msgid "Use AJAX to lazy load choices?" msgstr "Utilizar AJAX para carregar opções?" -#: includes/fields/class-acf-field-select.php:427 +#: includes/fields/class-acf-field-select.php:434 msgid "Specify the value returned" msgstr "Especifica o valor devolvido." @@ -2420,99 +2346,95 @@ msgid "Placement" msgstr "Posição" #: includes/fields/class-acf-field-tab.php:115 -msgid "" -"Define an endpoint for the previous tabs to stop. This will start a new " -"group of tabs." -msgstr "" -"Define o fim dos separadores anteriores. Isto será o início de um novo grupo " -"de separadores." +msgid "Define an endpoint for the previous tabs to stop. This will start a new group of tabs." +msgstr "Define o fim dos separadores anteriores. Isto será o início de um novo grupo de separadores." -#: includes/fields/class-acf-field-taxonomy.php:713 +#: includes/fields/class-acf-field-taxonomy.php:714 #, php-format msgctxt "No terms" msgid "No %s" msgstr "Sem %s" -#: includes/fields/class-acf-field-taxonomy.php:732 -msgid "None" -msgstr "Nenhuma" - -#: includes/fields/class-acf-field-taxonomy.php:764 +#: includes/fields/class-acf-field-taxonomy.php:755 msgid "Select the taxonomy to be displayed" msgstr "Seleccione a taxonomia que será mostrada." -#: includes/fields/class-acf-field-taxonomy.php:773 +#: includes/fields/class-acf-field-taxonomy.php:764 msgid "Appearance" msgstr "Aparência" -#: includes/fields/class-acf-field-taxonomy.php:774 +#: includes/fields/class-acf-field-taxonomy.php:765 msgid "Select the appearance of this field" msgstr "Seleccione a aparência deste campo." -#: includes/fields/class-acf-field-taxonomy.php:779 +#: includes/fields/class-acf-field-taxonomy.php:770 msgid "Multiple Values" msgstr "Valores múltiplos" -#: includes/fields/class-acf-field-taxonomy.php:781 +#: includes/fields/class-acf-field-taxonomy.php:772 msgid "Multi Select" msgstr "Selecção múltipla" -#: includes/fields/class-acf-field-taxonomy.php:783 +#: includes/fields/class-acf-field-taxonomy.php:774 msgid "Single Value" msgstr "Valor único" -#: includes/fields/class-acf-field-taxonomy.php:784 +#: includes/fields/class-acf-field-taxonomy.php:775 msgid "Radio Buttons" msgstr "Botões de opções" -#: includes/fields/class-acf-field-taxonomy.php:803 +#: includes/fields/class-acf-field-taxonomy.php:799 msgid "Create Terms" msgstr "Criar termos" -#: includes/fields/class-acf-field-taxonomy.php:804 +#: includes/fields/class-acf-field-taxonomy.php:800 msgid "Allow new terms to be created whilst editing" msgstr "Permite a criação de novos termos durante a edição." -#: includes/fields/class-acf-field-taxonomy.php:813 +#: includes/fields/class-acf-field-taxonomy.php:809 msgid "Save Terms" msgstr "Guardar termos" -#: includes/fields/class-acf-field-taxonomy.php:814 +#: includes/fields/class-acf-field-taxonomy.php:810 msgid "Connect selected terms to the post" msgstr "Liga os termos seleccionados ao conteúdo." -#: includes/fields/class-acf-field-taxonomy.php:823 +#: includes/fields/class-acf-field-taxonomy.php:819 msgid "Load Terms" msgstr "Carregar termos" -#: includes/fields/class-acf-field-taxonomy.php:824 +#: includes/fields/class-acf-field-taxonomy.php:820 msgid "Load value from posts terms" msgstr "Carrega os termos a partir dos termos dos conteúdos." -#: includes/fields/class-acf-field-taxonomy.php:838 +#: includes/fields/class-acf-field-taxonomy.php:834 msgid "Term Object" msgstr "Termo" -#: includes/fields/class-acf-field-taxonomy.php:839 +#: includes/fields/class-acf-field-taxonomy.php:835 msgid "Term ID" msgstr "ID do termo" -#: includes/fields/class-acf-field-taxonomy.php:898 +#: includes/fields/class-acf-field-taxonomy.php:894 +msgid "Error." +msgstr "Erro." + +#: includes/fields/class-acf-field-taxonomy.php:894 #, php-format msgid "User unable to add new %s" msgstr "O utilizador não pôde adicionar novo(a) %s" -#: includes/fields/class-acf-field-taxonomy.php:911 +#: includes/fields/class-acf-field-taxonomy.php:907 #, php-format msgid "%s already exists" msgstr "%s já existe" -#: includes/fields/class-acf-field-taxonomy.php:952 +#: includes/fields/class-acf-field-taxonomy.php:948 #, php-format msgid "%s added" msgstr "%s adicionado(a)" -#: includes/fields/class-acf-field-taxonomy.php:997 +#: includes/fields/class-acf-field-taxonomy.php:994 msgid "Add" msgstr "Adicionar" @@ -2550,18 +2472,6 @@ msgstr "Selecção de hora" msgid "True / False" msgstr "Verdadeiro / Falso" -#: includes/fields/class-acf-field-true_false.php:79 -#: includes/fields/class-acf-field-true_false.php:159 includes/input.php:267 -#: pro/admin/views/html-settings-updates.php:89 -msgid "Yes" -msgstr "Sim" - -#: includes/fields/class-acf-field-true_false.php:80 -#: includes/fields/class-acf-field-true_false.php:169 includes/input.php:268 -#: pro/admin/views/html-settings-updates.php:99 -msgid "No" -msgstr "Não" - #: includes/fields/class-acf-field-true_false.php:127 msgid "Displays text alongside the checkbox" msgstr "Texto mostrado ao lado da caixa de selecção" @@ -2574,11 +2484,11 @@ msgstr "Texto ligado" msgid "Text shown when active" msgstr "Texto mostrado quando activo" -#: includes/fields/class-acf-field-true_false.php:165 +#: includes/fields/class-acf-field-true_false.php:170 msgid "Off Text" msgstr "Texto desligado" -#: includes/fields/class-acf-field-true_false.php:166 +#: includes/fields/class-acf-field-true_false.php:171 msgid "Text shown when inactive" msgstr "Texto mostrado quando inactivo" @@ -2594,64 +2504,76 @@ msgstr "O valor deve ser um URL válido" msgid "User" msgstr "Utilizador" -#: includes/fields/class-acf-field-user.php:393 +#: includes/fields/class-acf-field-user.php:394 msgid "Filter by role" msgstr "Filtrar por papel" -#: includes/fields/class-acf-field-user.php:401 +#: includes/fields/class-acf-field-user.php:402 msgid "All user roles" msgstr "Todos os papéis de utilizador" +#: includes/fields/class-acf-field-user.php:433 +msgid "User Array" +msgstr "Array do utilizador" + +#: includes/fields/class-acf-field-user.php:434 +msgid "User Object" +msgstr "Objecto do utilizador" + +#: includes/fields/class-acf-field-user.php:435 +msgid "User ID" +msgstr "ID do utilizador" + #: includes/fields/class-acf-field-wysiwyg.php:25 msgid "Wysiwyg Editor" msgstr "Editor wysiwyg" -#: includes/fields/class-acf-field-wysiwyg.php:359 +#: includes/fields/class-acf-field-wysiwyg.php:346 msgid "Visual" msgstr "Visual" -#: includes/fields/class-acf-field-wysiwyg.php:360 +#: includes/fields/class-acf-field-wysiwyg.php:347 msgctxt "Name for the Text editor tab (formerly HTML)" msgid "Text" msgstr "HTML" -#: includes/fields/class-acf-field-wysiwyg.php:366 +#: includes/fields/class-acf-field-wysiwyg.php:353 msgid "Click to initialize TinyMCE" msgstr "Clique para inicializar o TinyMCE" -#: includes/fields/class-acf-field-wysiwyg.php:419 +#: includes/fields/class-acf-field-wysiwyg.php:406 msgid "Tabs" msgstr "Separadores" -#: includes/fields/class-acf-field-wysiwyg.php:424 +#: includes/fields/class-acf-field-wysiwyg.php:411 msgid "Visual & Text" msgstr "Visual e HTML" -#: includes/fields/class-acf-field-wysiwyg.php:425 +#: includes/fields/class-acf-field-wysiwyg.php:412 msgid "Visual Only" msgstr "Apenas visual" -#: includes/fields/class-acf-field-wysiwyg.php:426 +#: includes/fields/class-acf-field-wysiwyg.php:413 msgid "Text Only" msgstr "Apenas HTML" -#: includes/fields/class-acf-field-wysiwyg.php:433 +#: includes/fields/class-acf-field-wysiwyg.php:420 msgid "Toolbar" msgstr "Barra de ferramentas" -#: includes/fields/class-acf-field-wysiwyg.php:443 +#: includes/fields/class-acf-field-wysiwyg.php:435 msgid "Show Media Upload Buttons?" msgstr "Mostrar botões de carregar multimédia?" -#: includes/fields/class-acf-field-wysiwyg.php:453 +#: includes/fields/class-acf-field-wysiwyg.php:445 msgid "Delay initialization?" msgstr "Atrasar a inicialização?" -#: includes/fields/class-acf-field-wysiwyg.php:454 +#: includes/fields/class-acf-field-wysiwyg.php:446 msgid "TinyMCE will not be initalized until field is clicked" msgstr "O TinyMCE não será inicializado até que clique no campo" -#: includes/forms/form-comment.php:166 includes/forms/form-post.php:303 +#: includes/forms/form-comment.php:166 includes/forms/form-post.php:305 #: pro/admin/admin-options-page.php:308 msgid "Edit field group" msgstr "Editar grupo de campos" @@ -2660,8 +2582,8 @@ msgstr "Editar grupo de campos" msgid "Validate Email" msgstr "Validar email" -#: includes/forms/form-front.php:103 -#: pro/fields/class-acf-field-gallery.php:573 pro/options-page.php:81 +#: includes/forms/form-front.php:103 pro/fields/class-acf-field-gallery.php:588 +#: pro/options-page.php:81 msgid "Update" msgstr "Actualizar" @@ -2673,44 +2595,6 @@ msgstr "Artigo actualizado" msgid "Spam Detected" msgstr "Spam detectado" -#: includes/input.php:259 -msgid "Expand Details" -msgstr "Expandir detalhes" - -#: includes/input.php:260 -msgid "Collapse Details" -msgstr "Minimizar detalhes" - -#: includes/input.php:261 -msgid "Validation successful" -msgstr "Validação bem sucedida" - -#: includes/input.php:262 includes/validation.php:285 -#: includes/validation.php:296 -msgid "Validation failed" -msgstr "A validação falhou" - -#: includes/input.php:263 -msgid "1 field requires attention" -msgstr "1 campo requer a sua atenção" - -#: includes/input.php:264 -#, php-format -msgid "%d fields require attention" -msgstr "%d campos requerem a sua atenção" - -#: includes/input.php:265 -msgid "Restricted" -msgstr "Restrito" - -#: includes/input.php:266 -msgid "Are you sure?" -msgstr "Tem a certeza?" - -#: includes/input.php:270 -msgid "Cancel" -msgstr "Cancelar" - #: includes/locations.php:93 includes/locations/class-acf-location-post.php:27 msgid "Post" msgstr "Artigo" @@ -2723,6 +2607,14 @@ msgstr "Página" msgid "Forms" msgstr "Formulários" +#: includes/locations.php:247 +msgid "is equal to" +msgstr "é igual a" + +#: includes/locations.php:248 +msgid "is not equal to" +msgstr "não é igual a" + #: includes/locations/class-acf-location-attachment.php:27 msgid "Attachment" msgstr "Anexo" @@ -2793,23 +2685,23 @@ msgstr "Modelo por omissão" msgid "Page Type" msgstr "Tipo de página" -#: includes/locations/class-acf-location-page-type.php:145 +#: includes/locations/class-acf-location-page-type.php:146 msgid "Front Page" msgstr "Página inicial" -#: includes/locations/class-acf-location-page-type.php:146 +#: includes/locations/class-acf-location-page-type.php:147 msgid "Posts Page" msgstr "Página de artigos" -#: includes/locations/class-acf-location-page-type.php:147 +#: includes/locations/class-acf-location-page-type.php:148 msgid "Top Level Page (no parent)" msgstr "Página de topo (sem superior)" -#: includes/locations/class-acf-location-page-type.php:148 +#: includes/locations/class-acf-location-page-type.php:149 msgid "Parent Page (has children)" msgstr "Página superior (tem dependentes)" -#: includes/locations/class-acf-location-page-type.php:149 +#: includes/locations/class-acf-location-page-type.php:150 msgid "Child Page (has parent)" msgstr "Página dependente (tem superior)" @@ -2833,10 +2725,6 @@ msgstr "Taxonomia do artigo" msgid "Post Template" msgstr "Modelo de conteúdo" -#: includes/locations/class-acf-location-taxonomy.php:27 -msgid "Taxonomy Term" -msgstr "Termo de taxonomia" - #: includes/locations/class-acf-location-user-form.php:27 msgid "User Form" msgstr "Formulário de utilizador" @@ -2857,16 +2745,6 @@ msgstr "Papel de utilizador" msgid "Widget" msgstr "Widget" -#: includes/media.php:55 -msgctxt "verb" -msgid "Edit" -msgstr "Editar" - -#: includes/media.php:56 -msgctxt "verb" -msgid "Update" -msgstr "Actualizar" - #: includes/validation.php:364 #, php-format msgid "%s value is required" @@ -2883,12 +2761,8 @@ msgstr "Publicado" #: pro/admin/admin-options-page.php:206 #, php-format -msgid "" -"No Custom Field Groups found for this options page. Create a " -"Custom Field Group" -msgstr "" -"Nenhum grupo de campos personalizado encontrado na página de opções. Criar um grupo de campos personalizado" +msgid "No Custom Field Groups found for this options page. Create a Custom Field Group" +msgstr "Nenhum grupo de campos personalizado encontrado na página de opções. Criar um grupo de campos personalizado" #: pro/admin/admin-settings-updates.php:78 msgid "Error. Could not connect to update server" @@ -2913,14 +2787,8 @@ msgstr "Informações da licença" #: pro/admin/views/html-settings-updates.php:20 #, php-format -msgid "" -"To unlock updates, please enter your license key below. If you don't have a " -"licence key, please see details & pricing." -msgstr "" -"Para desbloquear as actualizações, por favor introduza a sua chave de " -"licença. Se não tiver uma chave de licença, por favor veja os detalhes e preços." +msgid "To unlock updates, please enter your license key below. If you don't have a licence key, please see details & pricing." +msgstr "Para desbloquear as actualizações, por favor insira a sua chave de licença. Se não tiver uma chave de licença, por favor consulte os detalhes e preços." #: pro/admin/views/html-settings-updates.php:29 msgid "License Key" @@ -2948,9 +2816,7 @@ msgstr "Actualizar plugin" #: pro/admin/views/html-settings-updates.php:94 msgid "Please enter your license key above to unlock updates" -msgstr "" -"Por favor introduza a sua chave de licença acima para desbloquear as " -"actualizações" +msgstr "Por favor, insira acima a sua chave de licença para desbloquear as actualizações" #: pro/admin/views/html-settings-updates.php:100 msgid "Check Again" @@ -2958,270 +2824,265 @@ msgstr "Verificar de novo" #: pro/admin/views/html-settings-updates.php:117 msgid "Upgrade Notice" -msgstr "Aviso de actualização" +msgstr "Informações sobre a actualização" #: pro/fields/class-acf-field-clone.php:25 msgctxt "noun" msgid "Clone" msgstr "Clone" -#: pro/fields/class-acf-field-clone.php:808 +#: pro/fields/class-acf-field-clone.php:812 msgid "Select one or more fields you wish to clone" msgstr "Seleccione um ou mais campos que deseje clonar." -#: pro/fields/class-acf-field-clone.php:825 +#: pro/fields/class-acf-field-clone.php:829 msgid "Display" msgstr "Visualização" -#: pro/fields/class-acf-field-clone.php:826 +#: pro/fields/class-acf-field-clone.php:830 msgid "Specify the style used to render the clone field" msgstr "Especifica o estilo usado para mostrar o campo de clone." -#: pro/fields/class-acf-field-clone.php:831 +#: pro/fields/class-acf-field-clone.php:835 msgid "Group (displays selected fields in a group within this field)" msgstr "Grupo (mostra os campos seleccionados num grupo dentro deste campo)" -#: pro/fields/class-acf-field-clone.php:832 +#: pro/fields/class-acf-field-clone.php:836 msgid "Seamless (replaces this field with selected fields)" msgstr "Simples (substitui este campo pelos campos seleccionados)" -#: pro/fields/class-acf-field-clone.php:853 +#: pro/fields/class-acf-field-clone.php:857 #, php-format msgid "Labels will be displayed as %s" msgstr "As legendas serão mostradas com %s" -#: pro/fields/class-acf-field-clone.php:856 +#: pro/fields/class-acf-field-clone.php:860 msgid "Prefix Field Labels" msgstr "Prefixo nas legendas dos campos" -#: pro/fields/class-acf-field-clone.php:867 +#: pro/fields/class-acf-field-clone.php:871 #, php-format msgid "Values will be saved as %s" msgstr "Os valores serão guardados como %s" -#: pro/fields/class-acf-field-clone.php:870 +#: pro/fields/class-acf-field-clone.php:874 msgid "Prefix Field Names" msgstr "Prefixos nos nomes dos campos" -#: pro/fields/class-acf-field-clone.php:988 +#: pro/fields/class-acf-field-clone.php:992 msgid "Unknown field" msgstr "Campo desconhecido" -#: pro/fields/class-acf-field-clone.php:1027 +#: pro/fields/class-acf-field-clone.php:1031 msgid "Unknown field group" msgstr "Grupo de campos desconhecido" -#: pro/fields/class-acf-field-clone.php:1031 +#: pro/fields/class-acf-field-clone.php:1035 #, php-format msgid "All fields from %s field group" msgstr "Todos os campos do grupo de campos %s" #: pro/fields/class-acf-field-flexible-content.php:31 -#: pro/fields/class-acf-field-repeater.php:174 -#: pro/fields/class-acf-field-repeater.php:470 +#: pro/fields/class-acf-field-repeater.php:193 +#: pro/fields/class-acf-field-repeater.php:463 msgid "Add Row" msgstr "Adicionar linha" -#: pro/fields/class-acf-field-flexible-content.php:34 +#: pro/fields/class-acf-field-flexible-content.php:73 +#: pro/fields/class-acf-field-flexible-content.php:938 +#: pro/fields/class-acf-field-flexible-content.php:1020 msgid "layout" -msgstr "layout" +msgid_plural "layouts" +msgstr[0] "layout" +msgstr[1] "layouts" -#: pro/fields/class-acf-field-flexible-content.php:35 +#: pro/fields/class-acf-field-flexible-content.php:74 msgid "layouts" msgstr "layouts" -#: pro/fields/class-acf-field-flexible-content.php:36 -msgid "remove {layout}?" -msgstr "remover {layout}?" - -#: pro/fields/class-acf-field-flexible-content.php:37 -msgid "This field requires at least {min} {identifier}" -msgstr "Este campo requer pelo menos {min} {identifier}" - -#: pro/fields/class-acf-field-flexible-content.php:38 -msgid "This field has a limit of {max} {identifier}" -msgstr "Este campo está limitado a {max} {identifier}" - -#: pro/fields/class-acf-field-flexible-content.php:39 +#: pro/fields/class-acf-field-flexible-content.php:77 +#: pro/fields/class-acf-field-flexible-content.php:937 +#: pro/fields/class-acf-field-flexible-content.php:1019 msgid "This field requires at least {min} {label} {identifier}" -msgstr "Este campo requer pelo menos {min} {label} {identifier}" +msgstr "Este campo requer pelo menos {min} {identifier} {label}" -#: pro/fields/class-acf-field-flexible-content.php:40 -msgid "Maximum {label} limit reached ({max} {identifier})" -msgstr "Limite máximo de {label} alcançado ({max} {identifier})" +#: pro/fields/class-acf-field-flexible-content.php:78 +msgid "This field has a limit of {max} {label} {identifier}" +msgstr "Este campo está limitado a {max} {identifier} {label}" -#: pro/fields/class-acf-field-flexible-content.php:41 +#: pro/fields/class-acf-field-flexible-content.php:81 msgid "{available} {label} {identifier} available (max {max})" -msgstr "{available} {identifier} {label} à disposição (máx {max})" +msgstr "{available} {identifier} {label} disponível (máx {max})" -#: pro/fields/class-acf-field-flexible-content.php:42 +#: pro/fields/class-acf-field-flexible-content.php:82 msgid "{required} {label} {identifier} required (min {min})" msgstr "{required} {identifier} {label} em falta (mín {min})" -#: pro/fields/class-acf-field-flexible-content.php:43 +#: pro/fields/class-acf-field-flexible-content.php:85 msgid "Flexible Content requires at least 1 layout" msgstr "O conteúdo flexível requer pelo menos 1 layout" -#: pro/fields/class-acf-field-flexible-content.php:273 +#: pro/fields/class-acf-field-flexible-content.php:302 #, php-format msgid "Click the \"%s\" button below to start creating your layout" msgstr "Clique no botão \"%s\" abaixo para começar a criar o seu layout" -#: pro/fields/class-acf-field-flexible-content.php:406 +#: pro/fields/class-acf-field-flexible-content.php:427 msgid "Add layout" msgstr "Adicionar layout" -#: pro/fields/class-acf-field-flexible-content.php:407 +#: pro/fields/class-acf-field-flexible-content.php:428 msgid "Remove layout" msgstr "Remover layout" -#: pro/fields/class-acf-field-flexible-content.php:408 -#: pro/fields/class-acf-field-repeater.php:298 +#: pro/fields/class-acf-field-flexible-content.php:429 +#: pro/fields/class-acf-field-repeater.php:296 msgid "Click to toggle" msgstr "Clique para alternar" -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:569 msgid "Reorder Layout" msgstr "Reordenar layout" -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:569 msgid "Reorder" msgstr "Reordenar" -#: pro/fields/class-acf-field-flexible-content.php:557 +#: pro/fields/class-acf-field-flexible-content.php:570 msgid "Delete Layout" msgstr "Eliminar layout" -#: pro/fields/class-acf-field-flexible-content.php:558 +#: pro/fields/class-acf-field-flexible-content.php:571 msgid "Duplicate Layout" msgstr "Duplicar layout" -#: pro/fields/class-acf-field-flexible-content.php:559 +#: pro/fields/class-acf-field-flexible-content.php:572 msgid "Add New Layout" msgstr "Adicionar novo layout" -#: pro/fields/class-acf-field-flexible-content.php:630 +#: pro/fields/class-acf-field-flexible-content.php:643 msgid "Min" msgstr "Mín" -#: pro/fields/class-acf-field-flexible-content.php:643 +#: pro/fields/class-acf-field-flexible-content.php:656 msgid "Max" msgstr "Máx" -#: pro/fields/class-acf-field-flexible-content.php:670 -#: pro/fields/class-acf-field-repeater.php:466 +#: pro/fields/class-acf-field-flexible-content.php:683 +#: pro/fields/class-acf-field-repeater.php:459 msgid "Button Label" msgstr "Legenda do botão" -#: pro/fields/class-acf-field-flexible-content.php:679 +#: pro/fields/class-acf-field-flexible-content.php:692 msgid "Minimum Layouts" msgstr "Mínimo de layouts" -#: pro/fields/class-acf-field-flexible-content.php:688 +#: pro/fields/class-acf-field-flexible-content.php:701 msgid "Maximum Layouts" msgstr "Máximo de layouts" -#: pro/fields/class-acf-field-gallery.php:41 +#: pro/fields/class-acf-field-gallery.php:71 msgid "Add Image to Gallery" msgstr "Adicionar imagem à galeria" -#: pro/fields/class-acf-field-gallery.php:45 +#: pro/fields/class-acf-field-gallery.php:72 msgid "Maximum selection reached" msgstr "Máximo de selecção alcançado" -#: pro/fields/class-acf-field-gallery.php:321 +#: pro/fields/class-acf-field-gallery.php:336 msgid "Length" msgstr "Comprimento" -#: pro/fields/class-acf-field-gallery.php:364 +#: pro/fields/class-acf-field-gallery.php:379 msgid "Caption" msgstr "Legenda" -#: pro/fields/class-acf-field-gallery.php:373 +#: pro/fields/class-acf-field-gallery.php:388 msgid "Alt Text" msgstr "Texto alternativo" -#: pro/fields/class-acf-field-gallery.php:544 +#: pro/fields/class-acf-field-gallery.php:559 msgid "Add to gallery" msgstr "Adicionar à galeria" -#: pro/fields/class-acf-field-gallery.php:548 +#: pro/fields/class-acf-field-gallery.php:563 msgid "Bulk actions" msgstr "Acções por lotes" -#: pro/fields/class-acf-field-gallery.php:549 +#: pro/fields/class-acf-field-gallery.php:564 msgid "Sort by date uploaded" msgstr "Ordenar por data de carregamento" -#: pro/fields/class-acf-field-gallery.php:550 +#: pro/fields/class-acf-field-gallery.php:565 msgid "Sort by date modified" msgstr "Ordenar por data de modificação" -#: pro/fields/class-acf-field-gallery.php:551 +#: pro/fields/class-acf-field-gallery.php:566 msgid "Sort by title" msgstr "Ordenar por título" -#: pro/fields/class-acf-field-gallery.php:552 +#: pro/fields/class-acf-field-gallery.php:567 msgid "Reverse current order" msgstr "Inverter ordem actual" -#: pro/fields/class-acf-field-gallery.php:570 +#: pro/fields/class-acf-field-gallery.php:585 msgid "Close" msgstr "Fechar" -#: pro/fields/class-acf-field-gallery.php:624 +#: pro/fields/class-acf-field-gallery.php:639 msgid "Minimum Selection" msgstr "Selecção mínima" -#: pro/fields/class-acf-field-gallery.php:633 +#: pro/fields/class-acf-field-gallery.php:648 msgid "Maximum Selection" msgstr "Selecção máxima" -#: pro/fields/class-acf-field-gallery.php:642 +#: pro/fields/class-acf-field-gallery.php:657 msgid "Insert" msgstr "Inserir" -#: pro/fields/class-acf-field-gallery.php:643 +#: pro/fields/class-acf-field-gallery.php:658 msgid "Specify where new attachments are added" msgstr "Especifica onde serão adicionados os novos anexos." -#: pro/fields/class-acf-field-gallery.php:647 +#: pro/fields/class-acf-field-gallery.php:662 msgid "Append to the end" msgstr "No fim" -#: pro/fields/class-acf-field-gallery.php:648 +#: pro/fields/class-acf-field-gallery.php:663 msgid "Prepend to the beginning" msgstr "No início" -#: pro/fields/class-acf-field-repeater.php:36 +#: pro/fields/class-acf-field-repeater.php:65 +#: pro/fields/class-acf-field-repeater.php:656 msgid "Minimum rows reached ({min} rows)" msgstr "Mínimo de linhas alcançado ({min} linhas)" -#: pro/fields/class-acf-field-repeater.php:37 +#: pro/fields/class-acf-field-repeater.php:66 msgid "Maximum rows reached ({max} rows)" msgstr "Máximo de linhas alcançado ({max} linhas)" -#: pro/fields/class-acf-field-repeater.php:343 +#: pro/fields/class-acf-field-repeater.php:333 msgid "Add row" msgstr "Adicionar linha" -#: pro/fields/class-acf-field-repeater.php:344 +#: pro/fields/class-acf-field-repeater.php:334 msgid "Remove row" msgstr "Remover linha" -#: pro/fields/class-acf-field-repeater.php:419 +#: pro/fields/class-acf-field-repeater.php:412 msgid "Collapsed" msgstr "Minimizado" -#: pro/fields/class-acf-field-repeater.php:420 +#: pro/fields/class-acf-field-repeater.php:413 msgid "Select a sub field to show when row is collapsed" msgstr "Seleccione o subcampo a mostrar ao minimizar a linha." -#: pro/fields/class-acf-field-repeater.php:430 +#: pro/fields/class-acf-field-repeater.php:423 msgid "Minimum Rows" msgstr "Mínimo de linhas" -#: pro/fields/class-acf-field-repeater.php:440 +#: pro/fields/class-acf-field-repeater.php:433 msgid "Maximum Rows" msgstr "Máximo de linhas" @@ -3239,14 +3100,8 @@ msgstr "Opções actualizadas" #: pro/updates.php:97 #, php-format -msgid "" -"To enable updates, please enter your license key on the Updates page. If you don't have a licence key, please see details & pricing." -msgstr "" -"Para permitir actualizações, por favor introduza a sua chave de licença na " -"página de Actualizações. Se não tiver uma chave de " -"licença, por favor veja os detalhes e preços." +msgid "To enable updates, please enter your license key on the Updates page. If you don't have a licence key, please see details & pricing." +msgstr "Para permitir actualizações, por favor insira a sua chave de licença na página de Actualizações. Se não tiver uma chave de licença, por favor veja os detalhes e preços." #. Plugin URI of the plugin/theme msgid "https://www.advancedcustomfields.com/" @@ -3259,3 +3114,36 @@ msgstr "Elliot Condon" #. Author URI of the plugin/theme msgid "http://www.elliotcondon.com/" msgstr "http://www.elliotcondon.com/" + +#~ msgid "checked" +#~ msgstr "seleccionado" + +#~ msgid "None" +#~ msgstr "Nenhuma" + +#~ msgid "remove {layout}?" +#~ msgstr "remover {layout}?" + +#~ msgid "This field requires at least {min} {identifier}" +#~ msgstr "Este campo requer pelo menos {min} {identifier}" + +#~ msgid "This field has a limit of {max} {identifier}" +#~ msgstr "Este campo está limitado a {max} {identifier}" + +#~ msgid "Maximum {label} limit reached ({max} {identifier})" +#~ msgstr "Limite máximo de {label} alcançado ({max} {identifier})" + +#~ msgid "No conditional fields available" +#~ msgstr "Nenhum campo condicional disponível" + +#~ msgid "Parent fields" +#~ msgstr "Campos superiores" + +#~ msgid "Sibling fields" +#~ msgstr "Campos do grupo" + +#~ msgid "Locating" +#~ msgstr "A obter localização" + +#~ msgid "Minimum values reached ( {min} values )" +#~ msgstr "Valor mínimo alcançado ( valor {min} )" diff --git a/lang/acf-ro_RO.mo b/lang/acf-ro_RO.mo index 6ac7211f34855debb7a7c6f3610ca3ff72595aed..37818247d60587c1355906bce4a775ac0d431822 100644 GIT binary patch delta 15801 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 de4JQ*d}*EssMN^)b{a=q$W5ECb diff --git a/lang/acf-ro_RO.po b/lang/acf-ro_RO.po index a1156b5..c3d0e23 100644 --- a/lang/acf-ro_RO.po +++ b/lang/acf-ro_RO.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Advanced Custom Fields Pro v5.2.9\n" "Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n" -"POT-Creation-Date: 2017-08-01 13:31+1000\n" -"PO-Revision-Date: 2018-02-06 10:06+1000\n" +"POT-Creation-Date: 2018-04-16 17:11+1000\n" +"PO-Revision-Date: 2018-04-29 13:58+0300\n" "Last-Translator: Elliot Condon \n" "Language-Team: Elliot Condon \n" "Language: ro_RO\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" -"X-Generator: Poedit 1.8.1\n" +"X-Generator: Poedit 2.0.7\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" @@ -23,103 +23,102 @@ msgstr "" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.js\n" -#: acf.php:63 +#: acf.php:81 msgid "Advanced Custom Fields" msgstr "Câmpuri Personalizate Avansate" -#: acf.php:354 includes/admin/admin.php:117 +#: acf.php:388 includes/admin/admin.php:117 msgid "Field Groups" msgstr "Grupuri de câmpuri" -#: acf.php:355 +#: acf.php:389 msgid "Field Group" msgstr "Grup de câmp" -#: acf.php:356 acf.php:388 includes/admin/admin.php:118 -#: pro/fields/class-acf-field-flexible-content.php:559 +#: acf.php:390 acf.php:422 includes/admin/admin.php:118 +#: pro/fields/class-acf-field-flexible-content.php:551 msgid "Add New" msgstr "Adaungă" -#: acf.php:357 +#: acf.php:391 msgid "Add New Field Group" msgstr "Adaugă un nou grup de câmpuri" -#: acf.php:358 +#: acf.php:392 msgid "Edit Field Group" msgstr "Editează grupul" -#: acf.php:359 +#: acf.php:393 msgid "New Field Group" msgstr "Grup de câmp nou" -#: acf.php:360 +#: acf.php:394 msgid "View Field Group" msgstr "Vizulaizează grupul de câmp" -#: acf.php:361 +#: acf.php:395 msgid "Search Field Groups" msgstr "Caută în grupurile de câmp" -#: acf.php:362 +#: acf.php:396 msgid "No Field Groups found" msgstr "Nu s-a găsit nici un câmp de grupuri" -#: acf.php:363 +#: acf.php:397 msgid "No Field Groups found in Trash" msgstr "Nu s-a găsit nici un câmp de grupuri în coșul de gunoi" -#: acf.php:386 includes/admin/admin-field-group.php:182 -#: includes/admin/admin-field-group.php:275 +#: acf.php:420 includes/admin/admin-field-group.php:196 #: includes/admin/admin-field-groups.php:510 -#: pro/fields/class-acf-field-clone.php:823 +#: pro/fields/class-acf-field-clone.php:811 msgid "Fields" msgstr "Câmpuri" -#: acf.php:387 +#: acf.php:421 msgid "Field" msgstr "Câmp" -#: acf.php:389 +#: acf.php:423 msgid "Add New Field" msgstr "Adaugă un nou câmp" -#: acf.php:390 +#: acf.php:424 msgid "Edit Field" msgstr "Editează câmpul" -#: acf.php:391 includes/admin/views/field-group-fields.php:41 +#: acf.php:425 includes/admin/views/field-group-fields.php:41 #: includes/admin/views/settings-info.php:105 msgid "New Field" msgstr "Câmp nou" -#: acf.php:392 +#: acf.php:426 msgid "View Field" msgstr "Vizualizează câmpul" -#: acf.php:393 +#: acf.php:427 msgid "Search Fields" msgstr "Caută câmpuri" -#: acf.php:394 +#: acf.php:428 msgid "No Fields found" msgstr "Nu s-au găsit câmpuri" -#: acf.php:395 +#: acf.php:429 msgid "No Fields found in Trash" msgstr "Nu s-a găsit nici un câmp în coșul de gunoi" -#: acf.php:434 includes/admin/admin-field-group.php:390 +#: acf.php:468 includes/admin/admin-field-group.php:377 #: includes/admin/admin-field-groups.php:567 msgid "Inactive" -msgstr "" +msgstr "Inactiv" -#: acf.php:439 +#: acf.php:473 #, php-format msgid "Inactive (%s)" msgid_plural "Inactive (%s)" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Inactiv (%s)" +msgstr[1] "Inactive (%s)" +msgstr[2] "Inactivs (%s)" #: includes/admin/admin-field-group.php:68 #: includes/admin/admin-field-group.php:69 @@ -151,99 +150,88 @@ msgstr "Grup programat pentru." msgid "Field group draft updated." msgstr "Ciorna grup actualizat." -#: includes/admin/admin-field-group.php:183 -msgid "Location" -msgstr "Locația" - -#: includes/admin/admin-field-group.php:184 -msgid "Settings" -msgstr "" - -#: includes/admin/admin-field-group.php:269 -msgid "Move to trash. Are you sure?" -msgstr "Mută în coșul de gunoi. Ești sigur?" - -#: includes/admin/admin-field-group.php:270 -msgid "checked" -msgstr "marcat" - -#: includes/admin/admin-field-group.php:271 -msgid "No toggle fields available" -msgstr "Nu sunt câmpuri de comutare disponibile" - -#: includes/admin/admin-field-group.php:272 -msgid "Field group title is required" -msgstr "Titlul grupului este obligatoriu" - -#: includes/admin/admin-field-group.php:273 -#: includes/api/api-field-group.php:732 -msgid "copy" -msgstr "copie" - -#: includes/admin/admin-field-group.php:274 -#: includes/admin/views/field-group-field-conditional-logic.php:54 -#: includes/admin/views/field-group-field-conditional-logic.php:154 -#: includes/admin/views/field-group-locations.php:29 -#: includes/admin/views/html-location-group.php:3 -#: includes/api/api-helpers.php:3964 -msgid "or" -msgstr "sau" - -#: includes/admin/admin-field-group.php:276 -msgid "Parent fields" -msgstr "Câpuri parinte" - -#: includes/admin/admin-field-group.php:277 -msgid "Sibling fields" -msgstr "Câmpuri copil" - -#: includes/admin/admin-field-group.php:278 -msgid "Move Custom Field" -msgstr "Mută câmpul personalizat" - -#: includes/admin/admin-field-group.php:279 -msgid "This field cannot be moved until its changes have been saved" -msgstr "Acest câmp nu poate fi mutat decât după salvarea modificărilor" - -#: includes/admin/admin-field-group.php:280 -msgid "Null" -msgstr "Gol" - -#: includes/admin/admin-field-group.php:281 includes/input.php:258 -msgid "The changes you made will be lost if you navigate away from this page" -msgstr "Modificările făcute vor fi pierdute dacă nu salvați" - -#: includes/admin/admin-field-group.php:282 +#: includes/admin/admin-field-group.php:154 msgid "The string \"field_\" may not be used at the start of a field name" msgstr "Textul \"field_\" nu poate fi folosit la începutul denumirii unui câmp" -#: includes/admin/admin-field-group.php:360 -msgid "Field Keys" -msgstr "" +#: includes/admin/admin-field-group.php:155 +msgid "This field cannot be moved until its changes have been saved" +msgstr "Acest câmp nu poate fi mutat decât după salvarea modificărilor" -#: includes/admin/admin-field-group.php:390 +#: includes/admin/admin-field-group.php:156 +msgid "Field group title is required" +msgstr "Titlul grupului este obligatoriu" + +#: includes/admin/admin-field-group.php:157 +msgid "Move to trash. Are you sure?" +msgstr "Mută în coșul de gunoi. Ești sigur?" + +#: includes/admin/admin-field-group.php:158 +msgid "Move Custom Field" +msgstr "Mută câmpul personalizat" + +#: includes/admin/admin-field-group.php:159 +msgid "checked" +msgstr "marcat" + +#: includes/admin/admin-field-group.php:160 +msgid "(no label)" +msgstr "(fără etichetă)" + +#: includes/admin/admin-field-group.php:161 +#: includes/api/api-field-group.php:751 +msgid "copy" +msgstr "copie" + +#: includes/admin/admin-field-group.php:162 +#: includes/admin/views/field-group-field-conditional-logic.php:51 +#: includes/admin/views/field-group-field-conditional-logic.php:139 +#: includes/admin/views/field-group-locations.php:29 +#: includes/admin/views/html-location-group.php:3 +#: includes/api/api-helpers.php:4158 +msgid "or" +msgstr "sau" + +#: includes/admin/admin-field-group.php:163 +msgid "Null" +msgstr "Gol" + +#: includes/admin/admin-field-group.php:197 +msgid "Location" +msgstr "Locația" + +#: includes/admin/admin-field-group.php:198 +#: includes/admin/tools/class-acf-admin-tool-export.php:295 +msgid "Settings" +msgstr "Setări" + +#: includes/admin/admin-field-group.php:347 +msgid "Field Keys" +msgstr "Cheile câmpulurilor" + +#: includes/admin/admin-field-group.php:377 #: includes/admin/views/field-group-options.php:9 msgid "Active" -msgstr "" +msgstr "Activ" -#: includes/admin/admin-field-group.php:801 +#: includes/admin/admin-field-group.php:753 msgid "Move Complete." msgstr "Mutare Completă." -#: includes/admin/admin-field-group.php:802 +#: includes/admin/admin-field-group.php:754 #, php-format msgid "The %s field can now be found in the %s field group" msgstr "Acest %s câmp acum poate fi găsit în %s grupul de câmpuri" -#: includes/admin/admin-field-group.php:803 +#: includes/admin/admin-field-group.php:755 msgid "Close Window" msgstr "Închide Fereastra" -#: includes/admin/admin-field-group.php:844 +#: includes/admin/admin-field-group.php:796 msgid "Please select the destination for this field" msgstr "Selectează destinația pentru acest câmp" -#: includes/admin/admin-field-group.php:851 +#: includes/admin/admin-field-group.php:803 msgid "Move Field" msgstr "Mută Câmpul" @@ -251,9 +239,9 @@ msgstr "Mută Câmpul" #, php-format msgid "Active (%s)" msgid_plural "Active (%s)" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "(%s) Activ" +msgstr[1] "(%s) Active" +msgstr[2] "(%s) Active" #: includes/admin/admin-field-groups.php:142 #, php-format @@ -297,27 +285,27 @@ msgstr "Titlu" #: includes/admin/views/install-network.php:29 #: pro/fields/class-acf-field-gallery.php:382 msgid "Description" -msgstr "" +msgstr "Descriere" #: includes/admin/admin-field-groups.php:509 msgid "Status" -msgstr "" +msgstr "Stare" #. Description of the plugin/theme #: includes/admin/admin-field-groups.php:607 msgid "Customise WordPress with powerful, professional and intuitive fields." -msgstr "" +msgstr "Adaugă câmpuri puternice și intuitive pentru a personaliza WordPress." #: includes/admin/admin-field-groups.php:609 #: includes/admin/settings-info.php:76 -#: pro/admin/views/html-settings-updates.php:111 +#: pro/admin/views/html-settings-updates.php:107 msgid "Changelog" msgstr "Catalog schimbări" #: includes/admin/admin-field-groups.php:614 #, php-format msgid "See what's new in version %s." -msgstr "" +msgstr "Vezi ce este nou în versiunea %s." #: includes/admin/admin-field-groups.php:617 msgid "Resources" @@ -329,59 +317,64 @@ msgstr "" #: includes/admin/admin-field-groups.php:620 msgid "Documentation" -msgstr "" +msgstr "Documentație" #: includes/admin/admin-field-groups.php:621 msgid "Support" -msgstr "" +msgstr "Suport Tehnic" #: includes/admin/admin-field-groups.php:623 msgid "Pro" -msgstr "" +msgstr "Pro" #: includes/admin/admin-field-groups.php:628 #, php-format msgid "Thank you for creating with ACF." msgstr "" -#: includes/admin/admin-field-groups.php:668 +#: includes/admin/admin-field-groups.php:667 msgid "Duplicate this item" msgstr "Copiază acest item" -#: includes/admin/admin-field-groups.php:668 -#: includes/admin/admin-field-groups.php:684 -#: includes/admin/views/field-group-field.php:49 -#: pro/fields/class-acf-field-flexible-content.php:558 +#: includes/admin/admin-field-groups.php:667 +#: includes/admin/admin-field-groups.php:683 +#: includes/admin/views/field-group-field.php:46 +#: pro/fields/class-acf-field-flexible-content.php:550 msgid "Duplicate" msgstr "Copiază" -#: includes/admin/admin-field-groups.php:701 -#: includes/fields/class-acf-field-google-map.php:118 -#: includes/fields/class-acf-field-relationship.php:656 +#: includes/admin/admin-field-groups.php:700 +#: includes/fields/class-acf-field-google-map.php:113 +#: includes/fields/class-acf-field-relationship.php:657 msgid "Search" msgstr "Caută" -#: includes/admin/admin-field-groups.php:760 +#: includes/admin/admin-field-groups.php:759 #, php-format msgid "Select %s" msgstr "Selectează %s" -#: includes/admin/admin-field-groups.php:768 +#: includes/admin/admin-field-groups.php:767 msgid "Synchronise field group" msgstr "Sincronizare grup de câmpuri" -#: includes/admin/admin-field-groups.php:768 -#: includes/admin/admin-field-groups.php:798 +#: includes/admin/admin-field-groups.php:767 +#: includes/admin/admin-field-groups.php:797 msgid "Sync" msgstr "Sincronizare" -#: includes/admin/admin-field-groups.php:780 +#: includes/admin/admin-field-groups.php:779 msgid "Apply" -msgstr "" +msgstr "Salvează" -#: includes/admin/admin-field-groups.php:798 +#: includes/admin/admin-field-groups.php:797 msgid "Bulk Actions" -msgstr "" +msgstr "Acțiuni în masă" + +#: includes/admin/admin-tools.php:116 +#: includes/admin/views/html-admin-tools.php:21 +msgid "Tools" +msgstr "Unelte" #: includes/admin/admin.php:113 #: includes/admin/views/field-group-options.php:118 @@ -391,7 +384,7 @@ msgstr "Câmpuri Personalizate" #: includes/admin/install-network.php:88 includes/admin/install.php:70 #: includes/admin/install.php:121 msgid "Upgrade Database" -msgstr "" +msgstr "Actualizează baza de date" #: includes/admin/install-network.php:140 msgid "Review sites & upgrade" @@ -401,7 +394,7 @@ msgstr "" msgid "Error validating request" msgstr "" -#: includes/admin/install.php:210 includes/admin/views/install.php:105 +#: includes/admin/install.php:210 includes/admin/views/install.php:104 msgid "No updates available." msgstr "" @@ -422,160 +415,229 @@ msgstr "Informații" msgid "What's New" msgstr "Ce este nou" -#: includes/admin/settings-tools.php:50 -#: includes/admin/views/settings-tools-export.php:19 -#: includes/admin/views/settings-tools.php:31 -msgid "Tools" -msgstr "" +#: includes/admin/tools/class-acf-admin-tool-export.php:33 +msgid "Export Field Groups" +msgstr "Exportați Grupurile de Câmputri" -#: includes/admin/settings-tools.php:147 includes/admin/settings-tools.php:380 +#: includes/admin/tools/class-acf-admin-tool-export.php:38 +#: includes/admin/tools/class-acf-admin-tool-export.php:342 +#: includes/admin/tools/class-acf-admin-tool-export.php:371 +msgid "Generate PHP" +msgstr "Generează PHP" + +#: includes/admin/tools/class-acf-admin-tool-export.php:97 +#: includes/admin/tools/class-acf-admin-tool-export.php:135 msgid "No field groups selected" msgstr "Nu a fost selectat nici un grup de câmpuri" -#: includes/admin/settings-tools.php:184 -#: includes/fields/class-acf-field-file.php:159 +#: includes/admin/tools/class-acf-admin-tool-export.php:174 +#, php-format +msgid "Exported 1 field group." +msgid_plural "Exported %s field groups." +msgstr[0] "Un grup exportat." +msgstr[1] "%s grupuri exportate." +msgstr[2] "%s de grupuri exportate." + +#: includes/admin/tools/class-acf-admin-tool-export.php:241 +#: includes/admin/tools/class-acf-admin-tool-export.php:269 +msgid "Select Field Groups" +msgstr "Selectați Grupurile de Câmpuri" + +#: includes/admin/tools/class-acf-admin-tool-export.php:336 +msgid "" +"Select the field groups you would like to export and then select your export " +"method. Use the download button to export to a .json file which you can then " +"import to another ACF installation. Use the generate button to export to PHP " +"code which you can place in your theme." +msgstr "" +"Selectați grupurile de câmpuri pe care doriți să le exportați și apoi " +"selectați metoda de export. Folosiți butonul de descărcare pentru a exporta " +"într-un fișier .json pe care apoi îl puteți folosi pentru a importa într-o " +"altă instalare a ACF. Folosiți butonul Generare pentru a exporta totul în " +"cod PHP, pe care îl puteți pune apoi in tema voastră." + +#: includes/admin/tools/class-acf-admin-tool-export.php:341 +msgid "Export File" +msgstr "Exportă fișierul" + +#: includes/admin/tools/class-acf-admin-tool-export.php:414 +msgid "" +"The following code can be used to register a local version of the selected " +"field group(s). A local field group can provide many benefits such as faster " +"load times, version control & dynamic fields/settings. Simply copy and paste " +"the following code to your theme's functions.php file or include it within " +"an external file." +msgstr "" +"Următorul bloc de cod poate fi folosit pentru a înregistra o copie locală a " +"grupului(lor) de câmpuri selectat(e). Un grup de câmpuri local poate " +"facilita multe beneficii cum ar fi un timp de încărcare mai mic, control al " +"versiunii și câmpuri / setări dinamice. Pentru a beneficia de toate acestea " +"nu trebuie decât să copiați și să inserați următorul bloc de cod în fișierul " +"functions.php al temei sau să-l includeți într-un fișier extern." + +#: includes/admin/tools/class-acf-admin-tool-export.php:446 +msgid "Copy to clipboard" +msgstr "Copiază în clipboar" + +#: includes/admin/tools/class-acf-admin-tool-export.php:483 +msgid "Copied" +msgstr "Copiat" + +#: includes/admin/tools/class-acf-admin-tool-import.php:26 +msgid "Import Field Groups" +msgstr "Importă Grupurile de câmpuri" + +#: includes/admin/tools/class-acf-admin-tool-import.php:61 +msgid "" +"Select the Advanced Custom Fields JSON file you would like to import. When " +"you click the import button below, ACF will import the field groups." +msgstr "" +"Alege fișierul JSON ACF pe care dorești să-l imporți. Când vei apăsa butonul " +"import de mai jos, ACF v-a importa toate grupurile de câmpuri." + +#: includes/admin/tools/class-acf-admin-tool-import.php:66 +#: includes/fields/class-acf-field-file.php:37 +msgid "Select File" +msgstr "Selectează fișierul" + +#: includes/admin/tools/class-acf-admin-tool-import.php:76 +msgid "Import File" +msgstr "Importă fișier" + +#: includes/admin/tools/class-acf-admin-tool-import.php:100 +#: includes/fields/class-acf-field-file.php:154 msgid "No file selected" msgstr "Nu a fost selectat nici un fișier" -#: includes/admin/settings-tools.php:197 +#: includes/admin/tools/class-acf-admin-tool-import.php:113 msgid "Error uploading file. Please try again" msgstr "Eroare la încărcarea fișierului. Încearcă din nou" -#: includes/admin/settings-tools.php:206 +#: includes/admin/tools/class-acf-admin-tool-import.php:122 msgid "Incorrect file type" msgstr "Tipul fișierului este incorect" -#: includes/admin/settings-tools.php:223 +#: includes/admin/tools/class-acf-admin-tool-import.php:139 msgid "Import file empty" msgstr "Fișierul import este gol" -#: includes/admin/settings-tools.php:331 +#: includes/admin/tools/class-acf-admin-tool-import.php:247 #, php-format msgid "Imported 1 field group" msgid_plural "Imported %s field groups" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Un grup importat" +msgstr[1] "%s grupuri importate" +msgstr[2] "%s de grupuri importate" -#: includes/admin/views/field-group-field-conditional-logic.php:28 +#: includes/admin/views/field-group-field-conditional-logic.php:25 msgid "Conditional Logic" msgstr "Condiție Logică" -#: includes/admin/views/field-group-field-conditional-logic.php:54 +#: includes/admin/views/field-group-field-conditional-logic.php:51 msgid "Show this field if" msgstr "Arată acest câmp dacă" -#: includes/admin/views/field-group-field-conditional-logic.php:103 -#: includes/locations.php:247 -msgid "is equal to" -msgstr "este egal cu" - -#: includes/admin/views/field-group-field-conditional-logic.php:104 -#: includes/locations.php:248 -msgid "is not equal to" -msgstr "nu este egal cu" - -#: includes/admin/views/field-group-field-conditional-logic.php:141 +#: includes/admin/views/field-group-field-conditional-logic.php:126 #: includes/admin/views/html-location-rule.php:80 msgid "and" msgstr "și" -#: includes/admin/views/field-group-field-conditional-logic.php:156 +#: includes/admin/views/field-group-field-conditional-logic.php:141 #: includes/admin/views/field-group-locations.php:31 msgid "Add rule group" msgstr "Adaugă grup de reguli" -#: includes/admin/views/field-group-field.php:41 -#: pro/fields/class-acf-field-flexible-content.php:405 -#: pro/fields/class-acf-field-repeater.php:302 +#: includes/admin/views/field-group-field.php:38 +#: pro/fields/class-acf-field-flexible-content.php:403 +#: pro/fields/class-acf-field-repeater.php:296 msgid "Drag to reorder" msgstr "Trage pentru a reordona" +#: includes/admin/views/field-group-field.php:42 #: includes/admin/views/field-group-field.php:45 -#: includes/admin/views/field-group-field.php:48 msgid "Edit field" msgstr "Editează câmp" -#: includes/admin/views/field-group-field.php:48 -#: includes/fields/class-acf-field-image.php:125 +#: includes/admin/views/field-group-field.php:45 +#: includes/fields/class-acf-field-file.php:136 +#: includes/fields/class-acf-field-image.php:122 #: includes/fields/class-acf-field-link.php:139 #: pro/fields/class-acf-field-gallery.php:342 msgid "Edit" msgstr "Editeză" -#: includes/admin/views/field-group-field.php:49 +#: includes/admin/views/field-group-field.php:46 msgid "Duplicate field" msgstr "Copiază câmp" -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move field to another group" msgstr "Mută acest câmp în alt grup" -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move" msgstr "Mută" -#: includes/admin/views/field-group-field.php:51 +#: includes/admin/views/field-group-field.php:48 msgid "Delete field" msgstr "Șterge câmp" -#: includes/admin/views/field-group-field.php:51 -#: pro/fields/class-acf-field-flexible-content.php:557 +#: includes/admin/views/field-group-field.php:48 +#: pro/fields/class-acf-field-flexible-content.php:549 msgid "Delete" msgstr "Șterge" -#: includes/admin/views/field-group-field.php:67 +#: includes/admin/views/field-group-field.php:65 msgid "Field Label" msgstr "Etichetă Câmp" -#: includes/admin/views/field-group-field.php:68 +#: includes/admin/views/field-group-field.php:66 msgid "This is the name which will appear on the EDIT page" msgstr "Acesta este numele care va apărea în pagina de editare" -#: includes/admin/views/field-group-field.php:78 +#: includes/admin/views/field-group-field.php:75 msgid "Field Name" msgstr "Nume Câmp" -#: includes/admin/views/field-group-field.php:79 +#: includes/admin/views/field-group-field.php:76 msgid "Single word, no spaces. Underscores and dashes allowed" msgstr "" "Un singur cuvânt, fără spații. Caracterele _ (underscore) și - (minus) sunt " "permise" -#: includes/admin/views/field-group-field.php:89 +#: includes/admin/views/field-group-field.php:85 msgid "Field Type" msgstr "Tipul Câmpului" -#: includes/admin/views/field-group-field.php:101 -#: includes/fields/class-acf-field-tab.php:88 +#: includes/admin/views/field-group-field.php:96 msgid "Instructions" msgstr "Instrucțiuni" -#: includes/admin/views/field-group-field.php:102 +#: includes/admin/views/field-group-field.php:97 msgid "Instructions for authors. Shown when submitting data" msgstr "Instrucțiuni pentru autor. Sunt afișate când se adaugă valori" -#: includes/admin/views/field-group-field.php:111 +#: includes/admin/views/field-group-field.php:106 msgid "Required?" msgstr "Obligatoriu?" -#: includes/admin/views/field-group-field.php:134 +#: includes/admin/views/field-group-field.php:129 msgid "Wrapper Attributes" msgstr "Atributele Wrapper-ului" -#: includes/admin/views/field-group-field.php:140 +#: includes/admin/views/field-group-field.php:135 msgid "width" msgstr "lățime" -#: includes/admin/views/field-group-field.php:155 +#: includes/admin/views/field-group-field.php:150 msgid "class" msgstr "clasă" -#: includes/admin/views/field-group-field.php:168 +#: includes/admin/views/field-group-field.php:163 msgid "id" msgstr "id" -#: includes/admin/views/field-group-field.php:180 +#: includes/admin/views/field-group-field.php:175 msgid "Close Field" msgstr "Închide Câmpul" @@ -584,16 +646,17 @@ msgid "Order" msgstr "Ordine" #: includes/admin/views/field-group-fields.php:5 -#: includes/fields/class-acf-field-checkbox.php:415 -#: includes/fields/class-acf-field-radio.php:306 -#: includes/fields/class-acf-field-select.php:432 -#: pro/fields/class-acf-field-flexible-content.php:584 +#: includes/fields/class-acf-field-button-group.php:198 +#: includes/fields/class-acf-field-checkbox.php:420 +#: includes/fields/class-acf-field-radio.php:311 +#: includes/fields/class-acf-field-select.php:418 +#: pro/fields/class-acf-field-flexible-content.php:576 msgid "Label" msgstr "Etichetă" #: includes/admin/views/field-group-fields.php:6 -#: includes/fields/class-acf-field-taxonomy.php:957 -#: pro/fields/class-acf-field-flexible-content.php:597 +#: includes/fields/class-acf-field-taxonomy.php:964 +#: pro/fields/class-acf-field-flexible-content.php:589 msgid "Name" msgstr "Nume" @@ -662,12 +725,12 @@ msgid "Label placement" msgstr "Poziționarea etichetei" #: includes/admin/views/field-group-options.php:62 -#: includes/fields/class-acf-field-tab.php:102 +#: includes/fields/class-acf-field-tab.php:106 msgid "Top aligned" msgstr "Aliniere Sus" #: includes/admin/views/field-group-options.php:63 -#: includes/fields/class-acf-field-tab.php:103 +#: includes/fields/class-acf-field-tab.php:107 msgid "Left aligned" msgstr "Aliniere Stanga" @@ -755,7 +818,7 @@ msgid "Page Attributes" msgstr "Atributele Paginii" #: includes/admin/views/field-group-options.php:126 -#: includes/fields/class-acf-field-relationship.php:670 +#: includes/fields/class-acf-field-relationship.php:671 msgid "Featured Image" msgstr "Imagine Reprezentativă" @@ -907,7 +970,7 @@ msgstr "" #: includes/admin/views/settings-info.php:17 msgid "A smoother custom field experience" -msgstr "O folosire mai ușoara a câmpurilor personalizate." +msgstr "O folosire mai ușoara a câmpurilor personalizate" #: includes/admin/views/settings-info.php:22 msgid "Improved Usability" @@ -921,7 +984,7 @@ msgid "" msgstr "" "Includerea popularei librării Select2 a îmbunătățit folosirea dar și viteaza " "pentru un număr ridicat de tipuri de câmpuri care includ, obiectele articol, " -"legătura paginii, taxonomia și selecția. " +"legătura paginii, taxonomia și selecția." #: includes/admin/views/settings-info.php:27 msgid "Improved Design" @@ -1061,7 +1124,7 @@ msgid "" "controlled" msgstr "" "Noua funcționalitate de auto export în JSON permite ca setările câmpurilor " -"să fie ”version controlled”" +"să fie versionabile" #: includes/admin/views/settings-info.php:93 msgid "Swapped XML for JSON" @@ -1153,7 +1216,7 @@ msgstr "Legătura Paginii" #: includes/admin/views/settings-info.php:145 msgid "New archives group in page_link field selection" -msgstr "Noua arhivă de grup în selecția page_link " +msgstr "Noua arhivă de grup în selecția page_link" #: includes/admin/views/settings-info.php:149 msgid "Better Options Pages" @@ -1172,138 +1235,187 @@ msgstr "" msgid "We think you'll love the changes in %s." msgstr "Credem că vei îndrăgi shimbările în %s." -#: includes/admin/views/settings-tools-export.php:23 -msgid "Export Field Groups to PHP" -msgstr "Exportă Grupurile de Câmpuri în PHP" - -#: includes/admin/views/settings-tools-export.php:27 -msgid "" -"The following code can be used to register a local version of the selected " -"field group(s). A local field group can provide many benefits such as faster " -"load times, version control & dynamic fields/settings. Simply copy and paste " -"the following code to your theme's functions.php file or include it within " -"an external file." -msgstr "" -"Următorul bloc de cod poate fi folosit pentru a înregistra o copie locală a " -"grupului(lor) de câmpuri selectat(e). Un grup de câmpuri local poate " -"facilita multe beneficii cum ar fi un timp de încărcare mai mic, control al " -"versiunii și câmpuri / setări dinamice. Pentru a beneficia de toate acestea " -"nu trebuie decât să copiați și să inserați următorul bloc de cod în fișierul " -"functions.php al temei sau să-l includeți într-un fișier extern." - -#: includes/admin/views/settings-tools.php:5 -msgid "Select Field Groups" -msgstr "Selectați Grupurile de Câmpuri" - -#: includes/admin/views/settings-tools.php:35 -msgid "Export Field Groups" -msgstr "Exportați Grupurile de Câmputri" - -#: includes/admin/views/settings-tools.php:38 -msgid "" -"Select the field groups you would like to export and then select your export " -"method. Use the download button to export to a .json file which you can then " -"import to another ACF installation. Use the generate button to export to PHP " -"code which you can place in your theme." -msgstr "" -"Selectați grupurile de câmpuri pe care doriți să le exportați și apoi " -"selectați metoda de export. Folosiți butonul de descărcare pentru a exporta " -"într-un fișier .json pe care apoi îl puteți folosi pentru a importa într-o " -"altă instalare a ACF. Folosiți butonul Generare pentru a exporta totul în " -"cod PHP, pe care îl puteți pune apoi in tema voastră." - -#: includes/admin/views/settings-tools.php:50 -msgid "Download export file" -msgstr "Descarcă fișierul de export" - -#: includes/admin/views/settings-tools.php:51 -msgid "Generate export code" -msgstr "Generează codul de export" - -#: includes/admin/views/settings-tools.php:64 -msgid "Import Field Groups" -msgstr "Importă Grupurile de câmpuri" - -#: includes/admin/views/settings-tools.php:67 -msgid "" -"Select the Advanced Custom Fields JSON file you would like to import. When " -"you click the import button below, ACF will import the field groups." -msgstr "" -"Alege fișierul JSON ACF pe care dorești să-l imporți. Când vei apăsa butonul " -"import de mai jos, ACF v-a importa toate grupurile de câmpuri." - -#: includes/admin/views/settings-tools.php:77 -#: includes/fields/class-acf-field-file.php:35 -msgid "Select File" -msgstr "Selectează fișierul" - -#: includes/admin/views/settings-tools.php:86 -msgid "Import" -msgstr "Importă" - -#: includes/api/api-helpers.php:856 +#: includes/api/api-helpers.php:1039 msgid "Thumbnail" msgstr "Miniatură" -#: includes/api/api-helpers.php:857 +#: includes/api/api-helpers.php:1040 msgid "Medium" msgstr "Mediu" -#: includes/api/api-helpers.php:858 +#: includes/api/api-helpers.php:1041 msgid "Large" msgstr "Mare" -#: includes/api/api-helpers.php:907 +#: includes/api/api-helpers.php:1090 msgid "Full Size" msgstr "Marime completă" -#: includes/api/api-helpers.php:1248 includes/api/api-helpers.php:1831 -#: pro/fields/class-acf-field-clone.php:1008 +#: includes/api/api-helpers.php:1431 includes/api/api-helpers.php:2004 +#: pro/fields/class-acf-field-clone.php:996 msgid "(no title)" msgstr "(fără titlu)" -#: includes/api/api-helpers.php:1868 -#: includes/fields/class-acf-field-page_link.php:269 -#: includes/fields/class-acf-field-post_object.php:268 -#: includes/fields/class-acf-field-taxonomy.php:979 -msgid "Parent" -msgstr "" - -#: includes/api/api-helpers.php:3885 +#: includes/api/api-helpers.php:4079 #, php-format msgid "Image width must be at least %dpx." msgstr "Lățimea imaginii trebuie să fie cel puțin %dpx." -#: includes/api/api-helpers.php:3890 +#: includes/api/api-helpers.php:4084 #, php-format msgid "Image width must not exceed %dpx." msgstr "Lățimea imaginii nu trebuie să depășească %dpx." -#: includes/api/api-helpers.php:3906 +#: includes/api/api-helpers.php:4100 #, php-format msgid "Image height must be at least %dpx." msgstr "Înălțimea imaginii trebuie să fie cel puțin %dpx." -#: includes/api/api-helpers.php:3911 +#: includes/api/api-helpers.php:4105 #, php-format msgid "Image height must not exceed %dpx." msgstr "Înălțimea imaginii nu trebuie să depășească %dpx." -#: includes/api/api-helpers.php:3929 +#: includes/api/api-helpers.php:4123 #, php-format msgid "File size must be at least %s." msgstr "Mărimea fișierului trebuie să fie cel puțin %s." -#: includes/api/api-helpers.php:3934 +#: includes/api/api-helpers.php:4128 #, php-format msgid "File size must must not exceed %s." msgstr "Mărimea fișierului nu trebuie să depășească %s." -#: includes/api/api-helpers.php:3968 +#: includes/api/api-helpers.php:4162 #, php-format msgid "File type must be %s." msgstr "Tipul fișierului trebuie să fie %s." +#: includes/assets.php:164 +msgid "The changes you made will be lost if you navigate away from this page" +msgstr "Modificările făcute vor fi pierdute dacă nu salvați" + +#: includes/assets.php:167 includes/fields/class-acf-field-select.php:257 +msgctxt "verb" +msgid "Select" +msgstr "Selectează" + +#: includes/assets.php:168 +msgctxt "verb" +msgid "Edit" +msgstr "Editeză" + +#: includes/assets.php:169 +msgctxt "verb" +msgid "Update" +msgstr "Actualizează" + +#: includes/assets.php:170 pro/fields/class-acf-field-gallery.php:44 +msgid "Uploaded to this post" +msgstr "Încărcate pentru acest articol" + +#: includes/assets.php:171 +msgid "Expand Details" +msgstr "Extinde Detaliile" + +#: includes/assets.php:172 +msgid "Collapse Details" +msgstr "Închide Detaliile" + +#: includes/assets.php:173 +msgid "Restricted" +msgstr "" + +#: includes/assets.php:174 +msgid "All images" +msgstr "Toate imaginiile" + +#: includes/assets.php:177 +msgid "Validation successful" +msgstr "Validare a fost făcută cu succes" + +#: includes/assets.php:178 includes/validation.php:285 +#: includes/validation.php:296 +msgid "Validation failed" +msgstr "Validarea a eșuat" + +#: includes/assets.php:179 +msgid "1 field requires attention" +msgstr "" + +#: includes/assets.php:180 +#, php-format +msgid "%d fields require attention" +msgstr "" + +#: includes/assets.php:183 +msgid "Are you sure?" +msgstr "" + +#: includes/assets.php:184 includes/fields/class-acf-field-true_false.php:79 +#: includes/fields/class-acf-field-true_false.php:159 +#: pro/admin/views/html-settings-updates.php:89 +msgid "Yes" +msgstr "Da" + +#: includes/assets.php:185 includes/fields/class-acf-field-true_false.php:80 +#: includes/fields/class-acf-field-true_false.php:174 +#: pro/admin/views/html-settings-updates.php:99 +msgid "No" +msgstr "Nu" + +#: includes/assets.php:186 includes/fields/class-acf-field-file.php:138 +#: includes/fields/class-acf-field-image.php:124 +#: includes/fields/class-acf-field-link.php:140 +#: pro/fields/class-acf-field-gallery.php:343 +#: pro/fields/class-acf-field-gallery.php:531 +msgid "Remove" +msgstr "Înlătură" + +#: includes/assets.php:187 +msgid "Cancel" +msgstr "" + +#: includes/assets.php:190 +msgid "Has any value" +msgstr "" + +#: includes/assets.php:191 +msgid "Has no value" +msgstr "" + +#: includes/assets.php:192 +msgid "Value is equal to" +msgstr "" + +#: includes/assets.php:193 +msgid "Value is not equal to" +msgstr "" + +#: includes/assets.php:194 +msgid "Value matches pattern" +msgstr "" + +#: includes/assets.php:195 +msgid "Value contains" +msgstr "" + +#: includes/assets.php:196 +msgid "Value is greater than" +msgstr "" + +#: includes/assets.php:197 +msgid "Value is less than" +msgstr "" + +#: includes/assets.php:198 +msgid "Selection is greater than" +msgstr "" + +#: includes/assets.php:199 +msgid "Selection is less than" +msgstr "" + #: includes/fields.php:144 msgid "Basic" msgstr "De bază" @@ -1324,13 +1436,14 @@ msgstr "Relațional" msgid "jQuery" msgstr "jQuery" -#: includes/fields.php:149 includes/fields/class-acf-field-checkbox.php:384 -#: includes/fields/class-acf-field-group.php:472 -#: includes/fields/class-acf-field-radio.php:285 -#: pro/fields/class-acf-field-clone.php:855 -#: pro/fields/class-acf-field-flexible-content.php:554 -#: pro/fields/class-acf-field-flexible-content.php:603 -#: pro/fields/class-acf-field-repeater.php:458 +#: includes/fields.php:149 includes/fields/class-acf-field-button-group.php:177 +#: includes/fields/class-acf-field-checkbox.php:389 +#: includes/fields/class-acf-field-group.php:474 +#: includes/fields/class-acf-field-radio.php:290 +#: pro/fields/class-acf-field-clone.php:843 +#: pro/fields/class-acf-field-flexible-content.php:546 +#: pro/fields/class-acf-field-flexible-content.php:595 +#: pro/fields/class-acf-field-repeater.php:442 msgid "Layout" msgstr "Schemă" @@ -1342,8 +1455,156 @@ msgstr "Tipul câmpului nu există" msgid "Unknown" msgstr "" +#: includes/fields/class-acf-field-accordion.php:24 +msgid "Accordion" +msgstr "" + +#: includes/fields/class-acf-field-accordion.php:99 +msgid "Open" +msgstr "" + +#: includes/fields/class-acf-field-accordion.php:100 +msgid "Display this accordion as open on page load." +msgstr "" + +#: includes/fields/class-acf-field-accordion.php:109 +msgid "Multi-expand" +msgstr "" + +#: includes/fields/class-acf-field-accordion.php:110 +msgid "Allow this accordion to open without closing others." +msgstr "" + +#: includes/fields/class-acf-field-accordion.php:119 +#: includes/fields/class-acf-field-tab.php:114 +msgid "Endpoint" +msgstr "" + +#: includes/fields/class-acf-field-accordion.php:120 +msgid "" +"Define an endpoint for the previous accordion to stop. This accordion will " +"not be visible." +msgstr "" + +#: includes/fields/class-acf-field-button-group.php:24 +msgid "Button Group" +msgstr "" + +#: includes/fields/class-acf-field-button-group.php:149 +#: includes/fields/class-acf-field-checkbox.php:344 +#: includes/fields/class-acf-field-radio.php:235 +#: includes/fields/class-acf-field-select.php:349 +msgid "Choices" +msgstr "Alegere" + +#: includes/fields/class-acf-field-button-group.php:150 +#: includes/fields/class-acf-field-checkbox.php:345 +#: includes/fields/class-acf-field-radio.php:236 +#: includes/fields/class-acf-field-select.php:350 +msgid "Enter each choice on a new line." +msgstr "Pune fiecare alegere pe o linie nouă." + +#: includes/fields/class-acf-field-button-group.php:150 +#: includes/fields/class-acf-field-checkbox.php:345 +#: includes/fields/class-acf-field-radio.php:236 +#: includes/fields/class-acf-field-select.php:350 +msgid "For more control, you may specify both a value and label like this:" +msgstr "" +"Pentru un mai bun control, poți specifica o valoare și o etichetă ca de " +"exemplu:" + +#: includes/fields/class-acf-field-button-group.php:150 +#: includes/fields/class-acf-field-checkbox.php:345 +#: includes/fields/class-acf-field-radio.php:236 +#: includes/fields/class-acf-field-select.php:350 +msgid "red : Red" +msgstr "roșu : Roșu" + +#: includes/fields/class-acf-field-button-group.php:158 +#: includes/fields/class-acf-field-page_link.php:513 +#: includes/fields/class-acf-field-post_object.php:412 +#: includes/fields/class-acf-field-radio.php:244 +#: includes/fields/class-acf-field-select.php:367 +#: includes/fields/class-acf-field-taxonomy.php:793 +#: includes/fields/class-acf-field-user.php:409 +msgid "Allow Null?" +msgstr "Permite valori nule?" + +#: includes/fields/class-acf-field-button-group.php:168 +#: includes/fields/class-acf-field-checkbox.php:380 +#: includes/fields/class-acf-field-color_picker.php:131 +#: includes/fields/class-acf-field-email.php:118 +#: includes/fields/class-acf-field-number.php:127 +#: includes/fields/class-acf-field-radio.php:281 +#: includes/fields/class-acf-field-range.php:146 +#: includes/fields/class-acf-field-select.php:358 +#: includes/fields/class-acf-field-text.php:119 +#: includes/fields/class-acf-field-textarea.php:102 +#: includes/fields/class-acf-field-true_false.php:135 +#: includes/fields/class-acf-field-url.php:100 +#: includes/fields/class-acf-field-wysiwyg.php:410 +msgid "Default Value" +msgstr "Valoare implicită" + +#: includes/fields/class-acf-field-button-group.php:169 +#: includes/fields/class-acf-field-email.php:119 +#: includes/fields/class-acf-field-number.php:128 +#: includes/fields/class-acf-field-radio.php:282 +#: includes/fields/class-acf-field-range.php:147 +#: includes/fields/class-acf-field-text.php:120 +#: includes/fields/class-acf-field-textarea.php:103 +#: includes/fields/class-acf-field-url.php:101 +#: includes/fields/class-acf-field-wysiwyg.php:411 +msgid "Appears when creating a new post" +msgstr "Apare cănd creați un articol nou" + +#: includes/fields/class-acf-field-button-group.php:183 +#: includes/fields/class-acf-field-checkbox.php:396 +#: includes/fields/class-acf-field-radio.php:297 +msgid "Horizontal" +msgstr "Orizontal" + +#: includes/fields/class-acf-field-button-group.php:184 +#: includes/fields/class-acf-field-checkbox.php:395 +#: includes/fields/class-acf-field-radio.php:296 +msgid "Vertical" +msgstr "Vertical" + +#: includes/fields/class-acf-field-button-group.php:191 +#: includes/fields/class-acf-field-checkbox.php:413 +#: includes/fields/class-acf-field-file.php:199 +#: includes/fields/class-acf-field-image.php:188 +#: includes/fields/class-acf-field-link.php:166 +#: includes/fields/class-acf-field-radio.php:304 +#: includes/fields/class-acf-field-taxonomy.php:833 +msgid "Return Value" +msgstr "Valoarea returnată" + +#: includes/fields/class-acf-field-button-group.php:192 +#: includes/fields/class-acf-field-checkbox.php:414 +#: includes/fields/class-acf-field-file.php:200 +#: includes/fields/class-acf-field-image.php:189 +#: includes/fields/class-acf-field-link.php:167 +#: includes/fields/class-acf-field-radio.php:305 +msgid "Specify the returned value on front end" +msgstr "Specificați valoarea returnată în front end" + +#: includes/fields/class-acf-field-button-group.php:197 +#: includes/fields/class-acf-field-checkbox.php:419 +#: includes/fields/class-acf-field-radio.php:310 +#: includes/fields/class-acf-field-select.php:417 +msgid "Value" +msgstr "" + +#: includes/fields/class-acf-field-button-group.php:199 +#: includes/fields/class-acf-field-checkbox.php:421 +#: includes/fields/class-acf-field-radio.php:312 +#: includes/fields/class-acf-field-select.php:419 +msgid "Both (Array)" +msgstr "" + #: includes/fields/class-acf-field-checkbox.php:25 -#: includes/fields/class-acf-field-taxonomy.php:773 +#: includes/fields/class-acf-field-taxonomy.php:780 msgid "Checkbox" msgstr "Checkbox" @@ -1355,32 +1616,6 @@ msgstr "Comută tot" msgid "Add new choice" msgstr "" -#: includes/fields/class-acf-field-checkbox.php:344 -#: includes/fields/class-acf-field-radio.php:235 -#: includes/fields/class-acf-field-select.php:368 -msgid "Choices" -msgstr "Alegere" - -#: includes/fields/class-acf-field-checkbox.php:345 -#: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 -msgid "Enter each choice on a new line." -msgstr "Pune fiecare alegere pe o linie nouă." - -#: includes/fields/class-acf-field-checkbox.php:345 -#: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 -msgid "For more control, you may specify both a value and label like this:" -msgstr "" -"Pentru un mai bun control, poți specifica o valoare și o etichetă ca de " -"exemplu:" - -#: includes/fields/class-acf-field-checkbox.php:345 -#: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 -msgid "red : Red" -msgstr "roșu : Roșu" - #: includes/fields/class-acf-field-checkbox.php:353 msgid "Allow Custom" msgstr "" @@ -1397,72 +1632,19 @@ msgstr "" msgid "Save 'custom' values to the field's choices" msgstr "" -#: includes/fields/class-acf-field-checkbox.php:375 -#: includes/fields/class-acf-field-color_picker.php:131 -#: includes/fields/class-acf-field-email.php:114 -#: includes/fields/class-acf-field-number.php:123 -#: includes/fields/class-acf-field-radio.php:276 -#: includes/fields/class-acf-field-select.php:377 -#: includes/fields/class-acf-field-text.php:115 -#: includes/fields/class-acf-field-textarea.php:98 -#: includes/fields/class-acf-field-true_false.php:135 -#: includes/fields/class-acf-field-url.php:96 -#: includes/fields/class-acf-field-wysiwyg.php:421 -msgid "Default Value" -msgstr "Valoare implicită" - -#: includes/fields/class-acf-field-checkbox.php:376 -#: includes/fields/class-acf-field-select.php:378 +#: includes/fields/class-acf-field-checkbox.php:381 +#: includes/fields/class-acf-field-select.php:359 msgid "Enter each default value on a new line" msgstr "Introdu fiecare valoare implicită pe o linie nouă" -#: includes/fields/class-acf-field-checkbox.php:390 -#: includes/fields/class-acf-field-radio.php:291 -msgid "Vertical" -msgstr "Vertical" - -#: includes/fields/class-acf-field-checkbox.php:391 -#: includes/fields/class-acf-field-radio.php:292 -msgid "Horizontal" -msgstr "Orizontal" - -#: includes/fields/class-acf-field-checkbox.php:398 +#: includes/fields/class-acf-field-checkbox.php:403 msgid "Toggle" msgstr "" -#: includes/fields/class-acf-field-checkbox.php:399 +#: includes/fields/class-acf-field-checkbox.php:404 msgid "Prepend an extra checkbox to toggle all choices" msgstr "" -#: includes/fields/class-acf-field-checkbox.php:408 -#: includes/fields/class-acf-field-file.php:204 -#: includes/fields/class-acf-field-image.php:191 -#: includes/fields/class-acf-field-link.php:166 -#: includes/fields/class-acf-field-radio.php:299 -#: includes/fields/class-acf-field-taxonomy.php:826 -msgid "Return Value" -msgstr "Valoarea returnată" - -#: includes/fields/class-acf-field-checkbox.php:409 -#: includes/fields/class-acf-field-file.php:205 -#: includes/fields/class-acf-field-image.php:192 -#: includes/fields/class-acf-field-link.php:167 -#: includes/fields/class-acf-field-radio.php:300 -msgid "Specify the returned value on front end" -msgstr "Specificați valoarea returnată în front end" - -#: includes/fields/class-acf-field-checkbox.php:414 -#: includes/fields/class-acf-field-radio.php:305 -#: includes/fields/class-acf-field-select.php:431 -msgid "Value" -msgstr "" - -#: includes/fields/class-acf-field-checkbox.php:416 -#: includes/fields/class-acf-field-radio.php:307 -#: includes/fields/class-acf-field-select.php:433 -msgid "Both (Array)" -msgstr "" - #: includes/fields/class-acf-field-color_picker.php:25 msgid "Color Picker" msgstr "Alege Culoarea" @@ -1487,77 +1669,78 @@ msgstr "" msgid "Date Picker" msgstr "Alege data calendaristică" -#: includes/fields/class-acf-field-date_picker.php:33 +#: includes/fields/class-acf-field-date_picker.php:59 msgctxt "Date Picker JS closeText" msgid "Done" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:34 +#: includes/fields/class-acf-field-date_picker.php:60 msgctxt "Date Picker JS currentText" msgid "Today" -msgstr "" +msgstr "Astăzi" -#: includes/fields/class-acf-field-date_picker.php:35 +#: includes/fields/class-acf-field-date_picker.php:61 msgctxt "Date Picker JS nextText" msgid "Next" -msgstr "" +msgstr "Următor" -#: includes/fields/class-acf-field-date_picker.php:36 +#: includes/fields/class-acf-field-date_picker.php:62 msgctxt "Date Picker JS prevText" msgid "Prev" -msgstr "" +msgstr "Anterior" -#: includes/fields/class-acf-field-date_picker.php:37 +#: includes/fields/class-acf-field-date_picker.php:63 msgctxt "Date Picker JS weekHeader" msgid "Wk" -msgstr "" +msgstr "Săpt" -#: includes/fields/class-acf-field-date_picker.php:207 -#: includes/fields/class-acf-field-date_time_picker.php:181 +#: includes/fields/class-acf-field-date_picker.php:180 +#: includes/fields/class-acf-field-date_time_picker.php:183 #: includes/fields/class-acf-field-time_picker.php:109 msgid "Display Format" msgstr "Formatul de Afișare" -#: includes/fields/class-acf-field-date_picker.php:208 -#: includes/fields/class-acf-field-date_time_picker.php:182 +#: includes/fields/class-acf-field-date_picker.php:181 +#: includes/fields/class-acf-field-date_time_picker.php:184 #: includes/fields/class-acf-field-time_picker.php:110 msgid "The format displayed when editing a post" msgstr "Formatul afișat în momentul editării unui articol" -#: includes/fields/class-acf-field-date_picker.php:216 -#: includes/fields/class-acf-field-date_picker.php:247 -#: includes/fields/class-acf-field-date_time_picker.php:191 -#: includes/fields/class-acf-field-date_time_picker.php:208 +#: includes/fields/class-acf-field-date_picker.php:189 +#: includes/fields/class-acf-field-date_picker.php:220 +#: includes/fields/class-acf-field-date_time_picker.php:193 +#: includes/fields/class-acf-field-date_time_picker.php:210 #: includes/fields/class-acf-field-time_picker.php:117 #: includes/fields/class-acf-field-time_picker.php:132 msgid "Custom:" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:226 +#: includes/fields/class-acf-field-date_picker.php:199 msgid "Save Format" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:227 +#: includes/fields/class-acf-field-date_picker.php:200 msgid "The format used when saving a value" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:237 -#: includes/fields/class-acf-field-date_time_picker.php:198 +#: includes/fields/class-acf-field-date_picker.php:210 +#: includes/fields/class-acf-field-date_time_picker.php:200 #: includes/fields/class-acf-field-post_object.php:432 -#: includes/fields/class-acf-field-relationship.php:697 -#: includes/fields/class-acf-field-select.php:426 +#: includes/fields/class-acf-field-relationship.php:698 +#: includes/fields/class-acf-field-select.php:412 #: includes/fields/class-acf-field-time_picker.php:124 +#: includes/fields/class-acf-field-user.php:428 msgid "Return Format" msgstr "Formatul Returnat" -#: includes/fields/class-acf-field-date_picker.php:238 -#: includes/fields/class-acf-field-date_time_picker.php:199 +#: includes/fields/class-acf-field-date_picker.php:211 +#: includes/fields/class-acf-field-date_time_picker.php:201 #: includes/fields/class-acf-field-time_picker.php:125 msgid "The format returned via template functions" msgstr "Formatul rezultat via funcțiilor șablon" -#: includes/fields/class-acf-field-date_picker.php:256 -#: includes/fields/class-acf-field-date_time_picker.php:215 +#: includes/fields/class-acf-field-date_picker.php:229 +#: includes/fields/class-acf-field-date_time_picker.php:217 msgid "Week Starts On" msgstr "Săptămâna începe în ziua de" @@ -1565,77 +1748,77 @@ msgstr "Săptămâna începe în ziua de" msgid "Date Time Picker" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:33 +#: includes/fields/class-acf-field-date_time_picker.php:68 msgctxt "Date Time Picker JS timeOnlyTitle" msgid "Choose Time" -msgstr "" +msgstr "Alege ora" -#: includes/fields/class-acf-field-date_time_picker.php:34 +#: includes/fields/class-acf-field-date_time_picker.php:69 msgctxt "Date Time Picker JS timeText" msgid "Time" -msgstr "" +msgstr "Ora" -#: includes/fields/class-acf-field-date_time_picker.php:35 +#: includes/fields/class-acf-field-date_time_picker.php:70 msgctxt "Date Time Picker JS hourText" msgid "Hour" -msgstr "" +msgstr "Oră" -#: includes/fields/class-acf-field-date_time_picker.php:36 +#: includes/fields/class-acf-field-date_time_picker.php:71 msgctxt "Date Time Picker JS minuteText" msgid "Minute" -msgstr "" +msgstr "Minut" -#: includes/fields/class-acf-field-date_time_picker.php:37 +#: includes/fields/class-acf-field-date_time_picker.php:72 msgctxt "Date Time Picker JS secondText" msgid "Second" -msgstr "" +msgstr "Secundă" -#: includes/fields/class-acf-field-date_time_picker.php:38 +#: includes/fields/class-acf-field-date_time_picker.php:73 msgctxt "Date Time Picker JS millisecText" msgid "Millisecond" -msgstr "" +msgstr "Milisecundă" -#: includes/fields/class-acf-field-date_time_picker.php:39 +#: includes/fields/class-acf-field-date_time_picker.php:74 msgctxt "Date Time Picker JS microsecText" msgid "Microsecond" -msgstr "" +msgstr "Microsecundă" -#: includes/fields/class-acf-field-date_time_picker.php:40 +#: includes/fields/class-acf-field-date_time_picker.php:75 msgctxt "Date Time Picker JS timezoneText" msgid "Time Zone" -msgstr "" +msgstr "Fus Orar" -#: includes/fields/class-acf-field-date_time_picker.php:41 +#: includes/fields/class-acf-field-date_time_picker.php:76 msgctxt "Date Time Picker JS currentText" msgid "Now" -msgstr "" +msgstr "Acum" -#: includes/fields/class-acf-field-date_time_picker.php:42 +#: includes/fields/class-acf-field-date_time_picker.php:77 msgctxt "Date Time Picker JS closeText" msgid "Done" -msgstr "" +msgstr "Gata" -#: includes/fields/class-acf-field-date_time_picker.php:43 +#: includes/fields/class-acf-field-date_time_picker.php:78 msgctxt "Date Time Picker JS selectText" msgid "Select" -msgstr "" +msgstr "Selectează" -#: includes/fields/class-acf-field-date_time_picker.php:45 +#: includes/fields/class-acf-field-date_time_picker.php:80 msgctxt "Date Time Picker JS amText" msgid "AM" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:46 +#: includes/fields/class-acf-field-date_time_picker.php:81 msgctxt "Date Time Picker JS amTextShort" msgid "A" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:49 +#: includes/fields/class-acf-field-date_time_picker.php:84 msgctxt "Date Time Picker JS pmText" msgid "PM" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:50 +#: includes/fields/class-acf-field-date_time_picker.php:85 msgctxt "Date Time Picker JS pmTextShort" msgid "P" msgstr "" @@ -1644,59 +1827,53 @@ msgstr "" msgid "Email" msgstr "Adresă de email" -#: includes/fields/class-acf-field-email.php:115 -#: includes/fields/class-acf-field-number.php:124 -#: includes/fields/class-acf-field-radio.php:277 -#: includes/fields/class-acf-field-text.php:116 -#: includes/fields/class-acf-field-textarea.php:99 -#: includes/fields/class-acf-field-url.php:97 -#: includes/fields/class-acf-field-wysiwyg.php:422 -msgid "Appears when creating a new post" -msgstr "Apare cănd creați un articol nou" - -#: includes/fields/class-acf-field-email.php:123 -#: includes/fields/class-acf-field-number.php:132 +#: includes/fields/class-acf-field-email.php:127 +#: includes/fields/class-acf-field-number.php:136 #: includes/fields/class-acf-field-password.php:71 -#: includes/fields/class-acf-field-text.php:124 -#: includes/fields/class-acf-field-textarea.php:107 -#: includes/fields/class-acf-field-url.php:105 +#: includes/fields/class-acf-field-text.php:128 +#: includes/fields/class-acf-field-textarea.php:111 +#: includes/fields/class-acf-field-url.php:109 msgid "Placeholder Text" msgstr "Textul afișat ca placeholder" -#: includes/fields/class-acf-field-email.php:124 -#: includes/fields/class-acf-field-number.php:133 +#: includes/fields/class-acf-field-email.php:128 +#: includes/fields/class-acf-field-number.php:137 #: includes/fields/class-acf-field-password.php:72 -#: includes/fields/class-acf-field-text.php:125 -#: includes/fields/class-acf-field-textarea.php:108 -#: includes/fields/class-acf-field-url.php:106 +#: includes/fields/class-acf-field-text.php:129 +#: includes/fields/class-acf-field-textarea.php:112 +#: includes/fields/class-acf-field-url.php:110 msgid "Appears within the input" msgstr "Apare în intrare" -#: includes/fields/class-acf-field-email.php:132 -#: includes/fields/class-acf-field-number.php:141 +#: includes/fields/class-acf-field-email.php:136 +#: includes/fields/class-acf-field-number.php:145 #: includes/fields/class-acf-field-password.php:80 -#: includes/fields/class-acf-field-text.php:133 +#: includes/fields/class-acf-field-range.php:185 +#: includes/fields/class-acf-field-text.php:137 msgid "Prepend" msgstr "Prefixează" -#: includes/fields/class-acf-field-email.php:133 -#: includes/fields/class-acf-field-number.php:142 +#: includes/fields/class-acf-field-email.php:137 +#: includes/fields/class-acf-field-number.php:146 #: includes/fields/class-acf-field-password.php:81 -#: includes/fields/class-acf-field-text.php:134 +#: includes/fields/class-acf-field-range.php:186 +#: includes/fields/class-acf-field-text.php:138 msgid "Appears before the input" msgstr "Apare înainte de intrare" -#: includes/fields/class-acf-field-email.php:141 -#: includes/fields/class-acf-field-number.php:150 +#: includes/fields/class-acf-field-email.php:145 +#: includes/fields/class-acf-field-number.php:154 #: includes/fields/class-acf-field-password.php:89 -#: includes/fields/class-acf-field-text.php:142 +#: includes/fields/class-acf-field-range.php:194 +#: includes/fields/class-acf-field-text.php:146 msgid "Append" msgstr "Adaugă" -#: includes/fields/class-acf-field-email.php:142 -#: includes/fields/class-acf-field-number.php:151 +#: includes/fields/class-acf-field-email.php:146 +#: includes/fields/class-acf-field-number.php:155 #: includes/fields/class-acf-field-password.php:90 -#: includes/fields/class-acf-field-text.php:143 +#: includes/fields/class-acf-field-range.php:195 +#: includes/fields/class-acf-field-text.php:147 msgid "Appears after the input" msgstr "Apare după intrare" @@ -1704,106 +1881,100 @@ msgstr "Apare după intrare" msgid "File" msgstr "Fișier" -#: includes/fields/class-acf-field-file.php:36 +#: includes/fields/class-acf-field-file.php:38 msgid "Edit File" msgstr "Editează fișierul" -#: includes/fields/class-acf-field-file.php:37 +#: includes/fields/class-acf-field-file.php:39 msgid "Update File" msgstr "Actualizează fișierul" -#: includes/fields/class-acf-field-file.php:38 -#: includes/fields/class-acf-field-image.php:43 includes/media.php:57 -#: pro/fields/class-acf-field-gallery.php:44 -msgid "Uploaded to this post" -msgstr "Încărcate pentru acest articol" - -#: includes/fields/class-acf-field-file.php:130 +#: includes/fields/class-acf-field-file.php:125 msgid "File name" msgstr "" -#: includes/fields/class-acf-field-file.php:134 -#: includes/fields/class-acf-field-file.php:237 -#: includes/fields/class-acf-field-file.php:248 -#: includes/fields/class-acf-field-image.php:251 -#: includes/fields/class-acf-field-image.php:280 +#: includes/fields/class-acf-field-file.php:129 +#: includes/fields/class-acf-field-file.php:232 +#: includes/fields/class-acf-field-file.php:243 +#: includes/fields/class-acf-field-image.php:248 +#: includes/fields/class-acf-field-image.php:277 #: pro/fields/class-acf-field-gallery.php:690 #: pro/fields/class-acf-field-gallery.php:719 msgid "File size" msgstr "Mărime fișier" -#: includes/fields/class-acf-field-file.php:159 +#: includes/fields/class-acf-field-file.php:154 msgid "Add File" msgstr "Adaugă fișier" -#: includes/fields/class-acf-field-file.php:210 +#: includes/fields/class-acf-field-file.php:205 msgid "File Array" msgstr "Mulțime de fișier" -#: includes/fields/class-acf-field-file.php:211 +#: includes/fields/class-acf-field-file.php:206 msgid "File URL" msgstr "Cale Fișier" -#: includes/fields/class-acf-field-file.php:212 +#: includes/fields/class-acf-field-file.php:207 msgid "File ID" msgstr "ID Fișier" -#: includes/fields/class-acf-field-file.php:219 -#: includes/fields/class-acf-field-image.php:216 +#: includes/fields/class-acf-field-file.php:214 +#: includes/fields/class-acf-field-image.php:213 #: pro/fields/class-acf-field-gallery.php:655 msgid "Library" msgstr "Librărie" -#: includes/fields/class-acf-field-file.php:220 -#: includes/fields/class-acf-field-image.php:217 +#: includes/fields/class-acf-field-file.php:215 +#: includes/fields/class-acf-field-image.php:214 #: pro/fields/class-acf-field-gallery.php:656 msgid "Limit the media library choice" msgstr "Limitați alegerea librăriei media" -#: includes/fields/class-acf-field-file.php:225 -#: includes/fields/class-acf-field-image.php:222 +#: includes/fields/class-acf-field-file.php:220 +#: includes/fields/class-acf-field-image.php:219 #: includes/locations/class-acf-location-attachment.php:101 #: includes/locations/class-acf-location-comment.php:79 #: includes/locations/class-acf-location-nav-menu.php:102 #: includes/locations/class-acf-location-taxonomy.php:79 #: includes/locations/class-acf-location-user-form.php:87 -#: includes/locations/class-acf-location-user-role.php:104 +#: includes/locations/class-acf-location-user-role.php:111 #: includes/locations/class-acf-location-widget.php:83 #: pro/fields/class-acf-field-gallery.php:661 msgid "All" msgstr "Toate" -#: includes/fields/class-acf-field-file.php:226 -#: includes/fields/class-acf-field-image.php:223 +#: includes/fields/class-acf-field-file.php:221 +#: includes/fields/class-acf-field-image.php:220 #: pro/fields/class-acf-field-gallery.php:662 msgid "Uploaded to post" msgstr "Încărcate pentru acest articol" -#: includes/fields/class-acf-field-file.php:233 -#: includes/fields/class-acf-field-image.php:230 +#: includes/fields/class-acf-field-file.php:228 +#: includes/fields/class-acf-field-image.php:227 #: pro/fields/class-acf-field-gallery.php:669 msgid "Minimum" msgstr "Minim" -#: includes/fields/class-acf-field-file.php:234 -#: includes/fields/class-acf-field-file.php:245 +#: includes/fields/class-acf-field-file.php:229 +#: includes/fields/class-acf-field-file.php:240 msgid "Restrict which files can be uploaded" msgstr "Restricționați ce tipuri de fișiere pot fi încărcate" -#: includes/fields/class-acf-field-file.php:244 -#: includes/fields/class-acf-field-image.php:259 +#: includes/fields/class-acf-field-file.php:239 +#: includes/fields/class-acf-field-image.php:256 #: pro/fields/class-acf-field-gallery.php:698 msgid "Maximum" msgstr "Maxim" -#: includes/fields/class-acf-field-file.php:255 -#: includes/fields/class-acf-field-image.php:288 +#: includes/fields/class-acf-field-file.php:250 +#: includes/fields/class-acf-field-image.php:285 #: pro/fields/class-acf-field-gallery.php:727 msgid "Allowed file types" msgstr "Tipuri de fișiere permise" -#: includes/fields/class-acf-field-file.php:256 -#: includes/fields/class-acf-field-image.php:289 +#: includes/fields/class-acf-field-file.php:251 +#: includes/fields/class-acf-field-image.php:286 #: pro/fields/class-acf-field-gallery.php:728 msgid "Comma separated list. Leave blank for all types" msgstr "Listă separată prin virgulă. Lăsați liber pentru toate tipurile" @@ -1812,54 +1983,50 @@ msgstr "Listă separată prin virgulă. Lăsați liber pentru toate tipurile" msgid "Google Map" msgstr "Hartă Google" -#: includes/fields/class-acf-field-google-map.php:40 -msgid "Locating" -msgstr "Localizare" - -#: includes/fields/class-acf-field-google-map.php:41 +#: includes/fields/class-acf-field-google-map.php:43 msgid "Sorry, this browser does not support geolocation" msgstr "Ne pare rău, acest broswer nu suportă geo locația" -#: includes/fields/class-acf-field-google-map.php:119 +#: includes/fields/class-acf-field-google-map.php:114 msgid "Clear location" msgstr "Sterge Locația" -#: includes/fields/class-acf-field-google-map.php:120 +#: includes/fields/class-acf-field-google-map.php:115 msgid "Find current location" msgstr "Găsește locația curentă" -#: includes/fields/class-acf-field-google-map.php:123 +#: includes/fields/class-acf-field-google-map.php:118 msgid "Search for address..." msgstr "Caută adresa..." -#: includes/fields/class-acf-field-google-map.php:153 -#: includes/fields/class-acf-field-google-map.php:164 +#: includes/fields/class-acf-field-google-map.php:148 +#: includes/fields/class-acf-field-google-map.php:159 msgid "Center" msgstr "Centru" -#: includes/fields/class-acf-field-google-map.php:154 -#: includes/fields/class-acf-field-google-map.php:165 +#: includes/fields/class-acf-field-google-map.php:149 +#: includes/fields/class-acf-field-google-map.php:160 msgid "Center the initial map" msgstr "Centrează harta inițială" -#: includes/fields/class-acf-field-google-map.php:176 +#: includes/fields/class-acf-field-google-map.php:171 msgid "Zoom" msgstr "Zoom" -#: includes/fields/class-acf-field-google-map.php:177 +#: includes/fields/class-acf-field-google-map.php:172 msgid "Set the initial zoom level" msgstr "Setează nivelul de zoom inițial" -#: includes/fields/class-acf-field-google-map.php:186 -#: includes/fields/class-acf-field-image.php:242 -#: includes/fields/class-acf-field-image.php:271 -#: includes/fields/class-acf-field-oembed.php:282 +#: includes/fields/class-acf-field-google-map.php:181 +#: includes/fields/class-acf-field-image.php:239 +#: includes/fields/class-acf-field-image.php:268 +#: includes/fields/class-acf-field-oembed.php:268 #: pro/fields/class-acf-field-gallery.php:681 #: pro/fields/class-acf-field-gallery.php:710 msgid "Height" msgstr "Înălțime" -#: includes/fields/class-acf-field-google-map.php:187 +#: includes/fields/class-acf-field-google-map.php:182 msgid "Customise the map height" msgstr "Personalizați înălțimea hărții" @@ -1867,34 +2034,34 @@ msgstr "Personalizați înălțimea hărții" msgid "Group" msgstr "" -#: includes/fields/class-acf-field-group.php:456 -#: pro/fields/class-acf-field-repeater.php:397 +#: includes/fields/class-acf-field-group.php:459 +#: pro/fields/class-acf-field-repeater.php:381 msgid "Sub Fields" msgstr "Sub câmpuri" -#: includes/fields/class-acf-field-group.php:473 -#: pro/fields/class-acf-field-clone.php:856 +#: includes/fields/class-acf-field-group.php:475 +#: pro/fields/class-acf-field-clone.php:844 msgid "Specify the style used to render the selected fields" msgstr "" -#: includes/fields/class-acf-field-group.php:478 -#: pro/fields/class-acf-field-clone.php:861 -#: pro/fields/class-acf-field-flexible-content.php:614 -#: pro/fields/class-acf-field-repeater.php:466 +#: includes/fields/class-acf-field-group.php:480 +#: pro/fields/class-acf-field-clone.php:849 +#: pro/fields/class-acf-field-flexible-content.php:606 +#: pro/fields/class-acf-field-repeater.php:450 msgid "Block" msgstr "Bloc" -#: includes/fields/class-acf-field-group.php:479 -#: pro/fields/class-acf-field-clone.php:862 -#: pro/fields/class-acf-field-flexible-content.php:613 -#: pro/fields/class-acf-field-repeater.php:465 +#: includes/fields/class-acf-field-group.php:481 +#: pro/fields/class-acf-field-clone.php:850 +#: pro/fields/class-acf-field-flexible-content.php:605 +#: pro/fields/class-acf-field-repeater.php:449 msgid "Table" msgstr "Tabel" -#: includes/fields/class-acf-field-group.php:480 -#: pro/fields/class-acf-field-clone.php:863 -#: pro/fields/class-acf-field-flexible-content.php:615 -#: pro/fields/class-acf-field-repeater.php:467 +#: includes/fields/class-acf-field-group.php:482 +#: pro/fields/class-acf-field-clone.php:851 +#: pro/fields/class-acf-field-flexible-content.php:607 +#: pro/fields/class-acf-field-repeater.php:451 msgid "Row" msgstr "Linie" @@ -1902,69 +2069,58 @@ msgstr "Linie" msgid "Image" msgstr "Imagine" -#: includes/fields/class-acf-field-image.php:40 +#: includes/fields/class-acf-field-image.php:42 msgid "Select Image" msgstr "Alege imaginea" -#: includes/fields/class-acf-field-image.php:41 +#: includes/fields/class-acf-field-image.php:43 #: pro/fields/class-acf-field-gallery.php:42 msgid "Edit Image" msgstr "Editează imaginea" -#: includes/fields/class-acf-field-image.php:42 +#: includes/fields/class-acf-field-image.php:44 #: pro/fields/class-acf-field-gallery.php:43 msgid "Update Image" msgstr "Actualizează imaginea" -#: includes/fields/class-acf-field-image.php:44 -msgid "All images" -msgstr "Toate imaginiile" - -#: includes/fields/class-acf-field-image.php:127 -#: includes/fields/class-acf-field-link.php:140 includes/input.php:269 -#: pro/fields/class-acf-field-gallery.php:343 -#: pro/fields/class-acf-field-gallery.php:531 -msgid "Remove" -msgstr "Înlătură" - -#: includes/fields/class-acf-field-image.php:143 +#: includes/fields/class-acf-field-image.php:140 msgid "No image selected" msgstr "Nu ai selectat nici o imagine" -#: includes/fields/class-acf-field-image.php:143 +#: includes/fields/class-acf-field-image.php:140 msgid "Add Image" msgstr "Adaugă o imagine" -#: includes/fields/class-acf-field-image.php:197 +#: includes/fields/class-acf-field-image.php:194 msgid "Image Array" msgstr "Mulțime de imagini" -#: includes/fields/class-acf-field-image.php:198 +#: includes/fields/class-acf-field-image.php:195 msgid "Image URL" msgstr "URL-ul imaginii" -#: includes/fields/class-acf-field-image.php:199 +#: includes/fields/class-acf-field-image.php:196 msgid "Image ID" msgstr "ID-ul imaginii" -#: includes/fields/class-acf-field-image.php:206 +#: includes/fields/class-acf-field-image.php:203 msgid "Preview Size" msgstr "Dimensiunea previzualizării" -#: includes/fields/class-acf-field-image.php:207 +#: includes/fields/class-acf-field-image.php:204 msgid "Shown when entering data" msgstr "Afișat la introducerea datelor" -#: includes/fields/class-acf-field-image.php:231 -#: includes/fields/class-acf-field-image.php:260 +#: includes/fields/class-acf-field-image.php:228 +#: includes/fields/class-acf-field-image.php:257 #: pro/fields/class-acf-field-gallery.php:670 #: pro/fields/class-acf-field-gallery.php:699 msgid "Restrict which images can be uploaded" msgstr "Restricționează care imagini pot fi încărcate" -#: includes/fields/class-acf-field-image.php:234 -#: includes/fields/class-acf-field-image.php:263 -#: includes/fields/class-acf-field-oembed.php:271 +#: includes/fields/class-acf-field-image.php:231 +#: includes/fields/class-acf-field-image.php:260 +#: includes/fields/class-acf-field-oembed.php:257 #: pro/fields/class-acf-field-gallery.php:673 #: pro/fields/class-acf-field-gallery.php:702 msgid "Width" @@ -1997,27 +2153,27 @@ msgid "Message" msgstr "Mesaj" #: includes/fields/class-acf-field-message.php:110 -#: includes/fields/class-acf-field-textarea.php:135 +#: includes/fields/class-acf-field-textarea.php:139 msgid "New Lines" msgstr "Linii Noi" #: includes/fields/class-acf-field-message.php:111 -#: includes/fields/class-acf-field-textarea.php:136 +#: includes/fields/class-acf-field-textarea.php:140 msgid "Controls how new lines are rendered" msgstr "Controlează cum sunt redate noile linii" #: includes/fields/class-acf-field-message.php:115 -#: includes/fields/class-acf-field-textarea.php:140 +#: includes/fields/class-acf-field-textarea.php:144 msgid "Automatically add paragraphs" msgstr "Adaugă automat paragrafe" #: includes/fields/class-acf-field-message.php:116 -#: includes/fields/class-acf-field-textarea.php:141 +#: includes/fields/class-acf-field-textarea.php:145 msgid "Automatically add <br>" msgstr "Adaugă automat <br>" #: includes/fields/class-acf-field-message.php:117 -#: includes/fields/class-acf-field-textarea.php:142 +#: includes/fields/class-acf-field-textarea.php:146 msgid "No Formatting" msgstr "Nici o Formater" @@ -2035,28 +2191,31 @@ msgstr "" msgid "Number" msgstr "Număr" -#: includes/fields/class-acf-field-number.php:159 +#: includes/fields/class-acf-field-number.php:163 +#: includes/fields/class-acf-field-range.php:155 msgid "Minimum Value" msgstr "Valoare minimă" -#: includes/fields/class-acf-field-number.php:168 +#: includes/fields/class-acf-field-number.php:172 +#: includes/fields/class-acf-field-range.php:165 msgid "Maximum Value" msgstr "Valoare maximă" -#: includes/fields/class-acf-field-number.php:177 +#: includes/fields/class-acf-field-number.php:181 +#: includes/fields/class-acf-field-range.php:175 msgid "Step Size" msgstr "Mărime pas" -#: includes/fields/class-acf-field-number.php:215 +#: includes/fields/class-acf-field-number.php:219 msgid "Value must be a number" msgstr "Valoarea trebuie să fie un număr" -#: includes/fields/class-acf-field-number.php:233 +#: includes/fields/class-acf-field-number.php:237 #, php-format msgid "Value must be equal to or higher than %d" msgstr "Valoarea trebuie să fie egală sau mai mare decât %d" -#: includes/fields/class-acf-field-number.php:241 +#: includes/fields/class-acf-field-number.php:245 #, php-format msgid "Value must be equal to or lower than %d" msgstr "Valoarea trebuie să fie egală sau mai mică decât %d" @@ -2065,21 +2224,12 @@ msgstr "Valoarea trebuie să fie egală sau mai mică decât %d" msgid "oEmbed" msgstr "oEmbed" -#: includes/fields/class-acf-field-oembed.php:222 +#: includes/fields/class-acf-field-oembed.php:216 msgid "Enter URL" msgstr "Introduceți URL" -#: includes/fields/class-acf-field-oembed.php:235 -#: includes/fields/class-acf-field-taxonomy.php:891 -msgid "Error." -msgstr "Eroare." - -#: includes/fields/class-acf-field-oembed.php:235 -msgid "No embed found for the given URL." -msgstr "Nu a fost găsit nici un oembed pentru URL introdus." - -#: includes/fields/class-acf-field-oembed.php:268 -#: includes/fields/class-acf-field-oembed.php:279 +#: includes/fields/class-acf-field-oembed.php:254 +#: includes/fields/class-acf-field-oembed.php:265 msgid "Embed Size" msgstr "Marimea Embed" @@ -2087,47 +2237,44 @@ msgstr "Marimea Embed" msgid "Archives" msgstr "Arhive" +#: includes/fields/class-acf-field-page_link.php:269 +#: includes/fields/class-acf-field-post_object.php:268 +#: includes/fields/class-acf-field-taxonomy.php:986 +msgid "Parent" +msgstr "" + #: includes/fields/class-acf-field-page_link.php:485 #: includes/fields/class-acf-field-post_object.php:384 -#: includes/fields/class-acf-field-relationship.php:623 +#: includes/fields/class-acf-field-relationship.php:624 msgid "Filter by Post Type" msgstr "Filtur dupa Tipul Articolului" #: includes/fields/class-acf-field-page_link.php:493 #: includes/fields/class-acf-field-post_object.php:392 -#: includes/fields/class-acf-field-relationship.php:631 +#: includes/fields/class-acf-field-relationship.php:632 msgid "All post types" msgstr "Toate Tipurile Articolului" #: includes/fields/class-acf-field-page_link.php:499 #: includes/fields/class-acf-field-post_object.php:398 -#: includes/fields/class-acf-field-relationship.php:637 +#: includes/fields/class-acf-field-relationship.php:638 msgid "Filter by Taxonomy" msgstr "Filtru după Taxonomie" #: includes/fields/class-acf-field-page_link.php:507 #: includes/fields/class-acf-field-post_object.php:406 -#: includes/fields/class-acf-field-relationship.php:645 +#: includes/fields/class-acf-field-relationship.php:646 msgid "All taxonomies" msgstr "Toate Taxonomiile" -#: includes/fields/class-acf-field-page_link.php:513 -#: includes/fields/class-acf-field-post_object.php:412 -#: includes/fields/class-acf-field-radio.php:244 -#: includes/fields/class-acf-field-select.php:386 -#: includes/fields/class-acf-field-taxonomy.php:786 -#: includes/fields/class-acf-field-user.php:408 -msgid "Allow Null?" -msgstr "Permite valori nule?" - #: includes/fields/class-acf-field-page_link.php:523 msgid "Allow Archives URLs" msgstr "" #: includes/fields/class-acf-field-page_link.php:533 #: includes/fields/class-acf-field-post_object.php:422 -#: includes/fields/class-acf-field-select.php:396 -#: includes/fields/class-acf-field-user.php:418 +#: includes/fields/class-acf-field-select.php:377 +#: includes/fields/class-acf-field-user.php:419 msgid "Select multiple values?" msgstr "Permite selecția de valori multiple?" @@ -2137,12 +2284,12 @@ msgstr "Parolă" #: includes/fields/class-acf-field-post_object.php:25 #: includes/fields/class-acf-field-post_object.php:437 -#: includes/fields/class-acf-field-relationship.php:702 +#: includes/fields/class-acf-field-relationship.php:703 msgid "Post Object" msgstr "Obiect Articol" #: includes/fields/class-acf-field-post_object.php:438 -#: includes/fields/class-acf-field-relationship.php:703 +#: includes/fields/class-acf-field-relationship.php:704 msgid "Post ID" msgstr "ID-ul Articolului" @@ -2166,70 +2313,71 @@ msgstr "Salvează Altceva" msgid "Save 'other' values to the field's choices" msgstr "Salvează valoarea 'Altceva' la opțiunile câmpului" +#: includes/fields/class-acf-field-range.php:25 +msgid "Range" +msgstr "" + #: includes/fields/class-acf-field-relationship.php:25 msgid "Relationship" msgstr "Relație" -#: includes/fields/class-acf-field-relationship.php:37 -msgid "Minimum values reached ( {min} values )" -msgstr "" - -#: includes/fields/class-acf-field-relationship.php:38 +#: includes/fields/class-acf-field-relationship.php:40 msgid "Maximum values reached ( {max} values )" msgstr "Valorile maxime atinse ( {max} valori )" -#: includes/fields/class-acf-field-relationship.php:39 +#: includes/fields/class-acf-field-relationship.php:41 msgid "Loading" msgstr "Se încarcă" -#: includes/fields/class-acf-field-relationship.php:40 +#: includes/fields/class-acf-field-relationship.php:42 msgid "No matches found" msgstr "Nici un rezultat" -#: includes/fields/class-acf-field-relationship.php:423 +#: includes/fields/class-acf-field-relationship.php:424 msgid "Select post type" msgstr "Alegeți tipul articolului" -#: includes/fields/class-acf-field-relationship.php:449 +#: includes/fields/class-acf-field-relationship.php:450 msgid "Select taxonomy" msgstr "Alegeți taxonomia" -#: includes/fields/class-acf-field-relationship.php:539 +#: includes/fields/class-acf-field-relationship.php:540 msgid "Search..." msgstr "Caută..." -#: includes/fields/class-acf-field-relationship.php:651 +#: includes/fields/class-acf-field-relationship.php:652 msgid "Filters" msgstr "Filtre" -#: includes/fields/class-acf-field-relationship.php:657 +#: includes/fields/class-acf-field-relationship.php:658 #: includes/locations/class-acf-location-post-type.php:27 msgid "Post Type" msgstr "Tipul Articolului" -#: includes/fields/class-acf-field-relationship.php:658 +#: includes/fields/class-acf-field-relationship.php:659 #: includes/fields/class-acf-field-taxonomy.php:28 -#: includes/fields/class-acf-field-taxonomy.php:756 +#: includes/fields/class-acf-field-taxonomy.php:763 +#: includes/locations/class-acf-location-taxonomy.php:27 msgid "Taxonomy" msgstr "Taxonomie" -#: includes/fields/class-acf-field-relationship.php:665 +#: includes/fields/class-acf-field-relationship.php:666 msgid "Elements" msgstr "Elemente" -#: includes/fields/class-acf-field-relationship.php:666 +#: includes/fields/class-acf-field-relationship.php:667 msgid "Selected elements will be displayed in each result" msgstr "Elementele selectate vor apărea în fiecare rezultat" -#: includes/fields/class-acf-field-relationship.php:677 +#: includes/fields/class-acf-field-relationship.php:678 msgid "Minimum posts" msgstr "" -#: includes/fields/class-acf-field-relationship.php:686 +#: includes/fields/class-acf-field-relationship.php:687 msgid "Maximum posts" msgstr "Numărul maxim de articole" -#: includes/fields/class-acf-field-relationship.php:790 +#: includes/fields/class-acf-field-relationship.php:791 #: pro/fields/class-acf-field-gallery.php:800 #, php-format msgid "%s requires at least %s selection" @@ -2239,90 +2387,85 @@ msgstr[1] "%s necesită cel puțin %s selecții" msgstr[2] "%s necesită cel puțin %s selecții" #: includes/fields/class-acf-field-select.php:25 -#: includes/fields/class-acf-field-taxonomy.php:778 +#: includes/fields/class-acf-field-taxonomy.php:785 msgctxt "noun" msgid "Select" -msgstr "" +msgstr "Selectează" -#: includes/fields/class-acf-field-select.php:38 +#: includes/fields/class-acf-field-select.php:40 msgctxt "Select2 JS matches_1" msgid "One result is available, press enter to select it." -msgstr "" +msgstr "Un rezultat disponibil, apasă enter pentru a-l selecta." -#: includes/fields/class-acf-field-select.php:39 +#: includes/fields/class-acf-field-select.php:41 #, php-format msgctxt "Select2 JS matches_n" msgid "%d results are available, use up and down arrow keys to navigate." -msgstr "" - -#: includes/fields/class-acf-field-select.php:40 -msgctxt "Select2 JS matches_0" -msgid "No matches found" -msgstr "" - -#: includes/fields/class-acf-field-select.php:41 -msgctxt "Select2 JS input_too_short_1" -msgid "Please enter 1 or more characters" -msgstr "" +msgstr "%d rezultate disponibile, apasă tastele sus/jos pentru a naviga." #: includes/fields/class-acf-field-select.php:42 -#, php-format -msgctxt "Select2 JS input_too_short_n" -msgid "Please enter %d or more characters" -msgstr "" +msgctxt "Select2 JS matches_0" +msgid "No matches found" +msgstr "Nici un rezultat" #: includes/fields/class-acf-field-select.php:43 -msgctxt "Select2 JS input_too_long_1" -msgid "Please delete 1 character" -msgstr "" +msgctxt "Select2 JS input_too_short_1" +msgid "Please enter 1 or more characters" +msgstr "Te rog să introduci cel puțin un caracter" #: includes/fields/class-acf-field-select.php:44 #, php-format -msgctxt "Select2 JS input_too_long_n" -msgid "Please delete %d characters" -msgstr "" +msgctxt "Select2 JS input_too_short_n" +msgid "Please enter %d or more characters" +msgstr "Te rog să introduci %d sau mai multe caractere" #: includes/fields/class-acf-field-select.php:45 -msgctxt "Select2 JS selection_too_long_1" -msgid "You can only select 1 item" -msgstr "" +msgctxt "Select2 JS input_too_long_1" +msgid "Please delete 1 character" +msgstr "Te rog să ștergi un caracter" #: includes/fields/class-acf-field-select.php:46 #, php-format -msgctxt "Select2 JS selection_too_long_n" -msgid "You can only select %d items" -msgstr "" +msgctxt "Select2 JS input_too_long_n" +msgid "Please delete %d characters" +msgstr "Te rog să ștergi %d caractere" #: includes/fields/class-acf-field-select.php:47 -msgctxt "Select2 JS load_more" -msgid "Loading more results…" -msgstr "" +msgctxt "Select2 JS selection_too_long_1" +msgid "You can only select 1 item" +msgstr "Poți selecta un singur element" #: includes/fields/class-acf-field-select.php:48 -msgctxt "Select2 JS searching" -msgid "Searching…" -msgstr "" +#, php-format +msgctxt "Select2 JS selection_too_long_n" +msgid "You can only select %d items" +msgstr "Poți selecta %d elemente" #: includes/fields/class-acf-field-select.php:49 +msgctxt "Select2 JS load_more" +msgid "Loading more results…" +msgstr "Se încarcă mai multe rezultate…" + +#: includes/fields/class-acf-field-select.php:50 +msgctxt "Select2 JS searching" +msgid "Searching…" +msgstr "Se caută…" + +#: includes/fields/class-acf-field-select.php:51 msgctxt "Select2 JS load_fail" msgid "Loading failed" -msgstr "" +msgstr "Încărcarea a eșuat" -#: includes/fields/class-acf-field-select.php:255 includes/media.php:54 -msgctxt "verb" -msgid "Select" -msgstr "" - -#: includes/fields/class-acf-field-select.php:406 +#: includes/fields/class-acf-field-select.php:387 #: includes/fields/class-acf-field-true_false.php:144 msgid "Stylised UI" msgstr "UI stilizat" -#: includes/fields/class-acf-field-select.php:416 +#: includes/fields/class-acf-field-select.php:397 msgid "Use AJAX to lazy load choices?" msgstr "Folosiți AJAX pentru a încărca alegerile în modul ”Lazy Load”?" -#: includes/fields/class-acf-field-select.php:427 +#: includes/fields/class-acf-field-select.php:413 msgid "Specify the value returned" msgstr "" @@ -2334,131 +2477,106 @@ msgstr "" msgid "Tab" msgstr "Tab" -#: includes/fields/class-acf-field-tab.php:82 -msgid "" -"The tab field will display incorrectly when added to a Table style repeater " -"field or flexible content field layout" -msgstr "" -"Câmpul Tab nu va fi afișat corect când vei adauga un Câmp de tipul Tabel de " -"stiluri repetitiv sau un Câmp de tipul Schemă de Conținut Flexibil" - -#: includes/fields/class-acf-field-tab.php:83 -msgid "" -"Use \"Tab Fields\" to better organize your edit screen by grouping fields " -"together." -msgstr "" -"Folosește \"Tab Fields\" pentru o mai ușoară organizare și grupare a " -"câmpurilor." - -#: includes/fields/class-acf-field-tab.php:84 -msgid "" -"All fields following this \"tab field\" (or until another \"tab field\" is " -"defined) will be grouped together using this field's label as the tab " -"heading." -msgstr "" -"Toate câmpurile care urmează după acest \"tab field\" (sau până când un " -"alt \"tab field\" este definit) vor fi grupate împreună folosind eticheta " -"acestui câmp ca fiind Titlul Tabului." - -#: includes/fields/class-acf-field-tab.php:98 +#: includes/fields/class-acf-field-tab.php:102 msgid "Placement" msgstr "Plasament" -#: includes/fields/class-acf-field-tab.php:110 -msgid "End-point" +#: includes/fields/class-acf-field-tab.php:115 +msgid "" +"Define an endpoint for the previous tabs to stop. This will start a new " +"group of tabs." msgstr "" -#: includes/fields/class-acf-field-tab.php:111 -msgid "Use this field as an end-point and start a new group of tabs" -msgstr "" +#: includes/fields/class-acf-field-taxonomy.php:713 +#, php-format +msgctxt "No terms" +msgid "No %s" +msgstr "Fără %s" -#: includes/fields/class-acf-field-taxonomy.php:706 -#: includes/fields/class-acf-field-true_false.php:80 -#: includes/fields/class-acf-field-true_false.php:169 includes/input.php:268 -#: pro/admin/views/html-settings-updates.php:103 -msgid "No" -msgstr "Nu" - -#: includes/fields/class-acf-field-taxonomy.php:725 +#: includes/fields/class-acf-field-taxonomy.php:732 msgid "None" msgstr "Nici unul" -#: includes/fields/class-acf-field-taxonomy.php:757 +#: includes/fields/class-acf-field-taxonomy.php:764 msgid "Select the taxonomy to be displayed" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:766 +#: includes/fields/class-acf-field-taxonomy.php:773 msgid "Appearance" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:767 +#: includes/fields/class-acf-field-taxonomy.php:774 msgid "Select the appearance of this field" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:772 +#: includes/fields/class-acf-field-taxonomy.php:779 msgid "Multiple Values" msgstr "Valori multiple" -#: includes/fields/class-acf-field-taxonomy.php:774 +#: includes/fields/class-acf-field-taxonomy.php:781 msgid "Multi Select" msgstr "Selectie multiplă" -#: includes/fields/class-acf-field-taxonomy.php:776 +#: includes/fields/class-acf-field-taxonomy.php:783 msgid "Single Value" msgstr "O singură valoare" -#: includes/fields/class-acf-field-taxonomy.php:777 +#: includes/fields/class-acf-field-taxonomy.php:784 msgid "Radio Buttons" msgstr "Butoane radio" -#: includes/fields/class-acf-field-taxonomy.php:796 +#: includes/fields/class-acf-field-taxonomy.php:803 msgid "Create Terms" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:797 +#: includes/fields/class-acf-field-taxonomy.php:804 msgid "Allow new terms to be created whilst editing" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:806 +#: includes/fields/class-acf-field-taxonomy.php:813 msgid "Save Terms" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:807 +#: includes/fields/class-acf-field-taxonomy.php:814 msgid "Connect selected terms to the post" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:816 +#: includes/fields/class-acf-field-taxonomy.php:823 msgid "Load Terms" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:817 +#: includes/fields/class-acf-field-taxonomy.php:824 msgid "Load value from posts terms" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:831 +#: includes/fields/class-acf-field-taxonomy.php:838 msgid "Term Object" msgstr "Obiectul Termen" -#: includes/fields/class-acf-field-taxonomy.php:832 +#: includes/fields/class-acf-field-taxonomy.php:839 msgid "Term ID" msgstr "ID-ul Termenului" -#: includes/fields/class-acf-field-taxonomy.php:891 +#: includes/fields/class-acf-field-taxonomy.php:898 +msgid "Error." +msgstr "Eroare." + +#: includes/fields/class-acf-field-taxonomy.php:898 #, php-format msgid "User unable to add new %s" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:904 +#: includes/fields/class-acf-field-taxonomy.php:911 #, php-format msgid "%s already exists" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:945 +#: includes/fields/class-acf-field-taxonomy.php:952 #, php-format msgid "%s added" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:990 +#: includes/fields/class-acf-field-taxonomy.php:998 msgid "Add" msgstr "" @@ -2466,13 +2584,13 @@ msgstr "" msgid "Text" msgstr "Text" -#: includes/fields/class-acf-field-text.php:151 -#: includes/fields/class-acf-field-textarea.php:116 +#: includes/fields/class-acf-field-text.php:155 +#: includes/fields/class-acf-field-textarea.php:120 msgid "Character Limit" msgstr "Limită de caractere" -#: includes/fields/class-acf-field-text.php:152 -#: includes/fields/class-acf-field-textarea.php:117 +#: includes/fields/class-acf-field-text.php:156 +#: includes/fields/class-acf-field-textarea.php:121 msgid "Leave blank for no limit" msgstr "Lasă gol pentru a nu a avea o limită" @@ -2480,11 +2598,11 @@ msgstr "Lasă gol pentru a nu a avea o limită" msgid "Text Area" msgstr "Zonă de Text" -#: includes/fields/class-acf-field-textarea.php:125 +#: includes/fields/class-acf-field-textarea.php:129 msgid "Rows" msgstr "Linii" -#: includes/fields/class-acf-field-textarea.php:126 +#: includes/fields/class-acf-field-textarea.php:130 msgid "Sets the textarea height" msgstr "Setează înălțimea zonei de text" @@ -2496,12 +2614,6 @@ msgstr "" msgid "True / False" msgstr "Adevărat / False" -#: includes/fields/class-acf-field-true_false.php:79 -#: includes/fields/class-acf-field-true_false.php:159 includes/input.php:267 -#: pro/admin/views/html-settings-updates.php:93 -msgid "Yes" -msgstr "Da" - #: includes/fields/class-acf-field-true_false.php:127 msgid "Displays text alongside the checkbox" msgstr "" @@ -2514,11 +2626,11 @@ msgstr "" msgid "Text shown when active" msgstr "" -#: includes/fields/class-acf-field-true_false.php:165 +#: includes/fields/class-acf-field-true_false.php:170 msgid "Off Text" msgstr "" -#: includes/fields/class-acf-field-true_false.php:166 +#: includes/fields/class-acf-field-true_false.php:171 msgid "Text shown when inactive" msgstr "" @@ -2526,7 +2638,7 @@ msgstr "" msgid "Url" msgstr "Url" -#: includes/fields/class-acf-field-url.php:147 +#: includes/fields/class-acf-field-url.php:151 msgid "Value must be a valid URL" msgstr "Valoarea trebuie să fie un URL valid" @@ -2534,65 +2646,77 @@ msgstr "Valoarea trebuie să fie un URL valid" msgid "User" msgstr "Utilizatorul" -#: includes/fields/class-acf-field-user.php:393 +#: includes/fields/class-acf-field-user.php:394 msgid "Filter by role" msgstr "Filtrează după rol" -#: includes/fields/class-acf-field-user.php:401 +#: includes/fields/class-acf-field-user.php:402 msgid "All user roles" msgstr "Toate rolurile de utilizator" +#: includes/fields/class-acf-field-user.php:433 +msgid "User Array" +msgstr "" + +#: includes/fields/class-acf-field-user.php:434 +msgid "User Object" +msgstr "" + +#: includes/fields/class-acf-field-user.php:435 +msgid "User ID" +msgstr "" + #: includes/fields/class-acf-field-wysiwyg.php:25 msgid "Wysiwyg Editor" -msgstr "Editor Wysiwyg " +msgstr "Editor Vizual" -#: includes/fields/class-acf-field-wysiwyg.php:370 +#: includes/fields/class-acf-field-wysiwyg.php:359 msgid "Visual" msgstr "Visual" -#: includes/fields/class-acf-field-wysiwyg.php:371 +#: includes/fields/class-acf-field-wysiwyg.php:360 msgctxt "Name for the Text editor tab (formerly HTML)" msgid "Text" msgstr "Text" -#: includes/fields/class-acf-field-wysiwyg.php:377 +#: includes/fields/class-acf-field-wysiwyg.php:366 msgid "Click to initialize TinyMCE" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:430 +#: includes/fields/class-acf-field-wysiwyg.php:419 msgid "Tabs" msgstr "Taburi" -#: includes/fields/class-acf-field-wysiwyg.php:435 +#: includes/fields/class-acf-field-wysiwyg.php:424 msgid "Visual & Text" msgstr "Vizual & Text" -#: includes/fields/class-acf-field-wysiwyg.php:436 +#: includes/fields/class-acf-field-wysiwyg.php:425 msgid "Visual Only" msgstr "Doar Vizual" -#: includes/fields/class-acf-field-wysiwyg.php:437 +#: includes/fields/class-acf-field-wysiwyg.php:426 msgid "Text Only" msgstr "Doar Text" -#: includes/fields/class-acf-field-wysiwyg.php:444 +#: includes/fields/class-acf-field-wysiwyg.php:433 msgid "Toolbar" msgstr "Bară de instrumente" -#: includes/fields/class-acf-field-wysiwyg.php:454 +#: includes/fields/class-acf-field-wysiwyg.php:443 msgid "Show Media Upload Buttons?" -msgstr "Arată Butoanele de Încărcare a fișierelor Media" +msgstr "Arată Butoanele de Încărcare a fișierelor Media?" -#: includes/fields/class-acf-field-wysiwyg.php:464 +#: includes/fields/class-acf-field-wysiwyg.php:453 msgid "Delay initialization?" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:465 +#: includes/fields/class-acf-field-wysiwyg.php:454 msgid "TinyMCE will not be initalized until field is clicked" msgstr "" #: includes/forms/form-comment.php:166 includes/forms/form-post.php:303 -#: pro/admin/admin-options-page.php:304 +#: pro/admin/admin-options-page.php:308 msgid "Edit field group" msgstr "Editează Grupul de Câmpuri" @@ -2600,8 +2724,8 @@ msgstr "Editează Grupul de Câmpuri" msgid "Validate Email" msgstr "" -#: includes/forms/form-front.php:103 -#: pro/fields/class-acf-field-gallery.php:573 pro/options-page.php:81 +#: includes/forms/form-front.php:103 pro/fields/class-acf-field-gallery.php:573 +#: pro/options-page.php:81 msgid "Update" msgstr "Actualizează" @@ -2609,48 +2733,10 @@ msgstr "Actualizează" msgid "Post updated" msgstr "Articol Actualizat" -#: includes/forms/form-front.php:229 +#: includes/forms/form-front.php:230 msgid "Spam Detected" msgstr "" -#: includes/input.php:259 -msgid "Expand Details" -msgstr "Extinde Detaliile" - -#: includes/input.php:260 -msgid "Collapse Details" -msgstr "Închide Detaliile" - -#: includes/input.php:261 -msgid "Validation successful" -msgstr "Validare a fost făcută cu succes" - -#: includes/input.php:262 includes/validation.php:285 -#: includes/validation.php:296 -msgid "Validation failed" -msgstr "Validarea a eșuat" - -#: includes/input.php:263 -msgid "1 field requires attention" -msgstr "" - -#: includes/input.php:264 -#, php-format -msgid "%d fields require attention" -msgstr "" - -#: includes/input.php:265 -msgid "Restricted" -msgstr "" - -#: includes/input.php:266 -msgid "Are you sure?" -msgstr "" - -#: includes/input.php:270 -msgid "Cancel" -msgstr "" - #: includes/locations.php:93 includes/locations/class-acf-location-post.php:27 msgid "Post" msgstr "Articol" @@ -2663,6 +2749,14 @@ msgstr "Pagina" msgid "Forms" msgstr "Formulare" +#: includes/locations.php:247 +msgid "is equal to" +msgstr "este egal cu" + +#: includes/locations.php:248 +msgid "is not equal to" +msgstr "nu este egal cu" + #: includes/locations/class-acf-location-attachment.php:27 msgid "Attachment" msgstr "Atașament" @@ -2733,23 +2827,23 @@ msgstr "Format Implicit" msgid "Page Type" msgstr "Tipul Pagini" -#: includes/locations/class-acf-location-page-type.php:145 +#: includes/locations/class-acf-location-page-type.php:146 msgid "Front Page" msgstr "Pagina principală" -#: includes/locations/class-acf-location-page-type.php:146 +#: includes/locations/class-acf-location-page-type.php:147 msgid "Posts Page" msgstr "Pagina Articolelor" -#: includes/locations/class-acf-location-page-type.php:147 +#: includes/locations/class-acf-location-page-type.php:148 msgid "Top Level Page (no parent)" msgstr "Pagina primului nivel (fără părinte)" -#: includes/locations/class-acf-location-page-type.php:148 +#: includes/locations/class-acf-location-page-type.php:149 msgid "Parent Page (has children)" msgstr "Pagina părinte (are succesori)" -#: includes/locations/class-acf-location-page-type.php:149 +#: includes/locations/class-acf-location-page-type.php:150 msgid "Child Page (has parent)" msgstr "Pagina Succesor (are părinte)" @@ -2773,10 +2867,6 @@ msgstr "Taxonomia Articolului" msgid "Post Template" msgstr "" -#: includes/locations/class-acf-location-taxonomy.php:27 -msgid "Taxonomy Term" -msgstr "Termenul Taxonomiei" - #: includes/locations/class-acf-location-user-form.php:27 msgid "User Form" msgstr "Formularul Utilizatorului" @@ -2797,16 +2887,6 @@ msgstr "Rolul Utilizatorului" msgid "Widget" msgstr "Piesă" -#: includes/media.php:55 -msgctxt "verb" -msgid "Edit" -msgstr "" - -#: includes/media.php:56 -msgctxt "verb" -msgid "Update" -msgstr "" - #: includes/validation.php:364 #, php-format msgid "%s value is required" @@ -2817,11 +2897,11 @@ msgstr "%s valoarea este obligatorie" msgid "Advanced Custom Fields PRO" msgstr "Câmpuri Avansate Personalizate PRO" -#: pro/admin/admin-options-page.php:196 +#: pro/admin/admin-options-page.php:200 msgid "Publish" msgstr "Publică" -#: pro/admin/admin-options-page.php:202 +#: pro/admin/admin-options-page.php:206 #, php-format msgid "" "No Custom Field Groups found for this options page. Create a " @@ -2835,23 +2915,23 @@ msgid "Error. Could not connect to update server" msgstr "Eroare. Conexiunea cu servărul a fost pierdută" #: pro/admin/admin-settings-updates.php:162 -#: pro/admin/views/html-settings-updates.php:17 +#: pro/admin/views/html-settings-updates.php:13 msgid "Updates" msgstr "Actualizări" -#: pro/admin/views/html-settings-updates.php:11 +#: pro/admin/views/html-settings-updates.php:7 msgid "Deactivate License" msgstr "Dezactivează Licența" -#: pro/admin/views/html-settings-updates.php:11 +#: pro/admin/views/html-settings-updates.php:7 msgid "Activate License" msgstr "Activează Licența" -#: pro/admin/views/html-settings-updates.php:21 +#: pro/admin/views/html-settings-updates.php:17 msgid "License Information" msgstr "" -#: pro/admin/views/html-settings-updates.php:24 +#: pro/admin/views/html-settings-updates.php:20 #, php-format msgid "" "To unlock updates, please enter your license key below. If you don't have a " @@ -2859,103 +2939,103 @@ msgid "" "a>." msgstr "" -#: pro/admin/views/html-settings-updates.php:33 +#: pro/admin/views/html-settings-updates.php:29 msgid "License Key" msgstr "Cod de activare" -#: pro/admin/views/html-settings-updates.php:65 +#: pro/admin/views/html-settings-updates.php:61 msgid "Update Information" msgstr "Actualizează infromațiile" -#: pro/admin/views/html-settings-updates.php:72 +#: pro/admin/views/html-settings-updates.php:68 msgid "Current Version" msgstr "Versiunea curentă" -#: pro/admin/views/html-settings-updates.php:80 +#: pro/admin/views/html-settings-updates.php:76 msgid "Latest Version" msgstr "Ultima versiune" -#: pro/admin/views/html-settings-updates.php:88 +#: pro/admin/views/html-settings-updates.php:84 msgid "Update Available" msgstr "Sunt disponibile actualizări" -#: pro/admin/views/html-settings-updates.php:96 +#: pro/admin/views/html-settings-updates.php:92 msgid "Update Plugin" msgstr "Actualizează Modulul" -#: pro/admin/views/html-settings-updates.php:98 +#: pro/admin/views/html-settings-updates.php:94 msgid "Please enter your license key above to unlock updates" msgstr "" "Te rog sa introduci codul de activare în câmpul de mai sus pentru a permite " "actualizări" -#: pro/admin/views/html-settings-updates.php:104 +#: pro/admin/views/html-settings-updates.php:100 msgid "Check Again" msgstr "Verifică din nou" -#: pro/admin/views/html-settings-updates.php:121 +#: pro/admin/views/html-settings-updates.php:117 msgid "Upgrade Notice" msgstr "Anunț Actualizări" #: pro/fields/class-acf-field-clone.php:25 msgctxt "noun" msgid "Clone" -msgstr "" +msgstr "Clonează" -#: pro/fields/class-acf-field-clone.php:824 +#: pro/fields/class-acf-field-clone.php:812 msgid "Select one or more fields you wish to clone" msgstr "" -#: pro/fields/class-acf-field-clone.php:841 +#: pro/fields/class-acf-field-clone.php:829 msgid "Display" msgstr "Arată" -#: pro/fields/class-acf-field-clone.php:842 +#: pro/fields/class-acf-field-clone.php:830 msgid "Specify the style used to render the clone field" msgstr "" -#: pro/fields/class-acf-field-clone.php:847 +#: pro/fields/class-acf-field-clone.php:835 msgid "Group (displays selected fields in a group within this field)" msgstr "" -#: pro/fields/class-acf-field-clone.php:848 +#: pro/fields/class-acf-field-clone.php:836 msgid "Seamless (replaces this field with selected fields)" msgstr "" -#: pro/fields/class-acf-field-clone.php:869 +#: pro/fields/class-acf-field-clone.php:857 #, php-format msgid "Labels will be displayed as %s" msgstr "" -#: pro/fields/class-acf-field-clone.php:872 +#: pro/fields/class-acf-field-clone.php:860 msgid "Prefix Field Labels" msgstr "" -#: pro/fields/class-acf-field-clone.php:883 +#: pro/fields/class-acf-field-clone.php:871 #, php-format msgid "Values will be saved as %s" msgstr "" -#: pro/fields/class-acf-field-clone.php:886 +#: pro/fields/class-acf-field-clone.php:874 msgid "Prefix Field Names" msgstr "" -#: pro/fields/class-acf-field-clone.php:1004 +#: pro/fields/class-acf-field-clone.php:992 msgid "Unknown field" -msgstr "" +msgstr "Câmp necunoscut" -#: pro/fields/class-acf-field-clone.php:1043 +#: pro/fields/class-acf-field-clone.php:1031 msgid "Unknown field group" -msgstr "" +msgstr "Grup de câmpuri necunoscut" -#: pro/fields/class-acf-field-clone.php:1047 +#: pro/fields/class-acf-field-clone.php:1035 #, php-format msgid "All fields from %s field group" msgstr "" #: pro/fields/class-acf-field-flexible-content.php:31 #: pro/fields/class-acf-field-repeater.php:174 -#: pro/fields/class-acf-field-repeater.php:478 +#: pro/fields/class-acf-field-repeater.php:462 msgid "Add Row" msgstr "Adaugă o linie nouă" @@ -3004,57 +3084,57 @@ msgstr "Conținutul Flexibil necesită cel puțin 1 schemă" msgid "Click the \"%s\" button below to start creating your layout" msgstr "Apasă butonul \"%s\" de mai jos pentru a începe să îți creezi schema" -#: pro/fields/class-acf-field-flexible-content.php:408 +#: pro/fields/class-acf-field-flexible-content.php:406 msgid "Add layout" msgstr "Adaugă Schema" -#: pro/fields/class-acf-field-flexible-content.php:409 +#: pro/fields/class-acf-field-flexible-content.php:407 msgid "Remove layout" msgstr "Înlătură Schema" -#: pro/fields/class-acf-field-flexible-content.php:410 -#: pro/fields/class-acf-field-repeater.php:304 +#: pro/fields/class-acf-field-flexible-content.php:408 +#: pro/fields/class-acf-field-repeater.php:298 msgid "Click to toggle" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:548 msgid "Reorder Layout" msgstr "Reordonează Schema" -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:548 msgid "Reorder" msgstr "Reordonează" -#: pro/fields/class-acf-field-flexible-content.php:557 +#: pro/fields/class-acf-field-flexible-content.php:549 msgid "Delete Layout" msgstr "Șterge Schema" -#: pro/fields/class-acf-field-flexible-content.php:558 +#: pro/fields/class-acf-field-flexible-content.php:550 msgid "Duplicate Layout" msgstr "Copiază Schema" -#: pro/fields/class-acf-field-flexible-content.php:559 +#: pro/fields/class-acf-field-flexible-content.php:551 msgid "Add New Layout" msgstr "Adaugă o Nouă Schemă" -#: pro/fields/class-acf-field-flexible-content.php:630 +#: pro/fields/class-acf-field-flexible-content.php:622 msgid "Min" msgstr "Min" -#: pro/fields/class-acf-field-flexible-content.php:643 +#: pro/fields/class-acf-field-flexible-content.php:635 msgid "Max" msgstr "Max" -#: pro/fields/class-acf-field-flexible-content.php:670 -#: pro/fields/class-acf-field-repeater.php:474 +#: pro/fields/class-acf-field-flexible-content.php:662 +#: pro/fields/class-acf-field-repeater.php:458 msgid "Button Label" msgstr "Buton Etichetă" -#: pro/fields/class-acf-field-flexible-content.php:679 +#: pro/fields/class-acf-field-flexible-content.php:671 msgid "Minimum Layouts" msgstr "Scheme Minime" -#: pro/fields/class-acf-field-flexible-content.php:688 +#: pro/fields/class-acf-field-flexible-content.php:680 msgid "Maximum Layouts" msgstr "Scheme Maxime" @@ -3138,27 +3218,27 @@ msgstr "Numărul minim de linii a fost atins ({min} rows)" msgid "Maximum rows reached ({max} rows)" msgstr "Numărul maxim de linii a fost atins ({max} rows)" -#: pro/fields/class-acf-field-repeater.php:349 +#: pro/fields/class-acf-field-repeater.php:335 msgid "Add row" msgstr "Adaugă linie" -#: pro/fields/class-acf-field-repeater.php:350 +#: pro/fields/class-acf-field-repeater.php:336 msgid "Remove row" msgstr "Înlătură linie" -#: pro/fields/class-acf-field-repeater.php:427 +#: pro/fields/class-acf-field-repeater.php:411 msgid "Collapsed" msgstr "" -#: pro/fields/class-acf-field-repeater.php:428 +#: pro/fields/class-acf-field-repeater.php:412 msgid "Select a sub field to show when row is collapsed" msgstr "" -#: pro/fields/class-acf-field-repeater.php:438 +#: pro/fields/class-acf-field-repeater.php:422 msgid "Minimum Rows" msgstr "Numărul minim de Linii" -#: pro/fields/class-acf-field-repeater.php:448 +#: pro/fields/class-acf-field-repeater.php:432 msgid "Maximum Rows" msgstr "Numărul maxim de Linii" @@ -3181,6 +3261,9 @@ msgid "" "\">Updates page. If you don't have a licence key, please see details & pricing." msgstr "" +"Pentru a activa actualizările, este nevoie să introduci licența în pagina de actualizări. Dacă nu ai o licență, verifică aici detaliile și prețul." #. Plugin URI of the plugin/theme msgid "https://www.advancedcustomfields.com/" @@ -3194,6 +3277,59 @@ msgstr "" msgid "http://www.elliotcondon.com/" msgstr "" +#~ msgid "No toggle fields available" +#~ msgstr "Nu sunt câmpuri de comutare disponibile" + +#~ msgid "Parent fields" +#~ msgstr "Câpuri parinte" + +#~ msgid "Sibling fields" +#~ msgstr "Câmpuri copil" + +#~ msgid "Export Field Groups to PHP" +#~ msgstr "Exportă Grupurile de Câmpuri în PHP" + +#~ msgid "Download export file" +#~ msgstr "Descarcă fișierul de export" + +#~ msgid "Generate export code" +#~ msgstr "Generează codul de export" + +#~ msgid "Import" +#~ msgstr "Importă" + +#~ msgid "Locating" +#~ msgstr "Localizare" + +#~ msgid "No embed found for the given URL." +#~ msgstr "Nu a fost găsit nici un oembed pentru URL introdus." + +#~ msgid "" +#~ "The tab field will display incorrectly when added to a Table style " +#~ "repeater field or flexible content field layout" +#~ msgstr "" +#~ "Câmpul Tab nu va fi afișat corect când vei adauga un Câmp de tipul Tabel " +#~ "de stiluri repetitiv sau un Câmp de tipul Schemă de Conținut Flexibil" + +#~ msgid "" +#~ "Use \"Tab Fields\" to better organize your edit screen by grouping fields " +#~ "together." +#~ msgstr "" +#~ "Folosește \"Tab Fields\" pentru o mai ușoară organizare și grupare a " +#~ "câmpurilor." + +#~ msgid "" +#~ "All fields following this \"tab field\" (or until another \"tab field\" " +#~ "is defined) will be grouped together using this field's label as the tab " +#~ "heading." +#~ msgstr "" +#~ "Toate câmpurile care urmează după acest \"tab field\" (sau până când un " +#~ "alt \"tab field\" este definit) vor fi grupate împreună folosind " +#~ "eticheta acestui câmp ca fiind Titlul Tabului." + +#~ msgid "Taxonomy Term" +#~ msgstr "Termenul Taxonomiei" + #~ msgid "See what's new in" #~ msgstr "Vezi ce este nou în" diff --git a/lang/acf.pot b/lang/acf.pot index 4df8da8..0e9d5bc 100644 --- a/lang/acf.pot +++ b/lang/acf.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Advanced Custom Fields\n" "Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n" -"POT-Creation-Date: 2018-02-06 10:08+1000\n" +"POT-Creation-Date: 2018-07-12 13:44+1000\n" "PO-Revision-Date: 2015-06-11 13:00+1000\n" "Last-Translator: Elliot Condon \n" "Language-Team: Elliot Condon \n" @@ -22,97 +22,96 @@ msgstr "" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.js\n" -#: acf.php:67 +#: acf.php:80 msgid "Advanced Custom Fields" msgstr "" -#: acf.php:369 includes/admin/admin.php:117 +#: acf.php:387 includes/admin/admin.php:117 msgid "Field Groups" msgstr "" -#: acf.php:370 +#: acf.php:388 msgid "Field Group" msgstr "" -#: acf.php:371 acf.php:403 includes/admin/admin.php:118 -#: pro/fields/class-acf-field-flexible-content.php:559 +#: acf.php:389 acf.php:421 includes/admin/admin.php:118 +#: pro/fields/class-acf-field-flexible-content.php:572 msgid "Add New" msgstr "" -#: acf.php:372 +#: acf.php:390 msgid "Add New Field Group" msgstr "" -#: acf.php:373 +#: acf.php:391 msgid "Edit Field Group" msgstr "" -#: acf.php:374 +#: acf.php:392 msgid "New Field Group" msgstr "" -#: acf.php:375 +#: acf.php:393 msgid "View Field Group" msgstr "" -#: acf.php:376 +#: acf.php:394 msgid "Search Field Groups" msgstr "" -#: acf.php:377 +#: acf.php:395 msgid "No Field Groups found" msgstr "" -#: acf.php:378 +#: acf.php:396 msgid "No Field Groups found in Trash" msgstr "" -#: acf.php:401 includes/admin/admin-field-group.php:182 -#: includes/admin/admin-field-group.php:275 +#: acf.php:419 includes/admin/admin-field-group.php:202 #: includes/admin/admin-field-groups.php:510 #: pro/fields/class-acf-field-clone.php:811 msgid "Fields" msgstr "" -#: acf.php:402 +#: acf.php:420 msgid "Field" msgstr "" -#: acf.php:404 +#: acf.php:422 msgid "Add New Field" msgstr "" -#: acf.php:405 +#: acf.php:423 msgid "Edit Field" msgstr "" -#: acf.php:406 includes/admin/views/field-group-fields.php:41 +#: acf.php:424 includes/admin/views/field-group-fields.php:41 #: includes/admin/views/settings-info.php:105 msgid "New Field" msgstr "" -#: acf.php:407 +#: acf.php:425 msgid "View Field" msgstr "" -#: acf.php:408 +#: acf.php:426 msgid "Search Fields" msgstr "" -#: acf.php:409 +#: acf.php:427 msgid "No Fields found" msgstr "" -#: acf.php:410 +#: acf.php:428 msgid "No Fields found in Trash" msgstr "" -#: acf.php:449 includes/admin/admin-field-group.php:390 +#: acf.php:467 includes/admin/admin-field-group.php:384 #: includes/admin/admin-field-groups.php:567 msgid "Inactive" msgstr "" -#: acf.php:454 +#: acf.php:472 #, php-format msgid "Inactive (%s)" msgid_plural "Inactive (%s)" @@ -149,100 +148,96 @@ msgstr "" msgid "Field group draft updated." msgstr "" -#: includes/admin/admin-field-group.php:183 -msgid "Location" +#: includes/admin/admin-field-group.php:153 +msgid "The string \"field_\" may not be used at the start of a field name" msgstr "" -#: includes/admin/admin-field-group.php:184 -#: includes/admin/tools/class-acf-admin-tool-export.php:295 -msgid "Settings" +#: includes/admin/admin-field-group.php:154 +msgid "This field cannot be moved until its changes have been saved" msgstr "" -#: includes/admin/admin-field-group.php:269 -msgid "Move to trash. Are you sure?" -msgstr "" - -#: includes/admin/admin-field-group.php:270 -msgid "checked" -msgstr "" - -#: includes/admin/admin-field-group.php:271 -msgid "No toggle fields available" -msgstr "" - -#: includes/admin/admin-field-group.php:272 +#: includes/admin/admin-field-group.php:155 msgid "Field group title is required" msgstr "" -#: includes/admin/admin-field-group.php:273 +#: includes/admin/admin-field-group.php:156 +msgid "Move to trash. Are you sure?" +msgstr "" + +#: includes/admin/admin-field-group.php:157 +msgid "No toggle fields available" +msgstr "" + +#: includes/admin/admin-field-group.php:158 +msgid "Move Custom Field" +msgstr "" + +#: includes/admin/admin-field-group.php:159 +msgid "Checked" +msgstr "" + +#: includes/admin/admin-field-group.php:160 includes/api/api-field.php:289 +msgid "(no label)" +msgstr "" + +#: includes/admin/admin-field-group.php:161 +msgid "(this field)" +msgstr "" + +#: includes/admin/admin-field-group.php:162 #: includes/api/api-field-group.php:751 msgid "copy" msgstr "" -#: includes/admin/admin-field-group.php:274 -#: includes/admin/views/field-group-field-conditional-logic.php:54 -#: includes/admin/views/field-group-field-conditional-logic.php:154 +#: includes/admin/admin-field-group.php:163 +#: includes/admin/views/field-group-field-conditional-logic.php:51 +#: includes/admin/views/field-group-field-conditional-logic.php:151 #: includes/admin/views/field-group-locations.php:29 #: includes/admin/views/html-location-group.php:3 -#: includes/api/api-helpers.php:4048 +#: includes/api/api-helpers.php:4165 msgid "or" msgstr "" -#: includes/admin/admin-field-group.php:276 -msgid "Parent fields" -msgstr "" - -#: includes/admin/admin-field-group.php:277 -msgid "Sibling fields" -msgstr "" - -#: includes/admin/admin-field-group.php:278 -msgid "Move Custom Field" -msgstr "" - -#: includes/admin/admin-field-group.php:279 -msgid "This field cannot be moved until its changes have been saved" -msgstr "" - -#: includes/admin/admin-field-group.php:280 +#: includes/admin/admin-field-group.php:164 msgid "Null" msgstr "" -#: includes/admin/admin-field-group.php:281 includes/input.php:258 -msgid "The changes you made will be lost if you navigate away from this page" +#: includes/admin/admin-field-group.php:203 +msgid "Location" msgstr "" -#: includes/admin/admin-field-group.php:282 -msgid "The string \"field_\" may not be used at the start of a field name" +#: includes/admin/admin-field-group.php:204 +#: includes/admin/tools/class-acf-admin-tool-export.php:295 +msgid "Settings" msgstr "" -#: includes/admin/admin-field-group.php:360 +#: includes/admin/admin-field-group.php:354 msgid "Field Keys" msgstr "" -#: includes/admin/admin-field-group.php:390 +#: includes/admin/admin-field-group.php:384 #: includes/admin/views/field-group-options.php:9 msgid "Active" msgstr "" -#: includes/admin/admin-field-group.php:801 +#: includes/admin/admin-field-group.php:760 msgid "Move Complete." msgstr "" -#: includes/admin/admin-field-group.php:802 +#: includes/admin/admin-field-group.php:761 #, php-format msgid "The %s field can now be found in the %s field group" msgstr "" -#: includes/admin/admin-field-group.php:803 +#: includes/admin/admin-field-group.php:762 msgid "Close Window" msgstr "" -#: includes/admin/admin-field-group.php:844 +#: includes/admin/admin-field-group.php:803 msgid "Please select the destination for this field" msgstr "" -#: includes/admin/admin-field-group.php:851 +#: includes/admin/admin-field-group.php:810 msgid "Move Field" msgstr "" @@ -283,7 +278,7 @@ msgid "Sync available" msgstr "" #: includes/admin/admin-field-groups.php:507 includes/forms/form-front.php:38 -#: pro/fields/class-acf-field-gallery.php:355 +#: pro/fields/class-acf-field-gallery.php:370 msgid "Title" msgstr "" @@ -291,7 +286,7 @@ msgstr "" #: includes/admin/views/field-group-options.php:96 #: includes/admin/views/install-network.php:21 #: includes/admin/views/install-network.php:29 -#: pro/fields/class-acf-field-gallery.php:382 +#: pro/fields/class-acf-field-gallery.php:397 msgid "Description" msgstr "" @@ -346,14 +341,14 @@ msgstr "" #: includes/admin/admin-field-groups.php:667 #: includes/admin/admin-field-groups.php:683 -#: includes/admin/views/field-group-field.php:49 -#: pro/fields/class-acf-field-flexible-content.php:558 +#: includes/admin/views/field-group-field.php:46 +#: pro/fields/class-acf-field-flexible-content.php:571 msgid "Duplicate" msgstr "" #: includes/admin/admin-field-groups.php:700 -#: includes/fields/class-acf-field-google-map.php:112 -#: includes/fields/class-acf-field-relationship.php:656 +#: includes/fields/class-acf-field-google-map.php:164 +#: includes/fields/class-acf-field-relationship.php:674 msgid "Search" msgstr "" @@ -385,7 +380,7 @@ msgid "Tools" msgstr "" #: includes/admin/admin.php:113 -#: includes/admin/views/field-group-options.php:118 +#: includes/admin/views/field-group-options.php:110 msgid "Custom Fields" msgstr "" @@ -402,7 +397,7 @@ msgstr "" msgid "Error validating request" msgstr "" -#: includes/admin/install.php:210 includes/admin/views/install.php:105 +#: includes/admin/install.php:210 includes/admin/views/install.php:104 msgid "No updates available." msgstr "" @@ -475,6 +470,10 @@ msgstr "" msgid "Copy to clipboard" msgstr "" +#: includes/admin/tools/class-acf-admin-tool-export.php:483 +msgid "Copied" +msgstr "" + #: includes/admin/tools/class-acf-admin-tool-import.php:26 msgid "Import Field Groups" msgstr "" @@ -486,7 +485,7 @@ msgid "" msgstr "" #: includes/admin/tools/class-acf-admin-tool-import.php:66 -#: includes/fields/class-acf-field-file.php:35 +#: includes/fields/class-acf-field-file.php:57 msgid "Select File" msgstr "" @@ -495,7 +494,7 @@ msgid "Import File" msgstr "" #: includes/admin/tools/class-acf-admin-tool-import.php:100 -#: includes/fields/class-acf-field-file.php:159 +#: includes/fields/class-acf-field-file.php:170 msgid "No file selected" msgstr "" @@ -518,123 +517,113 @@ msgid_plural "Imported %s field groups" msgstr[0] "" msgstr[1] "" -#: includes/admin/views/field-group-field-conditional-logic.php:28 +#: includes/admin/views/field-group-field-conditional-logic.php:25 msgid "Conditional Logic" msgstr "" -#: includes/admin/views/field-group-field-conditional-logic.php:54 +#: includes/admin/views/field-group-field-conditional-logic.php:51 msgid "Show this field if" msgstr "" -#: includes/admin/views/field-group-field-conditional-logic.php:103 -#: includes/locations.php:247 -msgid "is equal to" -msgstr "" - -#: includes/admin/views/field-group-field-conditional-logic.php:104 -#: includes/locations.php:248 -msgid "is not equal to" -msgstr "" - -#: includes/admin/views/field-group-field-conditional-logic.php:141 +#: includes/admin/views/field-group-field-conditional-logic.php:138 #: includes/admin/views/html-location-rule.php:80 msgid "and" msgstr "" -#: includes/admin/views/field-group-field-conditional-logic.php:156 +#: includes/admin/views/field-group-field-conditional-logic.php:153 #: includes/admin/views/field-group-locations.php:31 msgid "Add rule group" msgstr "" -#: includes/admin/views/field-group-field.php:41 -#: pro/fields/class-acf-field-flexible-content.php:403 -#: pro/fields/class-acf-field-repeater.php:296 +#: includes/admin/views/field-group-field.php:38 +#: pro/fields/class-acf-field-flexible-content.php:424 +#: pro/fields/class-acf-field-repeater.php:294 msgid "Drag to reorder" msgstr "" +#: includes/admin/views/field-group-field.php:42 #: includes/admin/views/field-group-field.php:45 -#: includes/admin/views/field-group-field.php:48 msgid "Edit field" msgstr "" -#: includes/admin/views/field-group-field.php:48 -#: includes/fields/class-acf-field-file.php:141 -#: includes/fields/class-acf-field-image.php:122 +#: includes/admin/views/field-group-field.php:45 +#: includes/fields/class-acf-field-file.php:152 +#: includes/fields/class-acf-field-image.php:139 #: includes/fields/class-acf-field-link.php:139 -#: pro/fields/class-acf-field-gallery.php:342 +#: pro/fields/class-acf-field-gallery.php:357 msgid "Edit" msgstr "" -#: includes/admin/views/field-group-field.php:49 +#: includes/admin/views/field-group-field.php:46 msgid "Duplicate field" msgstr "" -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move field to another group" msgstr "" -#: includes/admin/views/field-group-field.php:50 +#: includes/admin/views/field-group-field.php:47 msgid "Move" msgstr "" -#: includes/admin/views/field-group-field.php:51 +#: includes/admin/views/field-group-field.php:48 msgid "Delete field" msgstr "" -#: includes/admin/views/field-group-field.php:51 -#: pro/fields/class-acf-field-flexible-content.php:557 +#: includes/admin/views/field-group-field.php:48 +#: pro/fields/class-acf-field-flexible-content.php:570 msgid "Delete" msgstr "" -#: includes/admin/views/field-group-field.php:68 +#: includes/admin/views/field-group-field.php:65 msgid "Field Label" msgstr "" -#: includes/admin/views/field-group-field.php:69 +#: includes/admin/views/field-group-field.php:66 msgid "This is the name which will appear on the EDIT page" msgstr "" -#: includes/admin/views/field-group-field.php:78 +#: includes/admin/views/field-group-field.php:75 msgid "Field Name" msgstr "" -#: includes/admin/views/field-group-field.php:79 +#: includes/admin/views/field-group-field.php:76 msgid "Single word, no spaces. Underscores and dashes allowed" msgstr "" -#: includes/admin/views/field-group-field.php:88 +#: includes/admin/views/field-group-field.php:85 msgid "Field Type" msgstr "" -#: includes/admin/views/field-group-field.php:99 +#: includes/admin/views/field-group-field.php:96 msgid "Instructions" msgstr "" -#: includes/admin/views/field-group-field.php:100 +#: includes/admin/views/field-group-field.php:97 msgid "Instructions for authors. Shown when submitting data" msgstr "" -#: includes/admin/views/field-group-field.php:109 +#: includes/admin/views/field-group-field.php:106 msgid "Required?" msgstr "" -#: includes/admin/views/field-group-field.php:132 +#: includes/admin/views/field-group-field.php:129 msgid "Wrapper Attributes" msgstr "" -#: includes/admin/views/field-group-field.php:138 +#: includes/admin/views/field-group-field.php:135 msgid "width" msgstr "" -#: includes/admin/views/field-group-field.php:153 +#: includes/admin/views/field-group-field.php:150 msgid "class" msgstr "" -#: includes/admin/views/field-group-field.php:166 +#: includes/admin/views/field-group-field.php:163 msgid "id" msgstr "" -#: includes/admin/views/field-group-field.php:178 +#: includes/admin/views/field-group-field.php:175 msgid "Close Field" msgstr "" @@ -644,16 +633,16 @@ msgstr "" #: includes/admin/views/field-group-fields.php:5 #: includes/fields/class-acf-field-button-group.php:198 -#: includes/fields/class-acf-field-checkbox.php:415 -#: includes/fields/class-acf-field-radio.php:306 -#: includes/fields/class-acf-field-select.php:432 -#: pro/fields/class-acf-field-flexible-content.php:584 +#: includes/fields/class-acf-field-checkbox.php:420 +#: includes/fields/class-acf-field-radio.php:311 +#: includes/fields/class-acf-field-select.php:439 +#: pro/fields/class-acf-field-flexible-content.php:596 msgid "Label" msgstr "" #: includes/admin/views/field-group-fields.php:6 -#: includes/fields/class-acf-field-taxonomy.php:964 -#: pro/fields/class-acf-field-flexible-content.php:597 +#: includes/fields/class-acf-field-taxonomy.php:960 +#: pro/fields/class-acf-field-flexible-content.php:610 msgid "Name" msgstr "" @@ -752,76 +741,76 @@ msgid "Shown in field group list" msgstr "" #: includes/admin/views/field-group-options.php:107 -msgid "Hide on screen" -msgstr "" - -#: includes/admin/views/field-group-options.php:108 -msgid "Select items to hide them from the edit screen." -msgstr "" - -#: includes/admin/views/field-group-options.php:108 -msgid "" -"If multiple field groups appear on an edit screen, the first field group's " -"options will be used (the one with the lowest order number)" -msgstr "" - -#: includes/admin/views/field-group-options.php:115 msgid "Permalink" msgstr "" -#: includes/admin/views/field-group-options.php:116 +#: includes/admin/views/field-group-options.php:108 msgid "Content Editor" msgstr "" -#: includes/admin/views/field-group-options.php:117 +#: includes/admin/views/field-group-options.php:109 msgid "Excerpt" msgstr "" -#: includes/admin/views/field-group-options.php:119 +#: includes/admin/views/field-group-options.php:111 msgid "Discussion" msgstr "" -#: includes/admin/views/field-group-options.php:120 +#: includes/admin/views/field-group-options.php:112 msgid "Comments" msgstr "" -#: includes/admin/views/field-group-options.php:121 +#: includes/admin/views/field-group-options.php:113 msgid "Revisions" msgstr "" -#: includes/admin/views/field-group-options.php:122 +#: includes/admin/views/field-group-options.php:114 msgid "Slug" msgstr "" -#: includes/admin/views/field-group-options.php:123 +#: includes/admin/views/field-group-options.php:115 msgid "Author" msgstr "" -#: includes/admin/views/field-group-options.php:124 +#: includes/admin/views/field-group-options.php:116 msgid "Format" msgstr "" -#: includes/admin/views/field-group-options.php:125 +#: includes/admin/views/field-group-options.php:117 msgid "Page Attributes" msgstr "" -#: includes/admin/views/field-group-options.php:126 -#: includes/fields/class-acf-field-relationship.php:670 +#: includes/admin/views/field-group-options.php:118 +#: includes/fields/class-acf-field-relationship.php:688 msgid "Featured Image" msgstr "" -#: includes/admin/views/field-group-options.php:127 +#: includes/admin/views/field-group-options.php:119 msgid "Categories" msgstr "" -#: includes/admin/views/field-group-options.php:128 +#: includes/admin/views/field-group-options.php:120 msgid "Tags" msgstr "" -#: includes/admin/views/field-group-options.php:129 +#: includes/admin/views/field-group-options.php:121 msgid "Send Trackbacks" msgstr "" +#: includes/admin/views/field-group-options.php:128 +msgid "Hide on screen" +msgstr "" + +#: includes/admin/views/field-group-options.php:129 +msgid "Select items to hide them from the edit screen." +msgstr "" + +#: includes/admin/views/field-group-options.php:129 +msgid "" +"If multiple field groups appear on an edit screen, the first field group's " +"options will be used (the one with the lowest order number)" +msgstr "" + #: includes/admin/views/html-location-group.php:3 msgid "Show this field group if" msgstr "" @@ -1177,102 +1166,227 @@ msgstr "" msgid "We think you'll love the changes in %s." msgstr "" -#: includes/api/api-helpers.php:947 +#: includes/api/api-helpers.php:1039 msgid "Thumbnail" msgstr "" -#: includes/api/api-helpers.php:948 +#: includes/api/api-helpers.php:1040 msgid "Medium" msgstr "" -#: includes/api/api-helpers.php:949 +#: includes/api/api-helpers.php:1041 msgid "Large" msgstr "" -#: includes/api/api-helpers.php:998 +#: includes/api/api-helpers.php:1090 msgid "Full Size" msgstr "" -#: includes/api/api-helpers.php:1339 includes/api/api-helpers.php:1912 +#: includes/api/api-helpers.php:1431 includes/api/api-helpers.php:2004 #: pro/fields/class-acf-field-clone.php:996 msgid "(no title)" msgstr "" -#: includes/api/api-helpers.php:3969 +#: includes/api/api-helpers.php:4086 #, php-format msgid "Image width must be at least %dpx." msgstr "" -#: includes/api/api-helpers.php:3974 +#: includes/api/api-helpers.php:4091 #, php-format msgid "Image width must not exceed %dpx." msgstr "" -#: includes/api/api-helpers.php:3990 +#: includes/api/api-helpers.php:4107 #, php-format msgid "Image height must be at least %dpx." msgstr "" -#: includes/api/api-helpers.php:3995 +#: includes/api/api-helpers.php:4112 #, php-format msgid "Image height must not exceed %dpx." msgstr "" -#: includes/api/api-helpers.php:4013 +#: includes/api/api-helpers.php:4130 #, php-format msgid "File size must be at least %s." msgstr "" -#: includes/api/api-helpers.php:4018 +#: includes/api/api-helpers.php:4135 #, php-format msgid "File size must must not exceed %s." msgstr "" -#: includes/api/api-helpers.php:4052 +#: includes/api/api-helpers.php:4169 #, php-format msgid "File type must be %s." msgstr "" -#: includes/fields.php:144 -msgid "Basic" +#: includes/assets.php:172 +msgid "The changes you made will be lost if you navigate away from this page" msgstr "" -#: includes/fields.php:145 includes/forms/form-front.php:47 -msgid "Content" +#: includes/assets.php:175 includes/fields/class-acf-field-select.php:259 +msgctxt "verb" +msgid "Select" msgstr "" -#: includes/fields.php:146 -msgid "Choice" +#: includes/assets.php:176 +msgctxt "verb" +msgid "Edit" msgstr "" -#: includes/fields.php:147 -msgid "Relational" +#: includes/assets.php:177 +msgctxt "verb" +msgid "Update" msgstr "" -#: includes/fields.php:148 -msgid "jQuery" +#: includes/assets.php:178 +msgid "Uploaded to this post" msgstr "" -#: includes/fields.php:149 -#: includes/fields/class-acf-field-button-group.php:177 -#: includes/fields/class-acf-field-checkbox.php:384 -#: includes/fields/class-acf-field-group.php:474 -#: includes/fields/class-acf-field-radio.php:285 -#: pro/fields/class-acf-field-clone.php:843 -#: pro/fields/class-acf-field-flexible-content.php:554 -#: pro/fields/class-acf-field-flexible-content.php:603 -#: pro/fields/class-acf-field-repeater.php:450 -msgid "Layout" +#: includes/assets.php:179 +msgid "Expand Details" msgstr "" -#: includes/fields.php:326 +#: includes/assets.php:180 +msgid "Collapse Details" +msgstr "" + +#: includes/assets.php:181 +msgid "Restricted" +msgstr "" + +#: includes/assets.php:182 includes/fields/class-acf-field-image.php:67 +msgid "All images" +msgstr "" + +#: includes/assets.php:185 +msgid "Validation successful" +msgstr "" + +#: includes/assets.php:186 includes/validation.php:285 +#: includes/validation.php:296 +msgid "Validation failed" +msgstr "" + +#: includes/assets.php:187 +msgid "1 field requires attention" +msgstr "" + +#: includes/assets.php:188 +#, php-format +msgid "%d fields require attention" +msgstr "" + +#: includes/assets.php:191 +msgid "Are you sure?" +msgstr "" + +#: includes/assets.php:192 includes/fields/class-acf-field-true_false.php:79 +#: includes/fields/class-acf-field-true_false.php:159 +#: pro/admin/views/html-settings-updates.php:89 +msgid "Yes" +msgstr "" + +#: includes/assets.php:193 includes/fields/class-acf-field-true_false.php:80 +#: includes/fields/class-acf-field-true_false.php:174 +#: pro/admin/views/html-settings-updates.php:99 +msgid "No" +msgstr "" + +#: includes/assets.php:194 includes/fields/class-acf-field-file.php:154 +#: includes/fields/class-acf-field-image.php:141 +#: includes/fields/class-acf-field-link.php:140 +#: pro/fields/class-acf-field-gallery.php:358 +#: pro/fields/class-acf-field-gallery.php:546 +msgid "Remove" +msgstr "" + +#: includes/assets.php:195 +msgid "Cancel" +msgstr "" + +#: includes/assets.php:198 +msgid "Has any value" +msgstr "" + +#: includes/assets.php:199 +msgid "Has no value" +msgstr "" + +#: includes/assets.php:200 +msgid "Value is equal to" +msgstr "" + +#: includes/assets.php:201 +msgid "Value is not equal to" +msgstr "" + +#: includes/assets.php:202 +msgid "Value matches pattern" +msgstr "" + +#: includes/assets.php:203 +msgid "Value contains" +msgstr "" + +#: includes/assets.php:204 +msgid "Value is greater than" +msgstr "" + +#: includes/assets.php:205 +msgid "Value is less than" +msgstr "" + +#: includes/assets.php:206 +msgid "Selection is greater than" +msgstr "" + +#: includes/assets.php:207 +msgid "Selection is less than" +msgstr "" + +#: includes/fields.php:308 msgid "Field type does not exist" msgstr "" -#: includes/fields.php:326 +#: includes/fields.php:308 msgid "Unknown" msgstr "" +#: includes/fields.php:349 +msgid "Basic" +msgstr "" + +#: includes/fields.php:350 includes/forms/form-front.php:47 +msgid "Content" +msgstr "" + +#: includes/fields.php:351 +msgid "Choice" +msgstr "" + +#: includes/fields.php:352 +msgid "Relational" +msgstr "" + +#: includes/fields.php:353 +msgid "jQuery" +msgstr "" + +#: includes/fields.php:354 +#: includes/fields/class-acf-field-button-group.php:177 +#: includes/fields/class-acf-field-checkbox.php:389 +#: includes/fields/class-acf-field-group.php:474 +#: includes/fields/class-acf-field-radio.php:290 +#: pro/fields/class-acf-field-clone.php:843 +#: pro/fields/class-acf-field-flexible-content.php:567 +#: pro/fields/class-acf-field-flexible-content.php:616 +#: pro/fields/class-acf-field-repeater.php:443 +msgid "Layout" +msgstr "" + #: includes/fields/class-acf-field-accordion.php:24 msgid "Accordion" msgstr "" @@ -1311,28 +1425,28 @@ msgstr "" #: includes/fields/class-acf-field-button-group.php:149 #: includes/fields/class-acf-field-checkbox.php:344 #: includes/fields/class-acf-field-radio.php:235 -#: includes/fields/class-acf-field-select.php:368 +#: includes/fields/class-acf-field-select.php:370 msgid "Choices" msgstr "" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:371 msgid "Enter each choice on a new line." msgstr "" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:371 msgid "For more control, you may specify both a value and label like this:" msgstr "" #: includes/fields/class-acf-field-button-group.php:150 #: includes/fields/class-acf-field-checkbox.php:345 #: includes/fields/class-acf-field-radio.php:236 -#: includes/fields/class-acf-field-select.php:369 +#: includes/fields/class-acf-field-select.php:371 msgid "red : Red" msgstr "" @@ -1340,87 +1454,87 @@ msgstr "" #: includes/fields/class-acf-field-page_link.php:513 #: includes/fields/class-acf-field-post_object.php:412 #: includes/fields/class-acf-field-radio.php:244 -#: includes/fields/class-acf-field-select.php:386 -#: includes/fields/class-acf-field-taxonomy.php:793 -#: includes/fields/class-acf-field-user.php:408 +#: includes/fields/class-acf-field-select.php:388 +#: includes/fields/class-acf-field-taxonomy.php:784 +#: includes/fields/class-acf-field-user.php:409 msgid "Allow Null?" msgstr "" #: includes/fields/class-acf-field-button-group.php:168 -#: includes/fields/class-acf-field-checkbox.php:375 +#: includes/fields/class-acf-field-checkbox.php:380 #: includes/fields/class-acf-field-color_picker.php:131 #: includes/fields/class-acf-field-email.php:118 #: includes/fields/class-acf-field-number.php:127 -#: includes/fields/class-acf-field-radio.php:276 -#: includes/fields/class-acf-field-range.php:148 -#: includes/fields/class-acf-field-select.php:377 +#: includes/fields/class-acf-field-radio.php:281 +#: includes/fields/class-acf-field-range.php:146 +#: includes/fields/class-acf-field-select.php:379 #: includes/fields/class-acf-field-text.php:119 #: includes/fields/class-acf-field-textarea.php:102 #: includes/fields/class-acf-field-true_false.php:135 #: includes/fields/class-acf-field-url.php:100 -#: includes/fields/class-acf-field-wysiwyg.php:410 +#: includes/fields/class-acf-field-wysiwyg.php:397 msgid "Default Value" msgstr "" #: includes/fields/class-acf-field-button-group.php:169 #: includes/fields/class-acf-field-email.php:119 #: includes/fields/class-acf-field-number.php:128 -#: includes/fields/class-acf-field-radio.php:277 -#: includes/fields/class-acf-field-range.php:149 +#: includes/fields/class-acf-field-radio.php:282 +#: includes/fields/class-acf-field-range.php:147 #: includes/fields/class-acf-field-text.php:120 #: includes/fields/class-acf-field-textarea.php:103 #: includes/fields/class-acf-field-url.php:101 -#: includes/fields/class-acf-field-wysiwyg.php:411 +#: includes/fields/class-acf-field-wysiwyg.php:398 msgid "Appears when creating a new post" msgstr "" #: includes/fields/class-acf-field-button-group.php:183 -#: includes/fields/class-acf-field-checkbox.php:391 -#: includes/fields/class-acf-field-radio.php:292 +#: includes/fields/class-acf-field-checkbox.php:396 +#: includes/fields/class-acf-field-radio.php:297 msgid "Horizontal" msgstr "" #: includes/fields/class-acf-field-button-group.php:184 -#: includes/fields/class-acf-field-checkbox.php:390 -#: includes/fields/class-acf-field-radio.php:291 +#: includes/fields/class-acf-field-checkbox.php:395 +#: includes/fields/class-acf-field-radio.php:296 msgid "Vertical" msgstr "" #: includes/fields/class-acf-field-button-group.php:191 -#: includes/fields/class-acf-field-checkbox.php:408 -#: includes/fields/class-acf-field-file.php:204 -#: includes/fields/class-acf-field-image.php:188 +#: includes/fields/class-acf-field-checkbox.php:413 +#: includes/fields/class-acf-field-file.php:215 +#: includes/fields/class-acf-field-image.php:205 #: includes/fields/class-acf-field-link.php:166 -#: includes/fields/class-acf-field-radio.php:299 -#: includes/fields/class-acf-field-taxonomy.php:833 +#: includes/fields/class-acf-field-radio.php:304 +#: includes/fields/class-acf-field-taxonomy.php:829 msgid "Return Value" msgstr "" #: includes/fields/class-acf-field-button-group.php:192 -#: includes/fields/class-acf-field-checkbox.php:409 -#: includes/fields/class-acf-field-file.php:205 -#: includes/fields/class-acf-field-image.php:189 +#: includes/fields/class-acf-field-checkbox.php:414 +#: includes/fields/class-acf-field-file.php:216 +#: includes/fields/class-acf-field-image.php:206 #: includes/fields/class-acf-field-link.php:167 -#: includes/fields/class-acf-field-radio.php:300 +#: includes/fields/class-acf-field-radio.php:305 msgid "Specify the returned value on front end" msgstr "" #: includes/fields/class-acf-field-button-group.php:197 -#: includes/fields/class-acf-field-checkbox.php:414 -#: includes/fields/class-acf-field-radio.php:305 -#: includes/fields/class-acf-field-select.php:431 +#: includes/fields/class-acf-field-checkbox.php:419 +#: includes/fields/class-acf-field-radio.php:310 +#: includes/fields/class-acf-field-select.php:438 msgid "Value" msgstr "" #: includes/fields/class-acf-field-button-group.php:199 -#: includes/fields/class-acf-field-checkbox.php:416 -#: includes/fields/class-acf-field-radio.php:307 -#: includes/fields/class-acf-field-select.php:433 +#: includes/fields/class-acf-field-checkbox.php:421 +#: includes/fields/class-acf-field-radio.php:312 +#: includes/fields/class-acf-field-select.php:440 msgid "Both (Array)" msgstr "" #: includes/fields/class-acf-field-checkbox.php:25 -#: includes/fields/class-acf-field-taxonomy.php:780 +#: includes/fields/class-acf-field-taxonomy.php:771 msgid "Checkbox" msgstr "" @@ -1448,16 +1562,16 @@ msgstr "" msgid "Save 'custom' values to the field's choices" msgstr "" -#: includes/fields/class-acf-field-checkbox.php:376 -#: includes/fields/class-acf-field-select.php:378 +#: includes/fields/class-acf-field-checkbox.php:381 +#: includes/fields/class-acf-field-select.php:380 msgid "Enter each default value on a new line" msgstr "" -#: includes/fields/class-acf-field-checkbox.php:398 +#: includes/fields/class-acf-field-checkbox.php:403 msgid "Toggle" msgstr "" -#: includes/fields/class-acf-field-checkbox.php:399 +#: includes/fields/class-acf-field-checkbox.php:404 msgid "Prepend an extra checkbox to toggle all choices" msgstr "" @@ -1485,77 +1599,78 @@ msgstr "" msgid "Date Picker" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:33 +#: includes/fields/class-acf-field-date_picker.php:59 msgctxt "Date Picker JS closeText" msgid "Done" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:34 +#: includes/fields/class-acf-field-date_picker.php:60 msgctxt "Date Picker JS currentText" msgid "Today" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:35 +#: includes/fields/class-acf-field-date_picker.php:61 msgctxt "Date Picker JS nextText" msgid "Next" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:36 +#: includes/fields/class-acf-field-date_picker.php:62 msgctxt "Date Picker JS prevText" msgid "Prev" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:37 +#: includes/fields/class-acf-field-date_picker.php:63 msgctxt "Date Picker JS weekHeader" msgid "Wk" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:207 -#: includes/fields/class-acf-field-date_time_picker.php:181 +#: includes/fields/class-acf-field-date_picker.php:180 +#: includes/fields/class-acf-field-date_time_picker.php:183 #: includes/fields/class-acf-field-time_picker.php:109 msgid "Display Format" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:208 -#: includes/fields/class-acf-field-date_time_picker.php:182 +#: includes/fields/class-acf-field-date_picker.php:181 +#: includes/fields/class-acf-field-date_time_picker.php:184 #: includes/fields/class-acf-field-time_picker.php:110 msgid "The format displayed when editing a post" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:216 -#: includes/fields/class-acf-field-date_picker.php:247 -#: includes/fields/class-acf-field-date_time_picker.php:191 -#: includes/fields/class-acf-field-date_time_picker.php:208 +#: includes/fields/class-acf-field-date_picker.php:189 +#: includes/fields/class-acf-field-date_picker.php:220 +#: includes/fields/class-acf-field-date_time_picker.php:193 +#: includes/fields/class-acf-field-date_time_picker.php:210 #: includes/fields/class-acf-field-time_picker.php:117 #: includes/fields/class-acf-field-time_picker.php:132 msgid "Custom:" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:226 +#: includes/fields/class-acf-field-date_picker.php:199 msgid "Save Format" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:227 +#: includes/fields/class-acf-field-date_picker.php:200 msgid "The format used when saving a value" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:237 -#: includes/fields/class-acf-field-date_time_picker.php:198 +#: includes/fields/class-acf-field-date_picker.php:210 +#: includes/fields/class-acf-field-date_time_picker.php:200 #: includes/fields/class-acf-field-post_object.php:432 -#: includes/fields/class-acf-field-relationship.php:697 -#: includes/fields/class-acf-field-select.php:426 +#: includes/fields/class-acf-field-relationship.php:715 +#: includes/fields/class-acf-field-select.php:433 #: includes/fields/class-acf-field-time_picker.php:124 +#: includes/fields/class-acf-field-user.php:428 msgid "Return Format" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:238 -#: includes/fields/class-acf-field-date_time_picker.php:199 +#: includes/fields/class-acf-field-date_picker.php:211 +#: includes/fields/class-acf-field-date_time_picker.php:201 #: includes/fields/class-acf-field-time_picker.php:125 msgid "The format returned via template functions" msgstr "" -#: includes/fields/class-acf-field-date_picker.php:256 -#: includes/fields/class-acf-field-date_time_picker.php:215 +#: includes/fields/class-acf-field-date_picker.php:229 +#: includes/fields/class-acf-field-date_time_picker.php:217 msgid "Week Starts On" msgstr "" @@ -1563,77 +1678,77 @@ msgstr "" msgid "Date Time Picker" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:33 +#: includes/fields/class-acf-field-date_time_picker.php:68 msgctxt "Date Time Picker JS timeOnlyTitle" msgid "Choose Time" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:34 +#: includes/fields/class-acf-field-date_time_picker.php:69 msgctxt "Date Time Picker JS timeText" msgid "Time" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:35 +#: includes/fields/class-acf-field-date_time_picker.php:70 msgctxt "Date Time Picker JS hourText" msgid "Hour" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:36 +#: includes/fields/class-acf-field-date_time_picker.php:71 msgctxt "Date Time Picker JS minuteText" msgid "Minute" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:37 +#: includes/fields/class-acf-field-date_time_picker.php:72 msgctxt "Date Time Picker JS secondText" msgid "Second" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:38 +#: includes/fields/class-acf-field-date_time_picker.php:73 msgctxt "Date Time Picker JS millisecText" msgid "Millisecond" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:39 +#: includes/fields/class-acf-field-date_time_picker.php:74 msgctxt "Date Time Picker JS microsecText" msgid "Microsecond" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:40 +#: includes/fields/class-acf-field-date_time_picker.php:75 msgctxt "Date Time Picker JS timezoneText" msgid "Time Zone" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:41 +#: includes/fields/class-acf-field-date_time_picker.php:76 msgctxt "Date Time Picker JS currentText" msgid "Now" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:42 +#: includes/fields/class-acf-field-date_time_picker.php:77 msgctxt "Date Time Picker JS closeText" msgid "Done" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:43 +#: includes/fields/class-acf-field-date_time_picker.php:78 msgctxt "Date Time Picker JS selectText" msgid "Select" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:45 +#: includes/fields/class-acf-field-date_time_picker.php:80 msgctxt "Date Time Picker JS amText" msgid "AM" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:46 +#: includes/fields/class-acf-field-date_time_picker.php:81 msgctxt "Date Time Picker JS amTextShort" msgid "A" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:49 +#: includes/fields/class-acf-field-date_time_picker.php:84 msgctxt "Date Time Picker JS pmText" msgid "PM" msgstr "" -#: includes/fields/class-acf-field-date_time_picker.php:50 +#: includes/fields/class-acf-field-date_time_picker.php:85 msgctxt "Date Time Picker JS pmTextShort" msgid "P" msgstr "" @@ -1663,7 +1778,7 @@ msgstr "" #: includes/fields/class-acf-field-email.php:136 #: includes/fields/class-acf-field-number.php:145 #: includes/fields/class-acf-field-password.php:80 -#: includes/fields/class-acf-field-range.php:187 +#: includes/fields/class-acf-field-range.php:185 #: includes/fields/class-acf-field-text.php:137 msgid "Prepend" msgstr "" @@ -1671,7 +1786,7 @@ msgstr "" #: includes/fields/class-acf-field-email.php:137 #: includes/fields/class-acf-field-number.php:146 #: includes/fields/class-acf-field-password.php:81 -#: includes/fields/class-acf-field-range.php:188 +#: includes/fields/class-acf-field-range.php:186 #: includes/fields/class-acf-field-text.php:138 msgid "Appears before the input" msgstr "" @@ -1679,7 +1794,7 @@ msgstr "" #: includes/fields/class-acf-field-email.php:145 #: includes/fields/class-acf-field-number.php:154 #: includes/fields/class-acf-field-password.php:89 -#: includes/fields/class-acf-field-range.php:196 +#: includes/fields/class-acf-field-range.php:194 #: includes/fields/class-acf-field-text.php:146 msgid "Append" msgstr "" @@ -1687,7 +1802,7 @@ msgstr "" #: includes/fields/class-acf-field-email.php:146 #: includes/fields/class-acf-field-number.php:155 #: includes/fields/class-acf-field-password.php:90 -#: includes/fields/class-acf-field-range.php:197 +#: includes/fields/class-acf-field-range.php:195 #: includes/fields/class-acf-field-text.php:147 msgid "Appears after the input" msgstr "" @@ -1696,72 +1811,58 @@ msgstr "" msgid "File" msgstr "" -#: includes/fields/class-acf-field-file.php:36 +#: includes/fields/class-acf-field-file.php:58 msgid "Edit File" msgstr "" -#: includes/fields/class-acf-field-file.php:37 +#: includes/fields/class-acf-field-file.php:59 msgid "Update File" msgstr "" -#: includes/fields/class-acf-field-file.php:38 -#: includes/fields/class-acf-field-image.php:43 includes/media.php:57 -#: pro/fields/class-acf-field-gallery.php:44 -msgid "Uploaded to this post" -msgstr "" - -#: includes/fields/class-acf-field-file.php:130 +#: includes/fields/class-acf-field-file.php:141 msgid "File name" msgstr "" -#: includes/fields/class-acf-field-file.php:134 -#: includes/fields/class-acf-field-file.php:237 +#: includes/fields/class-acf-field-file.php:145 #: includes/fields/class-acf-field-file.php:248 -#: includes/fields/class-acf-field-image.php:248 -#: includes/fields/class-acf-field-image.php:277 -#: pro/fields/class-acf-field-gallery.php:690 -#: pro/fields/class-acf-field-gallery.php:719 +#: includes/fields/class-acf-field-file.php:259 +#: includes/fields/class-acf-field-image.php:265 +#: includes/fields/class-acf-field-image.php:294 +#: pro/fields/class-acf-field-gallery.php:705 +#: pro/fields/class-acf-field-gallery.php:734 msgid "File size" msgstr "" -#: includes/fields/class-acf-field-file.php:143 -#: includes/fields/class-acf-field-image.php:124 -#: includes/fields/class-acf-field-link.php:140 includes/input.php:269 -#: pro/fields/class-acf-field-gallery.php:343 -#: pro/fields/class-acf-field-gallery.php:531 -msgid "Remove" -msgstr "" - -#: includes/fields/class-acf-field-file.php:159 +#: includes/fields/class-acf-field-file.php:170 msgid "Add File" msgstr "" -#: includes/fields/class-acf-field-file.php:210 +#: includes/fields/class-acf-field-file.php:221 msgid "File Array" msgstr "" -#: includes/fields/class-acf-field-file.php:211 +#: includes/fields/class-acf-field-file.php:222 msgid "File URL" msgstr "" -#: includes/fields/class-acf-field-file.php:212 +#: includes/fields/class-acf-field-file.php:223 msgid "File ID" msgstr "" -#: includes/fields/class-acf-field-file.php:219 -#: includes/fields/class-acf-field-image.php:213 -#: pro/fields/class-acf-field-gallery.php:655 +#: includes/fields/class-acf-field-file.php:230 +#: includes/fields/class-acf-field-image.php:230 +#: pro/fields/class-acf-field-gallery.php:670 msgid "Library" msgstr "" -#: includes/fields/class-acf-field-file.php:220 -#: includes/fields/class-acf-field-image.php:214 -#: pro/fields/class-acf-field-gallery.php:656 +#: includes/fields/class-acf-field-file.php:231 +#: includes/fields/class-acf-field-image.php:231 +#: pro/fields/class-acf-field-gallery.php:671 msgid "Limit the media library choice" msgstr "" -#: includes/fields/class-acf-field-file.php:225 -#: includes/fields/class-acf-field-image.php:219 +#: includes/fields/class-acf-field-file.php:236 +#: includes/fields/class-acf-field-image.php:236 #: includes/locations/class-acf-location-attachment.php:101 #: includes/locations/class-acf-location-comment.php:79 #: includes/locations/class-acf-location-nav-menu.php:102 @@ -1769,42 +1870,42 @@ msgstr "" #: includes/locations/class-acf-location-user-form.php:87 #: includes/locations/class-acf-location-user-role.php:111 #: includes/locations/class-acf-location-widget.php:83 -#: pro/fields/class-acf-field-gallery.php:661 +#: pro/fields/class-acf-field-gallery.php:676 msgid "All" msgstr "" -#: includes/fields/class-acf-field-file.php:226 -#: includes/fields/class-acf-field-image.php:220 -#: pro/fields/class-acf-field-gallery.php:662 +#: includes/fields/class-acf-field-file.php:237 +#: includes/fields/class-acf-field-image.php:237 +#: pro/fields/class-acf-field-gallery.php:677 msgid "Uploaded to post" msgstr "" -#: includes/fields/class-acf-field-file.php:233 -#: includes/fields/class-acf-field-image.php:227 -#: pro/fields/class-acf-field-gallery.php:669 +#: includes/fields/class-acf-field-file.php:244 +#: includes/fields/class-acf-field-image.php:244 +#: pro/fields/class-acf-field-gallery.php:684 msgid "Minimum" msgstr "" -#: includes/fields/class-acf-field-file.php:234 #: includes/fields/class-acf-field-file.php:245 +#: includes/fields/class-acf-field-file.php:256 msgid "Restrict which files can be uploaded" msgstr "" -#: includes/fields/class-acf-field-file.php:244 -#: includes/fields/class-acf-field-image.php:256 -#: pro/fields/class-acf-field-gallery.php:698 +#: includes/fields/class-acf-field-file.php:255 +#: includes/fields/class-acf-field-image.php:273 +#: pro/fields/class-acf-field-gallery.php:713 msgid "Maximum" msgstr "" -#: includes/fields/class-acf-field-file.php:255 -#: includes/fields/class-acf-field-image.php:285 -#: pro/fields/class-acf-field-gallery.php:727 +#: includes/fields/class-acf-field-file.php:266 +#: includes/fields/class-acf-field-image.php:302 +#: pro/fields/class-acf-field-gallery.php:742 msgid "Allowed file types" msgstr "" -#: includes/fields/class-acf-field-file.php:256 -#: includes/fields/class-acf-field-image.php:286 -#: pro/fields/class-acf-field-gallery.php:728 +#: includes/fields/class-acf-field-file.php:267 +#: includes/fields/class-acf-field-image.php:303 +#: pro/fields/class-acf-field-gallery.php:743 msgid "Comma separated list. Leave blank for all types" msgstr "" @@ -1812,54 +1913,50 @@ msgstr "" msgid "Google Map" msgstr "" -#: includes/fields/class-acf-field-google-map.php:40 -msgid "Locating" -msgstr "" - -#: includes/fields/class-acf-field-google-map.php:41 +#: includes/fields/class-acf-field-google-map.php:59 msgid "Sorry, this browser does not support geolocation" msgstr "" -#: includes/fields/class-acf-field-google-map.php:113 +#: includes/fields/class-acf-field-google-map.php:165 msgid "Clear location" msgstr "" -#: includes/fields/class-acf-field-google-map.php:114 +#: includes/fields/class-acf-field-google-map.php:166 msgid "Find current location" msgstr "" -#: includes/fields/class-acf-field-google-map.php:117 +#: includes/fields/class-acf-field-google-map.php:169 msgid "Search for address..." msgstr "" -#: includes/fields/class-acf-field-google-map.php:147 -#: includes/fields/class-acf-field-google-map.php:158 +#: includes/fields/class-acf-field-google-map.php:199 +#: includes/fields/class-acf-field-google-map.php:210 msgid "Center" msgstr "" -#: includes/fields/class-acf-field-google-map.php:148 -#: includes/fields/class-acf-field-google-map.php:159 +#: includes/fields/class-acf-field-google-map.php:200 +#: includes/fields/class-acf-field-google-map.php:211 msgid "Center the initial map" msgstr "" -#: includes/fields/class-acf-field-google-map.php:170 +#: includes/fields/class-acf-field-google-map.php:222 msgid "Zoom" msgstr "" -#: includes/fields/class-acf-field-google-map.php:171 +#: includes/fields/class-acf-field-google-map.php:223 msgid "Set the initial zoom level" msgstr "" -#: includes/fields/class-acf-field-google-map.php:180 -#: includes/fields/class-acf-field-image.php:239 -#: includes/fields/class-acf-field-image.php:268 -#: includes/fields/class-acf-field-oembed.php:281 -#: pro/fields/class-acf-field-gallery.php:681 -#: pro/fields/class-acf-field-gallery.php:710 +#: includes/fields/class-acf-field-google-map.php:232 +#: includes/fields/class-acf-field-image.php:256 +#: includes/fields/class-acf-field-image.php:285 +#: includes/fields/class-acf-field-oembed.php:268 +#: pro/fields/class-acf-field-gallery.php:696 +#: pro/fields/class-acf-field-gallery.php:725 msgid "Height" msgstr "" -#: includes/fields/class-acf-field-google-map.php:181 +#: includes/fields/class-acf-field-google-map.php:233 msgid "Customise the map height" msgstr "" @@ -1868,7 +1965,7 @@ msgid "Group" msgstr "" #: includes/fields/class-acf-field-group.php:459 -#: pro/fields/class-acf-field-repeater.php:389 +#: pro/fields/class-acf-field-repeater.php:379 msgid "Sub Fields" msgstr "" @@ -1879,22 +1976,22 @@ msgstr "" #: includes/fields/class-acf-field-group.php:480 #: pro/fields/class-acf-field-clone.php:849 -#: pro/fields/class-acf-field-flexible-content.php:614 -#: pro/fields/class-acf-field-repeater.php:458 +#: pro/fields/class-acf-field-flexible-content.php:627 +#: pro/fields/class-acf-field-repeater.php:451 msgid "Block" msgstr "" #: includes/fields/class-acf-field-group.php:481 #: pro/fields/class-acf-field-clone.php:850 -#: pro/fields/class-acf-field-flexible-content.php:613 -#: pro/fields/class-acf-field-repeater.php:457 +#: pro/fields/class-acf-field-flexible-content.php:626 +#: pro/fields/class-acf-field-repeater.php:450 msgid "Table" msgstr "" #: includes/fields/class-acf-field-group.php:482 #: pro/fields/class-acf-field-clone.php:851 -#: pro/fields/class-acf-field-flexible-content.php:615 -#: pro/fields/class-acf-field-repeater.php:459 +#: pro/fields/class-acf-field-flexible-content.php:628 +#: pro/fields/class-acf-field-repeater.php:452 msgid "Row" msgstr "" @@ -1902,64 +1999,58 @@ msgstr "" msgid "Image" msgstr "" -#: includes/fields/class-acf-field-image.php:40 +#: includes/fields/class-acf-field-image.php:64 msgid "Select Image" msgstr "" -#: includes/fields/class-acf-field-image.php:41 -#: pro/fields/class-acf-field-gallery.php:42 +#: includes/fields/class-acf-field-image.php:65 msgid "Edit Image" msgstr "" -#: includes/fields/class-acf-field-image.php:42 -#: pro/fields/class-acf-field-gallery.php:43 +#: includes/fields/class-acf-field-image.php:66 msgid "Update Image" msgstr "" -#: includes/fields/class-acf-field-image.php:44 -msgid "All images" -msgstr "" - -#: includes/fields/class-acf-field-image.php:140 +#: includes/fields/class-acf-field-image.php:157 msgid "No image selected" msgstr "" -#: includes/fields/class-acf-field-image.php:140 +#: includes/fields/class-acf-field-image.php:157 msgid "Add Image" msgstr "" -#: includes/fields/class-acf-field-image.php:194 +#: includes/fields/class-acf-field-image.php:211 msgid "Image Array" msgstr "" -#: includes/fields/class-acf-field-image.php:195 +#: includes/fields/class-acf-field-image.php:212 msgid "Image URL" msgstr "" -#: includes/fields/class-acf-field-image.php:196 +#: includes/fields/class-acf-field-image.php:213 msgid "Image ID" msgstr "" -#: includes/fields/class-acf-field-image.php:203 +#: includes/fields/class-acf-field-image.php:220 msgid "Preview Size" msgstr "" -#: includes/fields/class-acf-field-image.php:204 +#: includes/fields/class-acf-field-image.php:221 msgid "Shown when entering data" msgstr "" -#: includes/fields/class-acf-field-image.php:228 -#: includes/fields/class-acf-field-image.php:257 -#: pro/fields/class-acf-field-gallery.php:670 -#: pro/fields/class-acf-field-gallery.php:699 +#: includes/fields/class-acf-field-image.php:245 +#: includes/fields/class-acf-field-image.php:274 +#: pro/fields/class-acf-field-gallery.php:685 +#: pro/fields/class-acf-field-gallery.php:714 msgid "Restrict which images can be uploaded" msgstr "" -#: includes/fields/class-acf-field-image.php:231 -#: includes/fields/class-acf-field-image.php:260 -#: includes/fields/class-acf-field-oembed.php:270 -#: pro/fields/class-acf-field-gallery.php:673 -#: pro/fields/class-acf-field-gallery.php:702 +#: includes/fields/class-acf-field-image.php:248 +#: includes/fields/class-acf-field-image.php:277 +#: includes/fields/class-acf-field-oembed.php:257 +#: pro/fields/class-acf-field-gallery.php:688 +#: pro/fields/class-acf-field-gallery.php:717 msgid "Width" msgstr "" @@ -2027,17 +2118,17 @@ msgid "Number" msgstr "" #: includes/fields/class-acf-field-number.php:163 -#: includes/fields/class-acf-field-range.php:157 +#: includes/fields/class-acf-field-range.php:155 msgid "Minimum Value" msgstr "" #: includes/fields/class-acf-field-number.php:172 -#: includes/fields/class-acf-field-range.php:167 +#: includes/fields/class-acf-field-range.php:165 msgid "Maximum Value" msgstr "" #: includes/fields/class-acf-field-number.php:181 -#: includes/fields/class-acf-field-range.php:177 +#: includes/fields/class-acf-field-range.php:175 msgid "Step Size" msgstr "" @@ -2059,21 +2150,12 @@ msgstr "" msgid "oEmbed" msgstr "" -#: includes/fields/class-acf-field-oembed.php:219 +#: includes/fields/class-acf-field-oembed.php:216 msgid "Enter URL" msgstr "" -#: includes/fields/class-acf-field-oembed.php:234 -#: includes/fields/class-acf-field-taxonomy.php:898 -msgid "Error." -msgstr "" - -#: includes/fields/class-acf-field-oembed.php:234 -msgid "No embed found for the given URL." -msgstr "" - -#: includes/fields/class-acf-field-oembed.php:267 -#: includes/fields/class-acf-field-oembed.php:278 +#: includes/fields/class-acf-field-oembed.php:254 +#: includes/fields/class-acf-field-oembed.php:265 msgid "Embed Size" msgstr "" @@ -2083,31 +2165,31 @@ msgstr "" #: includes/fields/class-acf-field-page_link.php:269 #: includes/fields/class-acf-field-post_object.php:268 -#: includes/fields/class-acf-field-taxonomy.php:986 +#: includes/fields/class-acf-field-taxonomy.php:982 msgid "Parent" msgstr "" #: includes/fields/class-acf-field-page_link.php:485 #: includes/fields/class-acf-field-post_object.php:384 -#: includes/fields/class-acf-field-relationship.php:623 +#: includes/fields/class-acf-field-relationship.php:641 msgid "Filter by Post Type" msgstr "" #: includes/fields/class-acf-field-page_link.php:493 #: includes/fields/class-acf-field-post_object.php:392 -#: includes/fields/class-acf-field-relationship.php:631 +#: includes/fields/class-acf-field-relationship.php:649 msgid "All post types" msgstr "" #: includes/fields/class-acf-field-page_link.php:499 #: includes/fields/class-acf-field-post_object.php:398 -#: includes/fields/class-acf-field-relationship.php:637 +#: includes/fields/class-acf-field-relationship.php:655 msgid "Filter by Taxonomy" msgstr "" #: includes/fields/class-acf-field-page_link.php:507 #: includes/fields/class-acf-field-post_object.php:406 -#: includes/fields/class-acf-field-relationship.php:645 +#: includes/fields/class-acf-field-relationship.php:663 msgid "All taxonomies" msgstr "" @@ -2117,8 +2199,8 @@ msgstr "" #: includes/fields/class-acf-field-page_link.php:533 #: includes/fields/class-acf-field-post_object.php:422 -#: includes/fields/class-acf-field-select.php:396 -#: includes/fields/class-acf-field-user.php:418 +#: includes/fields/class-acf-field-select.php:398 +#: includes/fields/class-acf-field-user.php:419 msgid "Select multiple values?" msgstr "" @@ -2128,12 +2210,12 @@ msgstr "" #: includes/fields/class-acf-field-post_object.php:25 #: includes/fields/class-acf-field-post_object.php:437 -#: includes/fields/class-acf-field-relationship.php:702 +#: includes/fields/class-acf-field-relationship.php:720 msgid "Post Object" msgstr "" #: includes/fields/class-acf-field-post_object.php:438 -#: includes/fields/class-acf-field-relationship.php:703 +#: includes/fields/class-acf-field-relationship.php:721 msgid "Post ID" msgstr "" @@ -2165,67 +2247,64 @@ msgstr "" msgid "Relationship" msgstr "" -#: includes/fields/class-acf-field-relationship.php:37 -msgid "Minimum values reached ( {min} values )" -msgstr "" - -#: includes/fields/class-acf-field-relationship.php:38 +#: includes/fields/class-acf-field-relationship.php:62 msgid "Maximum values reached ( {max} values )" msgstr "" -#: includes/fields/class-acf-field-relationship.php:39 +#: includes/fields/class-acf-field-relationship.php:63 msgid "Loading" msgstr "" -#: includes/fields/class-acf-field-relationship.php:40 +#: includes/fields/class-acf-field-relationship.php:64 msgid "No matches found" msgstr "" -#: includes/fields/class-acf-field-relationship.php:423 +#: includes/fields/class-acf-field-relationship.php:441 msgid "Select post type" msgstr "" -#: includes/fields/class-acf-field-relationship.php:449 +#: includes/fields/class-acf-field-relationship.php:467 msgid "Select taxonomy" msgstr "" -#: includes/fields/class-acf-field-relationship.php:539 +#: includes/fields/class-acf-field-relationship.php:557 msgid "Search..." msgstr "" -#: includes/fields/class-acf-field-relationship.php:651 +#: includes/fields/class-acf-field-relationship.php:669 msgid "Filters" msgstr "" -#: includes/fields/class-acf-field-relationship.php:657 +#: includes/fields/class-acf-field-relationship.php:675 #: includes/locations/class-acf-location-post-type.php:27 msgid "Post Type" msgstr "" -#: includes/fields/class-acf-field-relationship.php:658 +#: includes/fields/class-acf-field-relationship.php:676 #: includes/fields/class-acf-field-taxonomy.php:28 -#: includes/fields/class-acf-field-taxonomy.php:763 +#: includes/fields/class-acf-field-taxonomy.php:754 +#: includes/locations/class-acf-location-taxonomy.php:27 msgid "Taxonomy" msgstr "" -#: includes/fields/class-acf-field-relationship.php:665 +#: includes/fields/class-acf-field-relationship.php:683 msgid "Elements" msgstr "" -#: includes/fields/class-acf-field-relationship.php:666 +#: includes/fields/class-acf-field-relationship.php:684 msgid "Selected elements will be displayed in each result" msgstr "" -#: includes/fields/class-acf-field-relationship.php:677 +#: includes/fields/class-acf-field-relationship.php:695 msgid "Minimum posts" msgstr "" -#: includes/fields/class-acf-field-relationship.php:686 +#: includes/fields/class-acf-field-relationship.php:704 msgid "Maximum posts" msgstr "" -#: includes/fields/class-acf-field-relationship.php:790 -#: pro/fields/class-acf-field-gallery.php:800 +#: includes/fields/class-acf-field-relationship.php:808 +#: pro/fields/class-acf-field-gallery.php:815 #, php-format msgid "%s requires at least %s selection" msgid_plural "%s requires at least %s selections" @@ -2233,90 +2312,85 @@ msgstr[0] "" msgstr[1] "" #: includes/fields/class-acf-field-select.php:25 -#: includes/fields/class-acf-field-taxonomy.php:785 +#: includes/fields/class-acf-field-taxonomy.php:776 msgctxt "noun" msgid "Select" msgstr "" -#: includes/fields/class-acf-field-select.php:38 +#: includes/fields/class-acf-field-select.php:111 msgctxt "Select2 JS matches_1" msgid "One result is available, press enter to select it." msgstr "" -#: includes/fields/class-acf-field-select.php:39 +#: includes/fields/class-acf-field-select.php:112 #, php-format msgctxt "Select2 JS matches_n" msgid "%d results are available, use up and down arrow keys to navigate." msgstr "" -#: includes/fields/class-acf-field-select.php:40 +#: includes/fields/class-acf-field-select.php:113 msgctxt "Select2 JS matches_0" msgid "No matches found" msgstr "" -#: includes/fields/class-acf-field-select.php:41 +#: includes/fields/class-acf-field-select.php:114 msgctxt "Select2 JS input_too_short_1" msgid "Please enter 1 or more characters" msgstr "" -#: includes/fields/class-acf-field-select.php:42 +#: includes/fields/class-acf-field-select.php:115 #, php-format msgctxt "Select2 JS input_too_short_n" msgid "Please enter %d or more characters" msgstr "" -#: includes/fields/class-acf-field-select.php:43 +#: includes/fields/class-acf-field-select.php:116 msgctxt "Select2 JS input_too_long_1" msgid "Please delete 1 character" msgstr "" -#: includes/fields/class-acf-field-select.php:44 +#: includes/fields/class-acf-field-select.php:117 #, php-format msgctxt "Select2 JS input_too_long_n" msgid "Please delete %d characters" msgstr "" -#: includes/fields/class-acf-field-select.php:45 +#: includes/fields/class-acf-field-select.php:118 msgctxt "Select2 JS selection_too_long_1" msgid "You can only select 1 item" msgstr "" -#: includes/fields/class-acf-field-select.php:46 +#: includes/fields/class-acf-field-select.php:119 #, php-format msgctxt "Select2 JS selection_too_long_n" msgid "You can only select %d items" msgstr "" -#: includes/fields/class-acf-field-select.php:47 +#: includes/fields/class-acf-field-select.php:120 msgctxt "Select2 JS load_more" msgid "Loading more results…" msgstr "" -#: includes/fields/class-acf-field-select.php:48 +#: includes/fields/class-acf-field-select.php:121 msgctxt "Select2 JS searching" msgid "Searching…" msgstr "" -#: includes/fields/class-acf-field-select.php:49 +#: includes/fields/class-acf-field-select.php:122 msgctxt "Select2 JS load_fail" msgid "Loading failed" msgstr "" -#: includes/fields/class-acf-field-select.php:255 includes/media.php:54 -msgctxt "verb" -msgid "Select" -msgstr "" - -#: includes/fields/class-acf-field-select.php:406 +#: includes/fields/class-acf-field-select.php:408 #: includes/fields/class-acf-field-true_false.php:144 msgid "Stylised UI" msgstr "" -#: includes/fields/class-acf-field-select.php:416 +#: includes/fields/class-acf-field-select.php:418 msgid "Use AJAX to lazy load choices?" msgstr "" -#: includes/fields/class-acf-field-select.php:427 +#: includes/fields/class-acf-field-select.php:434 msgid "Specify the value returned" msgstr "" @@ -2338,92 +2412,92 @@ msgid "" "group of tabs." msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:713 +#: includes/fields/class-acf-field-taxonomy.php:714 #, php-format msgctxt "No terms" msgid "No %s" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:732 -msgid "None" -msgstr "" - -#: includes/fields/class-acf-field-taxonomy.php:764 +#: includes/fields/class-acf-field-taxonomy.php:755 msgid "Select the taxonomy to be displayed" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:773 +#: includes/fields/class-acf-field-taxonomy.php:764 msgid "Appearance" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:774 +#: includes/fields/class-acf-field-taxonomy.php:765 msgid "Select the appearance of this field" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:779 +#: includes/fields/class-acf-field-taxonomy.php:770 msgid "Multiple Values" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:781 +#: includes/fields/class-acf-field-taxonomy.php:772 msgid "Multi Select" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:783 +#: includes/fields/class-acf-field-taxonomy.php:774 msgid "Single Value" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:784 +#: includes/fields/class-acf-field-taxonomy.php:775 msgid "Radio Buttons" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:803 +#: includes/fields/class-acf-field-taxonomy.php:799 msgid "Create Terms" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:804 +#: includes/fields/class-acf-field-taxonomy.php:800 msgid "Allow new terms to be created whilst editing" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:813 +#: includes/fields/class-acf-field-taxonomy.php:809 msgid "Save Terms" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:814 +#: includes/fields/class-acf-field-taxonomy.php:810 msgid "Connect selected terms to the post" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:823 +#: includes/fields/class-acf-field-taxonomy.php:819 msgid "Load Terms" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:824 +#: includes/fields/class-acf-field-taxonomy.php:820 msgid "Load value from posts terms" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:838 +#: includes/fields/class-acf-field-taxonomy.php:834 msgid "Term Object" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:839 +#: includes/fields/class-acf-field-taxonomy.php:835 msgid "Term ID" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:898 +#: includes/fields/class-acf-field-taxonomy.php:894 +msgid "Error." +msgstr "" + +#: includes/fields/class-acf-field-taxonomy.php:894 #, php-format msgid "User unable to add new %s" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:911 +#: includes/fields/class-acf-field-taxonomy.php:907 #, php-format msgid "%s already exists" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:952 +#: includes/fields/class-acf-field-taxonomy.php:948 #, php-format msgid "%s added" msgstr "" -#: includes/fields/class-acf-field-taxonomy.php:997 +#: includes/fields/class-acf-field-taxonomy.php:994 msgid "Add" msgstr "" @@ -2461,18 +2535,6 @@ msgstr "" msgid "True / False" msgstr "" -#: includes/fields/class-acf-field-true_false.php:79 -#: includes/fields/class-acf-field-true_false.php:159 includes/input.php:267 -#: pro/admin/views/html-settings-updates.php:89 -msgid "Yes" -msgstr "" - -#: includes/fields/class-acf-field-true_false.php:80 -#: includes/fields/class-acf-field-true_false.php:169 includes/input.php:268 -#: pro/admin/views/html-settings-updates.php:99 -msgid "No" -msgstr "" - #: includes/fields/class-acf-field-true_false.php:127 msgid "Displays text alongside the checkbox" msgstr "" @@ -2485,11 +2547,11 @@ msgstr "" msgid "Text shown when active" msgstr "" -#: includes/fields/class-acf-field-true_false.php:165 +#: includes/fields/class-acf-field-true_false.php:170 msgid "Off Text" msgstr "" -#: includes/fields/class-acf-field-true_false.php:166 +#: includes/fields/class-acf-field-true_false.php:171 msgid "Text shown when inactive" msgstr "" @@ -2505,64 +2567,76 @@ msgstr "" msgid "User" msgstr "" -#: includes/fields/class-acf-field-user.php:393 +#: includes/fields/class-acf-field-user.php:394 msgid "Filter by role" msgstr "" -#: includes/fields/class-acf-field-user.php:401 +#: includes/fields/class-acf-field-user.php:402 msgid "All user roles" msgstr "" +#: includes/fields/class-acf-field-user.php:433 +msgid "User Array" +msgstr "" + +#: includes/fields/class-acf-field-user.php:434 +msgid "User Object" +msgstr "" + +#: includes/fields/class-acf-field-user.php:435 +msgid "User ID" +msgstr "" + #: includes/fields/class-acf-field-wysiwyg.php:25 msgid "Wysiwyg Editor" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:359 +#: includes/fields/class-acf-field-wysiwyg.php:346 msgid "Visual" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:360 +#: includes/fields/class-acf-field-wysiwyg.php:347 msgctxt "Name for the Text editor tab (formerly HTML)" msgid "Text" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:366 +#: includes/fields/class-acf-field-wysiwyg.php:353 msgid "Click to initialize TinyMCE" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:419 +#: includes/fields/class-acf-field-wysiwyg.php:406 msgid "Tabs" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:424 +#: includes/fields/class-acf-field-wysiwyg.php:411 msgid "Visual & Text" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:425 +#: includes/fields/class-acf-field-wysiwyg.php:412 msgid "Visual Only" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:426 +#: includes/fields/class-acf-field-wysiwyg.php:413 msgid "Text Only" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:433 +#: includes/fields/class-acf-field-wysiwyg.php:420 msgid "Toolbar" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:443 +#: includes/fields/class-acf-field-wysiwyg.php:435 msgid "Show Media Upload Buttons?" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:453 +#: includes/fields/class-acf-field-wysiwyg.php:445 msgid "Delay initialization?" msgstr "" -#: includes/fields/class-acf-field-wysiwyg.php:454 +#: includes/fields/class-acf-field-wysiwyg.php:446 msgid "TinyMCE will not be initalized until field is clicked" msgstr "" -#: includes/forms/form-comment.php:166 includes/forms/form-post.php:303 +#: includes/forms/form-comment.php:166 includes/forms/form-post.php:305 #: pro/admin/admin-options-page.php:308 msgid "Edit field group" msgstr "" @@ -2572,7 +2646,7 @@ msgid "Validate Email" msgstr "" #: includes/forms/form-front.php:103 -#: pro/fields/class-acf-field-gallery.php:573 pro/options-page.php:81 +#: pro/fields/class-acf-field-gallery.php:588 pro/options-page.php:81 msgid "Update" msgstr "" @@ -2584,44 +2658,6 @@ msgstr "" msgid "Spam Detected" msgstr "" -#: includes/input.php:259 -msgid "Expand Details" -msgstr "" - -#: includes/input.php:260 -msgid "Collapse Details" -msgstr "" - -#: includes/input.php:261 -msgid "Validation successful" -msgstr "" - -#: includes/input.php:262 includes/validation.php:285 -#: includes/validation.php:296 -msgid "Validation failed" -msgstr "" - -#: includes/input.php:263 -msgid "1 field requires attention" -msgstr "" - -#: includes/input.php:264 -#, php-format -msgid "%d fields require attention" -msgstr "" - -#: includes/input.php:265 -msgid "Restricted" -msgstr "" - -#: includes/input.php:266 -msgid "Are you sure?" -msgstr "" - -#: includes/input.php:270 -msgid "Cancel" -msgstr "" - #: includes/locations.php:93 includes/locations/class-acf-location-post.php:27 msgid "Post" msgstr "" @@ -2634,6 +2670,14 @@ msgstr "" msgid "Forms" msgstr "" +#: includes/locations.php:247 +msgid "is equal to" +msgstr "" + +#: includes/locations.php:248 +msgid "is not equal to" +msgstr "" + #: includes/locations/class-acf-location-attachment.php:27 msgid "Attachment" msgstr "" @@ -2704,23 +2748,23 @@ msgstr "" msgid "Page Type" msgstr "" -#: includes/locations/class-acf-location-page-type.php:145 +#: includes/locations/class-acf-location-page-type.php:146 msgid "Front Page" msgstr "" -#: includes/locations/class-acf-location-page-type.php:146 +#: includes/locations/class-acf-location-page-type.php:147 msgid "Posts Page" msgstr "" -#: includes/locations/class-acf-location-page-type.php:147 +#: includes/locations/class-acf-location-page-type.php:148 msgid "Top Level Page (no parent)" msgstr "" -#: includes/locations/class-acf-location-page-type.php:148 +#: includes/locations/class-acf-location-page-type.php:149 msgid "Parent Page (has children)" msgstr "" -#: includes/locations/class-acf-location-page-type.php:149 +#: includes/locations/class-acf-location-page-type.php:150 msgid "Child Page (has parent)" msgstr "" @@ -2744,10 +2788,6 @@ msgstr "" msgid "Post Template" msgstr "" -#: includes/locations/class-acf-location-taxonomy.php:27 -msgid "Taxonomy Term" -msgstr "" - #: includes/locations/class-acf-location-user-form.php:27 msgid "User Form" msgstr "" @@ -2768,16 +2808,6 @@ msgstr "" msgid "Widget" msgstr "" -#: includes/media.php:55 -msgctxt "verb" -msgid "Edit" -msgstr "" - -#: includes/media.php:56 -msgctxt "verb" -msgid "Update" -msgstr "" - #: includes/validation.php:364 #, php-format msgid "%s value is required" @@ -2921,211 +2951,206 @@ msgid "All fields from %s field group" msgstr "" #: pro/fields/class-acf-field-flexible-content.php:31 -#: pro/fields/class-acf-field-repeater.php:174 -#: pro/fields/class-acf-field-repeater.php:470 +#: pro/fields/class-acf-field-repeater.php:193 +#: pro/fields/class-acf-field-repeater.php:463 msgid "Add Row" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:34 +#: pro/fields/class-acf-field-flexible-content.php:73 +#: pro/fields/class-acf-field-flexible-content.php:938 +#: pro/fields/class-acf-field-flexible-content.php:1020 msgid "layout" -msgstr "" +msgid_plural "layouts" +msgstr[0] "" +msgstr[1] "" -#: pro/fields/class-acf-field-flexible-content.php:35 +#: pro/fields/class-acf-field-flexible-content.php:74 msgid "layouts" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:36 -msgid "remove {layout}?" -msgstr "" - -#: pro/fields/class-acf-field-flexible-content.php:37 -msgid "This field requires at least {min} {identifier}" -msgstr "" - -#: pro/fields/class-acf-field-flexible-content.php:38 -msgid "This field has a limit of {max} {identifier}" -msgstr "" - -#: pro/fields/class-acf-field-flexible-content.php:39 +#: pro/fields/class-acf-field-flexible-content.php:77 +#: pro/fields/class-acf-field-flexible-content.php:937 +#: pro/fields/class-acf-field-flexible-content.php:1019 msgid "This field requires at least {min} {label} {identifier}" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:40 -msgid "Maximum {label} limit reached ({max} {identifier})" +#: pro/fields/class-acf-field-flexible-content.php:78 +msgid "This field has a limit of {max} {label} {identifier}" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:41 +#: pro/fields/class-acf-field-flexible-content.php:81 msgid "{available} {label} {identifier} available (max {max})" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:42 +#: pro/fields/class-acf-field-flexible-content.php:82 msgid "{required} {label} {identifier} required (min {min})" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:43 +#: pro/fields/class-acf-field-flexible-content.php:85 msgid "Flexible Content requires at least 1 layout" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:273 +#: pro/fields/class-acf-field-flexible-content.php:302 #, php-format msgid "Click the \"%s\" button below to start creating your layout" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:406 +#: pro/fields/class-acf-field-flexible-content.php:427 msgid "Add layout" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:407 +#: pro/fields/class-acf-field-flexible-content.php:428 msgid "Remove layout" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:408 -#: pro/fields/class-acf-field-repeater.php:298 +#: pro/fields/class-acf-field-flexible-content.php:429 +#: pro/fields/class-acf-field-repeater.php:296 msgid "Click to toggle" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:569 msgid "Reorder Layout" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:556 +#: pro/fields/class-acf-field-flexible-content.php:569 msgid "Reorder" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:557 +#: pro/fields/class-acf-field-flexible-content.php:570 msgid "Delete Layout" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:558 +#: pro/fields/class-acf-field-flexible-content.php:571 msgid "Duplicate Layout" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:559 +#: pro/fields/class-acf-field-flexible-content.php:572 msgid "Add New Layout" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:630 +#: pro/fields/class-acf-field-flexible-content.php:643 msgid "Min" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:643 +#: pro/fields/class-acf-field-flexible-content.php:656 msgid "Max" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:670 -#: pro/fields/class-acf-field-repeater.php:466 +#: pro/fields/class-acf-field-flexible-content.php:683 +#: pro/fields/class-acf-field-repeater.php:459 msgid "Button Label" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:679 +#: pro/fields/class-acf-field-flexible-content.php:692 msgid "Minimum Layouts" msgstr "" -#: pro/fields/class-acf-field-flexible-content.php:688 +#: pro/fields/class-acf-field-flexible-content.php:701 msgid "Maximum Layouts" msgstr "" -#: pro/fields/class-acf-field-gallery.php:41 +#: pro/fields/class-acf-field-gallery.php:71 msgid "Add Image to Gallery" msgstr "" -#: pro/fields/class-acf-field-gallery.php:45 +#: pro/fields/class-acf-field-gallery.php:72 msgid "Maximum selection reached" msgstr "" -#: pro/fields/class-acf-field-gallery.php:321 +#: pro/fields/class-acf-field-gallery.php:336 msgid "Length" msgstr "" -#: pro/fields/class-acf-field-gallery.php:364 +#: pro/fields/class-acf-field-gallery.php:379 msgid "Caption" msgstr "" -#: pro/fields/class-acf-field-gallery.php:373 +#: pro/fields/class-acf-field-gallery.php:388 msgid "Alt Text" msgstr "" -#: pro/fields/class-acf-field-gallery.php:544 +#: pro/fields/class-acf-field-gallery.php:559 msgid "Add to gallery" msgstr "" -#: pro/fields/class-acf-field-gallery.php:548 +#: pro/fields/class-acf-field-gallery.php:563 msgid "Bulk actions" msgstr "" -#: pro/fields/class-acf-field-gallery.php:549 +#: pro/fields/class-acf-field-gallery.php:564 msgid "Sort by date uploaded" msgstr "" -#: pro/fields/class-acf-field-gallery.php:550 +#: pro/fields/class-acf-field-gallery.php:565 msgid "Sort by date modified" msgstr "" -#: pro/fields/class-acf-field-gallery.php:551 +#: pro/fields/class-acf-field-gallery.php:566 msgid "Sort by title" msgstr "" -#: pro/fields/class-acf-field-gallery.php:552 +#: pro/fields/class-acf-field-gallery.php:567 msgid "Reverse current order" msgstr "" -#: pro/fields/class-acf-field-gallery.php:570 +#: pro/fields/class-acf-field-gallery.php:585 msgid "Close" msgstr "" -#: pro/fields/class-acf-field-gallery.php:624 +#: pro/fields/class-acf-field-gallery.php:639 msgid "Minimum Selection" msgstr "" -#: pro/fields/class-acf-field-gallery.php:633 +#: pro/fields/class-acf-field-gallery.php:648 msgid "Maximum Selection" msgstr "" -#: pro/fields/class-acf-field-gallery.php:642 +#: pro/fields/class-acf-field-gallery.php:657 msgid "Insert" msgstr "" -#: pro/fields/class-acf-field-gallery.php:643 +#: pro/fields/class-acf-field-gallery.php:658 msgid "Specify where new attachments are added" msgstr "" -#: pro/fields/class-acf-field-gallery.php:647 +#: pro/fields/class-acf-field-gallery.php:662 msgid "Append to the end" msgstr "" -#: pro/fields/class-acf-field-gallery.php:648 +#: pro/fields/class-acf-field-gallery.php:663 msgid "Prepend to the beginning" msgstr "" -#: pro/fields/class-acf-field-repeater.php:36 +#: pro/fields/class-acf-field-repeater.php:65 +#: pro/fields/class-acf-field-repeater.php:656 msgid "Minimum rows reached ({min} rows)" msgstr "" -#: pro/fields/class-acf-field-repeater.php:37 +#: pro/fields/class-acf-field-repeater.php:66 msgid "Maximum rows reached ({max} rows)" msgstr "" -#: pro/fields/class-acf-field-repeater.php:343 +#: pro/fields/class-acf-field-repeater.php:333 msgid "Add row" msgstr "" -#: pro/fields/class-acf-field-repeater.php:344 +#: pro/fields/class-acf-field-repeater.php:334 msgid "Remove row" msgstr "" -#: pro/fields/class-acf-field-repeater.php:419 +#: pro/fields/class-acf-field-repeater.php:412 msgid "Collapsed" msgstr "" -#: pro/fields/class-acf-field-repeater.php:420 +#: pro/fields/class-acf-field-repeater.php:413 msgid "Select a sub field to show when row is collapsed" msgstr "" -#: pro/fields/class-acf-field-repeater.php:430 +#: pro/fields/class-acf-field-repeater.php:423 msgid "Minimum Rows" msgstr "" -#: pro/fields/class-acf-field-repeater.php:440 +#: pro/fields/class-acf-field-repeater.php:433 msgid "Maximum Rows" msgstr "" diff --git a/pro/admin/admin-options-page.php b/pro/admin/admin-options-page.php index 0a9d608..329f31a 100644 --- a/pro/admin/admin-options-page.php +++ b/pro/admin/admin-options-page.php @@ -304,8 +304,8 @@ class acf_admin_options_page { 'key' => $field_group['key'], 'style' => $field_group['style'], 'label' => $field_group['label_placement'], - 'edit_url' => '', - 'edit_title' => __('Edit field group', 'acf'), + 'editLink' => '', + 'editTitle' => __('Edit field group', 'acf'), 'visibility' => true ); @@ -313,7 +313,7 @@ class acf_admin_options_page { // edit_url if( $field_group['ID'] && acf_current_user_can_admin() ) { - $o['edit_url'] = admin_url('post.php?post=' . $field_group['ID'] . '&action=edit'); + $o['editLink'] = admin_url('post.php?post=' . $field_group['ID'] . '&action=edit'); } @@ -331,7 +331,7 @@ class acf_admin_options_page { diff --git a/pro/admin/admin-settings-updates.php b/pro/admin/admin-settings-updates.php index fcb2f4a..019a9ab 100644 --- a/pro/admin/admin-settings-updates.php +++ b/pro/admin/admin-settings-updates.php @@ -227,7 +227,6 @@ class acf_admin_settings_updates { // add changelog if the remote version is '>' than the current version $version = acf_get_setting('version'); - // check if remote version is higher than current version if( version_compare($info['version'], $version, '>') ) { @@ -242,13 +241,42 @@ class acf_admin_settings_updates { // - avoids new version not available in plugin update list // - only request if license is active if( $license ) { - - acf_updates()->refresh_plugins_transient(); - + $this->refresh_plugins_transient(); } - } + } + + + /** + * refresh_plugins_transient + * + * Checks the site transient 'update_plugins' and compares the cached new_version against the plugin-info version. + * If the cached version is older, a new version is available, and the transient is refreshed. + * + * @date 12/7/18 + * @since 5.6.9 + * + * @param void + * @return void + */ + + function refresh_plugins_transient() { + // vars + $remote_version = $this->view['remote_version']; + $basename = acf_get_setting('basename'); + $transient = get_site_transient('update_plugins'); + $transient_version = 0; + + // get transient version + if( isset($transient->response[ $basename ]->new_version) ) { + $transient_version = $transient->response[ $basename ]->new_version; + } + + // return true if a newer $remote_version exists + if( acf_version_compare($remote_version, '>', $transient_version) ) { + acf_updates()->refresh_plugins_transient(); + } } diff --git a/pro/admin/views/html-settings-updates.php b/pro/admin/views/html-settings-updates.php index 4beb66d..8609a32 100644 --- a/pro/admin/views/html-settings-updates.php +++ b/pro/admin/views/html-settings-updates.php @@ -123,13 +123,8 @@ $readonly = $active ? 1 : 0;

                        • - -
                          - -
                          -