diff --git a/admin/class-bread-admin.php b/admin/class-bread-admin.php index d223462..33dc102 100644 --- a/admin/class-bread-admin.php +++ b/admin/class-bread-admin.php @@ -71,7 +71,7 @@ public function enqueue_styles($hook) wp_enqueue_style("tooltipster", plugin_dir_url(__FILE__) . "css/tooltipster.bundle.min.css", false, "1.2", 'all'); wp_enqueue_style("tooltipster-noir", plugin_dir_url(__FILE__) . "css/tooltipster-sideTip-noir.min.css", false, "1.2", 'all'); wp_enqueue_style("admin", plugin_dir_url(__FILE__) . "css/admin.css", false, "1.2", 'all'); - wp_enqueue_style("chosen", plugin_dir_url(__FILE__) . "css/chosen.min.css", false, "1.2", 'all'); + wp_enqueue_style("select2", plugin_dir_url(__FILE__) . "css/select2.min.css", false, "1.2", 'all'); wp_enqueue_style("smartWizard-dots", plugin_dir_url(__FILE__) . "css/smart_wizard_dots.css", false, "6.0.6", 'all'); } @@ -89,13 +89,13 @@ public function enqueue_scripts($hook) wp_enqueue_script('jquery-ui-tabs'); wp_enqueue_script('jquery-ui-accordion'); wp_enqueue_script('jquery-ui-dialog'); - wp_enqueue_script("bmlt_meeting_list", plugin_dir_url(__FILE__) . "js/bmlt_meeting_list.js", array('jquery'), "2.8.0", true); + wp_enqueue_script("bmlt_meeting_list", plugin_dir_url(__FILE__) . "js/bmlt_meeting_list.js", array('jquery'), BREAD_VERSION, true); wp_enqueue_script("tooltipster", plugin_dir_url(__FILE__) . "js/tooltipster.bundle.min.js", array('jquery'), "1.2", true); wp_enqueue_script("spectrum", plugin_dir_url(__FILE__) . "js/spectrum.min.js", array('jquery'), "1.2", true); - wp_enqueue_script("chosen", plugin_dir_url(__FILE__) . "js/chosen.jquery.min.js", array('jquery'), "1.2", true); + wp_enqueue_script("select2", plugin_dir_url(__FILE__) . "js/select2.min.js", array('jquery'), "1.2", true); wp_enqueue_script("fetch-jsonp", plugin_dir_url(__FILE__) . "js/fetch-jsonp.js", array('jquery'), "1.30", true); wp_enqueue_script("smartWizard", plugin_dir_url(__FILE__) . "js/jquery.smartWizard.js", array('jquery'), "6.0.6", true); - wp_enqueue_script("breadWizard", plugin_dir_url(__FILE__) . "js/bread-wizard.js", array('smartWizard'), "2.8.0", true); + wp_enqueue_script("breadWizard", plugin_dir_url(__FILE__) . "js/bread-wizard.js", array('smartWizard'), BREAD_VERSION, true); /** * Make some JSON from PHP available in JS. */ @@ -248,9 +248,6 @@ function pwsix_process_settings_export() if (!isset($_POST['pwsix_export_nonce']) || ! wp_verify_nonce($_POST['pwsix_export_nonce'], 'pwsix_export_nonce')) { return; } - if (! current_user_can('manage_bread')) { // TODO: Is this necessary? Why not let the user make a copy - return; - } $this->download_settings_inner(); } function download_settings() @@ -317,13 +314,13 @@ function exportLogFile($file) } function current_user_can_modify() { - if (! current_user_can('manage_bread')) { - return false; - } $user = wp_get_current_user(); if (in_array('administrator', $user->roles)) { return true; } + if (! current_user_can('manage_bread')) { + return false; + } $authors_safe = $this->bread->getOption('authors'); if (!is_array($authors_safe) || empty($authors_safe)) { return true; @@ -335,10 +332,17 @@ function current_user_can_modify() } function current_user_can_create() { - if (! current_user_can('manage_bread')) { - return false; + $user = wp_get_current_user(); + if (in_array('administrator', $user->roles)) { + return true; + } + if (current_user_can('manage_options')) { + return true; + } + if (current_user_can('manage_bread')) { + return true; } - return true; + return false; } /** * Process a settings import from a json file @@ -348,7 +352,7 @@ function pwsix_process_settings_import() if (empty($_REQUEST['pwsix_import_nonce']) || !wp_verify_nonce($_REQUEST['pwsix_import_nonce'], 'pwsix_import_nonce')) { return; } - if (! current_user_can('manage_bread')) { + if (! $this->current_user_can_modify()) { return; } $this->bread->getConfigurationForSettingId($this->bread->getRequestedSetting()); @@ -376,7 +380,7 @@ function pwsix_process_settings_import() update_option($this->bread->getOptionsName(), $this->bread->getOptions()); setcookie('current-meeting-list', $this->bread->getRequestedSetting(), time() + 10); setcookie('bread_import_file', $import_file, time() + 10); - wp_safe_redirect(admin_url('?page=class-bread-admin.php')); + wp_safe_redirect(admin_url('?page=bmlt-enabled-bread')); } function my_theme_add_editor_styles() { @@ -433,11 +437,15 @@ function admin_submenu_link($parent_slug) activate_bread(); $this->bmltEnabled_admin->createMenu(); + $cap = 'manage_options'; + if (!current_user_can($cap)) { + $cap = 'manage_bread'; + } $this->hook = add_submenu_page( $parent_slug, 'Printable Meeting Lists', 'Printable Meeting Lists', - 'manage_bread', + $cap, 'bmlt-enabled-bread', array(&$this, 'admin_options_page'), 2 diff --git a/admin/css/admin.css b/admin/css/admin.css index f42778a..42069cb 100644 --- a/admin/css/admin.css +++ b/admin/css/admin.css @@ -1,7 +1,7 @@ .wpbody-content { margin-top: 0; - margin-left: 0; - margin-right: 0; + margin-inline-start: 0; + margin-inline-end: 0; height: 100%; width: 100%; } @@ -34,7 +34,7 @@ and (orientation: portrait) { } .ui-accordion .ui-accordion-icons { - padding-left: 2.2em !important; + padding-inline-start: 2.2em !important; } img.box-description { margin: 0px 10px 0px 10px; @@ -123,12 +123,12 @@ div#meeting-list-tabs-wrapper li { margin-top: 1px; color: #FFF; float: right; -margin-right: 20px; +margin-inline-end: 20px; } #meeting-list-tabs .icon-question2 { margin-top: 1px; color: #FFF; -margin-left: 5px; +margin-inline-start: 5px; } #meeting-list-tabs .icon-question2:before { content: "\e6b7"; @@ -205,8 +205,8 @@ a img.alignleft { a img.aligncenter { display: block; - margin-left: auto; - margin-right: auto + margin-inline-start: auto; + margin-inline-end: auto } .wp-caption { @@ -273,7 +273,7 @@ width:410px; vertical-align: top; border: solid 1px #D5D5D5; padding: 10px 15px; -margin-left: 5px; +margin-inline-start: 5px; margin-bottom: 10px; display: -webkit-inline-box; color: #999; @@ -293,10 +293,10 @@ font-size: 22px; } .tooltipster-icon { cursor: help; - margin-left: 10px; + margin-inline-start: 10px; background: url("images/help-image2.png") no-repeat; color: rgba(0, 0, 0, 0); - padding-right: 5px; + padding-inline-end: 5px; } .mlg.dashicons-search:before { @@ -322,17 +322,17 @@ color: #222; .ui-tabs.ui-tabs-vertical .ui-widget-header { border: none; } -.ui-tabs.ui-tabs-vertical .ui-tabs-nav { +.bmlt-ltr .ui-tabs.ui-tabs-vertical .ui-tabs-nav { float: left; width: 10em; background: #CCC; border-radius: 4px 0 0 4px; border-right: 1px solid gray; - padding-right: 20px; + padding-inline-end: 20px; padding-top: 7px; - padding-left: 0; + padding-inline-start: 0; } -#meeting-list-tabs.ui-tabs.ui-tabs-vertical .ui-tabs-nav li { +.bmlt-ltr #meeting-list-tabs.ui-tabs.ui-tabs-vertical .ui-tabs-nav li { clear: left; width: 100%; margin: 0.2em 0; @@ -373,7 +373,7 @@ color: #000; #meeting-list-tabs.ui-tabs.ui-tabs-vertical .ui-tabs-nav li:last-child { margin-bottom: 10px; } -#meeting-list-tabs.ui-tabs.ui-tabs-vertical .ui-tabs-panel { +.bmlt-ltr #meeting-list-tabs.ui-tabs.ui-tabs-vertical .ui-tabs-panel { float: left; width: 50%; border-left: 0; @@ -408,7 +408,7 @@ width: 4em !important; } .mce-listbox button { text-align: left; - padding-right: 20px !important; + padding-inline-end: 20px !important; position: relative; } /* @@ -473,7 +473,7 @@ h3.help-accordion { background-color: #F5F5F5 !important; color: #000 !important z-index: 9999; background: url('images/saving.gif') 50% 50% no-repeat; } -select.service_body_select { +select.bread_service_body_select { width: 62%; max-width: 62%; } @@ -496,13 +496,10 @@ select.service_body_select { .extra_meetings_label { margin-top: 10px; } -.exactCenter { width:800px; height:800px; position: fixed; top: 50%; left: 50%; margin-top: -100px; margin-left: -100px; } +.exactCenter { width:800px; height:800px; position: fixed; top: 50%; left: 50%; margin-top: -100px; margin-inline-start: -100px; } #extra_meetings * { font-family: 'Courier New', Courier, monospace !important; } -.chosen-container-multi .chosen-choices li.search-field input[type=text] { - width: 100% !important; -} .step-description { margin: 10px; border: solid; @@ -517,3 +514,46 @@ select.service_body_select { color: green; font-weight: bold; } + +.bmlt-rtl .ui-tabs-vertical { width: 55em; } +.bmlt-rtl .ui-tabs-vertical .ui-tabs-nav li a { display:block; } +.bmlt-rtl .ui-tabs-vertical .ui-tabs-panel { + direction:rtl; + width: 60%; + position: relative; + float: right; +} +.bmlt-rtl .ui-tabs .ui-tabs-nav li a { float:none;} + +.bmlt-rtl .ui-tabs-vertical .ui-tabs-nav { + float: right; + width: 10em; + background: #CCC; + border-radius: 4px 0 0 4px; + border-right: 1px solid gray; + padding-inline-end: 20px; + padding-top: 7px; + padding-inline-start: 0; +} +.bmlt-rtl .ui-tabs-vertical .ui-tabs-nav li { + clear: right; + width: 100%; + margin: 0.2em 0; + /* border: 1px solid gray; */ + /* border-width: 1px 1px 1px 1px; */ + /* border-radius: 4px 4px 4px 4px; */ + overflow: hidden; + position: relative; + left: -2px; + z-index: 2; +} +.bmlt-rtl .ui-tabs .ui-tabs-nav li { + float: right !important +} +.select2-container { + width: 50% !important; +} +.nav-tab-wrapper { + width: max-content !important; +} +.select2-search--inline { display: contents; } .select2-search__field:placeholder-shown { width: 100% !important; } \ No newline at end of file diff --git a/admin/css/chosen-sprite-2x.png b/admin/css/chosen-sprite-2x.png deleted file mode 100644 index 6b50545..0000000 Binary files a/admin/css/chosen-sprite-2x.png and /dev/null differ diff --git a/admin/css/chosen-sprite.png b/admin/css/chosen-sprite.png deleted file mode 100644 index c57da70..0000000 Binary files a/admin/css/chosen-sprite.png and /dev/null differ diff --git a/admin/css/chosen.min.css b/admin/css/chosen.min.css deleted file mode 100644 index 08a0ecc..0000000 --- a/admin/css/chosen.min.css +++ /dev/null @@ -1,3 +0,0 @@ -/* Chosen v1.4.2 | (c) 2011-2015 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ - -.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chosen-container *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container .search-choice .group-name,.chosen-container .chosen-single .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400;color:#999}.chosen-container .search-choice .group-name:after,.chosen-container .chosen-single .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(chosen-sprite.png) no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url(chosen-sprite.png) no-repeat 100% -20px;background:url(chosen-sprite.png) no-repeat 100% -20px;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;height:25px;outline:0;border:0!important;background:transparent!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 5px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:0;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:#fff url(chosen-sprite.png) no-repeat -30px -20px;background:url(chosen-sprite.png) no-repeat -30px -20px;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi),only screen and (min-resolution:1.5dppx){.chosen-rtl .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type=text],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url(chosen-sprite-2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}} \ No newline at end of file diff --git a/admin/css/select2.min.css b/admin/css/select2.min.css new file mode 100644 index 0000000..7c18ad5 --- /dev/null +++ b/admin/css/select2.min.css @@ -0,0 +1 @@ +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/admin/js/bmlt_meeting_list.js b/admin/js/bmlt_meeting_list.js index 44f1efe..af2a46d 100644 --- a/admin/js/bmlt_meeting_list.js +++ b/admin/js/bmlt_meeting_list.js @@ -228,48 +228,23 @@ jQuery(document).ready( $ml('.booklet-check').on('click', bookletControlsShowHide); $ml('input[name=page_fold]:checked').hasClass('booklet-check') && bookletControlsShowHide(); $ml('input[name=page_fold]:checked').hasClass('single-page-check') && singlePageControlsShowHide(); - $ml(".service_body_select").chosen( + $ml(".bread_service_body_select").select2(); + $ml('#extra_meetings').select2( { - inherit_select_classes: true, - width: "62%" + placeholder: "Select extra meetings", } ); - $ml("#extra_meetings").chosen( + $ml("#bread_author_select").select2( { - no_results_text: "Oops, nothing found!", - width: "100%", - placeholder_text_multiple: "Select Extra Meetings", - search_contains: true - } - ); - $ml('#extra_meetings').on( - 'chosen:showing_dropdown', function(evt, params) { - $ml(".ctrl_key").show(); - } - ); - $ml('#extra_meetings').on( - 'chosen:hiding_dropdown', function(evt, params) { - $ml(".ctrl_key").hide(); - } - ); - $ml("#author_chosen").chosen( - { - no_results_text: "Oops, nothing found!", - width: "100%", - placeholder_text_multiple: "Select authors", - search_contains: true - } - ); - $ml('#author_chosen').on( - 'chosen:showing_dropdown', function(evt, params) { - $ml(".ctrl_key").show(); - } - ); - $ml('#author_chosen').on( - 'chosen:hiding_dropdown', function(evt, params) { - $ml(".ctrl_key").hide(); + placeholder: "Select authors", } ); + $ml('.bread-select').on("change", function (e) { + const self = $ml(this); + const field = self.parent().find('.select2-search--inline'); + field.css('display', (self.val().length == 0 ? 'contents' : 'block')); + field.find('input').css('width', (self.val().length == 0 ? '100%' : 'auto')); + }); $ml("#meeting-list-tabs").tabs( { active: 0 diff --git a/admin/js/bread-wizard.js b/admin/js/bread-wizard.js index 3afaffb..5eb5b3c 100644 --- a/admin/js/bread-wizard.js +++ b/admin/js/bread-wizard.js @@ -63,11 +63,11 @@ jQuery(document).ready(function($){ ask_bmlt("switcher=GetServerInfo", (info) => { $('#wizard_root_server_result').removeClass('invalid-feedback dashicons-dismiss') - .addClass('valid-feedback dashicons-before dashicons-yes-alt').html('Connected! - BMLT Server version '+info[0]['version']); + .addClass('valid-feedback dashicons-before dashicons-yes-alt').html($('#wizard_connected_message').html()+info[0].version); }, (error) => { $('#wizard_root_server_result').removeClass('valid-feedback dashicons-yes-alt') - .addClass('invalid-feedback dashicons-before dashicons-dismiss').html('Could not connect: Check spelling and internet connection.'); + .addClass('invalid-feedback dashicons-before dashicons-dismiss').html($('#wizard_disconnected_message').html()); }); } BreadWizard.prototype.root_server_keypress = function(event) { @@ -75,7 +75,7 @@ jQuery(document).ready(function($){ } BreadWizard.prototype.root_server_changed = function() { $('#wizard_root_server_result').removeClass('valid-feedback').addClass('invalid-feedback dashicons-before dashicons-dismiss') - .html('Test that this is valid root server URL before continuing'); + .html($('#wizard_testnow_message').html()); } BreadWizard.prototype.finish = function() { $('#bread-wizard').smartWizard("reset"); @@ -118,7 +118,6 @@ jQuery(document).ready(function($){ options = write_service_body_with_childern(options, sb, parents, 'ROOT', 0); }); $('#wizard_service_bodies').html(options.join('')); - $('#wizard_service_bodies').trigger("chosen:updated"); } fill_formats = function(formats) { const options = formats.reduce((carry,item) => { @@ -234,7 +233,7 @@ jQuery(document).ready(function($){ } return true; }); - $("#wizard_service_bodies").chosen({ + $("#wizard_service_bodies").select2({ inherit_select_classes: true, max_selected_options:5, width: "62%" diff --git a/admin/js/chosen.jquery.min.js b/admin/js/chosen.jquery.min.js deleted file mode 100644 index 9ad3f62..0000000 --- a/admin/js/chosen.jquery.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* Chosen v1.4.2 | (c) 2011-2015 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ -(function(){var a,AbstractChosen,Chosen,SelectParser,b,c={}.hasOwnProperty,d=function(a,b){function d(){this.constructor=a}for(var e in b)c.call(b,e)&&(a[e]=b[e]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(a){return"OPTGROUP"===a.nodeName.toUpperCase()?this.add_group(a):this.add_option(a)},SelectParser.prototype.add_group=function(a){var b,c,d,e,f,g;for(b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:this.escapeExpression(a.label),title:a.title?a.title:void 0,children:0,disabled:a.disabled,classes:a.className}),f=a.childNodes,g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},SelectParser.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,title:a.title?a.title:void 0,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,group_label:null!=b?this.parsed[b].label:null,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},SelectParser.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&"})):a},SelectParser}(),SelectParser.select_to_array=function(a){var b,c,d,e,f;for(c=new SelectParser,f=a.childNodes,d=0,e=f.length;e>d;d++)b=f[d],c.add_node(b);return c.parsed},AbstractChosen=function(){function AbstractChosen(a,b){this.form_field=a,this.options=null!=b?b:{},AbstractChosen.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return AbstractChosen.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1},AbstractChosen.prototype.set_default_text=function(){return this.default_text=this.form_field.getAttribute("data-placeholder")?this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text:this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text},AbstractChosen.prototype.choice_label=function(a){return this.include_group_label_in_selected&&null!=a.group_label?""+a.group_label+""+a.html:a.html},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(){var a=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return a.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},AbstractChosen.prototype.input_blur=function(){var a=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return a.blur_test()},100))},AbstractChosen.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(c)));return b},AbstractChosen.prototype.result_add_option=function(a){var b,c;return a.search_match?this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=document.createElement("li"),c.className=b.join(" "),c.style.cssText=a.style,c.setAttribute("data-option-array-index",a.array_index),c.innerHTML=a.search_text,a.title&&(c.title=a.title),this.outerHTML(c)):"":""},AbstractChosen.prototype.result_add_group=function(a){var b,c;return a.search_match||a.group_match?a.active_options>0?(b=[],b.push("group-result"),a.classes&&b.push(a.classes),c=document.createElement("li"),c.className=b.join(" "),c.innerHTML=a.search_text,a.title&&(c.title=a.title),this.outerHTML(c)):"":""},AbstractChosen.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing?this.winnow_results():void 0},AbstractChosen.prototype.reset_single_select_options=function(){var a,b,c,d,e;for(d=this.results_data,e=[],b=0,c=d.length;c>b;b++)a=d[b],a.selected?e.push(a.selected=!1):e.push(void 0);return e},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l;for(this.no_results_clear(),d=0,f=this.get_search_text(),a=f.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),i=new RegExp(a,"i"),c=this.get_search_regex(a),l=this.results_data,j=0,k=l.length;k>j;j++)b=l[j],b.search_match=!1,e=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(e=this.results_data[b.group_array_index],0===e.active_options&&e.search_match&&(d+=1),e.active_options+=1),b.search_text=b.group?b.label:b.html,(!b.group||this.group_search)&&(b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(d+=1),b.search_match?(f.length&&(g=b.search_text.search(i),h=b.search_text.substr(0,g+f.length)+""+b.search_text.substr(g+f.length),b.search_text=h.substr(0,g)+""+h.substr(g)),null!=e&&(e.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>d&&f.length?(this.update_results_content(""),this.no_results(f)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},AbstractChosen.prototype.get_search_regex=function(a){var b;return b=this.search_contains?"":"^",new RegExp(b+a,"i")},AbstractChosen.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},AbstractChosen.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},AbstractChosen.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.clipboard_event_checker=function(){var a=this;return setTimeout(function(){return a.results_search()},50)},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},AbstractChosen.prototype.search_results_touchstart=function(a){return this.touch_started=!0,this.search_results_mouseover(a)},AbstractChosen.prototype.search_results_touchmove=function(a){return this.touch_started=!1,this.search_results_mouseout(a)},AbstractChosen.prototype.search_results_touchend=function(a){return this.touch_started?this.search_results_mouseup(a):void 0},AbstractChosen.prototype.outerHTML=function(a){var b;return a.outerHTML?a.outerHTML:(b=document.createElement("div"),b.appendChild(a),b.innerHTML)},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),a=jQuery,a.fn.extend({chosen:function(b){return AbstractChosen.browser_is_supported()?this.each(function(){var c,d;c=a(this),d=c.data("chosen"),"destroy"===b&&d instanceof Chosen?d.destroy():d instanceof Chosen||c.data("chosen",new Chosen(this,b))}):this}}),Chosen=function(c){function Chosen(){return b=Chosen.__super__.constructor.apply(this,arguments)}return d(Chosen,c),Chosen.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},Chosen.prototype.set_up_html=function(){var b,c;return b=["chosen-container"],b.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&b.push(this.form_field.className),this.is_rtl&&b.push("chosen-rtl"),c={"class":b.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(c.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("
",c),this.is_multiple?this.container.html('
    '):this.container.html(''+this.default_text+'
      '),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},Chosen.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var a=this;return this.container.bind("touchstart.chosen",function(b){return a.container_mousedown(b),b.preventDefault()}),this.container.bind("touchend.chosen",function(b){return a.container_mouseup(b),b.preventDefault()}),this.container.bind("mousedown.chosen",function(b){a.container_mousedown(b)}),this.container.bind("mouseup.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mouseenter.chosen",function(b){a.mouse_enter(b)}),this.container.bind("mouseleave.chosen",function(b){a.mouse_leave(b)}),this.search_results.bind("mouseup.chosen",function(b){a.search_results_mouseup(b)}),this.search_results.bind("mouseover.chosen",function(b){a.search_results_mouseover(b)}),this.search_results.bind("mouseout.chosen",function(b){a.search_results_mouseout(b)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(b){a.search_results_mousewheel(b)}),this.search_results.bind("touchstart.chosen",function(b){a.search_results_touchstart(b)}),this.search_results.bind("touchmove.chosen",function(b){a.search_results_touchmove(b)}),this.search_results.bind("touchend.chosen",function(b){a.search_results_touchend(b)}),this.form_field_jq.bind("chosen:updated.chosen",function(b){a.results_update_field(b)}),this.form_field_jq.bind("chosen:activate.chosen",function(b){a.activate_field(b)}),this.form_field_jq.bind("chosen:open.chosen",function(b){a.container_mousedown(b)}),this.form_field_jq.bind("chosen:close.chosen",function(b){a.input_blur(b)}),this.search_field.bind("blur.chosen",function(b){a.input_blur(b)}),this.search_field.bind("keyup.chosen",function(b){a.keyup_checker(b)}),this.search_field.bind("keydown.chosen",function(b){a.keydown_checker(b)}),this.search_field.bind("focus.chosen",function(b){a.input_focus(b)}),this.search_field.bind("cut.chosen",function(b){a.clipboard_event_checker(b)}),this.search_field.bind("paste.chosen",function(b){a.clipboard_event_checker(b)}),this.is_multiple?this.search_choices.bind("click.chosen",function(b){a.choices_click(b)}):this.container.bind("click.chosen",function(a){a.preventDefault()})},Chosen.prototype.destroy=function(){return a(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},Chosen.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},Chosen.prototype.container_mousedown=function(b){return this.is_disabled||(b&&"mousedown"===b.type&&!this.results_showing&&b.preventDefault(),null!=b&&a(b.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!b||a(b.target)[0]!==this.selected_item[0]&&!a(b.target).parents("a.chosen-single").length||(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(this.container[0].ownerDocument).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},Chosen.prototype.search_results_mousewheel=function(a){var b;return a.originalEvent&&(b=a.originalEvent.deltaY||-a.originalEvent.wheelDelta||a.originalEvent.detail),null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop(b+this.search_results.scrollTop())):void 0},Chosen.prototype.blur_test=function(){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},Chosen.prototype.close_field=function(){return a(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},Chosen.prototype.test_active_click=function(b){var c;return c=a(b.target).closest(".chosen-container"),c.length&&this.container[0]===c[0]?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},Chosen.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){if(this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight(),b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(f>c)return this.search_results.scrollTop(c)}},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},Chosen.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},Chosen.prototype.update_results_content=function(a){return this.search_results.html(a)},Chosen.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},Chosen.prototype.set_tab_index=function(){var a;return this.form_field.tabIndex?(a=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=a):void 0},Chosen.prototype.set_label_behavior=function(){var b=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=a("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0?this.form_field_label.bind("click.chosen",function(a){return b.is_multiple?b.container_mousedown(a):b.activate_field()}):void 0},Chosen.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},Chosen.prototype.search_results_mouseup=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c.length?(this.result_highlight=c,this.result_select(b),this.search_field.focus()):void 0},Chosen.prototype.search_results_mouseover=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c?this.result_do_highlight(c):void 0},Chosen.prototype.search_results_mouseout=function(b){return a(b.target).hasClass("active-result")?this.result_clear_highlight():void 0},Chosen.prototype.choice_build=function(b){var c,d,e=this;return c=a("
    • ",{"class":"search-choice"}).html(""+this.choice_label(b)+""),b.disabled?c.addClass("search-choice-disabled"):(d=a("",{"class":"search-choice-close","data-option-array-index":b.array_index}),d.bind("click.chosen",function(a){return e.choice_destroy_link_click(a)}),c.append(d)),this.search_container.before(c)},Chosen.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),b.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a(b.target))},Chosen.prototype.choice_destroy=function(a){return this.result_deselect(a[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),a.parents("li").first().remove(),this.search_field_scale()):void 0},Chosen.prototype.results_reset=function(){return this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},Chosen.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(a){var b,c;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClass("active-result"):this.reset_single_select_options(),b.addClass("result-selected"),c=this.results_data[b[0].getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(this.choice_label(c)),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[c.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,a.preventDefault(),this.search_field_scale())):void 0},Chosen.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(a)},Chosen.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[b.options_index].value}),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after(''),this.selected_item.addClass("chosen-single-with-deselect")):void 0},Chosen.prototype.get_search_text=function(){return a("
      ").text(a.trim(this.search_field.val())).html()},Chosen.prototype.winnow_results_set_highlight=function(){var a,b;return b=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),a=b.length?b.first():this.search_results.find(".active-result").first(),null!=a?this.result_do_highlight(a):void 0},Chosen.prototype.no_results=function(b){var c;return c=a('
    • '+this.results_none_found+' ""
    • '),c.find("span").first().html(b),this.search_results.append(c),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(a):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var a;return this.results_showing||this.is_multiple?this.result_highlight?(a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(a=this.search_container.siblings("li.search-choice").last(),a.length&&!a.hasClass("search-choice-disabled")?(this.pending_backstroke=a,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:this.results_showing&&a.preventDefault();break;case 32:this.disable_search&&a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){for(d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],i=0,j=g.length;j>i;i++)e=g[i],f+=e+":"+this.search_field.css(e)+";";return b=a("
      ",{style:f}),b.text(this.search_field.val()),a("body").append(b),h=b.width()+25,b.remove(),c=this.container.outerWidth(),h>c-10&&(h=c-10),this.search_field.css({width:h+"px"})}},Chosen}(AbstractChosen)}).call(this); \ No newline at end of file diff --git a/admin/js/select2.min.js b/admin/js/select2.min.js new file mode 100644 index 0000000..e421426 --- /dev/null +++ b/admin/js/select2.min.js @@ -0,0 +1,2 @@ +/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,r,h,o,s,f,g,m,v,y,_,i,a,b;function w(e,t){return i.call(e,t)}function l(e,t){var n,r,i,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&b.test(e[s])&&(e[s]=e[s].replace(b,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},i.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},i.__cache={};var n=0;return i.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},i.StoreData=function(e,t,n){var r=i.GetUniqueElementId(e);i.__cache[r]||(i.__cache[r]={}),i.__cache[r][t]=n},i.GetData=function(e,t){var n=i.GetUniqueElementId(e);return t?i.__cache[n]&&null!=i.__cache[n][t]?i.__cache[n][t]:o(e).data(t):i.__cache[n]},i.RemoveData=function(e){var t=i.GetUniqueElementId(e);null!=i.__cache[t]&&delete i.__cache[t],e.removeAttribute("data-select2-id")},i}),e.define("select2/results",["jquery","./utils"],function(h,f){function r(e,t,n){this.$element=e,this.data=n,this.options=t,r.__super__.constructor.call(this)}return f.Extend(r,f.Observable),r.prototype.render=function(){var e=h('
        ');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},r.prototype.clear=function(){this.$results.empty()},r.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h(''),r=this.options.get("translations").get(e.message);n.append(t(r(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},r.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},r.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},r.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var r=n-1;0===e.length&&(r=0);var i=t.eq(r);i.trigger("mouseenter");var o=l.$results.offset().top,s=i.offset().top,a=l.$results.scrollTop()+(s-o);0===r?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var i=l.$results.offset().top+l.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),s=l.$results.scrollTop()+o-i;0===n?l.$results.scrollTop(0):ithis.$results.outerHeight()||o<0)&&this.$results.scrollTop(i)}},r.prototype.template=function(e,t){var n=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),i=n(e,t);null==i?t.style.display="none":"string"==typeof i?t.innerHTML=r(i):h(t).append(i)},r}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,r,i){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return r.Extend(o,r.Observable),o.prototype.render=function(){var e=n('');return this._tabindex=0,null!=r.GetData(this.$element[0],"old-tabindex")?this._tabindex=r.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,r=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===i.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",r),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&r.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o.prototype.isEnabled=function(){return!this.isDisabled()},o.prototype.isDisabled=function(){return this.options.get("disabled")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,r){function i(){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html(''),e},i.prototype.bind=function(t,e){var n=this;i.__super__.bind.apply(this,arguments);var r=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",r).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",r),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},i.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e("")},i.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),r=this.display(t,n);n.empty().append(r);var i=t.title||t.text;i?n.attr("title",i):n.removeAttr("title")}else this.clear()},i}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('
          '),e},n.prototype.bind=function(e,t){var r=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!r.isDisabled()){var t=i(this).parent(),n=l.GetData(t[0],"data");r.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return i('
        • ×
        • ')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n×');a.StoreData(r[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(r,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=r('');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),t.on("open",function(){r.$search.attr("aria-controls",i),r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".select2-selection__choice");if(0this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(){r._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var r=this;this._checkIfMaximumSelected(function(){e.call(r,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var r=this;this.current(function(e){var t=null!=e?e.length:0;0=r.maximumSelectionLength?r.trigger("results:message",{message:"maximumSelected",args:{maximum:r.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),t.on("open",function(){r.$search.attr("tabindex",0),r.$search.attr("aria-controls",i),r.$search.trigger("focus"),window.setTimeout(function(){r.$search.trigger("focus")},0)}),t.on("close",function(){r.$search.attr("tabindex",-1),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.val(""),r.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||r.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("select2-search--hide"):r.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,r){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,r)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),r=t.length-1;0<=r;r--){var i=t[r];this.placeholder.id===i.id&&n.splice(r,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,r){this.lastParams={},e.call(this,t,n,r),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("query",function(e){r.lastParams=e,r.loading=!0}),t.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('
        • '),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("open",function(){r._showDropdown(),r._attachPositioningHandler(t),r._bindContainerResultHandlers(t)}),t.on("close",function(){r._hideDropdown(),r._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f(""),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,r="scroll.select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(r,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(r+" "+i+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,r="resize.select2."+t.id,i="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+r+" "+i)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),r=null,i=this.$container.offset();i.bottom=i.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=i.top,o.bottom=i.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=ai.bottom+s,d={left:i.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(r="below"),u||!c||t?!c&&u&&t&&(r="below"):r="above",("above"==r||t&&"below"!==r)&&(d.top=o.top-h.top-s),null!=r&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+r),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+r)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,r){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,r)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,r=0;r');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(i,e,o,t,s){if(null==i.fn.select2){var a=["open","close","destroy"];i.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=i.extend(!0,{},t);new o(i(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,r)}),-1
          \ No newline at end of file diff --git a/admin/partials/_bmlt_server_setup.php b/admin/partials/_bmlt_server_setup.php index 784a4e3..20d168e 100644 --- a/admin/partials/_bmlt_server_setup.php +++ b/admin/partials/_bmlt_server_setup.php @@ -15,10 +15,10 @@
          -

          BMLT Server(?)

          +

          (?)

          - +

          bread->getOption('sslverify') == '1') { ?>

          - + bread->emptyOption('root_server')) { - echo "

          ERROR: Please enter a BMLT Server"; + echo "
          ".esc_html(__('ERROR: Please enter a BMLT Server', 'bread'))."
          "; echo ''; if ($this->bread->getOption('sslverify') == '1') { ?>

          - +

          -
          ERROR: Problem Connecting to BMLT Server
          bread->bmlt()->connection_error); ?> +

          bread->bmlt()->connection_error); ?>

          - +

          bread->getOption('sslverify') ? 'checked' : ''; ?> /> - +

          - +

            select_service_bodies(); ?>
          - bread->getOption('recurse_service_bodies') == 1 ? 'checked' : '') ?> /> Recurse Service Bodies + bread->getOption('recurse_service_bodies') == 1 ? 'checked' : '') ?> />
          @@ -69,64 +69,60 @@

          - This will be executed as part of the meeting search query. This will override any setting in the Service Body dropdowns. -
          You can get help formulating a query using your sites semantic interface. + +
          semantic interface.', 'bread'), esc_url($this->bread->getOption('root_server'))).'/semantic') ?>

          -

          Custom Query(?)

          +

          (?)

          - +
          -

          Include Extra Meetings from Another Service Body.

          -

          All Meetings from your BMLT Server are shown in the list.

          -

          The Meetings you select will be merged into your meeting list.

          -

          Note: Be sure to select all meetings for each group.

          +

          +

          +

          +

          -

          Include Extra Meetings(?)

          +

          (?)

          - - connected && $this->bread->getOption('extra_meetings_enabled') == 1) { $extra_meetings_array = $this->bread->bmlt()->get_all_meetings(); - foreach ($extra_meetings_array as $id => $descr) { - $selected = $this->bread->getOption('extra_meetings') != '' && in_array($id, $this->bread->getOption('extra_meetings')) ? 'selected' : ''; - echo ""; - } - } ?> - -

          Hint: Type a group name, weekday or area to narrow down your choices.

          + echo ""; + foreach ($extra_meetings_array as $id => $descr) { + $selected = $this->bread->getOption('extra_meetings') != '' && in_array($id, $this->bread->getOption('extra_meetings')) ? 'selected' : ''; + echo ""; + } + ?> + +

          +
          - bread->emptyOption('extra_meetings_enabled') && $this->bread->getOption('extra_meetings_enabled') == 1 ? 'checked' : '') ?> /> Extra Meetings Enabled + bread->emptyOption('extra_meetings_enabled') && $this->bread->getOption('extra_meetings_enabled') == 1 ? 'checked' : '') ?> />
          -

          Current Meeting List Link(?)

          +

          (?)

          bread->getRequestedSetting() ?>

          -

          Meeting List Author(s)

          +

          - @@ -134,20 +130,20 @@
          -

          Optimize/Debug mPDF(?)

          +

          (?)

          bread->emptyOption('logging') ? '' : 'checked'; ?>> - +
          bread->emptyOption('simpleTables') ? '' : 'checked'; ?>> - +
          bread->emptyOption('packTabledata') ? '' : 'checked'; ?>> - + -

          Download Log Files

          +

          @@ -160,19 +156,19 @@
          -

          Meeting List Cache(?)

          +

          (?)

          -

          This site is using an external object cache.

          +

          • - -   0 - 999 Hours (0 = disable cache)   + +     
          -

          CACHE is DELETED when you Save Changes.

          +

          diff --git a/admin/partials/_bread_wizard.php b/admin/partials/_bread_wizard.php index 34fe838..2b7e607 100644 --- a/admin/partials/_bread_wizard.php +++ b/admin/partials/_bread_wizard.php @@ -3,31 +3,31 @@ @@ -37,32 +37,42 @@
          -

          Step 1: Enter your BMLT root server

          +

          -

          This wizard guides you through the initial configuation of a meeting list. If you have already created one or more meeting lists, - don't worry, this process alway creates a new configuration, and never overwrites old ones.

          -

          Bread is highly customizable, as areas often try to maintain the appearance of their old meeting lists. This wizard only attempts to give you a reasonable - starting point, not an end product. At the end of the wizard we make a few suggestions for possible next steps.

          -

          The first thing we need is the location of your BMLT root server. Once you have entered it, you need check that the URL is correct - by clicking the "Test Connection" button.

          +

          +

          +

          -

          Visit Do I have the BMLT? to find your BMLT server
          - +

          Do I have the BMLT? to find your BMLT server', 'bread')) ?>
          + - + + + + +

          - Verify that this is valid root server URL before continuing +

          -

          Step 2: Select a service body

          +

          -

          Next, we need to know which meetings are going to be on the meeting list. This will help the wizard when it - tries to choose an a appropriate layout for you.

          +

          - @@ -75,80 +85,80 @@
          -

          If you want to limit the meeting list to a particular format, for instance, to create a language-specific meeting list, you can enter it here. +


          -

          Step 3: Page Layout

          +

          -

          Most areas try to fit their meetings onto a single sheet of paper. And it is particularly adventageous to +

          -

          In this step we suggest suitible formats based on your meeting count. Having the meetings fit on a single side has the advantage + meeting list is readable. For many areas, a booklet format is better, even if the reqire more effort or expense to print.", 'bread') ?>

          +

          above layout - that the wizard pre-selects for you.

          + also wish to have the meetings 'overflow' on to the back side of the paper. If so, select a layout above layout + that the wizard pre-selects for you.", 'bread') ?>

          -

          Number of meetings on list:

          -

          Select one of the layouts appropriate to the number of meetings

          +

          +

          -

          Step 4: Select Options

          -

          Choose a language (only applies to names of days and format code descriptions):

          +

          +


          - Where should virtual meetings be included: +
          -
          +
          -
          +
          -
          +
          -

          Organize the meetings by: +

          -

          In this step, we create the meeting list settings. If you already have a meeting list defined - on this site, the old settings will not be overwriten, rather, a new setting will be created.

          -

          Before creating the meeting list configuration, you are given the opportunity to give the configuration +

          +

          -

          After creating the configuration, you will be able to view the resulting meeting list. Note that this is not usually + configuration is which.", 'bread') ?>

          +

          -

          You may also want to adjust the font sizes on your meeting list so that it fits on a single sheet or is more readable. This is only - of the many options available in the "Customizer".

          + collect phone numbers etc. To do this, click on the 'Customize' tab to the left, and then go to either the 'Front Page' or + 'Custom Section' tabs. The editors there contain a 'Meeting List Shortcodes' dropdown menu. Using these, new structures can + be added with only a few mouse clicks.", 'bread') ?>

          +

          .

          -

          +

          - +
          -

          Congratulations! The meeting list configuration has been created!

          -

          The first thing you probably want to do is have a look at the meeting list:

          - +

          +

          +

          - To add a link to the meeting list on your website, use the following link. +

          -

          If you want to try a different layout: +

          -

          You probably want to add some content to the first page or the custom content:

          - +

          +
          diff --git a/admin/partials/_custom_section_setup.php b/admin/partials/_custom_section_setup.php index a1f5c0e..a8f4569 100644 --- a/admin/partials/_custom_section_setup.php +++ b/admin/partials/_custom_section_setup.php @@ -7,18 +7,18 @@
          -
          -

          The Custom Content can be customized with text, graphics, tables, shortcodes, ect.

          +
          The Custom Content can be customized with text, graphics, tables, shortcodes, etc.

          Default Font Size can be changed for specific text in the editor.

          Add Media button - upload and add graphics.

          Meeting List Shortcodes dropdown - insert variable data.

          -

          The Custom Content will print immediately after the meetings in the meeting list.

          +

          The Custom Content will print immediately after the meetings in the meeting list.

          ", 'bread'))?>
          -

          Custom Section Content(?)

          +

          (?)

          -

          Default Font Size:    - Line Height:

          +

             +

          -
          +
          The Front Page can be customized with text, graphics, tables, shortcodes, ect.

          Add Media button - upload and add graphics.

          Meeting List Shortcodes dropdown - insert custom data.

          -

          Default Font Size can be changed for specific text.

          +

          Default Font Size can be changed for specific text.

          ", 'bread')) ?>
          -

          Front Page Content(?)

          +

          (?)

          -

          Default Font Size:    - Line Height:

          +

             +

          -

          Page Layout Defaults

          +

          - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + +
          Meeting List SizePage LayoutOrientationPaper SizePage Height
          Smaller AreasTri-FoldLandscapeLetter, A4, 195, 180
          Medium AreaQuad-FoldLandscapeLegal, A4, 195, 180
          Large Area, Region, MetroHalf-FoldLandscapeBooklet, A5, 250, 260
          AnythingFull PagePortrait, LandscapeLetter, Legal, A4None, ,
          -

          When a layout is clicked defaults are reset for orientation, paper size and page height.

          +

          -

          Page Layout(?)

          +

          (?)

          type="hidden">
          -
          Single Page
          - bread->getOption('page_fold') == 'flyer' ? 'checked' : '') ?>> - bread->getOption('page_fold') == 'tri' ? 'checked' : '') ?>> - bread->getOption('page_fold') == 'quad' ? 'checked' : '') ?>> +

          + bread->getOption('page_fold') == 'flyer' ? 'checked' : '') ?>> + bread->getOption('page_fold') == 'tri' ? 'checked' : '') ?>> + bread->getOption('page_fold') == 'quad' ? 'checked' : '') ?>>
          - bread->getOption('page_orientation') == 'P' ? 'checked' : '') ?>> - bread->getOption('page_orientation') == 'L' ? 'checked' : '') ?>> + bread->getOption('page_orientation') == 'P' ? 'checked' : '') ?>> + bread->getOption('page_orientation') == 'L' ? 'checked' : '') ?>>
          -
          Booklets
          - bread->getOption('page_fold') == 'half' ? 'checked' : '') ?>> - bread->getOption('page_fold') == 'full' ? 'checked' : '') ?>> +

          + bread->getOption('page_fold') == 'half' ? 'checked' : '') ?>> + bread->getOption('page_fold') == 'full' ? 'checked' : '') ?>>
          - bread->getOption('booklet_pages') == '1' ? 'checked' : '') ?> /> + bread->getOption('booklet_pages') == '1' ? 'checked' : '') ?> />

          - Page Size:
          - bread->getOption('page_size') == '5inch' ? 'checked' : '') ?>> - bread->getOption('page_size') == 'letter' ? 'checked' : '') ?>> - bread->getOption('page_size') == 'legal' ? 'checked' : '') ?>> - bread->getOption('page_size') == 'ledger' ? 'checked' : '') ?>> - bread->getOption('page_size') == 'A4' ? 'checked' : '') ?>> - bread->getOption('page_size') == 'A5' ? 'checked' : '') ?>> - bread->getOption('page_size') == 'A6' ? 'checked' : '') ?>> +
          + bread->getOption('page_size') == '5inch' ? 'checked' : '') ?>> + bread->getOption('page_size') == 'letter' ? 'checked' : '') ?>> + bread->getOption('page_size') == 'legal' ? 'checked' : '') ?>> + bread->getOption('page_size') == 'ledger' ? 'checked' : '') ?>> + bread->getOption('page_size') == 'A4' ? 'checked' : '') ?>> + bread->getOption('page_size') == 'A5' ? 'checked' : '') ?>> + bread->getOption('page_size') == 'A6' ? 'checked' : '') ?>>
          - Page Margin Top:     - Bottom:     - Left:     - Right:     +     +     +     +    
          @@ -97,40 +97,42 @@

          - Describes things on the page other than the contents. Headers, footers, page numbers. -
          What options you see will be dependant on the layout selected. + +
          +

          -

          Page Decorations(?)

          +

          (?)

          - The page header is a title that goes across the entire page above the meetings.
          - - - - Header Margin Top:     -
          Header Text:     -
          Watermark:     + +
          + + + +     +
              +
             
          - +
          - +
          - Page Numbers Font Size: +
          - Column Gap Width: +
          - Separator: bread->getOption('column_line') == '1' ? 'checked' : '') ?> /> - + bread->getOption('column_line') == '1' ? 'checked' : '') ?> /> +
          @@ -139,24 +141,24 @@
          -

          Base Fonts and Colors

          +

          - + - +
          @@ -168,23 +170,26 @@
          -

          Enable PDF Protection.

          -

          Encrypts and sets the PDF document permissions for the PDF file.

          -

          PDF can be opened and printed. -

          Optional Password to allow editing in a PDF editor. -

          Note: PDF is encrypted and cannot be opened in MS Word at all.

          + + +
          + +
          + +
          +
          -

          Password Protection(?)

          +

          (?)

          - bread->getOption('include_protection') == '1' ? 'checked' : '') ?>>Enable Protection + bread->getOption('include_protection') == '1' ? 'checked' : '') ?>>
          - +
          diff --git a/admin/partials/_meeting_list_setup.php b/admin/partials/_meeting_list_setup.php index 03ebc4c..78705b6 100644 --- a/admin/partials/_meeting_list_setup.php +++ b/admin/partials/_meeting_list_setup.php @@ -12,7 +12,7 @@
          -

          Start Here: Meeting List Setup Wizard

          +

          Multiple Meeting Lists

          diff --git a/admin/partials/_meetings_setup.php b/admin/partials/_meetings_setup.php index d1a058c..57e9111 100644 --- a/admin/partials/_meetings_setup.php +++ b/admin/partials/_meetings_setup.php @@ -8,62 +8,61 @@
          -

          Customize the Meeting Group Header to your specification.

          -

          The Meeting Group Header will contain the data from Group By.

          +
          -

          Meeting Group [Column] Header(?)

          +

          (?)

          - bread->getOption('suppress_heading') == '1' ? 'checked' : '') ?>> + bread->getOption('suppress_heading') == '1' ? 'checked' : '') ?>> - + + + +
          Font Size:
          - +
          - +
          - bread->getOption('header_uppercase') == '1' ? 'checked' : '') ?>>bread->getOption('header_uppercase') == '1' ? 'checked' : '') ?>> - bread->getOption('header_bold') == '1' ? 'checked' : '') ?>>bread->getOption('header_bold') == '1' ? 'checked' : '') ?>> - bread->getOption('cont_header_shown') == '1' ? 'checked' : '') ?>>bread->getOption('cont_header_shown') == '1' ? 'checked' : '') ?>>

          - +

          - +

          @@ -72,7 +71,7 @@

          - +

          @@ -81,7 +80,7 @@

          - +

          @@ -90,22 +89,22 @@

          - +

          - + - +

          - +
          @@ -205,13 +204,13 @@
          -

          Meeting Template(?)

          +

          (?)

          - Default Font Size:    - Line Height:    - Wheelchair Icon Size:    -

          Avoid using tables which will greatly slow down the generation time. Use CSS instead to get table-like effects if need be.
          +    +    +    +
          -

          Start Time Format(?)

          +

          (?)

          -
          bread->getOption('time_clock') == '12' || $this->bread->getOption('time_clock') == '' ? 'checked' : '') ?>>
          +
          bread->getOption('time_clock') == '12' || $this->bread->getOption('time_clock') == '' ? 'checked' : '') ?>>
          bread->getOption('time_option') == '1' || $this->bread->getOption('time_option') == '' ? 'checked' : '') ?>>
          bread->getOption('remove_space') == '0' || $this->bread->getOption('remove_space') == '' ? 'checked' : ''; ?> -
          >
          +
          >
          -
          bread->getOption('time_clock') == '24' ? 'checked' : '') ?>>
          +
          bread->getOption('time_clock') == '24' ? 'checked' : '') ?>>
          bread->getOption('time_option') == '2' ? 'checked' : '') ?>>
          -
          bread->getOption('remove_space') == '1') ? 'checked' : ''; ?>>
          +
          bread->getOption('remove_space') == '1') ? 'checked' : ''; ?>>
          -
          bread->getOption('time_clock') == '24fr' ? 'checked' : '') ?>>
          +
          bread->getOption('time_clock') == '24fr' ? 'checked' : '') ?>>
          bread->getOption('time_option') == '3' ? 'checked' : '') ?>>
          @@ -275,9 +274,9 @@
          -

          Include Only This Meeting Format(?)

          +

          (?)

          - + - + connected) { ?> - - + + bread->bmlt()->getFormatsForSelect(true); $countmax = count($used_formats); for ($count = 0; $count < $countmax; $count++) { @@ -325,21 +324,21 @@

          - +

          - +

          -

          bread->getOption('include_additional_list') == '1' ? 'checked' : '') ?>>Include meetings with this format in the main list

          - If you wish to define different contents for the additional list, use this template. +

          bread->getOption('include_additional_list') == '1' ? 'checked' : '') ?>>

          +
          unique_areas = $this->bread->bmlt()->get_areas(); asort($this->unique_areas); if ($serverInfo[0]["aggregator_mode_enabled"] ?? false) { - $this->server_version = "
          Using Tomato Server
          "; + $this->server_version = "
          ".__('Using Tomato Server', 'bread')."
          "; } elseif ($this->connected) { - $this->server_version = "
          Your BMLT Server is running " . $this->connected . "
          "; + /* translators: string is the version number of the BMLT Server */ + $this->server_version = "
          ".sprintf(__('Your BMLT Server is running %s', 'bread'), esc_html($this->connected)). "
          "; } } } private function select_service_bodies() { for ($i = 1; $i <= 5; $i++) { ?> -
        • - connected) { $this->select_service_body_options($i); } else { ?> @@ -89,24 +92,29 @@ function admin_options_page() '; - if (!$this->admin->current_user_can_modify()) { - echo '

          You do not have permission to save this configuation!

          '; - } elseif (isset($_COOKIE['bread_import_file'])) { - echo '

          File loaded.

          '; + if (isset($_COOKIE['bread_import_file'])) { + echo '

          '.esc_html(__('File loaded', 'bread')).'

          '; delete_transient($this->bread->get_TransientKey($this->bread->getRequestedSetting())); } elseif (isset($_POST['bmltmeetinglistsave']) && $_POST['bmltmeetinglistsave']) { - $this->admin->save_admin_options(); - echo '

          Your changes were successfully saved!

          '; - $num = delete_transient($this->bread->get_TransientKey($this->bread->getRequestedSetting())); - if ($num > 0) { - echo "

          " . esc_attr($num) . " Cache entries deleted

          "; + if (!$this->admin->current_user_can_modify()) { + echo '

          '.esc_html(__('You do not have permission to save this configuation!', 'bread')).'

          '; + } else { + $this->admin->save_admin_options(); + echo '

          '.esc_html(__('Your changes were successfully saved!', 'bread')).'

          '; + $num = delete_transient($this->bread->get_TransientKey($this->bread->getRequestedSetting())); + if ($num > 0) { + /* translators: string is number of cache entries deleted */ + echo "

          " . esc_html(sprintf(__('%s Cache entries deleted', 'bread')), esc_attr($num))."

          "; + } } } echo '
        • '; $this->bread->fillUnsetOptions(); + $dir = str_starts_with(get_locale(), 'fa') ? 'rtl' : 'ltr'; + $plugin_data = get_plugin_data(WP_PLUGIN_DIR . '/bread/bmlt-meeting-list.php'); ?> -
          +
          ">
          @@ -149,10 +157,10 @@ function admin_options_page()
          admin->current_user_can_modify()) { ?> - - -

          Generate Meeting List

          -
            Save Changes before Generating Meeting List.
          + + +

          +
            

          @@ -162,9 +170,6 @@ function admin_options_page()
          - '120', + 'headers' => array( + 'content-type' => 'application/json' + ), ); if ($this->bread->getOption('user_agent') != 'None') { $args['headers'] = array( @@ -170,7 +173,7 @@ public function testRootServer(string $override_root_server = null): array|bool if ($override_root_server == null) { $results = $this->bread->bmlt()->get_configured_root_server_request("client_interface/json/?switcher=GetServerInfo", true); } else { - $results = $this->bread->bmlt()->get($override_root_server . "/client_interface/json/?switcher=GetServerInfo"); + $results = $this->bread->bmlt()->get($override_root_server . "/client_interface/json/?switcher=GetServerInfo", true); } if ($results instanceof WP_Error) { $this->connection_error = $results->get_error_message(); diff --git a/includes/class-bread-i18n.php b/includes/class-bread-i18n.php index 514f96d..231c911 100644 --- a/includes/class-bread-i18n.php +++ b/includes/class-bread-i18n.php @@ -35,11 +35,11 @@ class Bread_i18n */ public function load_plugin_textdomain() { - +/* load_plugin_textdomain( 'bread', false, dirname(dirname(plugin_basename(__FILE__))) . '/languages/' - ); + ); */ } } diff --git a/includes/lang/translate_cs.php b/includes/lang/translate_cs.php new file mode 100644 index 0000000..0e8d5ff --- /dev/null +++ b/includes/lang/translate_cs.php @@ -0,0 +1,9 @@ + "Czech", + "LOCALE" => "cs_CZ", + "WEEKDAYS" => array( 'ERROR', 'neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota' ), + "WKDYS" => array( 'ERR', 'Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So' ), + "PAGE" => "Seite", + "CONT" => "Pokračování" +); diff --git a/includes/lang/translate_el.php b/includes/lang/translate_el.php new file mode 100644 index 0000000..8e5c2b5 --- /dev/null +++ b/includes/lang/translate_el.php @@ -0,0 +1,9 @@ + "Ελληνικά", + "LOCALE" => "el_GR", + "WEEKDAYS" => array( 'ERROR', 'Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'), + "WKDYS" => array( 'ERR', 'Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', 'Σαβ' ), + "PAGE" => "σελίδα", + "CONT" => "Συνέχισε" +); diff --git a/includes/lang/translate_fa.php b/includes/lang/translate_fa.php index 8eecc0c..27d405f 100644 --- a/includes/lang/translate_fa.php +++ b/includes/lang/translate_fa.php @@ -1,6 +1,6 @@ "Farsi", + "LANG_NAME" => "فارسی", "LOCALE" => "fa_IR", "WEEKDAYS" => array( 'ERROR', 'یَکشَنبه', @@ -11,6 +11,6 @@ 'جُمعه', 'شَنبه'), "WKDYS" => array( 'ERR', 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ), - "PAGE" => "Seite", - "CONT" => "Weiter" + "PAGE" => "صفحه", + "CONT" => "ادامه" ); diff --git a/includes/lang/translate_sk.php b/includes/lang/translate_sk.php new file mode 100644 index 0000000..3692853 --- /dev/null +++ b/includes/lang/translate_sk.php @@ -0,0 +1,9 @@ + "Slovak", + "LOCALE" => "sk_SK", + "WEEKDAYS" => array( 'ERROR', 'nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', 'piatok', 'sobota' ), + "WKDYS" => array( 'ERR', 'Ne', 'Po', 'Ut', 'St', 'Čt', 'Pá', 'So' ), + "PAGE" => "Seite", + "CONT" => "Pokračovanie" +); diff --git a/languages/bread-fa_IR.l10n.php b/languages/bread-fa_IR.l10n.php new file mode 100644 index 0000000..d52fcb5 --- /dev/null +++ b/languages/bread-fa_IR.l10n.php @@ -0,0 +1,51 @@ +'Bread','report-msgid-bugs-to'=>'','pot-creation-date'=>'2025-08-29 09:53+0000','po-revision-date'=>'2025-08-29 10:52+0000','last-translator'=>'','language-team'=>'Persian','language'=>'fa_IR','mime-version'=>'1.0','content-type'=>'text/plain; charset=UTF-8','content-transfer-encoding'=>'8bit','plural-forms'=>'nplurals=2; plural=n != 1;','x-domain'=>'bread','x-generator'=>'Loco https://localise.biz/','x-loco-version'=>'2.8.0; wp-6.8.2; php-8.2.0','messages'=>[' +

          The Custom Content can be customized with text, graphics, tables, shortcodes, etc.

          +

          Default Font Size can be changed for specific text in the editor.

          +

          Add Media button - upload and add graphics.

          +

          Meeting List Shortcodes dropdown - insert variable data.

          +

          The Custom Content will print immediately after the meetings in the meeting list.

          '=>'

          محتوای سفارشی را می توان با متن ، گرافیک ، جداول ، کد کوتاه و غیره سفارشی کرد .',' +

          The Front Page can be customized with text, graphics, tables, shortcodes, ect.

          +

          Add Media button - upload and add graphics.

          +

          Meeting List Shortcodes dropdown - insert custom data.

          +

          Default Font Size can be changed for specific text.

          '=>' صفحه اول را می توان با متن ، گرافیک ، جداول ، کد کوتاه و غیره سفارشی کرد .','%s Cache entries deleted'=>'%s ورودی های حافظه نهان حذف شده','0 - 999 Hours (0 = disable cache)'=>'0 - 999 ساعت (0 = غیرفعال کردن حافظه پنهان)','12 Hour'=>'12 ساعته','24 Hour'=>'24 ساعته','24 Hour French'=>'24 ساعته فرانسوی','5 inch'=>'5 اینچ','A4'=>'A4','A5'=>'A5','A6'=>'A6','Add extra pages for booklet'=>'صفحات اضافی را برای جزوه اضافه کنید','Add White Space'=>'فضای سفید را اضافه کنید','Additional List'=>'لیست اضافی','After creating the configuration, you will be able to view the resulting meeting list. Note that this is not usually + ready to be printed. Users almost always want to add content, such as service meetings, help lines, place for people to + collect phone numbers etc. To do this, click on the \'Customize\' tab to the left, and then go to either the \'Front Page\' or + \'Custom Section\' tabs. The editors there contain a \'Meeting List Shortcodes\' dropdown menu. Using these, new structures can + be added with only a few mouse clicks.'=>'پس از ایجاد پیکربندی ، می توانید لیست جلسه حاصل را مشاهده کنید. توجه داشته باشید که این معمولاً نیست + آماده چاپ کاربران تقریباً همیشه می خواهند محتوا را اضافه کنند ، مانند جلسات خدمات ، خطوط کمک ، مکان برای افراد + برای انجام این کار ، شماره تلفن و غیره را جمع آوری کنید ، روی برگه "سفارشی سازی" در سمت چپ کلیک کنید ، و سپس به "صفحه اول" بروید + برگه های بخش سفارشی. ویراستاران موجود در منوی کشویی "لیست جلسات" هستند. با استفاده از این ، ساختارهای جدید می توانند + فقط با چند کلیک ماوس اضافه می شود.','All Meetings from your BMLT Server are shown in the list.'=>'تمام جلسات از سرور BMLT شما در لیست نشان داده شده است.','Also useful for backing up before making significant changes to the meeting list settings.'=>'همچنین برای تهیه نسخه پشتیبان از قبل از ایجاد تغییرات مهم در تنظیمات لیست جلسه مفید است.','Anything'=>'هر چیزی','Arial'=>'عیاشی','Avoid using tables which will greatly slow down the generation time. Use CSS instead to get table-like effects if need be.'=>'از استفاده از جداول خودداری کنید که زمان تولید را به شدت کاهش می دهد. به جای آن از CSS استفاده کنید تا در صورت لزوم جلوه های جدول مانند را بدست آورید.','Background Color:'=>'رنگ پس زمینه:','Backup/ Restore'=>'پشتیبان گیری/ بازیابی','Base Font: '=>'قلم پایه:','Base Fonts and Colors'=>'قلم ها و رنگ های پایه','Before creating the meeting list configuration, you are given the opportunity to give the configuration + a mnemonic name. If you are managing multiple meeting lists on this same, this name can help you keep track of which + configuration is which.'=>'قبل از ایجاد پیکربندی لیست جلسه ، به شما فرصتی داده می شود که پیکربندی را ارائه دهید + یک نام Mnemonic. اگر در حال مدیریت لیست های مختلف جلسه در همین مورد هستید ، این نام می تواند به شما در پیگیری کدام یک کمک کند + پیکربندی کدام است.','BMLT Server'=>'سرور BMLT','BMLT Server URL: '=>'URL سرور BMLT:','bmlt-enabled'=>'BMLT فعال','Bold: '=>'پررنگ:','Booklet'=>'کتاب','Booklets'=>'کتابفروشی','Borough'=>'ولگرد','Borough Suffix: '=>'پسوند بورو:','Borough+County'=>'ولسوالی+شهرستان','Bottom: '=>'پایین:','Bread'=>'نان','Bread can support multiple meeting lists. Each meeting list has an integer ID and a text description that help the user to identify + the configuration (or \\\'settings\\\') that will be used to generate the meeting list. The ID of the configuration is used in the link + that generates the meeting list (eg, ?current-meeting-list=2 generates the meeting list with ID 2).'=>'نان می تواند از لیست های جلسات مختلف پشتیبانی کند. هر لیست جلسه دارای شناسه عدد صحیح و توضیحات متن است که به کاربر کمک می کند تا شناسایی کند + پیکربندی (یا "تنظیمات \\") که برای تولید لیست جلسه استفاده می شود. شناسه پیکربندی در لینک استفاده می شود + این لیست جلسه را ایجاد می کند (به عنوان مثال ، لیست شماره فعلی = 2 لیست جلسه را با شناسه 2 تولید می کند).','Bread is highly customizable, as areas often try to maintain the appearance of their old meeting lists. This wizard only attempts to give you a reasonable + starting point, not an end product. At the end of the wizard we make a few suggestions for possible next steps.'=>'نان بسیار قابل تنظیم است ، زیرا مناطقی که اغلب سعی می کنند ظاهر لیست های قدیمی خود را حفظ کنند. این جادوگر فقط سعی می کند به شما معقول بدهد + نقطه شروع ، یک محصول نهایی نیست. در پایان جادوگر ما چند پیشنهاد برای مراحل بعدی احتمالی ارائه می دهیم.','By Day and Time'=>'روز و زمان','By Name'=>'با نام','CACHE is DELETED when you Save Changes.'=>'حافظه پنهان هنگام ذخیره تغییرات حذف می شود.','Cache Time: '=>'زمان حافظه نهان:','Choose a language (only applies to names of days and format code descriptions): '=>'یک زبان را انتخاب کنید (فقط در مورد نام روزها و توضیحات کد فرمت اعمال می شود):','Choose Layout'=>'طرح را انتخاب کنید','Choose up to 5 service bodies'=>'حداکثر 5 نهاد خدماتی را انتخاب کنید','City'=>'شهر','City Suffix: '=>'پسوند شهر:','CMYK'=>'cmyk','Color space: '=>'فضای رنگ:','Color:'=>'رنگ:','Column Gap Width: '=>'عرض شکاف ستون:','Combine main and subgroup into a single header'=>'اصلی و زیر گروه را در یک هدر واحد ترکیب کنید','Configuration Manager'=>'مدیر پیکربندی','Configuration Name: '=>'نام پیکربندی:','Configuration Selection'=>'انتخاب پیکربندی','Congratulations! The meeting list configuration has been created!'=>'تبریک می گویم! پیکربندی لیست جلسه ایجاد شده است!','Connected! - BMLT Server version '=>'متصل! - نسخه سرور BMLT','Consider backing up your settings by using the Export function.'=>'با استفاده از عملکرد صادرات ، از تنظیمات خود نسخه پشتیبان تهیه کنید.','Could not connect: Check spelling and internet connection.'=>'اتصال نمی تواند: اتصال املا و اتصال به اینترنت را بررسی کنید.','County'=>'شهرستان','County Suffix: '=>'پسوند شهرستان:','Courier'=>'پیک','Create Meeting List'=>'لیست جلسه ایجاد کنید','Current Meeting List'=>'لیست جلسه فعلی','Current Meeting List Link'=>'پیوند لیست جلسه فعلی','Custom Content'=>'محتوای سفارشی','Custom Footer: '=>'پاورقی سفارشی:','Custom Query'=>'پرس و جو سفارشی','Custom Query: '=>'پرس و جو سفارشی:','Custom Section Content'=>'محتوای بخش سفارشی','Customize how meetings are grouped and the headline that each group has.'=>'نحوه گروه بندی جلسات و تیتر هر گروه را سفارشی کنید.','Customizer'=>'سفارشی ساز','Day'=>'روز','Default Font Size: '=>'اندازه فونت پیش فرض:','DejaVu Sans Condensed'=>'dejavu sans متراکم','Delete Current Configuration'=>'پیکربندی فعلی را حذف کنید','Disable SSL verification of server'=>'تأیید SSL سرور را غیرفعال کنید','Display (Cont) Header: '=>'هدر نمایش (ادامه):','Display each subgroup with its own header'=>'هر زیر گروه را با عنوان خود نمایش دهید','Display Subgrouping: '=>'نمایش زیر گروه:','Don\'t include virtual meetings at all.'=>'اصلاً جلسات مجازی را شامل نمی شود.','Download Log Files'=>'بارگیری پرونده های log','Duplicate Current Configuration'=>'پیکربندی فعلی کپی','Enable Logging'=>'ورود به سیستم را فعال کنید','Enable PDF Protection.'=>'محافظت از PDF را فعال کنید.','Enable Protection'=>'محافظت','Enable SimpleTables'=>'Simpleables را فعال کنید','Encrypted PDFs can be opened and printed.'=>'PDF های رمزگذاری شده را می توان باز و چاپ کرد.','Encrypts and sets the PDF document permissions for the PDF file.'=>'مجوزهای سند PDF را برای پرونده PDF رمزگذاری و تنظیم می کند.','Enter a custom name for this configuration: '=>'برای این پیکربندی یک نام سفارشی وارد کنید:','ERROR: Please enter a BMLT Server'=>'خطا: لطفاً یک سرور BMLT وارد کنید','ERROR: Problem Connecting to BMLT Server'=>'خطا: اتصال به سرور BMLT','Export'=>'صادر کردن','Export Configuration'=>'پیکربندی صادرات','Export or backup meeting list settings.'=>'تنظیمات لیست جلسات صادرات یا پشتیبان گیری.','Extra Meetings Enabled'=>'جلسات اضافی فعال شده است','Face-to-Face Meetings'=>'جلسات چهره به چهره','File loaded'=>'پرونده بارگیری شده است','File size greater than 500k'=>'اندازه پرونده بیشتر از 500k','Flyer'=>'پروانه دار','Font Size: '=>'اندازه قلم:','Format of meetings in the additional list: '=>'قالب جلسات در لیست اضافی:','Front Page'=>'صفحه اول','Front Page Content'=>'محتوای صفحه اول','Full Page'=>'صفحه کامل','Generate Meeting List'=>'لیست جلسات را تولید کنید','Getting Started'=>'شروع','Go Back'=>'بازگشت','Greyscale'=>'گودال','Group'=>'گروه','Group Meetings By: '=>'جلسات گروهی توسط:','Half-Fold'=>'نیمی','Header Margin Top: '=>'بالای حاشیه هدر:','Header Text: '=>'متن هدر:','Hint: Type a group name, weekday or area to narrow down your choices.'=>'نکته: برای محدود کردن انتخاب های خود ، نام گروهی ، روز هفته یا منطقه را تایپ کنید.','https://bmlt.app'=>'https://bmlt.app','https://bmlt.app/'=>'https://bmlt.app/','If you want to limit the meeting list to a particular format, for instance, to create a language-specific meeting list, you can enter it here.'=>'اگر می خواهید لیست جلسه را به یک قالب خاص محدود کنید ، به عنوان مثال ، برای ایجاد یک لیست جلسه خاص زبان ، می توانید آن را در اینجا وارد کنید.','If you want to try a different layout: '=>'اگر می خواهید یک طرح متفاوت را امتحان کنید:','If you wish to define different contents for the additional list, use this template.'=>'اگر می خواهید مطالب مختلف را برای لیست اضافی تعریف کنید ، از این الگوی استفاده کنید.','Import'=>'وارد کردن','Import Configuration'=>'پیکربندی واردات','Import meeting list settings from a previously exported meeting list.'=>'تنظیمات لیست جلسه واردات از لیست جلسه قبلی صادر شده.','In this step we suggest suitible formats based on your meeting count. Having the meetings fit on a single side has the advantage + that the list can be posted on a bulleitin board, and this will be used when suggesting a page layout. However, you may + also wish to have the meetings \'overflow\' on to the back side of the paper. If so, select a layout above layout + that the wizard pre-selects for you.'=>'در این مرحله قالب های مناسب را بر اساس تعداد جلسه شما پیشنهاد می کنیم. مناسب بودن جلسات در یک طرف این مزیت را دارد + که این لیست را می توان در یک صفحه بوللیتین ارسال کرد و این هنگام پیشنهاد طرح صفحه مورد استفاده قرار می گیرد. با این حال ، شما ممکن است + همچنین آرزو می کنم جلسات "سرریز" در قسمت پشتی کاغذ باشد. اگر چنین است ، یک طرح above طرح را انتخاب کنید + که جادوگر از قبل انتخاب می کند.','In this step, we create the meeting list settings. If you already have a meeting list defined + on this site, the old settings will not be overwriten, rather, a new setting will be created.'=>'در این مرحله تنظیمات لیست جلسه را ایجاد می کنیم. اگر قبلاً لیست جلسه را تعریف کرده اید + در این سایت ، تنظیمات قدیمی رونویسی نخواهد شد ، بلکه یک تنظیم جدید ایجاد می شود.','Include Extra Meetings'=>'شامل جلسات اضافی','Include Extra Meetings from Another Service Body.'=>'شامل جلسات اضافی از بدنه سرویس دیگر.','Include meetings with this format in the main list'=>'جلسات با این قالب را در لیست اصلی قرار دهید','Include Only This Meeting Format'=>'فقط این قالب جلسه را درج کنید','Include virtual meetings in main meeting list.'=>'جلسات مجازی را در لیست جلسه اصلی قرار دهید.','Landscape'=>'چشم انداز','Large Area, Region, Metro'=>'منطقه بزرگ ، منطقه ، مترو','Ledger'=>'پیشخدمت','Left: '=>'سمت چپ:','Legal'=>'حقوقی','Letter'=>'نامه','Line Height: '=>'ارتفاع خط:','Load Configuration'=>'پیکربندی بار','Main Grouping: '=>'گروه بندی اصلی:','Maintains and generates PDF Meeting Lists from BMLT.'=>'لیست های جلسات PDF را از BMLT حفظ و تولید می کند.','Margin Footer: '=>'پاورقی حاشیه:','Medium Area'=>'منطقه متوسط','Meeting Format: '=>'قالب جلسه:','Meeting Group [Column] Header'=>'گروه جلسات [ستون]','Meeting List Author(s)'=>'لیست جلسه نویسنده (ها)','Meeting List Cache'=>'حافظه پنهان لیست جلسه','Meeting List ID: '=>'شناسه لیست جلسه:','Meeting List Options'=>'گزینه های لیست جلسه','Meeting List Size'=>'اندازه لیست جلسه','Meeting Template'=>'الگوی جلسه','Meetings'=>'جلسات','Most areas try to fit their meetings onto a single sheet of paper. And it is particularly adventageous to + use a tri-fold format, so that the list can be printed at home and placed along side the pamphlets. The priority should always be that the + meeting list is readable. For many areas, a booklet format is better, even if the reqire more effort or expense to print.'=>'بیشتر مناطق سعی می کنند جلسات خود را روی یک برگه واحد قرار دهند. و به ویژه ماجراجویانه است + از یک قالب سه برابر استفاده کنید تا لیست در خانه چاپ شود و در کنار جزوه ها قرار گیرد. اولویت همیشه باید این باشد که + لیست جلسه قابل خواندن است. برای بسیاری از زمینه ها ، یک قالب جزوه بهتر است ، حتی اگر تلاش یا هزینه بیشتری برای چاپ مجدد داشته باشید.','Neighborhood'=>'محاصره','Neighborhood Suffix: '=>'پسوند محله:','Neighborhood+City'=>'محله+شهر','Next, we need to know which meetings are going to be on the meeting list. This will help the wizard when it + tries to choose an a appropriate layout for you.'=>'در مرحله بعد ، ما باید بدانیم که کدام جلسات در لیست جلسه برگزار می شود. این به جادوگر در هنگام آن کمک می کند + سعی می کند یک طرح مناسب برای شما انتخاب کند.','No header for subgroups'=>'بدون هدر برای زیر گروه ها','None'=>'هیچ کدام','Not Used'=>'استفاده نشده','Note: Be sure to select all meetings for each group.'=>'توجه: حتماً تمام جلسات را برای هر گروه انتخاب کنید.','Note: Encrypted PDFs cannot be opened in MS Word at all.'=>'توجه: PDF های رمزگذاری شده به هیچ وجه نمی توانند در MS Word باز شوند.','Number of meetings on list: '=>'تعداد جلسات در لیست:','Open customizer'=>'سفارشی ساز باز','Optimize/Debug mPDF'=>'MPDF بهینه سازی/اشکال زدایی','Optional Password to allow editing in a PDF editor.'=>'رمزعبور اختیاری برای ویرایش در ویرایشگر PDF.','Organize the meetings by:'=>'جلسات را توسط:','Orientation'=>'جهت گیری','Pack Table Data'=>'داده های جدول بسته بندی','Page Decorations'=>'دکوراسیون صفحه','Page Height'=>'ارتفاع صفحه','Page Layout'=>'چیدمان صفحه','Page Layout Defaults'=>'پیش فرض طرح بندی صفحه','Page Margin Top: '=>'بالای صفحه بالای صفحه:','Page Numbers Font Size: '=>'شماره صفحه اندازه فونت:','Page Size:'=>'اندازه صفحه:','Paper Size'=>'اندازه کاغذ','Password Protection'=>'محافظت از رمز عبور','Password: '=>'رمز عبور:','Place virtual meetings in a separate list, with specialized format.'=>'جلسات مجازی را در یک لیست جداگانه و با فرمت تخصصی قرار دهید.','Please Choose a File.'=>'لطفا یک پرونده را انتخاب کنید.','Please upload a file to import'=>'لطفا یک پرونده را برای واردات بارگذاری کنید','Please upload a valid .json file'=>'لطفاً یک پرونده معتبر .json بارگذاری کنید','Portrait'=>'تصویر','Portrait, Landscape'=>'پرتره ، منظره','Preview'=>'پیش نمایش','Quad-Fold'=>'چهار برابر','Recurse Service Bodies'=>'مجدداً اجسام خدمات','Remove White Space'=>'فضای سفید را بردارید','RGB'=>'RGB','Right: '=>'سمت راست:','Same as main list'=>'همان لیست اصلی','Save Changes'=>'تغییرات را ذخیره کنید','Save Changes before Generating Meeting List.'=>'قبل از تولید لیست جلسات ، تغییرات را ذخیره کنید.','Save Configuration Name'=>'نام پیکربندی را ذخیره کنید','Select Configuration: '=>'پیکربندی را انتخاب کنید:','Select language for the additional list'=>'برای لیست اضافی زبان را انتخاب کنید','Select one of the layouts appropriate to the number of meetings'=>'یکی از طرح بندی های متناسب با تعداد جلسات را انتخاب کنید','Select Service Bodies'=>'نهادهای سرویس را انتخاب کنید','Select sort order for the additional list'=>'برای لیست اضافی ترتیب مرتب سازی را انتخاب کنید','Separator: '=>'جداکننده:','Service Body %s'=>'بدنه سرویس %s','Single Page'=>'یک صفحه','Smaller Areas'=>'مناطق کوچکتر','Start Here: Meeting List Setup Wizard'=>'از اینجا شروع کنید: جادوگر تنظیم لیست جلسه','Start Time Format'=>'قالب زمان شروع','State'=>'حالت','State+City'=>'ایالت+شهر','Step 1: Enter your BMLT root server'=>'مرحله 1: سرور ریشه BMLT خود را وارد کنید','Step 2: Select a service body'=>'مرحله 2: یک بدنه سرویس را انتخاب کنید','Step 3: Page Layout'=>'مرحله 3: چیدمان صفحه','Step 4: Select Option'=>'مرحله 4: گزینه را انتخاب کنید','Sub-Grouping: '=>'زیر گروهی:','Suppress Heading: '=>'سرکوب عنوان:','Test Server Connection'=>'اتصال سرور تست','Test that this is valid root server URL before continuing'=>'آزمایش کنید که این URL سرور ریشه معتبر قبل از ادامه است','Text Color:'=>'رنگ متن:','The first thing we need is the location of your BMLT root server. Once you have entered it, you need check that the URL is correct + by clicking the \'Test Connection\' button.'=>'اولین چیزی که ما نیاز داریم مکان سرور Root BMLT شما است. پس از ورود به آن ، باید بررسی کنید که URL صحیح است + با کلیک بر روی دکمه "تست اتصال".','The first thing you probably want to do is have a look at the meeting list:'=>'اولین کاری که احتمالاً می خواهید انجام دهید این است که به لیست جلسه نگاهی بیندازید:','The Meetings you select will be merged into your meeting list.'=>'جلساتی که انتخاب می کنید در لیست جلسات شما ادغام می شوند.','The page header is a title that goes across the entire page above the meetings.'=>'عنوان صفحه عنوانی است که در کل صفحه بالاتر از جلسات قرار می گیرد.','This allows you to easily import meeting list settings into another site.'=>'این به شما امکان می دهد تنظیمات لیست جلسه را به راحتی در سایت دیگری وارد کنید.','This section allows the definition of an additional meeting list, containing meetings that should not be included in the main + list. This is typically virtual meetings, but it can be any group of meetings identified by a format.'=>'این بخش اجازه می دهد تا تعریف یک لیست جلسات اضافی ، شامل جلساتی که نباید در قسمت اصلی گنجانده شوند + لیست این معمولاً جلسات مجازی است ، اما می تواند هر گروهی از جلسات باشد که با یک فرمت مشخص می شود.','This section describes things on the page other than the contents. Headers, footers, page numbers.'=>'در این بخش مواردی در صفحه غیر از محتویات شرح داده شده است. هدرها ، پاورقی ها ، شماره صفحه.','This site is using an external object cache.'=>'این سایت از حافظه نهان خارجی استفاده می کند.','This will be executed as part of the meeting search query. This will override any setting in the Service Body dropdowns.'=>'این به عنوان بخشی از پرس و جو جستجوی جلسه اجرا می شود. این امر باعث غلبه بر هر تنظیم در کشویی بدنه سرویس می شود.','This wizard guides you through the initial configuation of a meeting list. If you have already created one or more meeting lists, + don\'t worry, this process alway creates a new configuration, and never overwrites old ones.'=>'این جادوگر شما را از طریق پیکربندی اولیه لیست جلسه راهنمایی می کند. اگر قبلاً یک یا چند لیست جلسه ایجاد کرده اید ، + نگران نباشید ، این فرآیند همیشه پیکربندی جدیدی را ایجاد می کند و هرگز موارد قدیمی را بازنویسی نمی کند.','Times'=>'بار','To add a link to the meeting list on your website, use the following link.'=>'برای افزودن پیوندی به لیست جلسه در وب سایت خود ، از لینک زیر استفاده کنید.','Tri-Fold'=>'سه برابر','Try a different user agent or "None" for Wordpress default: '=>'یک عامل کاربر متفاوت یا "هیچ" را برای پیش فرض وردپرس امتحان کنید:','Unrestricted'=>'بدون محدودیت','Uppercase: '=>'حروف بزرگ:','Use Aggregator 🍅'=>'از Aggregator 🍅 ؛','User Defined'=>'کاربر تعریف شده','Using Tomato Server'=>'با استفاده از سرور گوجه فرنگی','Verify that this is valid root server URL before continuing'=>'تأیید کنید که این URL سرور ریشه معتبر قبل از ادامه است','Virtual Meetings'=>'جلسات مجازی','Visit Do I have the BMLT? to find your BMLT server'=>'برای یافتن سرور BMLT خود به do من BMLT؟ مراجعه کنید','Watermark: '=>'علامت علامت:','Weekday'=>'روز هفته','Weekday Language: '=>'زبان روز هفته:','Weekday Start: '=>'شروع روز هفته:','Weekday+Area'=>'روز هفته+منطقه','Weekday+City'=>'روز هفته+شهر','Weekday+County '=>'روز هفته+شهرستان','What options you see will be dependant on the layout selected.'=>'چه گزینه هایی را می بینید که به طرح انتخاب شده بستگی دارد.','Wheelchair Icon Size: '=>'اندازه نماد ویلچر:','When a layout is clicked defaults are reset for orientation, paper size and page height.'=>'هنگامی که یک طرح کلیک می شود پیش فرض برای جهت گیری ، اندازه کاغذ و ارتفاع صفحه تنظیم مجدد می شود.','Where should virtual meetings be included:'=>'جلسات مجازی از کجا باید گنجانده شود:','You can get help formulating a query using your sites semantic interface.'=>'شما می توانید با استفاده از سایت های خود semantic Interface کمک کنید.','You do not have permission to save this configuation!'=>'شما اجازه ذخیره این پیکربندی را ندارید!','You may also want to adjust the font sizes on your meeting list so that it fits on a single sheet or is more readable. This is only + of the many options available in the \'Customizer\'.'=>'همچنین ممکن است بخواهید اندازه قلم را در لیست جلسات خود تنظیم کنید تا روی یک برگه قرار بگیرد یا قابل خواندن تر باشد. این فقط است + از بسیاری از گزینه های موجود در "سفارشی".','You probably want to add some content to the first page or the custom content:'=>'احتمالاً می خواهید برخی از مطالب را به صفحه اول یا محتوای سفارشی اضافه کنید:','Your BMLT Server is running %s'=>'سرور BMLT شما در حال اجرا %s است','Your changes were successfully saved!'=>'تغییرات شما با موفقیت ذخیره شد!','Your current meeting list settings will be replaced and lost forever.'=>'تنظیمات لیست فعلی جلسه شما برای همیشه جایگزین و از بین می رود.']]; diff --git a/languages/bread-fa_IR.mo b/languages/bread-fa_IR.mo new file mode 100644 index 0000000..f624734 Binary files /dev/null and b/languages/bread-fa_IR.mo differ diff --git a/languages/bread-fa_IR.po b/languages/bread-fa_IR.po new file mode 100644 index 0000000..6a9bb3d --- /dev/null +++ b/languages/bread-fa_IR.po @@ -0,0 +1,1282 @@ +msgid "" +msgstr "" +"Project-Id-Version: Bread\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-29 09:53+0000\n" +"PO-Revision-Date: 2025-08-29 10:52+0000\n" +"Last-Translator: \n" +"Language-Team: Persian\n" +"Language: fa_IR\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-Domain: bread\n" +"X-Generator: Loco https://localise.biz/\n" +"X-Loco-Version: 2.8.0; wp-6.8.2; php-8.2.0" + +#: admin/partials/_custom_section_setup.php:10 +msgid "" +"\n" +"

          The Custom Content can be customized with text, " +"graphics, tables, shortcodes, etc.

          \n" +"

          Default Font Size can be changed " +"for specific text in the editor.

          \n" +"

          Add Media button - upload and " +"add graphics.

          \n" +"

          Meeting List Shortcodes dropdown " +"- insert variable data.

          \n" +"

          The Custom Content will print immediately " +"after the meetings in the meeting list.

          " +msgstr "" +"

          محتوای سفارشی را می توان با متن ، گرافیک ، جداول ، کد کوتاه و غیره " +"سفارشی کرد ." + +#: admin/partials/_front_page_setup.php:10 +#, fuzzy +#| msgid "" +#| "\n" +#| "

          The Front Page can be customized with text, " +#| "graphics, tables, shortcodes, etc.

          \n" +#| "

          Add Media button - upload and " +#| "add graphics.

          \n" +#| "

          Meeting List Shortcodes " +#| "dropdown - insert custom data.

          \n" +#| "

          Default Font Size can be " +#| "changed for specific text.

          " +msgid "" +"\n" +"

          The Front Page can be customized with text, " +"graphics, tables, shortcodes, ect.

          \n" +"

          Add Media button - upload and " +"add graphics.

          \n" +"

          Meeting List Shortcodes dropdown " +"- insert custom data.

          \n" +"

          Default Font Size can be changed " +"for specific text.

          " +msgstr "" +" صفحه اول را می توان با متن ، گرافیک ، جداول ، کد کوتاه و غیره سفارشی کرد ." + +#. string is number of cache entries deleted +#: admin/partials/bread-admin-display.php:106 +#, php-format +msgid "%s Cache entries deleted" +msgstr "%s ورودی های حافظه نهان حذف شده" + +#: admin/partials/_bmlt_server_setup.php:169 +msgid "0 - 999 Hours (0 = disable cache)" +msgstr "0 - 999 ساعت (0 = غیرفعال کردن حافظه پنهان)" + +#: admin/partials/_meetings_setup.php:241 +msgid "12 Hour" +msgstr "12 ساعته" + +#: admin/partials/_meetings_setup.php:253 +msgid "24 Hour" +msgstr "24 ساعته" + +#: admin/partials/_meetings_setup.php:265 +msgid "24 Hour French" +msgstr "24 ساعته فرانسوی" + +#: admin/partials/_layout_setup.php:76 +msgid "5 inch" +msgstr "5 اینچ" + +#: admin/partials/_layout_setup.php:25 admin/partials/_layout_setup.php:32 +#: admin/partials/_layout_setup.php:46 admin/partials/_layout_setup.php:80 +msgid "A4" +msgstr "A4" + +#: admin/partials/_layout_setup.php:39 admin/partials/_layout_setup.php:81 +msgid "A5" +msgstr "A5" + +#: admin/partials/_layout_setup.php:82 +msgid "A6" +msgstr "A6" + +#: admin/partials/_layout_setup.php:70 +msgid "Add extra pages for booklet" +msgstr "صفحات اضافی را برای جزوه اضافه کنید" + +#: admin/partials/_meetings_setup.php:248 +msgid "Add White Space" +msgstr "فضای سفید را اضافه کنید" + +#: admin/partials/_meetings_setup.php:301 +msgid "Additional List" +msgstr "لیست اضافی" + +#: admin/partials/_bread_wizard.php:138 +msgid "" +"After creating the configuration, you will be able to view the resulting " +"meeting list. Note that this is not usually\n" +" ready to be printed. Users almost always want to add content, " +"such as service meetings, help lines, place for people to\n" +" collect phone numbers etc. To do this, click on the " +"'Customize' tab to the left, and then go to either the 'Front Page' or\n" +" 'Custom Section' tabs. The editors there contain a 'Meeting " +"List Shortcodes' dropdown menu. Using these, new structures can\n" +" be added with only a few mouse clicks." +msgstr "" +"پس از ایجاد پیکربندی ، می توانید لیست جلسه حاصل را مشاهده کنید. توجه داشته " +"باشید که این معمولاً نیست\n" +" آماده چاپ کاربران تقریباً همیشه می خواهند محتوا را اضافه کنند " +"، مانند جلسات خدمات ، خطوط کمک ، مکان برای افراد\n" +" برای انجام این کار ، شماره تلفن و غیره را جمع آوری کنید ، روی " +"برگه \"سفارشی سازی\" در سمت چپ کلیک کنید ، و سپس به \"صفحه اول\" بروید\n" +" برگه های بخش سفارشی. ویراستاران موجود در منوی کشویی \"لیست " +"جلسات\" هستند. با استفاده از این ، ساختارهای جدید می توانند\n" +" فقط با چند کلیک ماوس اضافه می شود." + +#: admin/partials/_bmlt_server_setup.php:90 +msgid "All Meetings from your BMLT Server are shown in the list." +msgstr "تمام جلسات از سرور BMLT شما در لیست نشان داده شده است." + +#: admin/partials/_backup_restore_setup.php:56 +msgid "" +"Also useful for backing up before making significant changes to the meeting " +"list settings." +msgstr "" +"همچنین برای تهیه نسخه پشتیبان از قبل از ایجاد تغییرات مهم در تنظیمات لیست " +"جلسه مفید است." + +#: admin/partials/_layout_setup.php:43 +msgid "Anything" +msgstr "هر چیزی" + +#: admin/partials/_layout_setup.php:153 +msgid "Arial" +msgstr "عیاشی" + +#: admin/partials/_meetings_setup.php:213 +msgid "" +"Avoid using tables which will greatly slow down the generation time. Use CSS " +"instead to get table-like effects if need be." +msgstr "" +"از استفاده از جداول خودداری کنید که زمان تولید را به شدت کاهش می دهد. به جای " +"آن از CSS استفاده کنید تا در صورت لزوم جلوه های جدول مانند را بدست آورید." + +#: admin/partials/_layout_setup.php:113 admin/partials/_meetings_setup.php:29 +msgid "Background Color:" +msgstr "رنگ پس زمینه:" + +#: admin/partials/bread-admin-display.php:122 +msgid "Backup/ Restore" +msgstr "پشتیبان گیری/ بازیابی" + +#: admin/partials/_layout_setup.php:148 +msgid "Base Font: " +msgstr "قلم پایه:" + +#: admin/partials/_layout_setup.php:144 +msgid "Base Fonts and Colors" +msgstr "قلم ها و رنگ های پایه" + +#: admin/partials/_bread_wizard.php:135 +msgid "" +"Before creating the meeting list configuration, you are given the " +"opportunity to give the configuration\n" +" a mnemonic name. If you are managing multiple meeting lists " +"on this same, this name can help you keep track of which\n" +" configuration is which." +msgstr "" +"قبل از ایجاد پیکربندی لیست جلسه ، به شما فرصتی داده می شود که پیکربندی را " +"ارائه دهید\n" +" یک نام Mnemonic. اگر در حال مدیریت لیست های مختلف جلسه در " +"همین مورد هستید ، این نام می تواند به شما در پیگیری کدام یک کمک کند\n" +" پیکربندی کدام است." + +#: admin/partials/_bread_wizard.php:6 admin/partials/_bmlt_server_setup.php:18 +#: admin/partials/bread-admin-display.php:129 +msgid "BMLT Server" +msgstr "سرور BMLT" + +#: admin/partials/_bread_wizard.php:50 admin/partials/_bmlt_server_setup.php:21 +msgid "BMLT Server URL: " +msgstr "URL سرور BMLT:" + +#. Author of the plugin +msgid "bmlt-enabled" +msgstr "BMLT فعال" + +#: admin/partials/_meetings_setup.php:37 +msgid "Bold: " +msgstr "پررنگ:" + +#: admin/partials/_layout_setup.php:39 +msgid "Booklet" +msgstr "کتاب" + +#: admin/partials/_layout_setup.php:66 +msgid "Booklets" +msgstr "کتابفروشی" + +#: admin/partials/_meetings_setup.php:52 admin/partials/_meetings_setup.php:106 +#: admin/partials/_meetings_setup.php:127 +msgid "Borough" +msgstr "ولگرد" + +#: admin/partials/_meetings_setup.php:65 +msgid "Borough Suffix: " +msgstr "پسوند بورو:" + +#: admin/partials/_meetings_setup.php:53 +msgid "Borough+County" +msgstr "ولسوالی+شهرستان" + +#: admin/partials/_layout_setup.php:85 +msgid "Bottom: " +msgstr "پایین:" + +#. Name of the plugin +msgid "Bread" +msgstr "نان" + +#: admin/partials/_backup_restore_setup.php:11 +msgid "" +"Bread can support multiple meeting lists. Each meeting list has an integer " +"ID and a text description that help the user to identify\n" +" the configuration (or \\'settings\\') that will be " +"used to generate the meeting list. The ID of the configuration is used in " +"the link\n" +" that generates the meeting list (eg, ?current-" +"meeting-list=2 generates the meeting list with ID 2)." +msgstr "" +"نان می تواند از لیست های جلسات مختلف پشتیبانی کند. هر لیست جلسه دارای شناسه " +"عدد صحیح و توضیحات متن است که به کاربر کمک می کند تا شناسایی کند\n" +" پیکربندی (یا \"تنظیمات \\\") که برای تولید لیست جلسه " +"استفاده می شود. شناسه پیکربندی در لینک استفاده می شود\n" +" این لیست جلسه را ایجاد می کند (به عنوان مثال ، لیست " +"شماره فعلی = 2 لیست جلسه را با شناسه 2 تولید می کند)." + +#: admin/partials/_bread_wizard.php:44 +msgid "" +"Bread is highly customizable, as areas often try to maintain the appearance " +"of their old meeting lists. This wizard only attempts to give you a " +"reasonable\n" +" starting point, not an end product. At the end of the wizard we " +"make a few suggestions for possible next steps." +msgstr "" +"نان بسیار قابل تنظیم است ، زیرا مناطقی که اغلب سعی می کنند ظاهر لیست های " +"قدیمی خود را حفظ کنند. این جادوگر فقط سعی می کند به شما معقول بدهد\n" +" نقطه شروع ، یک محصول نهایی نیست. در پایان جادوگر ما چند پیشنهاد " +"برای مراحل بعدی احتمالی ارائه می دهیم." + +#: admin/partials/_meetings_setup.php:330 +msgid "By Day and Time" +msgstr "روز و زمان" + +#: admin/partials/_meetings_setup.php:329 +msgid "By Name" +msgstr "با نام" + +#: admin/partials/_bmlt_server_setup.php:172 +msgid "CACHE is DELETED when you Save Changes." +msgstr "حافظه پنهان هنگام ذخیره تغییرات حذف می شود." + +#: admin/partials/_bmlt_server_setup.php:168 +msgid "Cache Time: " +msgstr "زمان حافظه نهان:" + +#: admin/partials/_bread_wizard.php:111 +msgid "" +"Choose a language (only applies to names of days and format code " +"descriptions): " +msgstr "" +"یک زبان را انتخاب کنید (فقط در مورد نام روزها و توضیحات کد فرمت اعمال می شود)" +":" + +#: admin/partials/_bread_wizard.php:18 +msgid "Choose Layout" +msgstr "طرح را انتخاب کنید" + +#: admin/partials/_bread_wizard.php:75 +msgid "Choose up to 5 service bodies" +msgstr "حداکثر 5 نهاد خدماتی را انتخاب کنید" + +#: admin/partials/_bread_wizard.php:127 admin/partials/_meetings_setup.php:49 +#: admin/partials/_meetings_setup.php:102 +#: admin/partials/_meetings_setup.php:123 +msgid "City" +msgstr "شهر" + +#: admin/partials/_meetings_setup.php:92 +msgid "City Suffix: " +msgstr "پسوند شهر:" + +#: admin/partials/_layout_setup.php:161 +msgid "CMYK" +msgstr "cmyk" + +#: admin/partials/_layout_setup.php:156 +msgid "Color space: " +msgstr "فضای رنگ:" + +#: admin/partials/_layout_setup.php:135 +msgid "Color:" +msgstr "رنگ:" + +#: admin/partials/_layout_setup.php:130 +msgid "Column Gap Width: " +msgstr "عرض شکاف ستون:" + +#: admin/partials/_meetings_setup.php:152 +msgid "Combine main and subgroup into a single header" +msgstr "اصلی و زیر گروه را در یک هدر واحد ترکیب کنید" + +#: admin/partials/_backup_restore_setup.php:9 +msgid "Configuration Manager" +msgstr "مدیر پیکربندی" + +#: admin/partials/_backup_restore_setup.php:20 +msgid "Configuration Name: " +msgstr "نام پیکربندی:" + +#: admin/partials/_backup_restore_setup.php:25 +msgid "Configuration Selection" +msgstr "انتخاب پیکربندی" + +#: admin/partials/_bread_wizard.php:152 +msgid "Congratulations! The meeting list configuration has been created!" +msgstr "تبریک می گویم! پیکربندی لیست جلسه ایجاد شده است!" + +#: admin/partials/_bread_wizard.php:58 +msgid "Connected! - BMLT Server version " +msgstr "متصل! - نسخه سرور BMLT" + +#: admin/partials/_backup_restore_setup.php:79 +msgid "Consider backing up your settings by using the Export function." +msgstr "با استفاده از عملکرد صادرات ، از تنظیمات خود نسخه پشتیبان تهیه کنید." + +#: admin/partials/_bread_wizard.php:61 +msgid "Could not connect: Check spelling and internet connection." +msgstr "اتصال نمی تواند: اتصال املا و اتصال به اینترنت را بررسی کنید." + +#: admin/partials/_meetings_setup.php:51 admin/partials/_meetings_setup.php:105 +#: admin/partials/_meetings_setup.php:126 +msgid "County" +msgstr "شهرستان" + +#: admin/partials/_meetings_setup.php:74 +msgid "County Suffix: " +msgstr "پسوند شهرستان:" + +#: admin/partials/_layout_setup.php:151 +msgid "Courier" +msgstr "پیک" + +#: admin/partials/_bread_wizard.php:30 admin/partials/_bread_wizard.php:149 +msgid "Create Meeting List" +msgstr "لیست جلسه ایجاد کنید" + +#: admin/partials/_backup_restore_setup.php:14 +msgid "Current Meeting List" +msgstr "لیست جلسه فعلی" + +#: admin/partials/_bmlt_server_setup.php:117 +msgid "Current Meeting List Link" +msgstr "پیوند لیست جلسه فعلی" + +#: admin/partials/bread-admin-display.php:133 +msgid "Custom Content" +msgstr "محتوای سفارشی" + +#: admin/partials/_layout_setup.php:119 admin/partials/_meetings_setup.php:187 +msgid "Custom Footer: " +msgstr "پاورقی سفارشی:" + +#: admin/partials/_bmlt_server_setup.php:80 +msgid "Custom Query" +msgstr "پرس و جو سفارشی" + +#: admin/partials/_bmlt_server_setup.php:82 +#: admin/partials/_meetings_setup.php:362 +msgid "Custom Query: " +msgstr "پرس و جو سفارشی:" + +#: admin/partials/_custom_section_setup.php:18 +msgid "Custom Section Content" +msgstr "محتوای بخش سفارشی" + +#: admin/partials/_meetings_setup.php:11 +msgid "" +"Customize how meetings are grouped and the headline that each group has." +msgstr "نحوه گروه بندی جلسات و تیتر هر گروه را سفارشی کنید." + +#: admin/partials/bread-admin-display.php:121 +msgid "Customizer" +msgstr "سفارشی ساز" + +#: admin/partials/_bread_wizard.php:126 +msgid "Day" +msgstr "روز" + +#: admin/partials/_custom_section_setup.php:20 +#: admin/partials/_front_page_setup.php:19 +#: admin/partials/_meetings_setup.php:210 +msgid "Default Font Size: " +msgstr "اندازه فونت پیش فرض:" + +#: admin/partials/_layout_setup.php:150 +msgid "DejaVu Sans Condensed" +msgstr "dejavu sans متراکم" + +#: admin/partials/_backup_restore_setup.php:44 +msgid "Delete Current Configuration" +msgstr "پیکربندی فعلی را حذف کنید" + +#: admin/partials/_bmlt_server_setup.php:31 +#: admin/partials/_bmlt_server_setup.php:39 +#: admin/partials/_bmlt_server_setup.php:52 +msgid "Disable SSL verification of server" +msgstr "تأیید SSL سرور را غیرفعال کنید" + +#: admin/partials/_meetings_setup.php:40 +msgid "Display (Cont) Header: " +msgstr "هدر نمایش (ادامه):" + +#: admin/partials/_meetings_setup.php:149 +msgid "Display each subgroup with its own header" +msgstr "هر زیر گروه را با عنوان خود نمایش دهید" + +#: admin/partials/_meetings_setup.php:143 +msgid "Display Subgrouping: " +msgstr "نمایش زیر گروه:" + +#: admin/partials/_bread_wizard.php:122 +msgid "Don't include virtual meetings at all." +msgstr "اصلاً جلسات مجازی را شامل نمی شود." + +#: admin/partials/_bmlt_server_setup.php:147 +msgid "Download Log Files" +msgstr "بارگیری پرونده های log" + +#: admin/partials/_backup_restore_setup.php:42 +msgid "Duplicate Current Configuration" +msgstr "پیکربندی فعلی کپی" + +#: admin/partials/_bmlt_server_setup.php:137 +msgid "Enable Logging" +msgstr "ورود به سیستم را فعال کنید" + +#: admin/partials/_layout_setup.php:173 +msgid "Enable PDF Protection." +msgstr "محافظت از PDF را فعال کنید." + +#: admin/partials/_layout_setup.php:187 +msgid "Enable Protection" +msgstr "محافظت" + +#: admin/partials/_bmlt_server_setup.php:140 +msgid "Enable SimpleTables" +msgstr "Simpleables را فعال کنید" + +#: admin/partials/_layout_setup.php:176 +msgid "Encrypted PDFs can be opened and printed." +msgstr "PDF های رمزگذاری شده را می توان باز و چاپ کرد." + +#: admin/partials/_layout_setup.php:174 +msgid "Encrypts and sets the PDF document permissions for the PDF file." +msgstr "مجوزهای سند PDF را برای پرونده PDF رمزگذاری و تنظیم می کند." + +#: admin/partials/_bread_wizard.php:147 +msgid "Enter a custom name for this configuration: " +msgstr "برای این پیکربندی یک نام سفارشی وارد کنید:" + +#: admin/partials/_bmlt_server_setup.php:34 +msgid "ERROR: Please enter a BMLT Server" +msgstr "خطا: لطفاً یک سرور BMLT وارد کنید" + +#: admin/partials/_bmlt_server_setup.php:44 +msgid "ERROR: Problem Connecting to BMLT Server" +msgstr "خطا: اتصال به سرور BMLT" + +#: admin/partials/_backup_restore_setup.php:61 +msgid "Export" +msgstr "صادر کردن" + +#: admin/partials/_backup_restore_setup.php:52 +msgid "Export Configuration" +msgstr "پیکربندی صادرات" + +#: admin/partials/_backup_restore_setup.php:54 +msgid "Export or backup meeting list settings." +msgstr "تنظیمات لیست جلسات صادرات یا پشتیبان گیری." + +#: admin/partials/_bmlt_server_setup.php:111 +msgid "Extra Meetings Enabled" +msgstr "جلسات اضافی فعال شده است" + +#: admin/partials/_meetings_setup.php:313 +msgid "Face-to-Face Meetings" +msgstr "جلسات چهره به چهره" + +#: admin/partials/bread-admin-display.php:98 +msgid "File loaded" +msgstr "پرونده بارگیری شده است" + +#: admin/class-bread-admin.php:367 +msgid "File size greater than 500k" +msgstr "اندازه پرونده بیشتر از 500k" + +#: admin/partials/_layout_setup.php:59 +msgid "Flyer" +msgstr "پروانه دار" + +#: admin/partials/_layout_setup.php:111 admin/partials/_meetings_setup.php:21 +msgid "Font Size: " +msgstr "اندازه قلم:" + +#: admin/partials/_meetings_setup.php:308 +msgid "Format of meetings in the additional list: " +msgstr "قالب جلسات در لیست اضافی:" + +#: admin/partials/bread-admin-display.php:131 +msgid "Front Page" +msgstr "صفحه اول" + +#: admin/partials/_front_page_setup.php:17 +msgid "Front Page Content" +msgstr "محتوای صفحه اول" + +#: admin/partials/_layout_setup.php:44 admin/partials/_layout_setup.php:68 +msgid "Full Page" +msgstr "صفحه کامل" + +#: admin/partials/_bread_wizard.php:154 +#: admin/partials/bread-admin-display.php:159 +#: admin/partials/_backup_restore_setup.php:90 +msgid "Generate Meeting List" +msgstr "لیست جلسات را تولید کنید" + +#: admin/partials/bread-admin-display.php:120 +msgid "Getting Started" +msgstr "شروع" + +#: admin/partials/_bread_wizard.php:158 +msgid "Go Back" +msgstr "بازگشت" + +#: admin/partials/_layout_setup.php:159 +msgid "Greyscale" +msgstr "گودال" + +#: admin/partials/_bread_wizard.php:128 admin/partials/_meetings_setup.php:50 +#: admin/partials/_meetings_setup.php:104 +#: admin/partials/_meetings_setup.php:125 +msgid "Group" +msgstr "گروه" + +#: admin/partials/_meetings_setup.php:46 +msgid "Group Meetings By: " +msgstr "جلسات گروهی توسط:" + +#: admin/partials/_layout_setup.php:37 admin/partials/_layout_setup.php:67 +msgid "Half-Fold" +msgstr "نیمی" + +#: admin/partials/_layout_setup.php:114 +msgid "Header Margin Top: " +msgstr "بالای حاشیه هدر:" + +#: admin/partials/_layout_setup.php:115 +msgid "Header Text: " +msgstr "متن هدر:" + +#: admin/partials/_bmlt_server_setup.php:108 +msgid "Hint: Type a group name, weekday or area to narrow down your choices." +msgstr "" +"نکته: برای محدود کردن انتخاب های خود ، نام گروهی ، روز هفته یا منطقه را تایپ " +"کنید." + +#. URI of the plugin +msgid "https://bmlt.app" +msgstr "https://bmlt.app" + +#. Author URI of the plugin +msgid "https://bmlt.app/" +msgstr "https://bmlt.app/" + +#: admin/partials/_bread_wizard.php:88 +msgid "" +"If you want to limit the meeting list to a particular format, for instance, " +"to create a language-specific meeting list, you can enter it here." +msgstr "" +"اگر می خواهید لیست جلسه را به یک قالب خاص محدود کنید ، به عنوان مثال ، برای " +"ایجاد یک لیست جلسه خاص زبان ، می توانید آن را در اینجا وارد کنید." + +#: admin/partials/_bread_wizard.php:158 +msgid "If you want to try a different layout: " +msgstr "اگر می خواهید یک طرح متفاوت را امتحان کنید:" + +#: admin/partials/_meetings_setup.php:367 +msgid "" +"If you wish to define different contents for the additional list, use this " +"template." +msgstr "" +"اگر می خواهید مطالب مختلف را برای لیست اضافی تعریف کنید ، از این الگوی " +"استفاده کنید." + +#: admin/partials/_backup_restore_setup.php:75 +msgid "Import" +msgstr "وارد کردن" + +#: admin/partials/_backup_restore_setup.php:67 +msgid "Import Configuration" +msgstr "پیکربندی واردات" + +#: admin/partials/_backup_restore_setup.php:69 +msgid "Import meeting list settings from a previously exported meeting list." +msgstr "تنظیمات لیست جلسه واردات از لیست جلسه قبلی صادر شده." + +#: admin/partials/_bread_wizard.php:99 +msgid "" +"In this step we suggest suitible formats based on your meeting count. " +"Having the meetings fit on a single side has the advantage\n" +" that the list can be posted on a bulleitin board, and this will " +"be used when suggesting a page layout. However, you may\n" +" also wish to have the meetings 'overflow' on to the back side of " +"the paper. If so, select a layout above layout\n" +" that the wizard pre-selects for you." +msgstr "" +"در این مرحله قالب های مناسب را بر اساس تعداد جلسه شما پیشنهاد می کنیم. " +"مناسب بودن جلسات در یک طرف این مزیت را دارد\n" +" که این لیست را می توان در یک صفحه بوللیتین ارسال کرد و این هنگام " +"پیشنهاد طرح صفحه مورد استفاده قرار می گیرد. با این حال ، شما ممکن است\n" +" همچنین آرزو می کنم جلسات \"سرریز\" در قسمت پشتی کاغذ باشد. اگر " +"چنین است ، یک طرح above طرح را انتخاب کنید\n" +" که جادوگر از قبل انتخاب می کند." + +#: admin/partials/_bread_wizard.php:133 +msgid "" +"In this step, we create the meeting list settings. If you already have a " +"meeting list defined\n" +" on this site, the old settings will not be overwriten, rather, " +"a new setting will be created." +msgstr "" +"در این مرحله تنظیمات لیست جلسه را ایجاد می کنیم. اگر قبلاً لیست جلسه را " +"تعریف کرده اید\n" +" در این سایت ، تنظیمات قدیمی رونویسی نخواهد شد ، بلکه یک تنظیم " +"جدید ایجاد می شود." + +#: admin/partials/_bmlt_server_setup.php:95 +msgid "Include Extra Meetings" +msgstr "شامل جلسات اضافی" + +#: admin/partials/_bmlt_server_setup.php:89 +msgid "Include Extra Meetings from Another Service Body." +msgstr "شامل جلسات اضافی از بدنه سرویس دیگر." + +#: admin/partials/_meetings_setup.php:366 +msgid "Include meetings with this format in the main list" +msgstr "جلسات با این قالب را در لیست اصلی قرار دهید" + +#: admin/partials/_meetings_setup.php:277 +msgid "Include Only This Meeting Format" +msgstr "فقط این قالب جلسه را درج کنید" + +#: admin/partials/_bread_wizard.php:120 +msgid "Include virtual meetings in main meeting list." +msgstr "جلسات مجازی را در لیست جلسه اصلی قرار دهید." + +#: admin/partials/_layout_setup.php:24 admin/partials/_layout_setup.php:31 +#: admin/partials/_layout_setup.php:38 admin/partials/_layout_setup.php:64 +msgid "Landscape" +msgstr "چشم انداز" + +#: admin/partials/_layout_setup.php:36 +msgid "Large Area, Region, Metro" +msgstr "منطقه بزرگ ، منطقه ، مترو" + +#: admin/partials/_layout_setup.php:79 +msgid "Ledger" +msgstr "پیشخدمت" + +#: admin/partials/_layout_setup.php:86 +msgid "Left: " +msgstr "سمت چپ:" + +#: admin/partials/_layout_setup.php:32 admin/partials/_layout_setup.php:46 +#: admin/partials/_layout_setup.php:78 +msgid "Legal" +msgstr "حقوقی" + +#: admin/partials/_layout_setup.php:25 admin/partials/_layout_setup.php:46 +#: admin/partials/_layout_setup.php:77 +msgid "Letter" +msgstr "نامه" + +#: admin/partials/_custom_section_setup.php:21 +#: admin/partials/_front_page_setup.php:20 +#: admin/partials/_meetings_setup.php:211 +msgid "Line Height: " +msgstr "ارتفاع خط:" + +#: admin/partials/_backup_restore_setup.php:34 +msgid "Load Configuration" +msgstr "پیکربندی بار" + +#: admin/partials/_meetings_setup.php:99 +msgid "Main Grouping: " +msgstr "گروه بندی اصلی:" + +#. Description of the plugin +msgid "Maintains and generates PDF Meeting Lists from BMLT." +msgstr "لیست های جلسات PDF را از BMLT حفظ و تولید می کند." + +#: admin/partials/_layout_setup.php:122 +msgid "Margin Footer: " +msgstr "پاورقی حاشیه:" + +#: admin/partials/_layout_setup.php:29 +msgid "Medium Area" +msgstr "منطقه متوسط" + +#: admin/partials/_meetings_setup.php:279 +msgid "Meeting Format: " +msgstr "قالب جلسه:" + +#: admin/partials/_meetings_setup.php:14 +msgid "Meeting Group [Column] Header" +msgstr "گروه جلسات [ستون]" + +#: admin/partials/_bmlt_server_setup.php:124 +msgid "Meeting List Author(s)" +msgstr "لیست جلسه نویسنده (ها)" + +#: admin/partials/_bmlt_server_setup.php:160 +msgid "Meeting List Cache" +msgstr "حافظه پنهان لیست جلسه" + +#: admin/partials/_backup_restore_setup.php:16 +msgid "Meeting List ID: " +msgstr "شناسه لیست جلسه:" + +#: admin/partials/_bread_wizard.php:24 +msgid "Meeting List Options" +msgstr "گزینه های لیست جلسه" + +#: admin/partials/_layout_setup.php:15 +msgid "Meeting List Size" +msgstr "اندازه لیست جلسه" + +#: admin/partials/_meetings_setup.php:207 +msgid "Meeting Template" +msgstr "الگوی جلسه" + +#: admin/partials/bread-admin-display.php:132 +msgid "Meetings" +msgstr "جلسات" + +#: admin/partials/_bread_wizard.php:96 +msgid "" +"Most areas try to fit their meetings onto a single sheet of paper. And it " +"is particularly adventageous to\n" +" use a tri-fold format, so that the list can be printed at home " +"and placed along side the pamphlets. The priority should always be that the\n" +" meeting list is readable. For many areas, a booklet format is " +"better, even if the reqire more effort or expense to print." +msgstr "" +"بیشتر مناطق سعی می کنند جلسات خود را روی یک برگه واحد قرار دهند. و به ویژه " +"ماجراجویانه است\n" +" از یک قالب سه برابر استفاده کنید تا لیست در خانه چاپ شود و در " +"کنار جزوه ها قرار گیرد. اولویت همیشه باید این باشد که\n" +" لیست جلسه قابل خواندن است. برای بسیاری از زمینه ها ، یک قالب " +"جزوه بهتر است ، حتی اگر تلاش یا هزینه بیشتری برای چاپ مجدد داشته باشید." + +#: admin/partials/_meetings_setup.php:103 +#: admin/partials/_meetings_setup.php:124 +msgid "Neighborhood" +msgstr "محاصره" + +#: admin/partials/_meetings_setup.php:83 +msgid "Neighborhood Suffix: " +msgstr "پسوند محله:" + +#: admin/partials/_meetings_setup.php:54 +msgid "Neighborhood+City" +msgstr "محله+شهر" + +#: admin/partials/_bread_wizard.php:72 +msgid "" +"Next, we need to know which meetings are going to be on the meeting list. " +"This will help the wizard when it\n" +" tries to choose an a appropriate layout for you." +msgstr "" +"در مرحله بعد ، ما باید بدانیم که کدام جلسات در لیست جلسه برگزار می شود. این " +"به جادوگر در هنگام آن کمک می کند\n" +" سعی می کند یک طرح مناسب برای شما انتخاب کند." + +#: admin/partials/_meetings_setup.php:146 +msgid "No header for subgroups" +msgstr "بدون هدر برای زیر گروه ها" + +#: admin/partials/_layout_setup.php:47 admin/partials/_meetings_setup.php:121 +msgid "None" +msgstr "هیچ کدام" + +#: admin/partials/_meetings_setup.php:310 +msgid "Not Used" +msgstr "استفاده نشده" + +#: admin/partials/_bmlt_server_setup.php:92 +msgid "Note: Be sure to select all meetings for each group." +msgstr "توجه: حتماً تمام جلسات را برای هر گروه انتخاب کنید." + +#: admin/partials/_layout_setup.php:180 +msgid "Note: Encrypted PDFs cannot be opened in MS Word at all." +msgstr "توجه: PDF های رمزگذاری شده به هیچ وجه نمی توانند در MS Word باز شوند." + +#: admin/partials/_bread_wizard.php:104 +msgid "Number of meetings on list: " +msgstr "تعداد جلسات در لیست:" + +#: admin/partials/_bread_wizard.php:161 +msgid "Open customizer" +msgstr "سفارشی ساز باز" + +#: admin/partials/_bmlt_server_setup.php:134 +msgid "Optimize/Debug mPDF" +msgstr "MPDF بهینه سازی/اشکال زدایی" + +#: admin/partials/_layout_setup.php:178 +msgid "Optional Password to allow editing in a PDF editor." +msgstr "رمزعبور اختیاری برای ویرایش در ویرایشگر PDF." + +#: admin/partials/_bread_wizard.php:124 +msgid "Organize the meetings by:" +msgstr "جلسات را توسط:" + +#: admin/partials/_layout_setup.php:17 +msgid "Orientation" +msgstr "جهت گیری" + +#: admin/partials/_bmlt_server_setup.php:143 +msgid "Pack Table Data" +msgstr "داده های جدول بسته بندی" + +#: admin/partials/_layout_setup.php:106 +msgid "Page Decorations" +msgstr "دکوراسیون صفحه" + +#: admin/partials/_layout_setup.php:19 +msgid "Page Height" +msgstr "ارتفاع صفحه" + +#: admin/partials/_layout_setup.php:16 admin/partials/_layout_setup.php:54 +#: admin/partials/bread-admin-display.php:130 +msgid "Page Layout" +msgstr "چیدمان صفحه" + +#: admin/partials/_layout_setup.php:11 +msgid "Page Layout Defaults" +msgstr "پیش فرض طرح بندی صفحه" + +#: admin/partials/_layout_setup.php:84 +msgid "Page Margin Top: " +msgstr "بالای صفحه بالای صفحه:" + +#: admin/partials/_layout_setup.php:127 +msgid "Page Numbers Font Size: " +msgstr "شماره صفحه اندازه فونت:" + +#: admin/partials/_layout_setup.php:75 +msgid "Page Size:" +msgstr "اندازه صفحه:" + +#: admin/partials/_layout_setup.php:18 +msgid "Paper Size" +msgstr "اندازه کاغذ" + +#: admin/partials/_layout_setup.php:183 +msgid "Password Protection" +msgstr "محافظت از رمز عبور" + +#: admin/partials/_layout_setup.php:192 +msgid "Password: " +msgstr "رمز عبور:" + +#: admin/partials/_bread_wizard.php:118 +msgid "Place virtual meetings in a separate list, with specialized format." +msgstr "جلسات مجازی را در یک لیست جداگانه و با فرمت تخصصی قرار دهید." + +#: admin/partials/_backup_restore_setup.php:82 +msgid "Please Choose a File." +msgstr "لطفا یک پرونده را انتخاب کنید." + +#: admin/class-bread-admin.php:363 +msgid "Please upload a file to import" +msgstr "لطفا یک پرونده را برای واردات بارگذاری کنید" + +#: admin/class-bread-admin.php:359 +msgid "Please upload a valid .json file" +msgstr "لطفاً یک پرونده معتبر .json بارگذاری کنید" + +#: admin/partials/_layout_setup.php:63 +msgid "Portrait" +msgstr "تصویر" + +#: admin/partials/_layout_setup.php:45 +msgid "Portrait, Landscape" +msgstr "پرتره ، منظره" + +#: admin/partials/bread-admin-display.php:158 +msgid "Preview" +msgstr "پیش نمایش" + +#: admin/partials/_layout_setup.php:30 admin/partials/_layout_setup.php:61 +msgid "Quad-Fold" +msgstr "چهار برابر" + +#: admin/partials/_bmlt_server_setup.php:64 +msgid "Recurse Service Bodies" +msgstr "مجدداً اجسام خدمات" + +#: admin/partials/_meetings_setup.php:259 +msgid "Remove White Space" +msgstr "فضای سفید را بردارید" + +#: admin/partials/_layout_setup.php:160 +msgid "RGB" +msgstr "RGB" + +#: admin/partials/_layout_setup.php:87 +msgid "Right: " +msgstr "سمت راست:" + +#: admin/partials/_meetings_setup.php:331 +#: admin/partials/_meetings_setup.php:339 +#: admin/partials/_meetings_setup.php:341 +msgid "Same as main list" +msgstr "همان لیست اصلی" + +#: admin/partials/bread-admin-display.php:157 +msgid "Save Changes" +msgstr "تغییرات را ذخیره کنید" + +#: admin/partials/bread-admin-display.php:160 +msgid "Save Changes before Generating Meeting List." +msgstr "قبل از تولید لیست جلسات ، تغییرات را ذخیره کنید." + +#: admin/partials/_backup_restore_setup.php:21 +msgid "Save Configuration Name" +msgstr "نام پیکربندی را ذخیره کنید" + +#: admin/partials/_backup_restore_setup.php:27 +msgid "Select Configuration: " +msgstr "پیکربندی را انتخاب کنید:" + +#: admin/partials/_meetings_setup.php:335 +msgid "Select language for the additional list" +msgstr "برای لیست اضافی زبان را انتخاب کنید" + +#: admin/partials/_bread_wizard.php:105 +msgid "Select one of the layouts appropriate to the number of meetings" +msgstr "یکی از طرح بندی های متناسب با تعداد جلسات را انتخاب کنید" + +#: admin/partials/_bread_wizard.php:12 +msgid "Select Service Bodies" +msgstr "نهادهای سرویس را انتخاب کنید" + +#: admin/partials/_meetings_setup.php:327 +msgid "Select sort order for the additional list" +msgstr "برای لیست اضافی ترتیب مرتب سازی را انتخاب کنید" + +#: admin/partials/_layout_setup.php:134 +msgid "Separator: " +msgstr "جداکننده:" + +#. Bread can query up to five servers, the string is the number 1-5 +#: admin/partials/bread-admin-display.php:49 +#, php-format +msgid "Service Body %s" +msgstr "بدنه سرویس %s" + +#: admin/partials/_layout_setup.php:58 +msgid "Single Page" +msgstr "یک صفحه" + +#: admin/partials/_layout_setup.php:22 +msgid "Smaller Areas" +msgstr "مناطق کوچکتر" + +#: admin/partials/_meeting_list_setup.php:15 +msgid "Start Here: Meeting List Setup Wizard" +msgstr "از اینجا شروع کنید: جادوگر تنظیم لیست جلسه" + +#: admin/partials/_meetings_setup.php:236 +msgid "Start Time Format" +msgstr "قالب زمان شروع" + +#: admin/partials/_meetings_setup.php:107 +#: admin/partials/_meetings_setup.php:128 +msgid "State" +msgstr "حالت" + +#: admin/partials/_meetings_setup.php:55 +msgid "State+City" +msgstr "ایالت+شهر" + +#: admin/partials/_bread_wizard.php:40 +msgid "Step 1: Enter your BMLT root server" +msgstr "مرحله 1: سرور ریشه BMLT خود را وارد کنید" + +#: admin/partials/_bread_wizard.php:70 +msgid "Step 2: Select a service body" +msgstr "مرحله 2: یک بدنه سرویس را انتخاب کنید" + +#: admin/partials/_bread_wizard.php:94 +msgid "Step 3: Page Layout" +msgstr "مرحله 3: چیدمان صفحه" + +#: admin/partials/_bread_wizard.php:110 +msgid "Step 4: Select Option" +msgstr "مرحله 4: گزینه را انتخاب کنید" + +#: admin/partials/_meetings_setup.php:119 +msgid "Sub-Grouping: " +msgstr "زیر گروهی:" + +#: admin/partials/_meetings_setup.php:18 +msgid "Suppress Heading: " +msgstr "سرکوب عنوان:" + +#: admin/partials/_bread_wizard.php:53 +msgid "Test Server Connection" +msgstr "اتصال سرور تست" + +#: admin/partials/_bread_wizard.php:55 +msgid "Test that this is valid root server URL before continuing" +msgstr "آزمایش کنید که این URL سرور ریشه معتبر قبل از ادامه است" + +#: admin/partials/_layout_setup.php:112 admin/partials/_meetings_setup.php:24 +msgid "Text Color:" +msgstr "رنگ متن:" + +#: admin/partials/_bread_wizard.php:46 +msgid "" +"The first thing we need is the location of your BMLT root server. Once you " +"have entered it, you need check that the URL is correct\n" +" by clicking the 'Test Connection' button." +msgstr "" +"اولین چیزی که ما نیاز داریم مکان سرور Root BMLT شما است. پس از ورود به آن ، " +"باید بررسی کنید که URL صحیح است\n" +" با کلیک بر روی دکمه \"تست اتصال\"." + +#: admin/partials/_bread_wizard.php:153 +msgid "" +"The first thing you probably want to do is have a look at the meeting list:" +msgstr "" +"اولین کاری که احتمالاً می خواهید انجام دهید این است که به لیست جلسه نگاهی " +"بیندازید:" + +#: admin/partials/_bmlt_server_setup.php:91 +msgid "The Meetings you select will be merged into your meeting list." +msgstr "جلساتی که انتخاب می کنید در لیست جلسات شما ادغام می شوند." + +#: admin/partials/_layout_setup.php:109 +msgid "" +"The page header is a title that goes across the entire page above the " +"meetings." +msgstr "عنوان صفحه عنوانی است که در کل صفحه بالاتر از جلسات قرار می گیرد." + +#: admin/partials/_backup_restore_setup.php:55 +msgid "" +"This allows you to easily import meeting list settings into another site." +msgstr "" +"این به شما امکان می دهد تنظیمات لیست جلسه را به راحتی در سایت دیگری وارد " +"کنید." + +#: admin/partials/_meetings_setup.php:304 +msgid "" +"This section allows the definition of an additional meeting list, containing " +"meetings that should not be included in the main\n" +" list. This is typically virtual meetings, but it can " +"be any group of meetings identified by a format." +msgstr "" +"این بخش اجازه می دهد تا تعریف یک لیست جلسات اضافی ، شامل جلساتی که نباید در " +"قسمت اصلی گنجانده شوند\n" +" لیست این معمولاً جلسات مجازی است ، اما می تواند هر " +"گروهی از جلسات باشد که با یک فرمت مشخص می شود." + +#: admin/partials/_layout_setup.php:100 +msgid "" +"This section describes things on the page other than the contents. Headers, " +"footers, page numbers." +msgstr "" +"در این بخش مواردی در صفحه غیر از محتویات شرح داده شده است. هدرها ، پاورقی ها " +"، شماره صفحه." + +#: admin/partials/_bmlt_server_setup.php:164 +msgid "This site is using an external object cache." +msgstr "این سایت از حافظه نهان خارجی استفاده می کند." + +#: admin/partials/_bmlt_server_setup.php:72 +msgid "" +"This will be executed as part of the meeting search query. This will " +"override any setting in the Service Body dropdowns." +msgstr "" +"این به عنوان بخشی از پرس و جو جستجوی جلسه اجرا می شود. این امر باعث غلبه بر " +"هر تنظیم در کشویی بدنه سرویس می شود." + +#: admin/partials/_bread_wizard.php:42 +msgid "" +"This wizard guides you through the initial configuation of a meeting list. " +"If you have already created one or more meeting lists,\n" +" don't worry, this process alway creates a new configuration, and " +"never overwrites old ones." +msgstr "" +"این جادوگر شما را از طریق پیکربندی اولیه لیست جلسه راهنمایی می کند. اگر " +"قبلاً یک یا چند لیست جلسه ایجاد کرده اید ،\n" +" نگران نباشید ، این فرآیند همیشه پیکربندی جدیدی را ایجاد می کند و " +"هرگز موارد قدیمی را بازنویسی نمی کند." + +#: admin/partials/_layout_setup.php:152 +msgid "Times" +msgstr "بار" + +#: admin/partials/_bread_wizard.php:156 +msgid "" +"To add a link to the meeting list on your website, use the following link." +msgstr "" +"برای افزودن پیوندی به لیست جلسه در وب سایت خود ، از لینک زیر استفاده کنید." + +#: admin/partials/_layout_setup.php:23 admin/partials/_layout_setup.php:60 +msgid "Tri-Fold" +msgstr "سه برابر" + +#: admin/partials/_bmlt_server_setup.php:47 +msgid "Try a different user agent or \"None\" for Wordpress default: " +msgstr "یک عامل کاربر متفاوت یا \"هیچ\" را برای پیش فرض وردپرس امتحان کنید:" + +#: admin/partials/_layout_setup.php:158 +msgid "Unrestricted" +msgstr "بدون محدودیت" + +#: admin/partials/_meetings_setup.php:34 +msgid "Uppercase: " +msgstr "حروف بزرگ:" + +#: admin/partials/_bmlt_server_setup.php:59 +msgid "Use Aggregator 🍅" +msgstr "از Aggregator 🍅 ؛" + +#: admin/partials/_meetings_setup.php:59 +msgid "User Defined" +msgstr "کاربر تعریف شده" + +#: admin/partials/bread-admin-display.php:37 +msgid "Using Tomato Server" +msgstr "با استفاده از سرور گوجه فرنگی" + +#: admin/partials/_bread_wizard.php:65 +msgid "Verify that this is valid root server URL before continuing" +msgstr "تأیید کنید که این URL سرور ریشه معتبر قبل از ادامه است" + +#: admin/partials/_meetings_setup.php:312 +msgid "Virtual Meetings" +msgstr "جلسات مجازی" + +#: admin/partials/_bread_wizard.php:49 +msgid "" +"Visit Do I have " +"the BMLT? to find your BMLT server" +msgstr "" +"برای یافتن سرور BMLT خود به do من BMLT؟ مراجعه کنید" + +#: admin/partials/_layout_setup.php:116 +msgid "Watermark: " +msgstr "علامت علامت:" + +#: admin/partials/_meetings_setup.php:48 admin/partials/_meetings_setup.php:101 +#: admin/partials/_meetings_setup.php:122 +msgid "Weekday" +msgstr "روز هفته" + +#: admin/partials/_meetings_setup.php:158 +msgid "Weekday Language: " +msgstr "زبان روز هفته:" + +#: admin/partials/_meetings_setup.php:173 +msgid "Weekday Start: " +msgstr "شروع روز هفته:" + +#: admin/partials/_meetings_setup.php:56 +msgid "Weekday+Area" +msgstr "روز هفته+منطقه" + +#: admin/partials/_meetings_setup.php:57 +msgid "Weekday+City" +msgstr "روز هفته+شهر" + +#: admin/partials/_meetings_setup.php:58 +msgid "Weekday+County " +msgstr "روز هفته+شهرستان" + +#: admin/partials/_layout_setup.php:102 +msgid "What options you see will be dependant on the layout selected." +msgstr "چه گزینه هایی را می بینید که به طرح انتخاب شده بستگی دارد." + +#: admin/partials/_meetings_setup.php:212 +msgid "Wheelchair Icon Size: " +msgstr "اندازه نماد ویلچر:" + +#: admin/partials/_layout_setup.php:51 +msgid "" +"When a layout is clicked defaults are reset for orientation, paper size and " +"page height." +msgstr "" +"هنگامی که یک طرح کلیک می شود پیش فرض برای جهت گیری ، اندازه کاغذ و ارتفاع " +"صفحه تنظیم مجدد می شود." + +#: admin/partials/_bread_wizard.php:115 +msgid "Where should virtual meetings be included:" +msgstr "جلسات مجازی از کجا باید گنجانده شود:" + +#. the string is a link to the semantic interface of the BMLT server +#: admin/partials/_bmlt_server_setup.php:76 +#, php-format +msgid "" +"You can get help formulating a query using your sites " +"semantic interface." +msgstr "" +"شما می توانید با استفاده از سایت های خود semantic " +"Interface کمک کنید." + +#: admin/partials/bread-admin-display.php:96 +msgid "You do not have permission to save this configuation!" +msgstr "شما اجازه ذخیره این پیکربندی را ندارید!" + +#: admin/partials/_bread_wizard.php:143 +msgid "" +"You may also want to adjust the font sizes on your meeting list so that it " +"fits on a single sheet or is more readable. This is only\n" +" of the many options available in the 'Customizer'." +msgstr "" +"همچنین ممکن است بخواهید اندازه قلم را در لیست جلسات خود تنظیم کنید تا روی یک " +"برگه قرار بگیرد یا قابل خواندن تر باشد. این فقط است\n" +" از بسیاری از گزینه های موجود در \"سفارشی\"." + +#: admin/partials/_bread_wizard.php:160 +msgid "" +"You probably want to add some content to the first page or the custom " +"content:" +msgstr "" +"احتمالاً می خواهید برخی از مطالب را به صفحه اول یا محتوای سفارشی اضافه کنید:" + +#. string is the version number of the BMLT Server +#: admin/partials/bread-admin-display.php:40 +#, php-format +msgid "Your BMLT Server is running %s" +msgstr "سرور BMLT شما در حال اجرا %s است" + +#: admin/partials/bread-admin-display.php:102 +msgid "Your changes were successfully saved!" +msgstr "تغییرات شما با موفقیت ذخیره شد!" + +#: admin/partials/_backup_restore_setup.php:78 +msgid "Your current meeting list settings will be replaced and lost forever." +msgstr "تنظیمات لیست فعلی جلسه شما برای همیشه جایگزین و از بین می رود." diff --git a/languages/bread.pot b/languages/bread.pot index e69de29..1c63194 100644 --- a/languages/bread.pot +++ b/languages/bread.pot @@ -0,0 +1,1183 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Bread\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-29 10:51+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: \n" +"Language: \n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Loco https://localise.biz/\n" +"X-Loco-Version: 2.8.0; wp-6.8.2; php-8.2.0\n" +"X-Domain: bread" + +#: admin/partials/_custom_section_setup.php:10 +msgid "" +"\n" +"

          The Custom Content can be customized with text, " +"graphics, tables, shortcodes, etc.

          \n" +"

          Default Font Size can be changed " +"for specific text in the editor.

          \n" +"

          Add Media button - upload and " +"add graphics.

          \n" +"

          Meeting List Shortcodes dropdown " +"- insert variable data.

          \n" +"

          The Custom Content will print immediately " +"after the meetings in the meeting list.

          " +msgstr "" + +#: admin/partials/_front_page_setup.php:10 +msgid "" +"\n" +"

          The Front Page can be customized with text, " +"graphics, tables, shortcodes, ect.

          \n" +"

          Add Media button - upload and " +"add graphics.

          \n" +"

          Meeting List Shortcodes dropdown " +"- insert custom data.

          \n" +"

          Default Font Size can be changed " +"for specific text.

          " +msgstr "" + +#. string is number of cache entries deleted +#: admin/partials/bread-admin-display.php:106 +#, php-format +msgid "%s Cache entries deleted" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:169 +msgid "0 - 999 Hours (0 = disable cache)" +msgstr "" + +#: admin/partials/_meetings_setup.php:241 +msgid "12 Hour" +msgstr "" + +#: admin/partials/_meetings_setup.php:253 +msgid "24 Hour" +msgstr "" + +#: admin/partials/_meetings_setup.php:265 +msgid "24 Hour French" +msgstr "" + +#: admin/partials/_layout_setup.php:76 +msgid "5 inch" +msgstr "" + +#: admin/partials/_layout_setup.php:25 admin/partials/_layout_setup.php:32 +#: admin/partials/_layout_setup.php:46 admin/partials/_layout_setup.php:80 +msgid "A4" +msgstr "" + +#: admin/partials/_layout_setup.php:39 admin/partials/_layout_setup.php:81 +msgid "A5" +msgstr "" + +#: admin/partials/_layout_setup.php:82 +msgid "A6" +msgstr "" + +#: admin/partials/_layout_setup.php:70 +msgid "Add extra pages for booklet" +msgstr "" + +#: admin/partials/_meetings_setup.php:248 +msgid "Add White Space" +msgstr "" + +#: admin/partials/_meetings_setup.php:301 +msgid "Additional List" +msgstr "" + +#: admin/partials/_bread_wizard.php:138 +msgid "" +"After creating the configuration, you will be able to view the resulting " +"meeting list. Note that this is not usually\n" +" ready to be printed. Users almost always want to add content, " +"such as service meetings, help lines, place for people to\n" +" collect phone numbers etc. To do this, click on the " +"'Customize' tab to the left, and then go to either the 'Front Page' or\n" +" 'Custom Section' tabs. The editors there contain a 'Meeting " +"List Shortcodes' dropdown menu. Using these, new structures can\n" +" be added with only a few mouse clicks." +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:90 +msgid "All Meetings from your BMLT Server are shown in the list." +msgstr "" + +#: admin/partials/_backup_restore_setup.php:56 +msgid "" +"Also useful for backing up before making significant changes to the meeting " +"list settings." +msgstr "" + +#: admin/partials/_layout_setup.php:43 +msgid "Anything" +msgstr "" + +#: admin/partials/_layout_setup.php:153 +msgid "Arial" +msgstr "" + +#: admin/partials/_meetings_setup.php:213 +msgid "" +"Avoid using tables which will greatly slow down the generation time. Use CSS " +"instead to get table-like effects if need be." +msgstr "" + +#: admin/partials/_layout_setup.php:113 admin/partials/_meetings_setup.php:29 +msgid "Background Color:" +msgstr "" + +#: admin/partials/bread-admin-display.php:122 +msgid "Backup/ Restore" +msgstr "" + +#: admin/partials/_layout_setup.php:148 +msgid "Base Font: " +msgstr "" + +#: admin/partials/_layout_setup.php:144 +msgid "Base Fonts and Colors" +msgstr "" + +#: admin/partials/_bread_wizard.php:135 +msgid "" +"Before creating the meeting list configuration, you are given the " +"opportunity to give the configuration\n" +" a mnemonic name. If you are managing multiple meeting lists " +"on this same, this name can help you keep track of which\n" +" configuration is which." +msgstr "" + +#: admin/partials/_bread_wizard.php:6 admin/partials/_bmlt_server_setup.php:18 +#: admin/partials/bread-admin-display.php:129 +msgid "BMLT Server" +msgstr "" + +#: admin/partials/_bread_wizard.php:50 admin/partials/_bmlt_server_setup.php:21 +msgid "BMLT Server URL: " +msgstr "" + +#. Author of the plugin +msgid "bmlt-enabled" +msgstr "" + +#: admin/partials/_meetings_setup.php:37 +msgid "Bold: " +msgstr "" + +#: admin/partials/_layout_setup.php:39 +msgid "Booklet" +msgstr "" + +#: admin/partials/_layout_setup.php:66 +msgid "Booklets" +msgstr "" + +#: admin/partials/_meetings_setup.php:52 admin/partials/_meetings_setup.php:106 +#: admin/partials/_meetings_setup.php:127 +msgid "Borough" +msgstr "" + +#: admin/partials/_meetings_setup.php:65 +msgid "Borough Suffix: " +msgstr "" + +#: admin/partials/_meetings_setup.php:53 +msgid "Borough+County" +msgstr "" + +#: admin/partials/_layout_setup.php:85 +msgid "Bottom: " +msgstr "" + +#. Name of the plugin +msgid "Bread" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:11 +msgid "" +"Bread can support multiple meeting lists. Each meeting list has an integer " +"ID and a text description that help the user to identify\n" +" the configuration (or \\'settings\\') that will be " +"used to generate the meeting list. The ID of the configuration is used in " +"the link\n" +" that generates the meeting list (eg, ?current-" +"meeting-list=2 generates the meeting list with ID 2)." +msgstr "" + +#: admin/partials/_bread_wizard.php:44 +msgid "" +"Bread is highly customizable, as areas often try to maintain the appearance " +"of their old meeting lists. This wizard only attempts to give you a " +"reasonable\n" +" starting point, not an end product. At the end of the wizard we " +"make a few suggestions for possible next steps." +msgstr "" + +#: admin/partials/_meetings_setup.php:330 +msgid "By Day and Time" +msgstr "" + +#: admin/partials/_meetings_setup.php:329 +msgid "By Name" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:172 +msgid "CACHE is DELETED when you Save Changes." +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:168 +msgid "Cache Time: " +msgstr "" + +#: admin/partials/_bread_wizard.php:111 +msgid "" +"Choose a language (only applies to names of days and format code " +"descriptions): " +msgstr "" + +#: admin/partials/_bread_wizard.php:18 +msgid "Choose Layout" +msgstr "" + +#: admin/partials/_bread_wizard.php:75 +msgid "Choose up to 5 service bodies" +msgstr "" + +#: admin/partials/_bread_wizard.php:127 admin/partials/_meetings_setup.php:49 +#: admin/partials/_meetings_setup.php:102 +#: admin/partials/_meetings_setup.php:123 +msgid "City" +msgstr "" + +#: admin/partials/_meetings_setup.php:92 +msgid "City Suffix: " +msgstr "" + +#: admin/partials/_layout_setup.php:161 +msgid "CMYK" +msgstr "" + +#: admin/partials/_layout_setup.php:156 +msgid "Color space: " +msgstr "" + +#: admin/partials/_layout_setup.php:135 +msgid "Color:" +msgstr "" + +#: admin/partials/_layout_setup.php:130 +msgid "Column Gap Width: " +msgstr "" + +#: admin/partials/_meetings_setup.php:152 +msgid "Combine main and subgroup into a single header" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:9 +msgid "Configuration Manager" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:20 +msgid "Configuration Name: " +msgstr "" + +#: admin/partials/_backup_restore_setup.php:25 +msgid "Configuration Selection" +msgstr "" + +#: admin/partials/_bread_wizard.php:152 +msgid "Congratulations! The meeting list configuration has been created!" +msgstr "" + +#: admin/partials/_bread_wizard.php:58 +msgid "Connected! - BMLT Server version " +msgstr "" + +#: admin/partials/_backup_restore_setup.php:79 +msgid "Consider backing up your settings by using the Export function." +msgstr "" + +#: admin/partials/_bread_wizard.php:61 +msgid "Could not connect: Check spelling and internet connection." +msgstr "" + +#: admin/partials/_meetings_setup.php:51 admin/partials/_meetings_setup.php:105 +#: admin/partials/_meetings_setup.php:126 +msgid "County" +msgstr "" + +#: admin/partials/_meetings_setup.php:74 +msgid "County Suffix: " +msgstr "" + +#: admin/partials/_layout_setup.php:151 +msgid "Courier" +msgstr "" + +#: admin/partials/_bread_wizard.php:30 admin/partials/_bread_wizard.php:149 +msgid "Create Meeting List" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:14 +msgid "Current Meeting List" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:117 +msgid "Current Meeting List Link" +msgstr "" + +#: admin/partials/bread-admin-display.php:133 +msgid "Custom Content" +msgstr "" + +#: admin/partials/_layout_setup.php:119 admin/partials/_meetings_setup.php:187 +msgid "Custom Footer: " +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:80 +msgid "Custom Query" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:82 +#: admin/partials/_meetings_setup.php:362 +msgid "Custom Query: " +msgstr "" + +#: admin/partials/_custom_section_setup.php:18 +msgid "Custom Section Content" +msgstr "" + +#: admin/partials/_meetings_setup.php:11 +msgid "" +"Customize how meetings are grouped and the headline that each group has." +msgstr "" + +#: admin/partials/bread-admin-display.php:121 +msgid "Customizer" +msgstr "" + +#: admin/partials/_bread_wizard.php:126 +msgid "Day" +msgstr "" + +#: admin/partials/_custom_section_setup.php:20 +#: admin/partials/_front_page_setup.php:19 +#: admin/partials/_meetings_setup.php:210 +msgid "Default Font Size: " +msgstr "" + +#: admin/partials/_layout_setup.php:150 +msgid "DejaVu Sans Condensed" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:44 +msgid "Delete Current Configuration" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:31 +#: admin/partials/_bmlt_server_setup.php:39 +#: admin/partials/_bmlt_server_setup.php:52 +msgid "Disable SSL verification of server" +msgstr "" + +#: admin/partials/_meetings_setup.php:40 +msgid "Display (Cont) Header: " +msgstr "" + +#: admin/partials/_meetings_setup.php:149 +msgid "Display each subgroup with its own header" +msgstr "" + +#: admin/partials/_meetings_setup.php:143 +msgid "Display Subgrouping: " +msgstr "" + +#: admin/partials/_bread_wizard.php:122 +msgid "Don't include virtual meetings at all." +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:147 +msgid "Download Log Files" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:42 +msgid "Duplicate Current Configuration" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:137 +msgid "Enable Logging" +msgstr "" + +#: admin/partials/_layout_setup.php:173 +msgid "Enable PDF Protection." +msgstr "" + +#: admin/partials/_layout_setup.php:187 +msgid "Enable Protection" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:140 +msgid "Enable SimpleTables" +msgstr "" + +#: admin/partials/_layout_setup.php:176 +msgid "Encrypted PDFs can be opened and printed." +msgstr "" + +#: admin/partials/_layout_setup.php:174 +msgid "Encrypts and sets the PDF document permissions for the PDF file." +msgstr "" + +#: admin/partials/_bread_wizard.php:147 +msgid "Enter a custom name for this configuration: " +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:34 +msgid "ERROR: Please enter a BMLT Server" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:44 +msgid "ERROR: Problem Connecting to BMLT Server" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:61 +msgid "Export" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:52 +msgid "Export Configuration" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:54 +msgid "Export or backup meeting list settings." +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:111 +msgid "Extra Meetings Enabled" +msgstr "" + +#: admin/partials/_meetings_setup.php:313 +msgid "Face-to-Face Meetings" +msgstr "" + +#: admin/partials/bread-admin-display.php:98 +msgid "File loaded" +msgstr "" + +#: admin/class-bread-admin.php:367 +msgid "File size greater than 500k" +msgstr "" + +#: admin/partials/_layout_setup.php:59 +msgid "Flyer" +msgstr "" + +#: admin/partials/_layout_setup.php:111 admin/partials/_meetings_setup.php:21 +msgid "Font Size: " +msgstr "" + +#: admin/partials/_meetings_setup.php:308 +msgid "Format of meetings in the additional list: " +msgstr "" + +#: admin/partials/bread-admin-display.php:131 +msgid "Front Page" +msgstr "" + +#: admin/partials/_front_page_setup.php:17 +msgid "Front Page Content" +msgstr "" + +#: admin/partials/_layout_setup.php:44 admin/partials/_layout_setup.php:68 +msgid "Full Page" +msgstr "" + +#: admin/partials/_bread_wizard.php:154 +#: admin/partials/bread-admin-display.php:159 +#: admin/partials/_backup_restore_setup.php:90 +msgid "Generate Meeting List" +msgstr "" + +#: admin/partials/bread-admin-display.php:120 +msgid "Getting Started" +msgstr "" + +#: admin/partials/_bread_wizard.php:158 +msgid "Go Back" +msgstr "" + +#: admin/partials/_layout_setup.php:159 +msgid "Greyscale" +msgstr "" + +#: admin/partials/_bread_wizard.php:128 admin/partials/_meetings_setup.php:50 +#: admin/partials/_meetings_setup.php:104 +#: admin/partials/_meetings_setup.php:125 +msgid "Group" +msgstr "" + +#: admin/partials/_meetings_setup.php:46 +msgid "Group Meetings By: " +msgstr "" + +#: admin/partials/_layout_setup.php:37 admin/partials/_layout_setup.php:67 +msgid "Half-Fold" +msgstr "" + +#: admin/partials/_layout_setup.php:114 +msgid "Header Margin Top: " +msgstr "" + +#: admin/partials/_layout_setup.php:115 +msgid "Header Text: " +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:108 +msgid "Hint: Type a group name, weekday or area to narrow down your choices." +msgstr "" + +#. URI of the plugin +msgid "https://bmlt.app" +msgstr "" + +#. Author URI of the plugin +msgid "https://bmlt.app/" +msgstr "" + +#: admin/partials/_bread_wizard.php:88 +msgid "" +"If you want to limit the meeting list to a particular format, for instance, " +"to create a language-specific meeting list, you can enter it here." +msgstr "" + +#: admin/partials/_bread_wizard.php:158 +msgid "If you want to try a different layout: " +msgstr "" + +#: admin/partials/_meetings_setup.php:367 +msgid "" +"If you wish to define different contents for the additional list, use this " +"template." +msgstr "" + +#: admin/partials/_backup_restore_setup.php:75 +msgid "Import" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:67 +msgid "Import Configuration" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:69 +msgid "Import meeting list settings from a previously exported meeting list." +msgstr "" + +#: admin/partials/_bread_wizard.php:99 +msgid "" +"In this step we suggest suitible formats based on your meeting count. " +"Having the meetings fit on a single side has the advantage\n" +" that the list can be posted on a bulleitin board, and this will " +"be used when suggesting a page layout. However, you may\n" +" also wish to have the meetings 'overflow' on to the back side of " +"the paper. If so, select a layout above layout\n" +" that the wizard pre-selects for you." +msgstr "" + +#: admin/partials/_bread_wizard.php:133 +msgid "" +"In this step, we create the meeting list settings. If you already have a " +"meeting list defined\n" +" on this site, the old settings will not be overwriten, rather, " +"a new setting will be created." +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:95 +msgid "Include Extra Meetings" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:89 +msgid "Include Extra Meetings from Another Service Body." +msgstr "" + +#: admin/partials/_meetings_setup.php:366 +msgid "Include meetings with this format in the main list" +msgstr "" + +#: admin/partials/_meetings_setup.php:277 +msgid "Include Only This Meeting Format" +msgstr "" + +#: admin/partials/_bread_wizard.php:120 +msgid "Include virtual meetings in main meeting list." +msgstr "" + +#: admin/partials/_layout_setup.php:24 admin/partials/_layout_setup.php:31 +#: admin/partials/_layout_setup.php:38 admin/partials/_layout_setup.php:64 +msgid "Landscape" +msgstr "" + +#: admin/partials/_layout_setup.php:36 +msgid "Large Area, Region, Metro" +msgstr "" + +#: admin/partials/_layout_setup.php:79 +msgid "Ledger" +msgstr "" + +#: admin/partials/_layout_setup.php:86 +msgid "Left: " +msgstr "" + +#: admin/partials/_layout_setup.php:32 admin/partials/_layout_setup.php:46 +#: admin/partials/_layout_setup.php:78 +msgid "Legal" +msgstr "" + +#: admin/partials/_layout_setup.php:25 admin/partials/_layout_setup.php:46 +#: admin/partials/_layout_setup.php:77 +msgid "Letter" +msgstr "" + +#: admin/partials/_custom_section_setup.php:21 +#: admin/partials/_front_page_setup.php:20 +#: admin/partials/_meetings_setup.php:211 +msgid "Line Height: " +msgstr "" + +#: admin/partials/_backup_restore_setup.php:34 +msgid "Load Configuration" +msgstr "" + +#: admin/partials/_meetings_setup.php:99 +msgid "Main Grouping: " +msgstr "" + +#. Description of the plugin +msgid "Maintains and generates PDF Meeting Lists from BMLT." +msgstr "" + +#: admin/partials/_layout_setup.php:122 +msgid "Margin Footer: " +msgstr "" + +#: admin/partials/_layout_setup.php:29 +msgid "Medium Area" +msgstr "" + +#: admin/partials/_meetings_setup.php:279 +msgid "Meeting Format: " +msgstr "" + +#: admin/partials/_meetings_setup.php:14 +msgid "Meeting Group [Column] Header" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:124 +msgid "Meeting List Author(s)" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:160 +msgid "Meeting List Cache" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:16 +msgid "Meeting List ID: " +msgstr "" + +#: admin/partials/_bread_wizard.php:24 +msgid "Meeting List Options" +msgstr "" + +#: admin/partials/_layout_setup.php:15 +msgid "Meeting List Size" +msgstr "" + +#: admin/partials/_meetings_setup.php:207 +msgid "Meeting Template" +msgstr "" + +#: admin/partials/bread-admin-display.php:132 +msgid "Meetings" +msgstr "" + +#: admin/partials/_bread_wizard.php:96 +msgid "" +"Most areas try to fit their meetings onto a single sheet of paper. And it " +"is particularly adventageous to\n" +" use a tri-fold format, so that the list can be printed at home " +"and placed along side the pamphlets. The priority should always be that the\n" +" meeting list is readable. For many areas, a booklet format is " +"better, even if the reqire more effort or expense to print." +msgstr "" + +#: admin/partials/_meetings_setup.php:103 +#: admin/partials/_meetings_setup.php:124 +msgid "Neighborhood" +msgstr "" + +#: admin/partials/_meetings_setup.php:83 +msgid "Neighborhood Suffix: " +msgstr "" + +#: admin/partials/_meetings_setup.php:54 +msgid "Neighborhood+City" +msgstr "" + +#: admin/partials/_bread_wizard.php:72 +msgid "" +"Next, we need to know which meetings are going to be on the meeting list. " +"This will help the wizard when it\n" +" tries to choose an a appropriate layout for you." +msgstr "" + +#: admin/partials/_meetings_setup.php:146 +msgid "No header for subgroups" +msgstr "" + +#: admin/partials/_layout_setup.php:47 admin/partials/_meetings_setup.php:121 +msgid "None" +msgstr "" + +#: admin/partials/_meetings_setup.php:310 +msgid "Not Used" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:92 +msgid "Note: Be sure to select all meetings for each group." +msgstr "" + +#: admin/partials/_layout_setup.php:180 +msgid "Note: Encrypted PDFs cannot be opened in MS Word at all." +msgstr "" + +#: admin/partials/_bread_wizard.php:104 +msgid "Number of meetings on list: " +msgstr "" + +#: admin/partials/_bread_wizard.php:161 +msgid "Open customizer" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:134 +msgid "Optimize/Debug mPDF" +msgstr "" + +#: admin/partials/_layout_setup.php:178 +msgid "Optional Password to allow editing in a PDF editor." +msgstr "" + +#: admin/partials/_bread_wizard.php:124 +msgid "Organize the meetings by:" +msgstr "" + +#: admin/partials/_layout_setup.php:17 +msgid "Orientation" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:143 +msgid "Pack Table Data" +msgstr "" + +#: admin/partials/_layout_setup.php:106 +msgid "Page Decorations" +msgstr "" + +#: admin/partials/_layout_setup.php:19 +msgid "Page Height" +msgstr "" + +#: admin/partials/_layout_setup.php:16 admin/partials/_layout_setup.php:54 +#: admin/partials/bread-admin-display.php:130 +msgid "Page Layout" +msgstr "" + +#: admin/partials/_layout_setup.php:11 +msgid "Page Layout Defaults" +msgstr "" + +#: admin/partials/_layout_setup.php:84 +msgid "Page Margin Top: " +msgstr "" + +#: admin/partials/_layout_setup.php:127 +msgid "Page Numbers Font Size: " +msgstr "" + +#: admin/partials/_layout_setup.php:75 +msgid "Page Size:" +msgstr "" + +#: admin/partials/_layout_setup.php:18 +msgid "Paper Size" +msgstr "" + +#: admin/partials/_layout_setup.php:183 +msgid "Password Protection" +msgstr "" + +#: admin/partials/_layout_setup.php:192 +msgid "Password: " +msgstr "" + +#: admin/partials/_bread_wizard.php:118 +msgid "Place virtual meetings in a separate list, with specialized format." +msgstr "" + +#: admin/partials/_backup_restore_setup.php:82 +msgid "Please Choose a File." +msgstr "" + +#: admin/class-bread-admin.php:363 +msgid "Please upload a file to import" +msgstr "" + +#: admin/class-bread-admin.php:359 +msgid "Please upload a valid .json file" +msgstr "" + +#: admin/partials/_layout_setup.php:63 +msgid "Portrait" +msgstr "" + +#: admin/partials/_layout_setup.php:45 +msgid "Portrait, Landscape" +msgstr "" + +#: admin/partials/bread-admin-display.php:158 +msgid "Preview" +msgstr "" + +#: admin/partials/_layout_setup.php:30 admin/partials/_layout_setup.php:61 +msgid "Quad-Fold" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:64 +msgid "Recurse Service Bodies" +msgstr "" + +#: admin/partials/_meetings_setup.php:259 +msgid "Remove White Space" +msgstr "" + +#: admin/partials/_layout_setup.php:160 +msgid "RGB" +msgstr "" + +#: admin/partials/_layout_setup.php:87 +msgid "Right: " +msgstr "" + +#: admin/partials/_meetings_setup.php:331 +#: admin/partials/_meetings_setup.php:339 +#: admin/partials/_meetings_setup.php:341 +msgid "Same as main list" +msgstr "" + +#: admin/partials/bread-admin-display.php:157 +msgid "Save Changes" +msgstr "" + +#: admin/partials/bread-admin-display.php:160 +msgid "Save Changes before Generating Meeting List." +msgstr "" + +#: admin/partials/_backup_restore_setup.php:21 +msgid "Save Configuration Name" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:27 +msgid "Select Configuration: " +msgstr "" + +#: admin/partials/_meetings_setup.php:335 +msgid "Select language for the additional list" +msgstr "" + +#: admin/partials/_bread_wizard.php:105 +msgid "Select one of the layouts appropriate to the number of meetings" +msgstr "" + +#: admin/partials/_bread_wizard.php:12 +msgid "Select Service Bodies" +msgstr "" + +#: admin/partials/_meetings_setup.php:327 +msgid "Select sort order for the additional list" +msgstr "" + +#: admin/partials/_layout_setup.php:134 +msgid "Separator: " +msgstr "" + +#. Bread can query up to five servers, the string is the number 1-5 +#: admin/partials/bread-admin-display.php:49 +#, php-format +msgid "Service Body %s" +msgstr "" + +#: admin/partials/_layout_setup.php:58 +msgid "Single Page" +msgstr "" + +#: admin/partials/_layout_setup.php:22 +msgid "Smaller Areas" +msgstr "" + +#: admin/partials/_meeting_list_setup.php:15 +msgid "Start Here: Meeting List Setup Wizard" +msgstr "" + +#: admin/partials/_meetings_setup.php:236 +msgid "Start Time Format" +msgstr "" + +#: admin/partials/_meetings_setup.php:107 +#: admin/partials/_meetings_setup.php:128 +msgid "State" +msgstr "" + +#: admin/partials/_meetings_setup.php:55 +msgid "State+City" +msgstr "" + +#: admin/partials/_bread_wizard.php:40 +msgid "Step 1: Enter your BMLT root server" +msgstr "" + +#: admin/partials/_bread_wizard.php:70 +msgid "Step 2: Select a service body" +msgstr "" + +#: admin/partials/_bread_wizard.php:94 +msgid "Step 3: Page Layout" +msgstr "" + +#: admin/partials/_bread_wizard.php:110 +msgid "Step 4: Select Option" +msgstr "" + +#: admin/partials/_meetings_setup.php:119 +msgid "Sub-Grouping: " +msgstr "" + +#: admin/partials/_meetings_setup.php:18 +msgid "Suppress Heading: " +msgstr "" + +#: admin/partials/_bread_wizard.php:53 +msgid "Test Server Connection" +msgstr "" + +#: admin/partials/_bread_wizard.php:55 +msgid "Test that this is valid root server URL before continuing" +msgstr "" + +#: admin/partials/_layout_setup.php:112 admin/partials/_meetings_setup.php:24 +msgid "Text Color:" +msgstr "" + +#: admin/partials/_bread_wizard.php:46 +msgid "" +"The first thing we need is the location of your BMLT root server. Once you " +"have entered it, you need check that the URL is correct\n" +" by clicking the 'Test Connection' button." +msgstr "" + +#: admin/partials/_bread_wizard.php:153 +msgid "" +"The first thing you probably want to do is have a look at the meeting list:" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:91 +msgid "The Meetings you select will be merged into your meeting list." +msgstr "" + +#: admin/partials/_layout_setup.php:109 +msgid "" +"The page header is a title that goes across the entire page above the " +"meetings." +msgstr "" + +#: admin/partials/_backup_restore_setup.php:55 +msgid "" +"This allows you to easily import meeting list settings into another site." +msgstr "" + +#: admin/partials/_meetings_setup.php:304 +msgid "" +"This section allows the definition of an additional meeting list, containing " +"meetings that should not be included in the main\n" +" list. This is typically virtual meetings, but it can " +"be any group of meetings identified by a format." +msgstr "" + +#: admin/partials/_layout_setup.php:100 +msgid "" +"This section describes things on the page other than the contents. Headers, " +"footers, page numbers." +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:164 +msgid "This site is using an external object cache." +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:72 +msgid "" +"This will be executed as part of the meeting search query. This will " +"override any setting in the Service Body dropdowns." +msgstr "" + +#: admin/partials/_bread_wizard.php:42 +msgid "" +"This wizard guides you through the initial configuation of a meeting list. " +"If you have already created one or more meeting lists,\n" +" don't worry, this process alway creates a new configuration, and " +"never overwrites old ones." +msgstr "" + +#: admin/partials/_layout_setup.php:152 +msgid "Times" +msgstr "" + +#: admin/partials/_bread_wizard.php:156 +msgid "" +"To add a link to the meeting list on your website, use the following link." +msgstr "" + +#: admin/partials/_layout_setup.php:23 admin/partials/_layout_setup.php:60 +msgid "Tri-Fold" +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:47 +msgid "Try a different user agent or \"None\" for Wordpress default: " +msgstr "" + +#: admin/partials/_layout_setup.php:158 +msgid "Unrestricted" +msgstr "" + +#: admin/partials/_meetings_setup.php:34 +msgid "Uppercase: " +msgstr "" + +#: admin/partials/_bmlt_server_setup.php:59 +msgid "Use Aggregator 🍅" +msgstr "" + +#: admin/partials/_meetings_setup.php:59 +msgid "User Defined" +msgstr "" + +#: admin/partials/bread-admin-display.php:37 +msgid "Using Tomato Server" +msgstr "" + +#: admin/partials/_bread_wizard.php:65 +msgid "Verify that this is valid root server URL before continuing" +msgstr "" + +#: admin/partials/_meetings_setup.php:312 +msgid "Virtual Meetings" +msgstr "" + +#: admin/partials/_bread_wizard.php:49 +msgid "" +"Visit Do I have " +"the BMLT? to find your BMLT server" +msgstr "" + +#: admin/partials/_layout_setup.php:116 +msgid "Watermark: " +msgstr "" + +#: admin/partials/_meetings_setup.php:48 admin/partials/_meetings_setup.php:101 +#: admin/partials/_meetings_setup.php:122 +msgid "Weekday" +msgstr "" + +#: admin/partials/_meetings_setup.php:158 +msgid "Weekday Language: " +msgstr "" + +#: admin/partials/_meetings_setup.php:173 +msgid "Weekday Start: " +msgstr "" + +#: admin/partials/_meetings_setup.php:56 +msgid "Weekday+Area" +msgstr "" + +#: admin/partials/_meetings_setup.php:57 +msgid "Weekday+City" +msgstr "" + +#: admin/partials/_meetings_setup.php:58 +msgid "Weekday+County " +msgstr "" + +#: admin/partials/_layout_setup.php:102 +msgid "What options you see will be dependant on the layout selected." +msgstr "" + +#: admin/partials/_meetings_setup.php:212 +msgid "Wheelchair Icon Size: " +msgstr "" + +#: admin/partials/_layout_setup.php:51 +msgid "" +"When a layout is clicked defaults are reset for orientation, paper size and " +"page height." +msgstr "" + +#: admin/partials/_bread_wizard.php:115 +msgid "Where should virtual meetings be included:" +msgstr "" + +#. the string is a link to the semantic interface of the BMLT server +#: admin/partials/_bmlt_server_setup.php:76 +#, php-format +msgid "" +"You can get help formulating a query using your sites " +"semantic interface." +msgstr "" + +#: admin/partials/bread-admin-display.php:96 +msgid "You do not have permission to save this configuation!" +msgstr "" + +#: admin/partials/_bread_wizard.php:143 +msgid "" +"You may also want to adjust the font sizes on your meeting list so that it " +"fits on a single sheet or is more readable. This is only\n" +" of the many options available in the 'Customizer'." +msgstr "" + +#: admin/partials/_bread_wizard.php:160 +msgid "" +"You probably want to add some content to the first page or the custom " +"content:" +msgstr "" + +#. string is the version number of the BMLT Server +#: admin/partials/bread-admin-display.php:40 +#, php-format +msgid "Your BMLT Server is running %s" +msgstr "" + +#: admin/partials/bread-admin-display.php:102 +msgid "Your changes were successfully saved!" +msgstr "" + +#: admin/partials/_backup_restore_setup.php:78 +msgid "Your current meeting list settings will be replaced and lost forever." +msgstr "" diff --git a/public/class-bread-content-generator.php b/public/class-bread-content-generator.php index df4385d..43ff717 100644 --- a/public/class-bread-content-generator.php +++ b/public/class-bread-content-generator.php @@ -162,11 +162,14 @@ public function generate(int $num_columns): void $this->mpdf->WriteHTML('td{font-size: ' . $this->options['content_font_size'] . "pt;line-height:" . $this->options['content_line_height'] . ';background-color:#ffffff00;}', 1); $this->mpdf->SetDefaultBodyCSS('font-size', $this->options['content_font_size'] . 'pt'); $this->mpdf->SetDefaultBodyCSS('line-height', $this->options['content_line_height']); + $lang = $this->options['weekday_language']; + if ($lang == 'fa') { + $this->mpdf->SetDefaultBodyCSS('direction', 'rtl'); + } $this->mpdf->SetDefaultBodyCSS('background-color', '#ffffff00'); if ($this->options['page_fold'] == 'half' || $this->options['page_fold'] == 'full') { $this->WriteHTML(''); } - $lang = $this->options['weekday_language']; $this->meetingEnhancer = new Bread_Meeting_Enhancer($this->bread, $this->bread->bmlt()->get_areas()); foreach ($this->result_meetings as &$value) { $value = $this->meetingEnhancer->enhance_meeting($value, $lang, $this->formatsManager); @@ -242,7 +245,7 @@ private function locale_month_replacement(string $data, string $case): string IntlDateFormatter::FULL ); $fmt->setPattern('LLLL'); - $month = ucfirst(mb_convert_encoding($fmt->format(time()), 'UTF-8', 'ISO-8859-1')); + $month = $fmt->format(time()); if ($case == 'upper') { $month = mb_strtoupper($month, 'UTF-8'); } diff --git a/public/class-bread-meeting-enhancer.php b/public/class-bread-meeting-enhancer.php index 38fb210..b4bf19a 100644 --- a/public/class-bread-meeting-enhancer.php +++ b/public/class-bread-meeting-enhancer.php @@ -35,42 +35,41 @@ public function enhance_meeting(&$meeting_value, $lang, $formatsManager, $format } else { $time_format = "H:i"; } + $time_parts = []; if ($this->options['time_option'] == 1 || $this->options['time_option'] == '') { - $meeting_value['start_time'] = gmdate($time_format, strtotime($meeting_value['start_time'])); - if ($meeting_value['start_time'] == '12:00PM' || $meeting_value['start_time'] == '12:00 PM') { - $meeting_value['start_time'] = 'NOON'; - } + array_push($time_parts, $this->noon(gmdate($time_format, strtotime($meeting_value['start_time'])))); } elseif ($this->options['time_option'] == '2') { $addtime = '+ ' . $minutes . ' minutes'; - $end_time = gmdate($time_format, strtotime($meeting_value['start_time'] . ' ' . $addtime)); - $meeting_value['start_time'] = gmdate($time_format, strtotime($meeting_value['start_time'])); - if ($lang == 'fa') { - $meeting_value['start_time'] = $this->toPersianNum($end_time) . $space . '-' . $space . $this->toPersianNum($meeting_value['start_time']); - } else { - $meeting_value['start_time'] = $meeting_value['start_time'] . $space . '-' . $space . $end_time; - } + array_push($time_parts, $this->noon(gmdate($time_format, strtotime($meeting_value['start_time'])))); + array_push($time_parts, $this->noon(gmdate($time_format, strtotime($meeting_value['start_time'] . ' ' . $addtime)))); } elseif ($this->options['time_option'] == '3') { $time_array = array("1:00", "2:00", "3:00", "4:00", "5:00", "6:00", "7:00", "8:00", "9:00", "10:00", "11:00", "12:00"); $temp_start_time = gmdate("g:i", strtotime($meeting_value['start_time'])); $temp_start_time_2 = gmdate("g:iA", strtotime($meeting_value['start_time'])); if ($temp_start_time_2 == '12:00PM') { - $start_time = 'NOON'; + array_push($time_parts, 'NOON'); } elseif (in_array($temp_start_time, $time_array)) { - $start_time = gmdate("g", strtotime($meeting_value['start_time'])); + array_push($time_parts, gmdate("g", strtotime($meeting_value['start_time']))); } else { - $start_time = gmdate("g:i", strtotime($meeting_value['start_time'])); + array_push($time_parts, gmdate("g:i", strtotime($meeting_value['start_time']))); } $addtime = '+ ' . $minutes . ' minutes'; - $temp_end_time = gmdate("g:iA", strtotime($meeting_value['start_time'] . ' ' . $addtime)); + $temp_end_time = strtotime($meeting_value['start_time'] . ' ' . $addtime); $temp_end_time_2 = gmdate("g:i", strtotime($meeting_value['start_time'] . ' ' . $addtime)); if ($temp_end_time == '12:00PM') { - $end_time = 'NOON'; + array_push($time_parts, 'NOON'); } elseif (in_array($temp_end_time_2, $time_array)) { - $end_time = gmdate("g" . $space . "A", strtotime($temp_end_time)); + array_push($time_parts, gmdate("g" . $space . "A", $temp_end_time)); } else { - $end_time = gmdate("g:i" . $space . "A", strtotime($temp_end_time)); + array_push($time_parts, gmdate("g:i" . $space . "A", $temp_end_time)); } - $meeting_value['start_time'] = $start_time . $space . '-' . $space . $end_time; + } + if (count($time_parts) == 1) { + $meeting_value['start_time'] = ($lang == 'fa') ? $this->toPersianNum($time_parts[0]) : $time_parts[0]; + } elseif (count($time_parts) == 2) { + $meeting_value['start_time'] = ($lang == 'fa') + ? $meeting_value['start_time'] = $this->toPersianNum($time_parts[1]) . $space . '-' . $space . $this->toPersianNum($time_parts[0]) + : $meeting_value['start_time'] = $time_parts[0] . $space . '-' . $space . $time_parts[1]; } } $meeting_value['day_abbr'] = $this->bread->getday($meeting_value['weekday_tinyint'], true, $lang); @@ -90,6 +89,13 @@ public function enhance_meeting(&$meeting_value, $lang, $formatsManager, $format // Extensions. return apply_filters("Bread_Enrich_Meeting_Data", $meeting_value, $formatsManager->getHashedFormats($lang)); } + private function noon($time) + { + if ($time == '12:00PM' || $time == '12:00 PM') { + return 'NOON'; + } + return $time; + } private function get_area_name(array $meeting_value): string { foreach ($this->areas as $unique_area) { @@ -114,6 +120,11 @@ private function toPersianNum($number) $number = str_replace("8", "۸", $number); $number = str_replace("9", "۹", $number); $number = str_replace("0", "۰", $number); + $number = str_replace("NOON", "ظهر", $number); + $number = str_replace("AM", "صبح", $number); + $number = str_replace("am", 'صبح', $number); + $number = str_replace("PM", "بعدازظهر", $number); + $number = str_replace("pm", "بعدازظهر", $number); return $number; } } diff --git a/public/class-bread-meetingslist-structure.php b/public/class-bread-meetingslist-structure.php index 7d3758e..57d304e 100644 --- a/public/class-bread-meetingslist-structure.php +++ b/public/class-bread-meetingslist-structure.php @@ -416,6 +416,9 @@ private function additional_list_test(array $value, $flag = false): bool } private function isHybrid(array $value): bool { + if ($value['venue_type'] == 3) { + return true; + } if (empty($value['formats'])) { return false; } @@ -424,6 +427,9 @@ private function isHybrid(array $value): bool } private function isVirtual(array $value): bool { + if ($value['venue_type'] == 2) { + return true; + } if (empty($value['formats'])) { return false; } diff --git a/readme.txt b/readme.txt index af569d3..70032b0 100644 --- a/readme.txt +++ b/readme.txt @@ -5,7 +5,7 @@ Tags: meeting list, bmlt, narcotics anonymous, na Requires PHP: 8.1 Requires at least: 6.2 Tested up to: 6.8 -Stable tag: 2.9.5 +Stable tag: 2.9.7 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -55,6 +55,13 @@ Follow all these steps, keep in mind that once you start using bread, it's not g == Changelog == += 2.9.7 = +* Bug fixes to permission stuff. + += 2.9.6 = +* Farsi Translation +* Replaced deprecated "chosen" with "select2" + = 2.9.5 = * Bug fix TinyMCE dropdowns